3 require_once(
'class.ilCachedCtrl.php');
38 $this->stored_trees =
array 39 (
"ilrepositorygui",
"ilpersonaldesktopgui",
40 "illmpresentationgui",
"illmeditorgui",
41 "iladministrationgui");
51 $this->
debug[] = $str;
69 $this->transit =
array();
70 $this->forward =
array();
73 $this->save_parameter =
array();
74 $this->parameter =
array();
75 $this->
return =
array();
76 $this->location =
array();
78 $this->current_node = 0;
79 $this->module_dir =
"";
80 $this->service_dir =
"";
81 $this->call_node =
array();
82 $this->root_class =
"";
95 $baseClass = strtolower(
$_GET[
"baseClass"]);
98 $mc_rec = $module_class->lookupModuleClass($baseClass);
104 $module = $mc_rec[
"module"];
105 $class = $mc_rec[
"class"];
106 $class_dir = $mc_rec[
"dir"];
110 $m_set = $ilDB->query(
"SELECT * FROM il_component WHERE name = ".
111 $ilDB->quote($module,
"text"));
112 $m_rec = $ilDB->fetchAssoc($m_set);
113 $this->module_dir = $m_rec[
"type"].
"/".$m_rec[
"name"];
114 include_once $this->module_dir.
"/".$class_dir.
"/class.".$class.
".php";
122 $mc_rec = $module_class->lookupServiceClass($baseClass);
124 $service = $mc_rec[
"service"];
125 $class = $mc_rec[
"class"];
126 $class_dir = $mc_rec[
"dir"];
130 include_once(
"./Services/UICore/exceptions/class.ilCtrlException.php");
131 throw new ilCtrlException(
"Could not find entry in modules.xml or services.xml for ".
132 $baseClass.
" <br/>".str_replace(
"&",
"<br />&", htmlentities(
$_SERVER[
"REQUEST_URI"])));
142 $this->service_dir = $m_rec[
"type"].
"/".$m_rec[
"name"];
144 include_once $this->service_dir.
"/".$class_dir.
"/class.".$class.
".php";;
149 $base_class_gui =
new $class();
158 return $this->module_dir;
172 $class = strtolower(get_class($a_gui_object));
175 $nr = $nr[
"node_id"];
178 $current_node = $this->current_node;
180 $this->current_node = $nr;
184 $this->call_hist[] =
array(
"class" => get_class($a_gui_object),
185 "mode" =>
"execComm",
"cmd" => $this->
getCmd());
188 $html = $a_gui_object->executeCommand();
191 $this->current_node = $current_node;
197 include_once(
"./Services/UICore/exceptions/class.ilCtrlException.php");
210 $class = strtolower(get_class($a_gui_object));
213 $nr = $nr[
"node_id"];
216 $current_node = $this->current_node;
219 $this->current_node = $nr;
223 $this->call_hist[] =
array(
"class" => get_class($a_gui_object),
224 "mode" =>
"getHtml",
"cmd" => $this->
getCmd());
227 $html = $a_gui_object->getHTML();
230 $this->current_node = $current_node;
236 include_once(
"./Services/UICore/exceptions/class.ilCtrlException.php");
250 function setContext($a_obj_id, $a_obj_type, $a_sub_obj_id = 0, $a_sub_obj_type =
"")
252 $this->context_obj_id = $a_obj_id;
253 $this->context_obj_type = $a_obj_type;
254 $this->context_sub_obj_id = $a_sub_obj_id;
255 $this->context_sub_obj_type = $a_sub_obj_type;
265 return $this->context_obj_id;
275 return $this->context_obj_type;
285 return $this->context_sub_obj_id;
295 return $this->context_sub_obj_type;
318 $class = strtolower($a_class);
321 if ($a_par_node === 0 || $a_par_node ==
"")
334 return array(
"node_id" => $a_par_node,
341 in_array($a_class, $this->calls[$this->
getClassForCid($node_cid)]))
343 return array(
"node_id" => $a_par_node.
":".$this->getCidForClass($class),
352 in_array($a_class, $this->calls[$this->
getClassForCid($par_cid)]))
354 return array(
"node_id" =>
362 while($temp_node !=
"")
367 return array(
"node_id" => $temp_node,
378 $mc_rec = $module_class->lookupModuleClass($class);
379 $n_class = $mc_rec[
'lower_class'];
390 $mc_rec = $module_class->lookupServiceClass($class);
391 $n_class = $mc_rec[
'lower_class'];
404 "base_class" => $class);
419 error_log(
"ERROR: Can't find target class $a_class for node $a_par_node ".
427 include_once(
"./Services/UICore/exceptions/class.ilCtrlException.php");
428 throw new ilCtrlException(
"ERROR: Can't find target class $a_class for node $a_par_node ".
440 if (!is_array($a_class))
442 $a_class =
array($a_class);
445 $nr = $this->current_node;
446 foreach ($a_class as $class)
448 $class = strtolower($class);
456 $nr = $nr[
"node_id"];
472 return $_GET[
"cmdNode"];
482 function addLocation($a_title, $a_link, $a_target =
"", $a_ref_id = 0)
484 $this->location[] =
array(
"title" => $a_title,
485 "link" => $a_link,
"target" => $a_target,
"ref_id" => $a_ref_id);
506 function addTab($a_lang_var, $a_link, $a_cmd, $a_class)
508 $a_class = strtolower($a_class);
510 $this->tab[] =
array(
"lang_var" => $a_lang_var,
511 "link" => $a_link,
"cmd" => $a_cmd,
"class" => $a_class);
588 $a_class = strtolower($a_class);
593 $this->call_node[$a_nr] =
array(
"class" => $a_class,
"parent" => $a_parent);
596 $call_set = $ilDB->query(
"SELECT * FROM ctrl_calls WHERE parent = ".
597 $ilDB->quote(strtolower($a_class),
"text").
598 " ORDER BY child",
array(
"text"));
600 while ($call_rec = $ilDB->fetchAssoc($call_set))
603 $forw[] = $call_rec[
"child"];
611 $this->root_class = $a_class;
622 private function forwards($a_from_class, $a_to_class)
624 $a_from_class = strtolower($a_from_class);
626 if (is_array($a_to_class))
628 foreach($a_to_class as $to_class)
630 if ($a_from_class !=
"" && $to_class !=
"")
632 if (!is_array($this->forward[$a_from_class]) || !in_array(strtolower($to_class), $this->forward[$a_from_class]))
634 $this->forward[$a_from_class][] = strtolower($to_class);
636 if (!is_array($this->
parent[strtolower($to_class)]) || !in_array($a_from_class, $this->
parent[strtolower($to_class)]))
638 $this->
parent[strtolower($to_class)][] = $a_from_class;
645 $to_class = $a_to_class;
646 if ($a_from_class !=
"" && $to_class !=
"")
648 if (!is_array($this->forward[$a_from_class]) || !in_array(strtolower($to_class), $this->forward[$a_from_class]))
650 $this->forward[$a_from_class][] = strtolower($to_class);
652 if (!is_array($this->
parent[strtolower($to_class)]) || !in_array($a_from_class, $this->
parent[strtolower($to_class)]))
654 $this->
parent[strtolower($to_class)][] = $a_from_class;
682 if (is_object($a_obj))
696 if (is_array($a_parameter))
698 foreach($a_parameter as $parameter)
700 $this->save_parameter[strtolower($a_class)][] = $parameter;
705 $this->save_parameter[strtolower($a_class)][] = $a_parameter;
734 $this->parameter[strtolower(get_class($a_obj))][$a_parameter] = $a_value;
747 $this->parameter[strtolower($a_class)][$a_parameter] = $a_value;
770 $this->parameter[strtolower($a_class)] =
array();
775 global $objDefinition;
778 if(
$_GET[
"gotolp"] &&
787 $gui_class = get_class($a_gui_obj);
789 if($gui_class ==
"ilSAHSEditGUI")
792 include_once
"./Modules/ScormAicc/classes/class.ilObjSAHSLearningModule.php";
797 $class =
"ilObjSCORM2004LearningModuleGUI";
801 $class =
"ilObjSCORMLearningModuleGUI";
805 $class =
"ilObjAICCLearningModuleGUI";
809 $class =
"ilObjHACPLearningModuleGUI";
812 if(
$GLOBALS[
"ilAccess"]->checkAccess(
"edit_learning_progress",
"",
$ref_id))
814 $this->
redirectByClass(
array($gui_class, $class,
"illearningprogressgui",
"illplistofsettingsgui"),
"");
818 else if($gui_class ==
"ilLMPresentationGUI")
824 include_once
"Services/Object/classes/class.ilObjectLP.php";
826 $class =
"ilObj".$objDefinition->getClassName($type).
"GUI";
828 if($gui_class == $class &&
830 $GLOBALS[
"ilAccess"]->checkAccess(
"edit_learning_progress",
"",
$ref_id))
837 $a_cmd_node = $obj_node[
"node_id"];
842 $_GET[
"cmdNode"] = $lp_settings_node[
"node_id"];
843 $_GET[
"cmdClass"] =
"ilLPListOfSettingsGUI";
845 return "illearningprogressgui";
870 if ($this->current_node == $cmdNode)
899 $a_class_name = strtolower($a_class_name);
902 $class_rec = $cached_ctrl->lookupClassFile($a_class_name);
908 if ($class_rec[
"plugin_path"] !=
"")
910 return $class_rec[
"plugin_path"].
"/".$class_rec[
"filename"];
914 return $class_rec[
"filename"];
928 $path = pathinfo($a_class_path);
930 $class = substr(
$file, 6, strlen(
$file) - 10);
946 if ($a_source_node ==
"1")
950 if (substr($a_target_node, 0, strlen($a_source_node)) != $a_source_node)
952 $failure =
"ERROR: Path not found. Source:".$a_source_node.
953 ", Target:".$a_target_node;
956 include_once(
"./Services/UICore/exceptions/class.ilCtrlException.php");
963 $temp_node = $a_source_node;
966 if ($a_source_node !=
"")
971 $diffstart = ($a_source_node ==
"")
973 : strlen($a_source_node) + 1;
974 $diff = substr($a_target_node, $diffstart);
976 $diff_arr = explode(
":", $diff);
977 foreach($diff_arr as $cid)
979 if ($temp_node !=
"")
984 $path[] = $temp_node;
998 $this->target_script = $a_target_script;
1023 $_GET[
"baseClass"] = $a_base_class;
1025 $_GET[
"cmdClass"] =
"";
1026 $_GET[
"cmdNode"] =
"";
1037 public function getCmd($a_default_cmd =
"", $a_safe_commands =
"")
1040 if (isset(
$_GET[
"cmd"]))
1053 if ($this->verified_cmd !=
"")
1055 return $this->verified_cmd;
1060 (!is_array($a_safe_commands) || !in_array(
$cmd, $a_safe_commands)))
1062 return $a_default_cmd;
1066 $this->verified_cmd =
$cmd;
1067 if(
$cmd ==
"" && isset(
$_POST[
"table_top_cmd"]))
1070 $this->verified_cmd =
$cmd;
1073 if(
$cmd ==
"" && isset(
$_POST[
"select_cmd2"]))
1075 if(isset(
$_POST[
"select_cmd_all2"]))
1081 $_POST[
"select_cmd_all"] =
$_POST[
"select_cmd_all2"] = null;
1084 $this->verified_cmd =
$cmd;
1086 if(
$cmd ==
"" && isset(
$_POST[
"select_cmd"]))
1088 if(isset(
$_POST[
"select_cmd_all"]))
1094 $_POST[
"select_cmd_all"] =
$_POST[
"select_cmd_all2"] = null;
1097 $this->verified_cmd =
$cmd;
1102 $this->verified_cmd =
$cmd;
1107 $cmd = $a_default_cmd;
1124 $_GET[
"cmd"] = $a_cmd;
1139 $a_cmd_class = strtolower($a_cmd_class);
1141 $nr = $nr[
"node_id"];
1142 $_GET[
"cmdClass"] = $a_cmd_class;
1143 $_GET[
"cmdNode"] = $nr;
1153 return strtolower(
$_GET[
"cmdClass"]);
1166 function getFormAction($a_gui_obj, $a_fallback_cmd =
"", $a_anchor =
"", $a_asynch =
false,
1170 $a_fallback_cmd, $a_anchor, $a_asynch, $xml_style);
1187 if(!is_array($a_class))
1189 $a_class = strtolower($a_class);
1200 if ($a_fallback_cmd !=
"")
1206 if ($a_anchor !=
"")
1208 $script = $script.
"#".$a_anchor;
1235 if ($this->rtoken !=
"")
1241 if (is_object($ilDB) && is_object($ilUser) && $ilUser->getId() > 0 &&
1242 $ilUser->getId() != ANONYMOUS_USER_ID)
1244 $res = $ilDB->query(
"SELECT token FROM il_request_token WHERE user_id = ".
1245 $ilDB->quote($ilUser->getId(),
"integer").
1246 " AND session_id = ".$ilDB->quote(session_id(),
"text"));
1247 $rec = $ilDB->fetchAssoc(
$res);
1249 if ($rec[
"token"] !=
"")
1251 $this->rtoken = $rec[
"token"];
1252 return $rec[
"token"];
1255 $this->rtoken = md5(uniqid(rand(),
true));
1258 if (rand(1, 200) == 2)
1263 $dq =
"DELETE FROM il_request_token WHERE ".
1265 $ilDB->manipulate($dq);
1272 $ilDB->manipulate(
"INSERT INTO il_request_token (user_id, token, stamp, session_id) VALUES ".
1274 $ilDB->quote($ilUser->getId(),
"integer").
",".
1275 $ilDB->quote($this->rtoken,
"text").
",".
1277 $ilDB->quote(session_id(),
"text").
")");
1294 if (is_object($ilUser) && is_object($ilDB) && $ilUser->getId() > 0 &&
1295 $ilUser->getId() != ANONYMOUS_USER_ID)
1297 if (
$_GET[
"rtoken"] ==
"")
1299 #echo "ilCtrl::No Request Token Given!"; // for debugging, maybe changed later 1303 $set = $ilDB->query(
"SELECT * FROM il_request_token WHERE ".
1304 " user_id = ".$ilDB->quote($ilUser->getId(),
"integer").
" AND ".
1305 " token = ".$ilDB->quote(
$_GET[self::IL_RTOKEN_NAME]),
"text");
1306 if ($ilDB->numRows($set) > 0)
1325 $ilDB->manipulate(
"DELETE FROM il_request_token WHERE ".
1326 " user_id = ".$ilDB->quote($ilUser->getId(),
"integer").
" AND ".
1327 " session_id != ".$ilDB->quote(session_id(),
"text").
" AND ".
1344 $to_remove =
array();
1347 foreach(
$_SESSION[
"rtokens"] as $tok => $time)
1349 if (
time() - $time > $sec)
1351 $to_remove[] = $tok;
1354 foreach($to_remove as $tok)
1379 public function redirect($a_gui_obj, $a_cmd =
"", $a_anchor =
"", $a_asynch =
false)
1384 "", $a_asynch,
false);
1385 if (is_object($ilBench))
1389 if ($a_anchor !=
"")
1391 $script = $script.
"#".$a_anchor;
1406 if ($a_anchor !=
"")
1408 $script = $script.
"#".$a_anchor;
1420 if (isset(
$_GET[
"cmdMode"]) &&
$_GET[
"cmdMode"] ==
"asynch")
1442 function getLinkTarget($a_gui_obj, $a_cmd =
"", $a_anchor =
"", $a_asynch =
false,
1445 $script = $this->
getLinkTargetByClass(strtolower(get_class($a_gui_obj)), $a_cmd, $a_anchor, $a_asynch,
1483 $script.= $amp.
"cmdMode=asynch";
1486 if ($a_anchor !=
"")
1488 $script = $script.
"#".$a_anchor;
1500 $script = $this->
getUrlParameters(strtolower(get_class($a_gui_obj)), $script, $a_cmd);
1502 $this->
return[strtolower(get_class($a_gui_obj))] = $script;
1511 $a_class = strtolower($a_class);
1516 $this->
return[strtolower($a_class)] = $script;
1527 "redirectSource=".strtolower(get_class($a_gui_obj)));
1529 "cmdMode=".
$_GET[
"cmdMode"]);
1530 if ($a_anchor !=
"")
1532 $script = $script.
"#".$a_anchor;
1546 return $_GET[
"redirectSource"];
1563 $a_class = strtolower($a_class);
1569 return $this->
return[$ret_class];
1581 if (is_object($a_class))
1583 $class = strtolower(get_class($a_class));
1587 $class = strtolower($a_class);
1598 $a_class = strtolower($a_class);
1601 $node = $node[
"node_id"];
1602 $n_arr = explode(
":", $node);
1603 for($i = count($n_arr)-2; $i>=0; $i--)
1624 foreach (
$params as $par => $value)
1626 if (strlen((
string) $value))
1659 if (!is_array($a_class))
1661 $a_class =
array($a_class);
1664 $nr = $this->current_node;
1665 foreach ($a_class as $class)
1667 $class = strtolower($class);
1669 if ($nr[
"base_class"] !=
"")
1671 $new_baseclass = $nr[
"base_class"];
1673 $nr = $nr[
"node_id"];
1674 $target_class = $class;
1681 foreach(
$path as $node_id)
1683 $class = ($node_id ==
"")
1684 ? strtolower(
$_GET[
"baseClass"])
1686 if (isset($this->save_parameter[$class]) && is_array($this->save_parameter[$class]))
1688 foreach($this->save_parameter[$class] as $par)
1690 if (isset(
$_GET[$par]))
1694 else if (isset(
$_POST[$par]))
1701 if (isset($this->parameter[$class]) && is_array($this->parameter[$class]))
1703 foreach($this->parameter[$class] as $par => $value)
1715 $params[
"cmdClass"] = $target_class;
1717 if($new_baseclass ==
"")
1723 $params[
"baseClass"] = $new_baseclass;
1734 if ($this->class_cid[$a_class] ==
"")
1738 if ($this->class_cid[$a_class] ==
"")
1746 $add =
"<br><br>Please make sure your GUI class name ends with 'GUI' and that the filename is 'class.[YourClassName].php'. In exceptional cases you 1747 may solve the issue by putting an empty * @ilCtrl_Calls [YourClassName]: into your class header.".
1748 " In both cases you need to reload the control structure in the setup.";
1750 include_once(
"./Services/UICore/exceptions/class.ilCtrlException.php");
1751 throw new ilCtrlException(
"Cannot find cid for class ".$a_class.
".".$add);
1753 return $this->class_cid[$a_class];
1761 if ($this->cid_class[$a_cid] ==
"")
1765 if ($this->cid_class[$a_cid] ==
"")
1767 include_once(
"./Services/UICore/exceptions/class.ilCtrlException.php");
1770 return $this->cid_class[$a_cid];
1782 if (isset($this->info_read_cid[$a_cid]))
1788 $rec = $cached_ctrl->lookupCid($a_cid);
1796 $this->cid_class[$a_cid] = $rec[
"class"];
1797 $this->class_cid[$rec[
"class"]] = $a_cid;
1799 $calls = $cached_ctrl->lookupCall($rec[
"class"]);
1805 foreach($calls as $rec2)
1807 if (!isset($this->calls[$rec[
"class"]]) || !is_array($this->calls[$rec[
"class"]]) || !in_array($rec2[
"child"], $this->calls[$rec[
"class"]]))
1809 if ($rec2[
"child"] !=
"")
1811 $this->calls[$rec[
"class"]][] = $rec2[
"child"];
1815 $this->info_read_class[$rec[
"class"]] =
true;
1818 $this->info_read_cid[$a_cid] =
true;
1828 $n_arr = explode(
":", $a_node);
1829 foreach ($n_arr as $cid)
1844 $a_class = strtolower($a_class);
1845 if (isset($this->info_read_class[$a_class]))
1851 $rec = $cached_ctrl->lookupClassFile($a_class);
1860 $this->cid_class[$rec[
"cid"]] = $a_class;
1861 $this->class_cid[$a_class] = $rec[
"cid"];
1867 $recs = $cached_ctrl->lookupCall($a_class);
1869 foreach($recs as $rec)
1871 if (!isset($this->calls[$a_class]) || !is_array($this->calls[$a_class]) || !in_array($rec[
"child"], $this->calls[$a_class]))
1873 if ($rec[
"child"] !=
"")
1875 $this->calls[$a_class][] = $rec[
"child"];
1880 $this->info_read_class[$a_class] =
true;
1881 $this->info_read_cid[$this->class_cid[$a_class]] =
true;
1889 $n_arr = explode(
":", $a_node);
1890 return $n_arr[count($n_arr) - 2];
1898 $lpos = strrpos($a_node,
":");
1899 return substr($a_node, 0, $lpos);
1907 $n_arr = explode(
":", $a_node);
1908 return $n_arr[count($n_arr) - 1];
1921 $a_parent = strtolower($a_parent);
1922 $a_child = strtolower($a_child);
1923 $a_comp_prefix = strtolower($a_comp_prefix);
1925 $set = $ilDB->query(
"SELECT * FROM ctrl_calls WHERE ".
1926 " parent = ".$ilDB->quote($a_parent,
"text").
" AND ".
1927 " child = ".$ilDB->quote($a_child,
"text").
" AND ".
1928 " comp_prefix = ".$ilDB->quote($a_comp_prefix,
"text")
1930 if ($rec = $ilDB->fetchAssoc($set))
1934 $ilDB->manipulate(
"INSERT INTO ctrl_calls ".
1935 "(parent, child, comp_prefix) VALUES (".
1936 $ilDB->quote($a_parent,
"text").
",".
1937 $ilDB->quote($a_child,
"text").
",".
1938 $ilDB->quote($a_comp_prefix,
"text").
getCurrentCidOfNode($a_node)
Get last cid of node id.
removeLastCid($a_node)
Remove last cid of node.
getReturnClass($a_class)
Get return class.
setParameter($a_obj, $a_parameter, $a_value)
Set parameters that should be passed a form and link of a gui class.
getContextObjId()
Get context object id.
This class provides processing control methods.
setReturn($a_gui_obj, $a_cmd)
Set return command.
getTabs()
Get tabs array (.
if((!isset($_SERVER['DOCUMENT_ROOT'])) OR(empty($_SERVER['DOCUMENT_ROOT']))) $_SERVER['DOCUMENT_ROOT']
getCmdNode()
Get command target node.
lookupClassPath($a_class_name)
Get class path that can be used in include statements for a given class name.
getCmdClass()
Determines class that should execute the current command.
getDebug()
Get debug message string (.
getParentCidOfNode($a_node)
Get last but one cid of node id.
getClassForClasspath($a_class_path)
this method assumes that the class path has the format "dir/class.<class_name>.php" ...
setCmdClass($a_cmd_class)
Set the current command class.
getRequestToken()
Get request token.
checkLPSettingsForward($a_gui_obj, $a_cmd_node)
static isSupportedObjectType($a_type)
$GLOBALS['loaded']
Global hash that tracks already loaded includes.
initBaseClass($a_base_class)
Initialises new base class.
getNodeIdForTargetClass($a_par_node, $a_class, $a_check=false)
Searchs a node for a given class ($a_class) "near" the another node ($a_par_node).
getLinkTargetByClass($a_class, $a_cmd="", $a_anchor="", $a_asynch=false, $xml_style=true)
Get link target for command using gui class name.
checkTargetClass($a_class)
Check whether target is valid.
getParameterArrayByClass($a_class, $a_cmd="")
Get all set/save parameters using gui class name.
getClassForCid($a_cid)
Get class for cid.
searchReturnClass($a_class)
Determine current return class.
static _lookupSubType($a_obj_id)
lookup subtype id (scorm, aicc, hacp)
addLocation($a_title, $a_link, $a_target="", $a_ref_id=0)
Add a location to the locator array (.
getRedirectSource()
Get current redirect source.
getCallStructure($a_class)
Get call structure of class context.
getContextSubObjType()
Get context subobject type.
saveParameterByClass($a_class, $a_parameter)
Save parameter for a class.
setCmd($a_cmd)
Set the current command.
appendRequestTokenParameterString($a_url, $xml_style=true)
Append request token as url parameter.
static _lookupObjectId($a_ref_id)
lookup object id
getContextSubObjId()
Get context subobject id.
isAsynch()
Is current command an asynchronous command?
setReturnByClass($a_class, $a_cmd)
Set return command.
getCidForClass($a_class, $a_check=false)
Get Cid for Class.
static appendUrlParameterString($a_url, $a_par, $xml_style=false)
append URL parameter string ("par1=value1&par2=value2...") to given URL string
readCidInfo($a_cid)
Read information of class per cid.
getNextClass($a_gui_class=null)
Get next class in the control path from the current class to the target command class.
setContext($a_obj_id, $a_obj_type, $a_sub_obj_id=0, $a_sub_obj_type="")
Set context of current user interface.
getParameterArray($a_gui_obj, $a_cmd="")
Get all set/save parameters for a gui object.
redirectByClass($a_class, $a_cmd="", $a_anchor="", $a_asynch=false)
Redirect to other gui class using class name.
clearParameters($a_obj)
Clears all parameters that have been set via setParameter for a GUI class.
clearParametersByClass($a_class)
Clears all parameters that have been set via setParameter for a GUI class.
debug($str)
Collect debugging strings (.
insertCtrlCalls($a_parent, $a_child, $a_comp_prefix)
Insert ctrl calls record.
getPathNew($a_source_node, $a_target_node)
Get path in call structure.
getCmd($a_default_cmd="", $a_safe_commands="")
Determines current get/post command.
getFormAction($a_gui_obj, $a_fallback_cmd="", $a_anchor="", $a_asynch=false, $xml_style=true)
Get form action url for gui class object.
getUrlParameters($a_class, $a_str, $a_cmd="", $xml_style=false)
Get URL parameters for a class and append them to a string.
forwards($a_from_class, $a_to_class)
Stores which classes forwards commands to which other classes.
static stripSlashesRecursive($a_data, $a_strip_html=true, $a_allow="")
Strip slashes from array and sub-arrays.
readClassInfo($a_class)
Read info of class.
getTargetScript()
Get target script name.
verifyToken()
Verify Token.
saveParameter($a_obj, $a_parameter)
Set parameters that should be passed in every form and link of a gui class.
Create styles array
The data for the language used.
static _lookupType($a_id, $a_reference=false)
lookup object type
readNodeInfo($a_node)
Read info of node.
getParentReturn($a_gui_obj)
Get return script url.
getModuleDir()
get directory of current module
setParameterByClass($a_class, $a_parameter, $a_value)
Same as setParameterByClass, except that a class name is passed.
getCallHistory()
Get controller call history.
callBaseClass()
Calls base class of current request.
returnToParent($a_gui_obj, $a_anchor="")
Redirects to next parent class that used setReturn.
getLinkTarget($a_gui_obj, $a_cmd="", $a_anchor="", $a_asynch=false, $xml_style=true)
Get link target for command using gui object.
getParentReturnByClass($a_class)
Get return script url.
getLocations()
Get locations array (.
Add data(end) time
Method that wraps PHPs time in order to allow simulations with the workflow.
if(!file_exists("$old.txt")) if($old===$new) if(file_exists("$new.txt")) $file
readCallStructure($a_class, $a_nr=0, $a_parent=0)
stores often used common call structures (called from db_update script!!!)
getFormActionByClass($a_class, $a_fallback_cmd="", $a_anchor="", $a_asynch=false, $xml_style=true)
Get form action url for gui class name.
static redirect($a_script)
http redirect to other script
forwardCommand($a_gui_object)
Forward flow of control to next gui class this invokes the executeCommand() method of the gui object ...
getHTML($a_gui_object)
Gets an HTML output from another GUI class and returns the flow of control to the calling class...
setTargetScript($a_target_script)
set target script name
redirect($a_gui_obj, $a_cmd="", $a_anchor="", $a_asynch=false)
Redirect to another command.
getContextObjType()
Get context object type.
__construct()
control class constructor
static getComponentInfo($a_type, $a_name)
addTab($a_lang_var, $a_link, $a_cmd, $a_class)
Add a tab to tabs array (.