ILIAS  release_4-3 Revision
 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.
 setDisableStandardMessage ($a_val)
 Set disable standard message.
 getDisableStandardMessage ()
 Get disable standard message.
 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)
 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.
 getHTML ()
 Get HTML.

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
- 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 48 of file class.ilPropertyFormGUI.php.

Member Function Documentation

ilPropertyFormGUI::addCommandButton (   $a_cmd,
  $a_text 
)

Add Command button.

Parameters
stringCommand
stringText

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

Referenced by FormMailCodesGUI\__construct().

{
$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 469 of file class.ilPropertyFormGUI.php.

{
$this->properties[] = array ("type" => "custom",
"title" => $a_title,
"html" => $a_html,
"info" => $a_info);
}
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 363 of file class.ilPropertyFormGUI.php.

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

{
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:

ilPropertyFormGUI::clearCommandButtons ( )

Remove all command buttons.

Definition at line 492 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 500 of file class.ilPropertyFormGUI.php.

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

{
global $lng, $tpl, $ilUser;
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();
}
$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 327 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 839 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::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 449 of file class.ilPropertyFormGUI.php.

References $_POST.

Referenced by ilBookingScheduleGUI\setDefinitionFromPost(), ilObjBlogGUI\updateCustom(), ilObjPollGUI\updateCustom(), ilObjBookingPoolGUI\updateCustom(), ilObjFolderGUI\updateCustom(), ilObjMediaPoolGUI\updateCustom(), ilObjDataCollectionGUI\updateCustom(), ilObjExerciseGUI\updateCustom(), and ilObjectServiceSettingsGUI\updateServiceSettingsForm().

{
// 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::getItemByPostVar (   $a_post_var)

Get Item by POST variable.

Parameters
string$a_postvarPost Var

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

References $ret.

Referenced by ilChatroomFormFactory\applyValues(), executeCommand(), ilObjTestGUI\fixPostValuesForInconsistentFormObjectTree(), assMatchingQuestionGUI\isValidTermAndDefinitionAmount(), ilBookingScheduleGUI\setDefinitionFromPost(), and ilObjBlogGUI\updateCustom().

{
foreach ($this->items as $key => $item)
{
if ($item->getType() != "section_header")
{
//if ($item->getPostVar() == $a_post_var)
$ret = $item->getItemByPostVar($a_post_var);
if (is_object($ret))
{
return $ret;
}
}
}
return false;
}

+ 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.

References $title.

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 928 of file class.ilPropertyFormGUI.php.

References $data, and 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 633 of file class.ilPropertyFormGUI.php.

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

Referenced by getContent().

{
global $tpl, $lng;
if(method_exists($item, "getMulti") && $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
$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);
}
}
$item->insert($this->tpl);
if ($item->getType() == "file" || $item->getType() == "image_file")
{
$this->setMultipart(true);
}
if ($item->getType() != "section_header")
{
// 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());
}
$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");
$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 801 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 944 of file class.ilPropertyFormGUI.php.

References $data, and 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 984 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 317 of file class.ilPropertyFormGUI.php.

{
$this->disable_standard_message = $a_val;
}
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.

{
$this->tbl_width = $a_width;
}
ilPropertyFormGUI::setTitle (   $a_title)

Set Title.

Parameters
string$a_titleTitle

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

Referenced by FormMailCodesGUI\__construct(), getContent(), and ilObjExerciseGUI\initEditCustomForm().

{
$this->title = $a_title;
}

+ Here is the caller graph for this function:

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 337 of file class.ilPropertyFormGUI.php.

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

Set form values from POST values.

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

References $_POST.

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

Field Documentation

ilPropertyFormGUI::$buttons = array()
private

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

ilPropertyFormGUI::$check_input_called = false
protected

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

ilPropertyFormGUI::$description = ""
protected

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

Referenced by getDescription().

ilPropertyFormGUI::$disable_standard_message = false
protected

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

Referenced by getDisableStandardMessage().

ilPropertyFormGUI::$items = array()
private

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

Referenced by getItems().

ilPropertyFormGUI::$mode = "std"
protected

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

Referenced by getMode().

ilPropertyFormGUI::$reloaded_files
protected

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

ilPropertyFormGUI::$show_top_buttons = true
protected

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

Referenced by getShowTopButtons().

ilPropertyFormGUI::$tbl_width = false
protected

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

Referenced by getTableWidth().

ilPropertyFormGUI::$titleicon = false
protected

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

Referenced by getTitleIcon().

ilPropertyFormGUI::$top_anchor = "il_form_top"
protected

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

Referenced by getTopAnchor().


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