ILIAS  Release_4_2_x_branch Revision 61807
 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)
 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 473 of file class.ilPropertyFormGUI.php.

Referenced by FormMailCodesGUI\__construct(), and ilChatroomFormFactory\addDefaultBehaviour().

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

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

References $_POST, $data, $file, $file_name, $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 481 of file class.ilPropertyFormGUI.php.

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

Execute command.

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

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

{
global $ilCtrl;
$next_class = $ilCtrl->getNextClass($this);
$cmd = $ilCtrl->getCmd();
switch($next_class)
{
case 'ilformpropertydispatchgui':
include_once './Services/Form/classes/class.ilFormPropertyDispatchGUI.php';
$form_prop_dispatch = new ilFormPropertyDispatchGUI();
$item = $this->getItemByPostVar($_GET["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 489 of file class.ilPropertyFormGUI.php.

References $_POST, $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/ServiceForm.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 200 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 326 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 811 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)

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

References $_POST.

Referenced by ilBookingScheduleGUI\setDefinitionFromPost(), ilObjBlogGUI\updateCustom(), ilObjBookingPoolGUI\updateCustom(), ilObjForumGUI\updateCustom(), ilObjFolderGUI\updateCustom(), ilObjMediaPoolGUI\updateCustom(), and ilObjExerciseGUI\updateCustom().

{
// this check ensures, that checkInput has been called (incl. stripSlashes())
if (!$this->check_input_called)
{
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 273 of file class.ilPropertyFormGUI.php.

References $ret.

Referenced by ilChatroomFormFactory\applyValues(), executeCommand(), 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 306 of file class.ilPropertyFormGUI.php.

References $items.

{
return $this->items;
}
ilPropertyFormGUI::getMode ( )

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

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

Definition at line 140 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 236 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 120 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 160 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 180 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 220 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 900 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 622 of file class.ilPropertyFormGUI.php.

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

Referenced by getContent().

{
global $tpl, $lng;
$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("IMG_INFO",
// ilUtil::getImagePath("icon_info_s.gif"));
//$this->tpl->setVariable("ALT_INFO",
// $lng->txt("info_short"));
$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.gif"));
$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 773 of file class.ilPropertyFormGUI.php.

References 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 916 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 956 of file class.ilPropertyFormGUI.php.

References $_POST, $file, 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 257 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 190 of file class.ilPropertyFormGUI.php.

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

Set disable standard message.

Parameters
booleandisable standard message

Definition at line 316 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 296 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 130 of file class.ilPropertyFormGUI.php.

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

Get show top buttons.

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

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

Set Title.

Parameters
string$a_titleTitle

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

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

Set top anchor.

Parameters
stringtop anchor

Definition at line 210 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 336 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 348 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: