ILIAS  Release_4_4_x_branch Revision 61816
 All Data Structures Namespaces Files Functions Variables Groups Pages
ilPropertyFormGUI Class Reference

This class represents a property form user interface. More...

+ Inheritance diagram for ilPropertyFormGUI:
+ Collaboration diagram for ilPropertyFormGUI:

Public Member Functions

 ilPropertyFormGUI ()
 Constructor.
executeCommand ()
 Execute command.
 setTableWidth ($a_width)
 Set table width.
 getTableWidth ()
 get table width
 setMode ($a_mode)
 Set Mode ('std', 'subform').
 getMode ()
 Get Mode ('std', 'subform').
 setTitle ($a_title)
 Set Title.
 getTitle ()
 Get Title.
 setTitleIcon ($a_titleicon)
 Set TitleIcon.
 getTitleIcon ()
 Get TitleIcon.
 setDescription ($a_val)
 Set description.
 getDescription ()
 Get description.
 setTopAnchor ($a_val)
 Set top anchor.
 getTopAnchor ()
 Get top anchor.
 setShowTopButtons ($a_val)
 Get show top buttons.
 getShowTopButtons ()
 Set show top buttons.
 addItem ($a_item)
 Add Item (Property, SectionHeader).
 removeItemByPostVar ($a_post_var)
 Remove Item.
 getItemByPostVar ($a_post_var)
 Get Item by POST variable.
 setItems ($a_items)
 Set Items.
 getItems ()
 Get Items.
 getInputItemsRecursive ()
 returns a flat array of all input items including the possibly existing subitems recursively
 setDisableStandardMessage ($a_val)
 Set disable standard message.
 getDisableStandardMessage ()
 Get disable standard message.
 getHideLabels ()
 Get a value indicating whether the labels should be hidden or not.
 setHideLabels ($a_value=true)
 Set a value indicating whether the labels should be hidden or not.
 setValuesByArray ($a_values)
 Set form values from an array.
 setValuesByPost ()
 Set form values from POST values.
 checkInput ()
 Check Post Input.
 getInput ($a_post_var, $ensureValidation=true)
 Returns the value of a HTTP-POST variable, identified by the passed id.
 addCustomProperty ($a_title, $a_html, $a_info="", $a_alert="", $a_required=false)
 Add a custom property.
 addCommandButton ($a_cmd, $a_text)
 Add Command button.
 clearCommandButtons ()
 Remove all command buttons.
 getContent ()
 Get Content.
 insertItem ($item, $a_sub_item=false)
 getHTML ()
 Get HTML.
 getFileUpload ($a_field, $a_index=null, $a_sub_index=null)
 Get file upload data.
 hasFileUpload ($a_field, $a_index=null, $a_sub_index=null)
 Was any file uploaded?
 moveFileUpload ($a_target_directory, $a_field, $a_target_name=null, $a_index=null, $a_sub_index=null)
 Move upload to target directory.
- Public Member Functions inherited from ilFormGUI
 ilFormGUI ()
 Constructor.
 setFormAction ($a_formaction)
 Set FormAction.
 getFormAction ()
 Get FormAction.
 setTarget ($a_target)
 Set Target.
 getTarget ()
 Get Target.
 setMultipart ($a_multipart)
 Set Enctype Multipart/Formdata true/false.
 getMultipart ()
 Get Enctype Multipart/Formdata true/false.
 setId ($a_id)
 Set Id.
 getId ()
 Get Id.
 setName ($a_name)
 Set Name.
 getName ()
 Get Name.
 setKeepOpen ($a_keepopen)
 Set Keep Form Tag Open.
 getKeepOpen ()
 Get Keep Form Tag Open.
 setOpenTag ($a_open)
 Enable/Disable Open Form Tag.
 getOpenTag ()
 Get Open Form Tag Enabled.
 setCloseTag ($a_val)
 Set close tag.
 getCloseTag ()
 Get close tag.

Protected Member Functions

 keepFileUpload ($a_hash, $a_field, $a_tmp_name, $a_name, $a_type, $a_index=null, $a_sub_index=null)
 Import upload into temp directory.
 rebuildUploadedFiles ()
 try to rebuild files

Protected Attributes

 $mode = "std"
 $check_input_called = false
 $disable_standard_message = false
 $top_anchor = "il_form_top"
 $titleicon = false
 $description = ""
 $tbl_width = false
 $show_top_buttons = true
 $reloaded_files
 $hide_labels = false
- Protected Attributes inherited from ilFormGUI
 $formaction
 $multipart = false
 $keepopen = false
 $opentag = true
 $id
 $name

Private Attributes

 $buttons = array()
 $items = array()

Detailed Description

This class represents a property form user interface.

Author
Alex Killing alex..nosp@m.kill.nosp@m.ing@g.nosp@m.mx.d.nosp@m.e
Version
$Id$ ilPropertyFormGUI: ilFormPropertyDispatchGUI

Definition at line 47 of file class.ilPropertyFormGUI.php.

Member Function Documentation

ilPropertyFormGUI::addCommandButton (   $a_cmd,
  $a_text 
)

Add Command button.

Parameters
stringCommand
stringText

Definition at line 532 of file class.ilPropertyFormGUI.php.

Referenced by FormMailCodesGUI\__construct(), ilTestRandomQuestionSetGeneralConfigFormGUI\build(), ilTestRandomQuestionSetPoolDefinitionFormGUI\build(), ilObjForumAdministrationGUI\getSettingsForm(), and assOrderingQuestionGUI\populateCommandButtons().

{
$this->buttons[] = array("cmd" => $a_cmd, "text" => $a_text);
}

+ Here is the caller graph for this function:

ilPropertyFormGUI::addCustomProperty (   $a_title,
  $a_html,
  $a_info = "",
  $a_alert = "",
  $a_required = false 
)

Add a custom property.

Parameters
stringTitle
stringHTML.
stringInfo text.
stringAlert text.
booleanRequired field. (Default false)

Definition at line 517 of file class.ilPropertyFormGUI.php.

{
$this->properties[] = array ("type" => "custom",
"title" => $a_title,
"html" => $a_html,
"info" => $a_info);
}
ilPropertyFormGUI::addItem (   $a_item)

Add Item (Property, SectionHeader).

Parameters
object$a_propertyItem object

Definition at line 247 of file class.ilPropertyFormGUI.php.

Referenced by FormMailCodesGUI\__construct(), ilObjRemoteGlossaryGUI\addCustomEditForm(), ilObjRemoteLearningModuleGUI\addCustomEditForm(), ilObjRemoteWikiGUI\addCustomEditForm(), ilObjRemoteTestGUI\addCustomEditForm(), ilObjRemoteCourseGUI\addCustomEditForm(), ilObjRemoteGroupGUI\addCustomEditForm(), ilMailCronNotification\addCustomSettingsToForm(), ilPaymentCronNotification\addCustomSettingsToForm(), ilDAVCronDiskQuota\addCustomSettingsToForm(), ilConsultationHourCron\addCustomSettingsToForm(), ilCronDeleteInactiveUserAccounts\addCustomSettingsToForm(), ilCronDeleteInactivatedUserAccounts\addCustomSettingsToForm(), SurveyMultipleChoiceQuestionGUI\addFieldsToEditForm(), SurveyMetricQuestionGUI\addFieldsToEditForm(), SurveySingleChoiceQuestionGUI\addFieldsToEditForm(), SurveyTextQuestionGUI\addFieldsToEditForm(), SurveyMatrixQuestionGUI\addFieldsToEditForm(), ilCharSelectorGUI\addFormProperties(), ilPersonalProfileGUI\addLocationToForm(), ilECSObjectSettings\addSettingsToForm(), ilSkillTreeNodeGUI\addStatusInput(), ilTestRandomQuestionSetGeneralConfigFormGUI\build(), ilTestRandomQuestionSetPoolDefinitionFormGUI\build(), ilAssQuestionFeedback\completeGenericFormProperties(), ilAssConfigurableMultiOptionQuestionFeedback\completeSpecificFormProperties(), ilAssMultiOptionQuestionFeedback\completeSpecificFormProperties(), getContent(), ilObjForumAdministrationGUI\getSettingsForm(), ilObjPortfolioTemplateGUI\initDidacticTemplate(), ilObjectGUI\initDidacticTemplate(), ilObjPollGUI\initEditCustomForm(), ilObjBlogGUI\initEditCustomForm(), ilObjBookingPoolGUI\initEditCustomForm(), ilObjPortfolioBaseGUI\initEditCustomForm(), ilObjFolderGUI\initEditCustomForm(), ilObjPortfolioTemplateGUI\initEditCustomForm(), ilObjBibliographicGUI\initEditCustomForm(), ilObjMediaPoolGUI\initEditCustomForm(), ilObjDataCollectionGUI\initEditCustomForm(), ilObjExerciseGUI\initEditCustomForm(), ilObjectServiceSettingsGUI\initServiceSettingsForm(), insertItem(), ilAdministrationSettingsFormHandler\parseFieldDefinition(), assErrorTextGUI\populateAnswerSpecificFormPart(), assMatchingQuestionGUI\populateAnswerSpecificFormPart(), assOrderingQuestionGUI\populateAnswerSpecificFormPart(), assNumericGUI\populateAnswerSpecificFormPart(), assTextSubsetGUI\populateAnswerSpecificFormPart(), assTextQuestionGUI\populateAnswerSpecificFormPart(), assSingleChoiceGUI\populateAnswerSpecificFormPart(), assMultipleChoiceGUI\populateAnswerSpecificFormPart(), assFileUploadGUI\populateQuestionSpecificFormPart(), assJavaAppletGUI\populateQuestionSpecificFormPart(), assFlashQuestionGUI\populateQuestionSpecificFormPart(), assErrorTextGUI\populateQuestionSpecificFormPart(), assImagemapQuestionGUI\populateQuestionSpecificFormPart(), assMatchingQuestionGUI\populateQuestionSpecificFormPart(), assOrderingQuestionGUI\populateQuestionSpecificFormPart(), assClozeTestGUI\populateQuestionSpecificFormPart(), assNumericGUI\populateQuestionSpecificFormPart(), assTextSubsetGUI\populateQuestionSpecificFormPart(), assOrderingHorizontalGUI\populateQuestionSpecificFormPart(), assTextQuestionGUI\populateQuestionSpecificFormPart(), assSingleChoiceGUI\populateQuestionSpecificFormPart(), assMultipleChoiceGUI\populateQuestionSpecificFormPart(), and assQuestionGUI\populateTaxonomyFormSection().

{
$a_item->setParentForm($this);
return $this->items[] = $a_item;
}

+ Here is the caller graph for this function:

ilPropertyFormGUI::checkInput ( )

Check Post Input.

This method also strips slashes and html from input and sets the alert texts for the items, if the input was not ok.

Returns
boolean ok true/false

Definition at line 411 of file class.ilPropertyFormGUI.php.

References $_POST, $file, $lng, $ok, getDisableStandardMessage(), keepFileUpload(), and ilUtil\sendFailure().

Referenced by assOrderingQuestionGUI\editQuestion().

{
global $lng;
if ($this->check_input_called)
{
die ("Error: ilPropertyFormGUI->checkInput() called twice.");
}
$ok = true;
foreach($this->items as $item)
{
$item_ok = $item->checkInput();
if(!$item_ok)
{
$ok = false;
}
}
// check if POST is missint completely (if post_max_size exceeded)
if (count($this->items) > 0 && !is_array($_POST))
{
$ok = false;
}
$this->check_input_called = true;
// try to keep uploads for another try
if(!$ok && $_POST["ilfilehash"] && sizeof($_FILES))
{
$hash = $_POST["ilfilehash"];
foreach($_FILES as $field => $data)
{
// we support up to 2 nesting levels (see test/assesment)
if(is_array($data["tmp_name"]))
{
foreach($data["tmp_name"] as $idx => $upload)
{
if(is_array($upload))
{
foreach($upload as $idx2 => $file)
{
if($file && is_uploaded_file($file))
{
$file_name = $data["name"][$idx][$idx2];
$file_type = $data["type"][$idx][$idx2];
$this->keepFileUpload($hash, $field, $file, $file_name, $file_type, $idx, $idx2);
}
}
}
else if($upload && is_uploaded_file($upload))
{
$file_name = $data["name"][$idx];
$file_type = $data["type"][$idx];
$this->keepFileUpload($hash, $field, $upload, $file_name, $file_type, $idx);
}
}
}
else
{
$this->keepFileUpload($hash, $field, $data["tmp_name"], $data["name"], $data["type"]);
}
}
}
if (!$ok && !$this->getDisableStandardMessage())
{
ilUtil::sendFailure($lng->txt("form_input_not_valid"));
}
return $ok;
}

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

ilPropertyFormGUI::clearCommandButtons ( )

Remove all command buttons.

Definition at line 540 of file class.ilPropertyFormGUI.php.

{
$this->buttons = array();
}
& ilPropertyFormGUI::executeCommand ( )

Execute command.

Definition at line 81 of file class.ilPropertyFormGUI.php.

References $_REQUEST, $cmd, $ilCtrl, and getItemByPostVar().

{
global $ilCtrl;
$next_class = $ilCtrl->getNextClass($this);
$cmd = $ilCtrl->getCmd();
switch($next_class)
{
case 'ilformpropertydispatchgui':
$ilCtrl->saveParameter($this, 'postvar');
include_once './Services/Form/classes/class.ilFormPropertyDispatchGUI.php';
$form_prop_dispatch = new ilFormPropertyDispatchGUI();
$item = $this->getItemByPostVar($_REQUEST["postvar"]);
$form_prop_dispatch->setItem($item);
return $ilCtrl->forwardCommand($form_prop_dispatch);
break;
}
return false;
}

+ Here is the call graph for this function:

ilPropertyFormGUI::getContent ( )

Get Content.

Reimplemented from ilFormGUI.

Definition at line 548 of file class.ilPropertyFormGUI.php.

References $_POST, $ilSetting, $ilUser, $lng, $tpl, ilCharSelectorGUI\_getCurrentGUI(), ilCharSelectorGUI\_isAllowed(), addItem(), ilCharSelectorConfig\ENABLED, getDescription(), getMode(), ilFormGUI\getMultipart(), getShowTopButtons(), getTableWidth(), getTitle(), getTitleIcon(), getTopAnchor(), ilYuiUtil\initAnimation(), ilYuiUtil\initDom(), ilYuiUtil\initEvent(), insertItem(), and setTitle().

{
include_once("./Services/YUI/classes/class.ilYuiUtil.php");
$tpl->addJavaScript("./Services/JavaScript/js/Basic.js");
$tpl->addJavaScript("Services/Form/js/Form.js");
$this->tpl = new ilTemplate("tpl.property_form.html", true, true, "Services/Form");
// check if form has not title and first item is a section header
// -> use section header for title and remove section header
// -> command buttons are presented on top
$fi = $this->items[0];
if ($this->getMode() == "std" &&
$this->getTitle() == "" &&
is_object($fi) && $fi->getType() == "section_header"
)
{
$this->setTitle($fi->getTitle());
unset($this->items[0]);
}
// title icon
if ($this->getTitleIcon() != "" && @is_file($this->getTitleIcon()))
{
$this->tpl->setCurrentBlock("title_icon");
$this->tpl->setVariable("IMG_ICON", $this->getTitleIcon());
$this->tpl->parseCurrentBlock();
}
// title
if ($this->getTitle() != "")
{
// commands on top
if (count($this->buttons) > 0 && $this->getShowTopButtons())
{
// command buttons
foreach($this->buttons as $button)
{
$this->tpl->setCurrentBlock("cmd2");
$this->tpl->setVariable("CMD", $button["cmd"]);
$this->tpl->setVariable("CMD_TXT", $button["text"]);
$this->tpl->parseCurrentBlock();
}
$this->tpl->setCurrentBlock("commands2");
$this->tpl->parseCurrentBlock();
}
if (is_object($ilSetting))
{
if ($ilSetting->get('char_selector_availability') > 0)
{
require_once 'Services/UIComponent/CharSelector/classes/class.ilCharSelectorGUI.php';
{
if ($char_selector->getConfig()->getAvailability() == ilCharSelectorConfig::ENABLED)
{
$char_selector->addToPage();
$this->tpl->TouchBlock('char_selector');
}
}
}
}
$this->tpl->setCurrentBlock("header");
$this->tpl->setVariable("TXT_TITLE", $this->getTitle());
$this->tpl->setVariable("LABEL", $this->getTopAnchor());
$this->tpl->setVariable("TXT_DESCRIPTION", $this->getDescription());
$this->tpl->parseCurrentBlock();
}
$this->tpl->touchBlock("item");
// properties
$this->required_text = false;
foreach($this->items as $item)
{
if ($item->getType() != "hidden")
{
$this->insertItem($item);
}
}
// required
if ($this->required_text && $this->getMode() == "std")
{
$this->tpl->setCurrentBlock("required_text");
$this->tpl->setVariable("TXT_REQUIRED", $lng->txt("required_field"));
$this->tpl->parseCurrentBlock();
}
// command buttons
foreach($this->buttons as $button)
{
$this->tpl->setCurrentBlock("cmd");
$this->tpl->setVariable("CMD", $button["cmd"]);
$this->tpl->setVariable("CMD_TXT", $button["text"]);
$this->tpl->parseCurrentBlock();
}
// try to keep uploads even if checking input fails
if($this->getMultipart())
{
$hash = $_POST["ilfilehash"];
if(!$hash)
{
$hash = md5(uniqid(mt_rand(), true));
}
$fhash = new ilHiddenInputGUI("ilfilehash");
$fhash->setValue($hash);
$this->addItem($fhash);
}
// hidden properties
$hidden_fields = false;
foreach($this->items as $item)
{
if ($item->getType() == "hidden")
{
$item->insert($this->tpl);
$hidden_fields = true;
}
}
if ($this->required_text || count($this->buttons) > 0 || $hidden_fields)
{
$this->tpl->setCurrentBlock("commands");
$this->tpl->parseCurrentBlock();
}
if ($this->getMode() == "subform")
{
$this->tpl->touchBlock("sub_table");
}
else
{
$this->tpl->touchBlock("std_table");
$this->tpl->setVariable('STD_TABLE_WIDTH',$this->getTableWidth());
}
return $this->tpl->get();
}

+ Here is the call graph for this function:

ilPropertyFormGUI::getDescription ( )

Get description.

Returns
string description

Definition at line 201 of file class.ilPropertyFormGUI.php.

References $description.

Referenced by getContent().

{
}

+ Here is the caller graph for this function:

ilPropertyFormGUI::getDisableStandardMessage ( )

Get disable standard message.

Returns
boolean disable standard message

Definition at line 355 of file class.ilPropertyFormGUI.php.

References $disable_standard_message.

Referenced by checkInput().

+ Here is the caller graph for this function:

ilPropertyFormGUI::getFileUpload (   $a_field,
  $a_index = null,
  $a_sub_index = null 
)

Get file upload data.

Parameters
string$a_fieldform field
mixed$a_indexform field index (if array)
mixed$a_sub_indexform field subindex (if array)
Returns
array (tmp_name, name, type, error, size, is_upload)

Definition at line 941 of file class.ilPropertyFormGUI.php.

References $res.

Referenced by hasFileUpload(), and moveFileUpload().

{
$res = array();
if($a_index)
{
if($_FILES[$a_field]["tmp_name"][$a_index][$a_sub_index])
{
$res = array(
"tmp_name" => $_FILES[$a_field]["tmp_name"][$a_index][$a_sub_index],
"name" => $_FILES[$a_field]["name"][$a_index][$a_sub_index],
"type" => $_FILES[$a_field]["type"][$a_index][$a_sub_index],
"error" => $_FILES[$a_field]["error"][$a_index][$a_sub_index],
"size" => $_FILES[$a_field]["size"][$a_index][$a_sub_index],
"is_upload" => true
);
}
else if($this->reloaded_files[$a_field]["tmp_name"][$a_index][$a_sub_index])
{
$res = array(
"tmp_name" => $this->reloaded_files["tmp_name"][$a_index][$a_sub_index],
"name" => $this->reloaded_files["name"][$a_index][$a_sub_index],
"type" => $this->reloaded_files["type"][$a_index][$a_sub_index],
"error" => $this->reloaded_files["error"][$a_index][$a_sub_index],
"size" => $this->reloaded_files["size"][$a_index][$a_sub_index],
"is_upload" => false
);
}
}
else if($a_sub_index)
{
if($_FILES[$a_field]["tmp_name"][$a_index])
{
$res = array(
"tmp_name" => $_FILES[$a_field]["tmp_name"][$a_index],
"name" => $_FILES[$a_field]["name"][$a_index],
"type" => $_FILES[$a_field]["type"][$a_index],
"error" => $_FILES[$a_field]["error"][$a_index],
"size" => $_FILES[$a_field]["size"][$a_index],
"is_upload" => true
);
}
else if($this->reloaded_files[$a_field]["tmp_name"][$a_index])
{
$res = array(
"tmp_name" => $this->reloaded_files[$a_field]["tmp_name"][$a_index],
"name" => $this->reloaded_files[$a_field]["name"][$a_index],
"type" => $this->reloaded_files[$a_field]["type"][$a_index],
"error" => $this->reloaded_files[$a_field]["error"][$a_index],
"size" => $this->reloaded_files[$a_field]["size"][$a_index],
"is_upload" => false
);
}
}
else
{
if($_FILES[$a_field]["tmp_name"])
{
$res = array(
"tmp_name" => $_FILES[$a_field]["tmp_name"],
"name" => $_FILES[$a_field]["name"],
"type" => $_FILES[$a_field]["type"],
"error" => $_FILES[$a_field]["error"],
"size" => $_FILES[$a_field]["size"],
"is_upload" => true
);
}
else if($this->reloaded_files[$a_field]["tmp_name"])
{
$res = array(
"tmp_name" => $this->reloaded_files[$a_field]["tmp_name"],
"name" => $this->reloaded_files[$a_field]["name"],
"type" => $this->reloaded_files[$a_field]["type"],
"error" => $this->reloaded_files[$a_field]["error"],
"size" => $this->reloaded_files[$a_field]["size"],
"is_upload" => false
);
}
}
return $res;
}

+ Here is the caller graph for this function:

ilPropertyFormGUI::getHideLabels ( )

Get a value indicating whether the labels should be hidden or not.

Returns
boolean true, to hide the labels; otherwise, false.

Definition at line 365 of file class.ilPropertyFormGUI.php.

References $hide_labels.

Referenced by insertItem().

{
}

+ Here is the caller graph for this function:

ilPropertyFormGUI::getHTML ( )

Get HTML.

Reimplemented from ilFormGUI.

Definition at line 865 of file class.ilPropertyFormGUI.php.

Referenced by assOrderingQuestionGUI\editQuestion().

{
$html = parent::getHTML();
// #13531 - get content that has to reside outside of the parent form tag, e.g. panels/layers
foreach($this->items as $item)
{
// #13536 - ilFormSectionHeaderGUI does NOT extend ilFormPropertyGUI ?!
if(method_exists($item, "getContentOutsideFormTag"))
{
$outside = $item->getContentOutsideFormTag();
if($outside)
{
$html .= $outside;
}
}
}
return $html;
}

+ Here is the caller graph for this function:

ilPropertyFormGUI::getInput (   $a_post_var,
  $ensureValidation = true 
)

Returns the value of a HTTP-POST variable, identified by the passed id.

Parameters
stringThe key used for value determination
booleanA flag whether the form input has to be validated before calling this method
Returns
string The value of a HTTP-POST variable, identified by the passed id public

Definition at line 497 of file class.ilPropertyFormGUI.php.

References $_POST.

Referenced by ilCharSelectorGUI\getFormValues(), SurveySingleChoiceQuestionGUI\importEditFormValues(), SurveyTextQuestionGUI\importEditFormValues(), SurveyMetricQuestionGUI\importEditFormValues(), SurveyMultipleChoiceQuestionGUI\importEditFormValues(), SurveyMatrixQuestionGUI\importEditFormValues(), ilMemberAgreementGUI\saveCourseDefinedFields(), ilConsultationHourCron\saveCustomSettings(), ilForumCronNotification\saveCustomSettings(), ilAssQuestionFeedback\saveGenericFormProperties(), ilAssConfigurableMultiOptionQuestionFeedback\saveSpecificFormProperties(), ilAssMultiOptionQuestionFeedback\saveSpecificFormProperties(), ilBookingScheduleGUI\setDefinitionFromPost(), ilObjPollGUI\updateCustom(), ilObjBlogGUI\updateCustom(), ilObjBookingPoolGUI\updateCustom(), ilObjPortfolioBaseGUI\updateCustom(), ilObjFolderGUI\updateCustom(), ilObjPortfolioTemplateGUI\updateCustom(), ilObjMediaPoolGUI\updateCustom(), ilObjPortfolioGUI\updateCustom(), ilObjBibliographicGUI\updateCustom(), ilObjDataCollectionGUI\updateCustom(), ilObjExerciseGUI\updateCustom(), ilObjectServiceSettingsGUI\updateServiceSettingsForm(), and SurveyMultipleChoiceQuestionGUI\validateEditForm().

{
// this check ensures, that checkInput has been called (incl. stripSlashes())
if (!$this->check_input_called && $ensureValidation)
{
die ("Error: ilPropertyFormGUI->getInput() called without calling checkInput() first.");
}
return $_POST[$a_post_var];
}

+ Here is the caller graph for this function:

ilPropertyFormGUI::getInputItemsRecursive ( )

returns a flat array of all input items including the possibly existing subitems recursively

Returns
array

Definition at line 318 of file class.ilPropertyFormGUI.php.

Referenced by ilTestSettingsChangeConfirmationGUI\populateParametersFromPropertyForm().

{
$inputItems = array();
foreach($this->items as $item)
{
if( $item->getType() == 'section_header' )
{
continue;
}
$inputItems[] = $item;
if( $item instanceof ilSubEnabledFormPropertyGUI )
{
$inputItems = array_merge( $inputItems, $item->getSubInputItemsRecursive() );
}
}
return $inputItems;
}

+ Here is the caller graph for this function:

ilPropertyFormGUI::getItems ( )

Get Items.

Returns
array array of item objects

Definition at line 307 of file class.ilPropertyFormGUI.php.

References $items.

Referenced by ilUserFormSettings\exportToForm(), and ilUserFormSettings\importFromForm().

{
return $this->items;
}

+ Here is the caller graph for this function:

ilPropertyFormGUI::getMode ( )

Get Mode ('std', 'subform').

Returns
string Mode ('std', 'subform')

Definition at line 141 of file class.ilPropertyFormGUI.php.

References $mode.

Referenced by getContent(), and insertItem().

{
return $this->mode;
}

+ Here is the caller graph for this function:

ilPropertyFormGUI::getShowTopButtons ( )

Set show top buttons.

Definition at line 237 of file class.ilPropertyFormGUI.php.

References $show_top_buttons.

Referenced by getContent().

+ Here is the caller graph for this function:

ilPropertyFormGUI::getTableWidth ( )
final

get table width

public

Definition at line 121 of file class.ilPropertyFormGUI.php.

References $tbl_width.

Referenced by getContent().

{
}

+ Here is the caller graph for this function:

ilPropertyFormGUI::getTitle ( )

Get Title.

Returns
string Title

Definition at line 161 of file class.ilPropertyFormGUI.php.

Referenced by getContent().

{
return $this->title;
}

+ Here is the caller graph for this function:

ilPropertyFormGUI::getTitleIcon ( )

Get TitleIcon.

Returns
string TitleIcon

Definition at line 181 of file class.ilPropertyFormGUI.php.

References $titleicon.

Referenced by getContent().

{
}

+ Here is the caller graph for this function:

ilPropertyFormGUI::getTopAnchor ( )

Get top anchor.

Returns
string top anchor

Definition at line 221 of file class.ilPropertyFormGUI.php.

References $top_anchor.

Referenced by getContent().

{
}

+ Here is the caller graph for this function:

ilPropertyFormGUI::hasFileUpload (   $a_field,
  $a_index = null,
  $a_sub_index = null 
)

Was any file uploaded?

Parameters
string$a_fieldform field
mixed$a_indexform field index (if array)
mixed$a_sub_indexform field subindex (if array)
Returns
bool

Definition at line 1030 of file class.ilPropertyFormGUI.php.

References getFileUpload().

{
$data = $this->getFileUpload($a_field, $a_index, $a_sub_index);
return (bool)$data["tmp_name"];
}

+ Here is the call graph for this function:

ilPropertyFormGUI::ilPropertyFormGUI ( )

Constructor.

Parameters

Definition at line 67 of file class.ilPropertyFormGUI.php.

References $lng, ilFormGUI\ilFormGUI(), and rebuildUploadedFiles().

{
global $lng;
$lng->loadLanguageModule("form");
// do it as early as possible
}

+ Here is the call graph for this function:

ilPropertyFormGUI::insertItem (   $item,
  $a_sub_item = false 
)

Definition at line 698 of file class.ilPropertyFormGUI.php.

References $lng, $tpl, addItem(), getHideLabels(), ilUtil\getImagePath(), getMode(), ilFormGUI\setMultipart(), and ilHiddenInputGUI\setValue().

Referenced by getContent().

{
global $tpl, $lng;
$cfg = array();
//if(method_exists($item, "getMulti") && $item->getMulti())
if ($item instanceof ilMultiValuesItem && $item->getMulti())
{
$tpl->addJavascript("./Services/Form/js/ServiceFormMulti.js");
$this->tpl->setCurrentBlock("multi_in");
$this->tpl->setVariable("ID", $item->getFieldId());
$this->tpl->parseCurrentBlock();
$this->tpl->touchBlock("multi_out");
// add hidden item to enable preset multi items
// not used yet, should replace hidden field stuff
$multi_values = $item->getMultiValues();
if(is_array($multi_values) && sizeof($multi_values) > 1)
{
$multi_value = new ilHiddenInputGUI("ilMultiValues~".$item->getPostVar());
$multi_value->setValue(implode("~", $multi_values));
$this->addItem($multi_value);
}
$cfg["multi_values"] = $multi_values;
}
$item->insert($this->tpl);
if ($item->getType() == "file" || $item->getType() == "image_file")
{
$this->setMultipart(true);
}
if ($item->getType() != "section_header")
{
$cfg["id"] = $item->getFieldId();
// info text
if ($item->getInfo() != "")
{
$this->tpl->setCurrentBlock("description");
$this->tpl->setVariable("PROPERTY_DESCRIPTION",
$item->getInfo());
$this->tpl->parseCurrentBlock();
}
if ($this->getMode() == "subform")
{
// required
if ($item->getType() != "non_editable_value")
{
if ($item->getRequired())
{
$this->tpl->touchBlock("sub_required");
$this->required_text = true;
}
}
// hidden title (for accessibility, e.g. file upload)
if ($item->getHiddenTitle() != "")
{
$this->tpl->setCurrentBlock("sub_hid_title");
$this->tpl->setVariable("SPHID_TITLE",
$item->getHiddenTitle());
$this->tpl->parseCurrentBlock();
}
$this->tpl->setCurrentBlock("sub_prop_start");
$this->tpl->setVariable("PROPERTY_TITLE", $item->getTitle());
if ($item->getType() != "non_editable_value")
{
$this->tpl->setVariable("LAB_ID", $item->getFieldId());
}
$this->tpl->parseCurrentBlock();
}
else
{
// required
if ($item->getType() != "non_editable_value")
{
if ($item->getRequired())
{
$this->tpl->touchBlock("required");
$this->required_text = true;
}
}
// hidden title (for accessibility, e.g. file upload)
if ($item->getHiddenTitle() != "")
{
$this->tpl->setCurrentBlock("std_hid_title");
$this->tpl->setVariable("PHID_TITLE",
$item->getHiddenTitle());
$this->tpl->parseCurrentBlock();
}
$this->tpl->setCurrentBlock("std_prop_start");
$this->tpl->setVariable("PROPERTY_TITLE", $item->getTitle());
if ($item->getType() != "non_editable_value")
{
$this->tpl->setVariable("LAB_ID", $item->getFieldId());
}
if ($this->getHideLabels())
{
$this->tpl->setVariable("HIDE_LABELS_STYLE", " ilFormOptionHidden");
}
$this->tpl->parseCurrentBlock();
}
// alert
if ($item->getType() != "non_editable_value" && $item->getAlert() != "")
{
$this->tpl->setCurrentBlock("alert");
$this->tpl->setVariable("IMG_ALERT",
ilUtil::getImagePath("icon_alert_s.png"));
$this->tpl->setVariable("ALT_ALERT",
$lng->txt("alert"));
$this->tpl->setVariable("TXT_ALERT",
$item->getAlert());
$this->tpl->parseCurrentBlock();
}
// subitems
$sf = null;
if ($item->getType() != "non_editable_value" or 1)
{
$sf = $item->getSubForm();
if ($item->hideSubForm() && is_object($sf))
{
$this->tpl->setCurrentBlock("sub_form_hide");
$this->tpl->setVariable("DSFID", $item->getFieldId());
$this->tpl->parseCurrentBlock();
}
}
$sf_content = "";
if (is_object($sf))
{
$sf_content = $sf->getContent();
if ($sf->getMultipart())
{
$this->setMultipart(true);
}
$this->tpl->setCurrentBlock("sub_form");
$this->tpl->setVariable("PROP_SUB_FORM", $sf_content);
$this->tpl->setVariable("SFID", $item->getFieldId());
$this->tpl->parseCurrentBlock();
}
$this->tpl->setCurrentBlock("prop");
/* not used yet
include_once("./Services/JSON/classes/class.ilJsonUtil.php");
$this->tpl->setVariable("ID", $item->getFieldId());
$this->tpl->setVariable("CFG", ilJsonUtil::encode($cfg));*/
$this->tpl->parseCurrentBlock();
}
$this->tpl->touchBlock("item");
}

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

ilPropertyFormGUI::keepFileUpload (   $a_hash,
  $a_field,
  $a_tmp_name,
  $a_name,
  $a_type,
  $a_index = null,
  $a_sub_index = null 
)
protected

Import upload into temp directory.

Parameters
string$a_hashunique form hash
string$a_fieldform field
string$a_tmp_nametemp file name
string$a_nameoriginal file name
string$a_typefile mime type
mixed$a_indexform field index (if array)
mixed$a_sub_indexform field subindex (if array)
Returns
bool

Definition at line 903 of file class.ilPropertyFormGUI.php.

References $ilUser, ilUtil\createDirectory(), and ilUtil\getDataDir().

Referenced by checkInput().

{
global $ilUser;
$user_id = $ilUser->getId();
if(!$user_id || $user_id == ANONYMOUS_USER_ID)
{
return;
}
$a_name = ilUtil::getAsciiFileName($a_name);
$tmp_file_name = implode("~~", array($user_id,
$a_hash,
$a_field,
$a_index,
$a_sub_index,
str_replace("/", "~~", $a_type),
str_replace("~~", "_", $a_name)));
// make sure temp directory exists
$temp_path = ilUtil::getDataDir() . "/temp";
if (!is_dir($temp_path))
{
}
move_uploaded_file($a_tmp_name, $temp_path."/".$tmp_file_name);
}

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

ilPropertyFormGUI::moveFileUpload (   $a_target_directory,
  $a_field,
  $a_target_name = null,
  $a_index = null,
  $a_sub_index = null 
)

Move upload to target directory.

Parameters
string$a_target_directorytarget directory (without filename!)
string$a_fieldform field
string$a_target_nametarget file name (if different from uploaded file)
mixed$a_indexform field index (if array)
mixed$a_sub_indexform field subindex (if array)
Returns
string target file name incl. path

Definition at line 1046 of file class.ilPropertyFormGUI.php.

References getFileUpload().

{
if(!is_dir($a_target_directory))
{
return;
}
$data = $this->getFileUpload($a_field, $a_index, $a_sub_index);
if($data["tmp_name"] && file_exists($data["tmp_name"]))
{
if($a_target_name)
{
$data["name"] = $a_target_name;
}
$target_file = $a_target_directory."/".$data["name"];
$target_file = str_replace("//", "/", $target_file);
if($data["is_upload"])
{
if (!move_uploaded_file($data["tmp_name"], $target_file))
{
return;
}
}
else
{
if (!rename($data["tmp_name"], $target_file))
{
return;
}
}
return $target_file;
}
}

+ Here is the call graph for this function:

ilPropertyFormGUI::rebuildUploadedFiles ( )
protected

try to rebuild files

Definition at line 1086 of file class.ilPropertyFormGUI.php.

References $_POST, $file, $ilUser, ilFormGUI\$name, and ilUtil\getDataDir().

Referenced by ilPropertyFormGUI().

{
global $ilUser;
if($_POST["ilfilehash"])
{
$user_id = $ilUser->getId();
$temp_path = ilUtil::getDataDir() . "/temp";
if(is_dir($temp_path) && $user_id && $user_id != ANONYMOUS_USER_ID)
{
$reload = array();
$temp_files = glob($temp_path."/".$ilUser->getId()."~~".$_POST["ilfilehash"]."~~*");
if(is_array($temp_files))
{
foreach($temp_files as $full_file)
{
$file = explode("~~", basename($full_file));
$field = $file[2];
$idx = $file[3];
$idx2 = $file[4];
$type = $file[5]."/".$file[6];
$name = $file[7];
if($idx2 != "")
{
if(!$_FILES[$field]["tmp_name"][$idx][$idx2])
{
$reload[$field]["tmp_name"][$idx][$idx2] = $full_file;
$reload[$field]["name"][$idx][$idx2] = $name;
$reload[$field]["type"][$idx][$idx2] = $type;
$reload[$field]["error"][$idx][$idx2] = 0;
$reload[$field]["size"][$idx][$idx2] = filesize($full_file);
}
}
else if($idx != "")
{
if(!$_FILES[$field]["tmp_name"][$idx])
{
$reload[$field]["tmp_name"][$idx] = $full_file;
$reload[$field]["name"][$idx] = $name;
$reload[$field]["type"][$idx] = $type;
$reload[$field]["error"][$idx] = 0;
$reload[$field]["size"][$idx] = filesize($full_file);
}
}
else
{
if(!$_FILES[$field]["tmp_name"])
{
$reload[$field]["tmp_name"] = $full_file;
$reload[$field]["name"] = $name;
$reload[$field]["type"] = $type;
$reload[$field]["error"] = 0;
$reload[$field]["size"] = filesize($full_file);
}
}
}
}
$this->reloaded_files = $reload;
}
}
}

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

ilPropertyFormGUI::removeItemByPostVar (   $a_post_var)

Remove Item.

Parameters
string$a_postvarPost Var

Definition at line 258 of file class.ilPropertyFormGUI.php.

{
foreach ($this->items as $key => $item)
{
if (method_exists($item, "getPostVar") && $item->getPostVar() == $a_post_var)
{
unset($this->items[$key]);
}
}
}
ilPropertyFormGUI::setDescription (   $a_val)

Set description.

Parameters
stringdescription

Definition at line 191 of file class.ilPropertyFormGUI.php.

{
$this->description = $a_val;
}
ilPropertyFormGUI::setDisableStandardMessage (   $a_val)

Set disable standard message.

Parameters
booleandisable standard message

Definition at line 345 of file class.ilPropertyFormGUI.php.

{
$this->disable_standard_message = $a_val;
}
ilPropertyFormGUI::setHideLabels (   $a_value = true)

Set a value indicating whether the labels should be hidden or not.

Parameters
boolean$a_valueIndicates whether the labels should be hidden.

Definition at line 375 of file class.ilPropertyFormGUI.php.

{
$this->hide_labels = $a_value;
}
ilPropertyFormGUI::setItems (   $a_items)

Set Items.

Parameters
array$a_itemsarray of item objects

Definition at line 297 of file class.ilPropertyFormGUI.php.

{
$this->items = $a_items;
}
ilPropertyFormGUI::setMode (   $a_mode)

Set Mode ('std', 'subform').

Parameters
string$a_modeMode ('std', 'subform')

Definition at line 131 of file class.ilPropertyFormGUI.php.

{
$this->mode = $a_mode;
}
ilPropertyFormGUI::setShowTopButtons (   $a_val)

Get show top buttons.

Definition at line 229 of file class.ilPropertyFormGUI.php.

{
$this->show_top_buttons = $a_val;
}
ilPropertyFormGUI::setTableWidth (   $a_width)
final

Set table width.

public

Parameters
stringtable width

Definition at line 110 of file class.ilPropertyFormGUI.php.

Referenced by assOrderingQuestionGUI\editQuestion().

{
$this->tbl_width = $a_width;
}

+ Here is the caller graph for this function:

ilPropertyFormGUI::setTitle (   $a_title)
ilPropertyFormGUI::setTitleIcon (   $a_titleicon)

Set TitleIcon.

Parameters
string$a_titleiconTitleIcon

Definition at line 171 of file class.ilPropertyFormGUI.php.

{
$this->titleicon = $a_titleicon;
}
ilPropertyFormGUI::setTopAnchor (   $a_val)

Set top anchor.

Parameters
stringtop anchor

Definition at line 211 of file class.ilPropertyFormGUI.php.

{
$this->top_anchor = $a_val;
}
ilPropertyFormGUI::setValuesByArray (   $a_values)

Set form values from an array.

Parameters
array$a_valuesValue array (key is post variable name, value is value)

Definition at line 385 of file class.ilPropertyFormGUI.php.

Referenced by ilObjWikiSettingsGUI\populateWithCurrentSettings().

{
foreach($this->items as $item)
{
$item->setValueByArray($a_values);
}
}

+ Here is the caller graph for this function:

ilPropertyFormGUI::setValuesByPost ( )

Set form values from POST values.

Definition at line 397 of file class.ilPropertyFormGUI.php.

References $_POST.

Referenced by assOrderingQuestionGUI\editQuestion().

{
foreach($this->items as $item)
{
$item->setValueByArray($_POST);
}
}

+ Here is the caller graph for this function:

Field Documentation

ilPropertyFormGUI::$buttons = array()
private

Definition at line 49 of file class.ilPropertyFormGUI.php.

ilPropertyFormGUI::$check_input_called = false
protected

Definition at line 52 of file class.ilPropertyFormGUI.php.

ilPropertyFormGUI::$description = ""
protected

Definition at line 56 of file class.ilPropertyFormGUI.php.

Referenced by getDescription().

ilPropertyFormGUI::$disable_standard_message = false
protected

Definition at line 53 of file class.ilPropertyFormGUI.php.

Referenced by getDisableStandardMessage().

ilPropertyFormGUI::$hide_labels = false
protected

Definition at line 60 of file class.ilPropertyFormGUI.php.

Referenced by getHideLabels().

ilPropertyFormGUI::$items = array()
private

Definition at line 50 of file class.ilPropertyFormGUI.php.

Referenced by getItems().

ilPropertyFormGUI::$mode = "std"
protected

Definition at line 51 of file class.ilPropertyFormGUI.php.

Referenced by getMode().

ilPropertyFormGUI::$reloaded_files
protected

Definition at line 59 of file class.ilPropertyFormGUI.php.

ilPropertyFormGUI::$show_top_buttons = true
protected

Definition at line 58 of file class.ilPropertyFormGUI.php.

Referenced by getShowTopButtons().

ilPropertyFormGUI::$tbl_width = false
protected

Definition at line 57 of file class.ilPropertyFormGUI.php.

Referenced by getTableWidth().

ilPropertyFormGUI::$titleicon = false
protected

Definition at line 55 of file class.ilPropertyFormGUI.php.

Referenced by getTitleIcon().

ilPropertyFormGUI::$top_anchor = "il_form_top"
protected

Definition at line 54 of file class.ilPropertyFormGUI.php.

Referenced by getTopAnchor().


The documentation for this class was generated from the following file: