ILIAS  release_5-3 Revision v5.3.23-19-g915713cf615
class.ilPCDataTableGUI.php
Go to the documentation of this file.
1<?php
2/* Copyright (c) 1998-2009 ILIAS open source, Extended GPL, see docs/LICENSE */
3
4require_once("./Services/COPage/classes/class.ilPCDataTable.php");
5require_once("./Services/COPage/classes/class.ilPCTableGUI.php");
6require_once("./Services/COPage/classes/class.ilPageContentGUI.php");
7
19{
23 protected $tabs;
24
25
30 public function __construct(&$a_pg_obj, &$a_content_obj, $a_hier_id, $a_pc_id = "")
31 {
32 global $DIC;
33
34 $this->lng = $DIC->language();
35 $this->ctrl = $DIC->ctrl();
36 $this->tabs = $DIC->tabs();
37 parent::__construct($a_pg_obj, $a_content_obj, $a_hier_id, $a_pc_id);
38 $this->setCharacteristics(array("StandardTable" => $this->lng->txt("cont_StandardTable")));
39 }
40
44 public function executeCommand()
45 {
46 $this->getCharacteristicsOfCurrentStyle("table"); // scorm-2004
47
48 // get next class that processes or forwards current command
49 $next_class = $this->ctrl->getNextClass($this);
50
51 // get current command
52 $cmd = $this->ctrl->getCmd();
53
54 switch ($next_class) {
55 default:
56 $ret = $this->$cmd();
57 break;
58 }
59
60 return $ret;
61 }
62
63
67
71 public function editDataCl()
72 {
75 //var_dump($_GET);
76 //var_dump($_POST);
77
78 $this->setTabs();
79
81
82 include_once("./Services/COPage/classes/class.ilPCParagraph.php");
83
84 $this->tpl->addBlockFile("ADM_CONTENT", "adm_content", "tpl.tabledata.html", "Services/COPage");
85 $dtpl = $this->tpl;
86 //$dtpl = new ilTemplate("tpl.tabledata.html", true, true, "Services/COPage");
87 $dtpl->setVariable("FORMACTION", $this->ctrl->getFormAction($this, "tableAction"));
88 $dtpl->setVariable("BB_MENU", $this->getBBMenu("cell_0_0"));
89
93 $this->tpl->addJavascript("./Services/COPage/phpBB/3_0_5/editor.js");
94 $this->tpl->addJavascript("./Services/COPage/js/page_editing.js");
95 $this->tpl->addJavascript("./Services/COPage/js/paragraph_editing.js");
96
97 // get all rows
98 $xpc = xpath_new_context($this->dom);
99 $path = "//PageContent[@HierId='" . $this->getHierId() . "']" .
100 "/Table/TableRow";
101 $res = xpath_eval($xpc, $path);
102
103 for ($i = 0; $i < count($res->nodeset); $i++) {
104 $xpc2 = xpath_new_context($this->dom);
105 $path2 = "//PageContent[@HierId='" . $this->getHierId() . "']" .
106 "/Table/TableRow[$i+1]/TableData";
107 $res2 = xpath_eval($xpc2, $path2);
108
109 // if this is the first row -> col icons
110 if ($i == 0) {
111 for ($j = 0; $j < count($res2->nodeset); $j++) {
112 if ($j == 0) {
113 $dtpl->touchBlock("empty_td");
114 }
115
116 if ($j == 0) {
117 if (count($res2->nodeset) == 1) {
118 $move_type = "none";
119 } else {
120 $move_type = "forward";
121 }
122 } elseif ($j == (count($res2->nodeset) - 1)) {
123 $move_type = "backward";
124 } else {
125 $move_type = "both";
126 }
127 $dtpl->setCurrentBlock("col_icon");
128 $dtpl->setVariable("COL_ICON_ALT", $lng->txt("content_column"));
129 $dtpl->setVariable("COL_ICON", ilUtil::getImagePath("col.svg"));
130 $dtpl->setVariable("COL_ONCLICK", "COL_" . $move_type);
131 $dtpl->setVariable("NR", $j);
132 $dtpl->parseCurrentBlock();
133 }
134 $dtpl->setCurrentBlock("row");
135 $dtpl->parseCurrentBlock();
136 }
137
138
139 for ($j = 0; $j < count($res2->nodeset); $j++) {
140 // first col: row icons
141 if ($j == 0) {
142 if ($i == 0) {
143 if (count($res->nodeset) == 1) {
144 $move_type = "none";
145 } else {
146 $move_type = "forward";
147 }
148 } elseif ($i == (count($res->nodeset) - 1)) {
149 $move_type = "backward";
150 } else {
151 $move_type = "both";
152 }
153 $dtpl->setCurrentBlock("row_icon");
154 $dtpl->setVariable("ROW_ICON_ALT", $lng->txt("content_row"));
155 $dtpl->setVariable("ROW_ICON", ilUtil::getImagePath("row.svg"));
156 $dtpl->setVariable("ROW_ONCLICK", "ROW_" . $move_type);
157 $dtpl->setVariable("NR", $i);
158 $dtpl->parseCurrentBlock();
159 }
160
161 // cell
162 if ($res2->nodeset[$j]->get_attribute("Hidden") != "Y") {
163 $dtpl->setCurrentBlock("cell");
164
165 if (is_array($_POST["cmd"]) && key($_POST["cmd"]) == "update") {
166 $s_text = ilUtil::stripSlashes("cell_" . $i . "_" . $j, false);
167 } else {
168 $s_text = ilPCParagraph::xml2output($this->content_obj->getCellText($i, $j));
169 }
170
171 $dtpl->setVariable("PAR_TA_NAME", "cell[" . $i . "][" . $j . "]");
172 $dtpl->setVariable("PAR_TA_ID", "cell_" . $i . "_" . $j);
173 $dtpl->setVariable("PAR_TA_CONTENT", $s_text);
174
175 $cs = $res2->nodeset[$j]->get_attribute("ColSpan");
176 $rs = $res2->nodeset[$j]->get_attribute("RowSpan");
177 // $dtpl->setVariable("WIDTH", "140");
178 // $dtpl->setVariable("HEIGHT", "80");
179 if ($cs > 1) {
180 $dtpl->setVariable("COLSPAN", 'colspan="' . $cs . '"');
181 $dtpl->setVariable("WIDTH", (140 + ($cs - 1) * 146));
182 }
183 if ($rs > 1) {
184 $dtpl->setVariable("ROWSPAN", 'rowspan="' . $rs . '"');
185 $dtpl->setVariable("HEIGHT", (80 + ($rs - 1) * 86));
186 }
187 $dtpl->parseCurrentBlock();
188 }
189 }
190 $dtpl->setCurrentBlock("row");
191 $dtpl->parseCurrentBlock();
192 }
193
194 // init menues
195 $types = array("row", "col");
196 $moves = array("none", "backward", "both", "forward");
197 $commands = array(
198 "row" => array( "newRowAfter" => "cont_ed_new_row_after",
199 "newRowBefore" => "cont_ed_new_row_before",
200 "moveRowUp" => "cont_ed_row_up",
201 "moveRowDown" => "cont_ed_row_down",
202 "deleteRow" => "cont_ed_delete_row"),
203 "col" => array( "newColAfter" => "cont_ed_new_col_after",
204 "newColBefore" => "cont_ed_new_col_before",
205 "moveColLeft" => "cont_ed_col_left",
206 "moveColRight" => "cont_ed_col_right",
207 "deleteCol" => "cont_ed_delete_col")
208 );
209 foreach ($types as $type) {
210 foreach ($moves as $move) {
211 foreach ($commands[$type] as $command => $lang_var) {
212 if ($move == "none" && (substr($command, 0, 4) == "move" || substr($command, 0, 6) == "delete")) {
213 continue;
214 }
215 if (($move == "backward" && (in_array($command, array("movedown", "moveright")))) ||
216 ($move == "forward" && (in_array($command, array("moveup", "moveleft"))))) {
217 continue;
218 }
219 $this->tpl->setCurrentBlock("menu_item");
220 $this->tpl->setVariable("MENU_ITEM_TITLE", $lng->txt($lang_var));
221 $this->tpl->setVariable("CMD", $command);
222 $this->tpl->setVariable("TYPE", $type);
223 $this->tpl->parseCurrentBlock();
224 }
225 $this->tpl->setCurrentBlock("menu");
226 $this->tpl->setVariable("TYPE", $type);
227 $this->tpl->setVariable("MOVE", $move);
228 $this->tpl->parseCurrentBlock();
229 }
230 }
231
232 // update/cancel
233 $this->tpl->setCurrentBlock("commands");
234 $this->tpl->setVariable("BTN_NAME", "update");
235 $this->tpl->setVariable("BTN_TEXT", $this->lng->txt("save"));
236 $this->tpl->parseCurrentBlock();
237
238 $this->tpl->setVariable(
239 "FORMACTION2",
240 $ilCtrl->getFormAction($this, "tableAction")
241 );
242 $this->tpl->setVariable("TXT_ACTION", $this->lng->txt("cont_table"));
243 }
244
248 public function update($a_redirect = true)
249 {
251
252 // handle input data
253 include_once("./Services/COPage/classes/class.ilPCParagraph.php");
254 $data = array();
255 //var_dump($_POST["cell"]);
256 //var_dump($_GET);
257 if (is_array($_POST["cell"])) {
258 foreach ($_POST["cell"] as $i => $row) {
259 if (is_array($row)) {
260 foreach ($row as $j => $cell) {
261 $data[$i][$j] =
263 $cell,
264 $this->content_obj->getLanguage()
265 );
266 }
267 }
268 }
269 }
270
271 $this->updated = $this->content_obj->setData($data);
272
273 if ($this->updated !== true) {
274 $this->editData();
275 return;
276 }
277
278 $this->updated = $this->pg_obj->update();
279
280 if ($a_redirect) {
281 ilUtil::sendSuccess($lng->txt("msg_obj_modified"), true);
282 $this->ctrl->redirect($this, "editData");
283 }
284 }
285
289 public function updateJS()
290 {
293
294 if ($_POST["cancel_update"]) {
295 // $this->ctrl->redirect($this, "editData");
296 $this->ctrl->returnToParent($this, "jump" . $this->hier_id);
297 }
298
299 // handle input data
300 include_once("./Services/COPage/classes/class.ilPCParagraph.php");
301 include_once("./Services/COPage/classes/class.ilPCParagraphGUI.php");
302 $data = array();
303 foreach ($_POST as $k => $content) {
304 if (substr($k, 0, 5) != "cell_") {
305 continue;
306 }
307
308 // determine cell content
309 $div = ilUtil::stripSlashes($content, false);
310 $p1 = strpos($div, '>');
311 $div = substr($div, $p1 + 1);
312 $div = "<div class='ilc_text_block_TableContent'>" . $div;
314 if ($text === false) {
315 $ilCtrl->returnToParent($this, "jump" . $this->hier_id);
316 }
317 $text = $text["text"];
318
320 $text,
321 $this->content_obj->getLanguage(),
322 true,
323 false
324 );
326
327 // set content in data array
328 $id = explode("_", $k);
329 $data[(int) $id[1]][(int) $id[2]] = $text;
330 }
331
332 // update data
333 $this->updated = $this->content_obj->setData($data);
334
335 if ($this->updated !== true) {
336 $this->editData();
337 return;
338 }
339
340 $this->updated = $this->pg_obj->update();
341
342
343 // perform table action? (move...?)
344 //$this->update(false);
345 $this->pg_obj->addHierIDs();
346 $failed = false;
347 if ($_POST["tab_cmd"] != "") {
348 $cell_hier_id = ($_POST["tab_cmd_type"] == "col")
349 ? $this->hier_id . "_1_" . ($_POST["tab_cmd_id"] + 1)
350 : $this->hier_id . "_" . ($_POST["tab_cmd_id"] + 1) . "_1";
351 $cell_obj = $this->pg_obj->getContentObject($cell_hier_id);
352 if (is_object($cell_obj)) {
353 $tab_cmd = $_POST["tab_cmd"];
354 $cell_obj->$tab_cmd();
355 $ret = $this->pg_obj->update();
356 if ($ret !== true) {
357 ilUtil::sendFailure($ret[0][1], true);
358 $failed = true;
359 }
360 }
361 }
362
363 if (!$failed) {
364 ilUtil::sendSuccess($lng->txt("msg_obj_modified"), true);
365 }
366 if ($_POST["save_return"]) {
367 $this->ctrl->returnToParent($this, "jump" . $this->hier_id);
368 } else {
369 $this->ctrl->redirect($this, "editData");
370 }
371 }
372
373
377 public function getNewTableObject()
378 {
379 return new ilPCDataTable($this->getPage());
380 }
381
385 public function afterCreation()
386 {
388
389 $this->pg_obj->stripHierIDs();
390 $this->pg_obj->addHierIDs();
391 $ilCtrl->setParameter($this, "hier_id", $this->content_obj->readHierId());
392 $ilCtrl->setParameter($this, "pc_id", $this->content_obj->readPCId());
393 $this->content_obj->setHierId($this->content_obj->readHierId());
394 $this->setHierId($this->content_obj->readHierId());
395 $this->content_obj->setPCId($this->content_obj->readPCId());
396 $this->editData();
397 }
398
402 public function tableAction()
403 {
405
406 $this->update(false);
407 $this->pg_obj->addHierIDs();
408
409 $cell_hier_id = ($_POST["type"] == "col")
410 ? $this->hier_id . "_1_" . ($_POST["id"] + 1)
411 : $this->hier_id . "_" . ($_POST["id"] + 1) . "_1";
412 $cell_obj = $this->pg_obj->getContentObject($cell_hier_id);
413 if (is_object($cell_obj)) {
414 $action = (string) ($_POST["action"]);
415 $cell_obj->$action();
416 $_SESSION["il_pg_error"] = $this->pg_obj->update();
417 }
418 $ilCtrl->redirect($this, "editData");
419 }
420
424 public function setTabs()
425 {
427 $ilTabs = $this->tabs;
428
429 parent::setTabs();
430
431 $ilTabs->addTarget(
432 "cont_ed_edit_data",
433 $ilCtrl->getLinkTarget($this, "editData"),
434 "editData",
435 get_class($this)
436 );
437 }
438
439
443
447 public function editData()
448 {
451
452
454 return $this->editDataCl();
455 }
456
457 //var_dump($_GET);
458 //var_dump($_POST);
459
460 $this->setTabs();
461
462 $this->displayValidationError();
463
464
465 include_once("./Services/COPage/classes/class.ilPCParagraph.php");
466
467 //$this->tpl->addBlockFile("ADM_CONTENT", "adm_content", "tpl.tabledata2.html", "Services/COPage");
468 //$dtpl = $this->tpl;
469 $dtpl = new ilTemplate("tpl.tabledata2.html", true, true, "Services/COPage");
470 $dtpl->setVariable("FORMACTION", $this->ctrl->getFormAction($this, "tableAction"));
471
472
473 $dtpl->setVariable(
474 "WYSIWYG_ACTION",
475 $ilCtrl->getFormAction($this, "updateJS")
476 );
477
478 // get all rows
479 $xpc = xpath_new_context($this->dom);
480 $path = "//PageContent[@HierId='" . $this->getHierId() . "']" .
481 "/Table/TableRow";
482 $res = xpath_eval($xpc, $path);
483
484 for ($i = 0; $i < count($res->nodeset); $i++) {
485 $xpc2 = xpath_new_context($this->dom);
486 $path2 = "//PageContent[@HierId='" . $this->getHierId() . "']" .
487 "/Table/TableRow[$i+1]/TableData";
488 $res2 = xpath_eval($xpc2, $path2);
489
490 // if this is the first row -> col icons
491 if ($i == 0) {
492 for ($j = 0; $j < count($res2->nodeset); $j++) {
493 if ($j == 0) {
494 $dtpl->touchBlock("empty_td");
495 }
496
497 if ($j == 0) {
498 if (count($res2->nodeset) == 1) {
499 $move_type = "none";
500 } else {
501 $move_type = "forward";
502 }
503 } elseif ($j == (count($res2->nodeset) - 1)) {
504 $move_type = "backward";
505 } else {
506 $move_type = "both";
507 }
508 $dtpl->setCurrentBlock("col_icon");
509 $dtpl->setVariable("COL_ICON_ALT", $lng->txt("content_column"));
510 $dtpl->setVariable("COL_ICON", ilUtil::getImagePath("col.svg"));
511 $dtpl->setVariable("COL_ONCLICK", "COL_" . $move_type);
512 $dtpl->setVariable("NR", $j);
513 $dtpl->parseCurrentBlock();
514 }
515 $dtpl->setCurrentBlock("row");
516 $dtpl->parseCurrentBlock();
517 }
518
519
520 for ($j = 0; $j < count($res2->nodeset); $j++) {
521 // first col: row icons
522 if ($j == 0) {
523 if ($i == 0) {
524 if (count($res->nodeset) == 1) {
525 $move_type = "none";
526 } else {
527 $move_type = "forward";
528 }
529 } elseif ($i == (count($res->nodeset) - 1)) {
530 $move_type = "backward";
531 } else {
532 $move_type = "both";
533 }
534 $dtpl->setCurrentBlock("row_icon");
535 $dtpl->setVariable("ROW_ICON_ALT", $lng->txt("content_row"));
536 $dtpl->setVariable("ROW_ICON", ilUtil::getImagePath("row.svg"));
537 $dtpl->setVariable("ROW_ONCLICK", "ROW_" . $move_type);
538 $dtpl->setVariable("NR", $i);
539 $dtpl->parseCurrentBlock();
540 }
541
542 // cell
543 if ($res2->nodeset[$j]->get_attribute("Hidden") != "Y") {
544 $dtpl->setCurrentBlock("cell");
545
546 if (is_array($_POST["cmd"]) && key($_POST["cmd"]) == "update") {
547 $s_text = ilUtil::stripSlashes("cell_" . $i . "_" . $j, false);
548 } else {
550 $this->content_obj->getCellText($i, $j),
551 true,
552 false
553 );
554 include_once("./Services/COPage/classes/class.ilPCParagraphGUI.php");
556 $s_text,
557 "TableContent",
558 $this->content_obj->readPCId() . "_" . $i . "_" . $j
559 );
560 }
561
562 // #20628
563 $s_text = str_replace("{", "&#123;", $s_text);
564 $s_text = str_replace("}", "&#125;", $s_text);
565
566 $dtpl->setVariable("PAR_TA_NAME", "cell[" . $i . "][" . $j . "]");
567 $dtpl->setVariable("PAR_TA_ID", "cell_" . $i . "_" . $j);
568
569 $dtpl->setVariable("PAR_TA_CONTENT", $s_text);
570
571 $cs = $res2->nodeset[$j]->get_attribute("ColSpan");
572 $rs = $res2->nodeset[$j]->get_attribute("RowSpan");
573 $dtpl->setVariable("WIDTH", "140");
574 $dtpl->setVariable("HEIGHT", "80");
575 if ($cs > 1) {
576 $dtpl->setVariable("COLSPAN", 'colspan="' . $cs . '"');
577 $dtpl->setVariable("WIDTH", (140 + ($cs - 1) * 146));
578 }
579 if ($rs > 1) {
580 $dtpl->setVariable("ROWSPAN", 'rowspan="' . $rs . '"');
581 $dtpl->setVariable("HEIGHT", (80 + ($rs - 1) * 86));
582 }
583 $dtpl->parseCurrentBlock();
584 }
585 }
586 $dtpl->setCurrentBlock("row");
587 $dtpl->parseCurrentBlock();
588 }
589
590 // init menues
591 $types = array("row", "col");
592 $moves = array("none", "backward", "both", "forward");
593 $commands = array(
594 "row" => array( "newRowAfter" => "cont_ed_new_row_after",
595 "newRowBefore" => "cont_ed_new_row_before",
596 "moveRowUp" => "cont_ed_row_up",
597 "moveRowDown" => "cont_ed_row_down",
598 "deleteRow" => "cont_ed_delete_row"),
599 "col" => array( "newColAfter" => "cont_ed_new_col_after",
600 "newColBefore" => "cont_ed_new_col_before",
601 "moveColLeft" => "cont_ed_col_left",
602 "moveColRight" => "cont_ed_col_right",
603 "deleteCol" => "cont_ed_delete_col")
604 );
605
606 foreach ($types as $type) {
607 foreach ($moves as $move) {
608 foreach ($commands[$type] as $command => $lang_var) {
609 if ($move == "none" && (substr($command, 0, 4) == "move" || substr($command, 0, 6) == "delete")) {
610 continue;
611 }
612 if (($move == "backward" && (in_array($command, array("movedown", "moveright")))) ||
613 ($move == "forward" && (in_array($command, array("moveup", "moveleft"))))) {
614 continue;
615 }
616 $dtpl->setCurrentBlock("menu_item");
617 $dtpl->setVariable("MENU_ITEM_TITLE", $lng->txt($lang_var));
618 $dtpl->setVariable("CMD", $command);
619 $dtpl->setVariable("TYPE", $type);
620 $dtpl->parseCurrentBlock();
621 }
622 $dtpl->setCurrentBlock("menu");
623 $dtpl->setVariable("TYPE", $type);
624 $dtpl->setVariable("MOVE", $move);
625 $dtpl->parseCurrentBlock();
626 }
627 }
628
629
630 $dtpl->setVariable(
631 "FORMACTION2",
632 $ilCtrl->getFormAction($this, "tableAction")
633 );
634 $dtpl->setVariable("TXT_ACTION", $this->lng->txt("cont_table"));
635
636 // js editing preparation
637 include_once("./Services/YUI/classes/class.ilYuiUtil.php");
641 //$GLOBALS["tpl"]->addJavascript("Services/COPage/tiny/4_2_4/tinymce.js");
642 $GLOBALS["tpl"]->addJavascript("./libs/bower/bower_components/tinymce/tinymce.min.js");
643 $GLOBALS["tpl"]->addJavaScript("./Services/COPage/js/ilcopagecallback.js");
644 $GLOBALS["tpl"]->addJavascript("Services/COPage/js/page_editing.js");
645
646 $GLOBALS["tpl"]->addOnloadCode("var preloader = new Image();
647 preloader.src = './templates/default/images/loader.svg';
648 ilCOPage.setContentCss('" .
650 ", " . ilUtil::getStyleSheetLocation() . ", ./Services/COPage/css/tiny_extra.css');
651 ilCOPage.editTD('cell_0_0');
652 ");
653
654 $cfg = $this->getPageConfig();
655
656 $dtpl->setVariable(
657 "IL_TINY_MENU",
659 $this->pg_obj->getParentType(),
660 $cfg->getEnableInternalLinks(),
661 $cfg->getEnableWikiLinks(),
662 $cfg->getEnableKeywords(),
663 $this->getStyleId(),
664 false,
665 true,
666 $cfg->getEnableAnchors(),
667 false
668 )
669 );
670
671 // add int link parts
672 if ($cfg->getEnableInternalLinks() || $cfg->getEnableWikiLinks()) {
673 include_once("./Services/Link/classes/class.ilInternalLinkGUI.php");
674 $dtpl->setCurrentBlock("int_link_prep");
675 $dtpl->setVariable("INT_LINK_PREP", ilInternalLinkGUI::getInitHTML(
676 $ilCtrl->getLinkTargetByClass(
677 array("ilpageeditorgui", "ilinternallinkgui"),
678 "",
679 false,
680 true,
681 false
682 )
683 ));
684 }
685
686 $this->tpl->setContent($dtpl->get());
687 }
688}
$failed
Definition: Utf8Test.php:85
$_POST["username"]
$_SESSION["AccountId"]
An exception for terminatinating execution or to throw for unit testing.
static getInitHTML($a_url)
Get initialisation HTML to use interna link editing.
static getContentStylePath($a_style_id, $add_random=true)
get content style path
Class ilPCTableGUI.
getNewTableObject()
Get new table object.
update($a_redirect=true)
Update table data in dom and update page in db.
afterCreation()
After creation processing.
__construct(&$a_pg_obj, &$a_content_obj, $a_hier_id, $a_pc_id="")
Constructor @access public.
tableAction()
Perform operation on table (adding, moving, deleting rows/cols)
editDataCl()
Edit data of table.
editData()
Edit data of table.
updateJS()
Update via JavaScript.
executeCommand()
execute command
Class ilPCDataTable.
static xml2outputJS($s_text, $char, $a_pc_id)
Prepare content for js output.
static _input2xml($a_text, $a_lang, $a_wysiwyg=0, $a_handle_lists=true)
converts user input to xml
static xml2output($a_text, $a_wysiwyg=false, $a_replace_lists=true, $unmask=true)
Converts xml from DB to output in edit textarea.
static handleAjaxContent($a_content)
Handle ajax content.
static handleAjaxContentPost($text)
Post input2xml handling of ajax content.
Class ilPCTableGUI.
getHierId()
get hierarchical id in dom object
getCharacteristicsOfCurrentStyle($a_type)
Get characteristics of current style.
getPageConfig()
Get Page Config.
displayValidationError()
display validation errors
getBBMenu($a_ta_name="par_content")
Get the bb menu incl.
setCharacteristics($a_chars)
Set Characteristics.
setHierId($a_hier_id)
get hierarchical id in dom object
static _doJSEditing()
checks if current user has activated js editing and if browser is js capable
static getTinyMenu( $a_par_type, $a_int_links=false, $a_wiki_links=false, $a_keywords=false, $a_style_id=0, $a_paragraph_styles=true, $a_save_return=true, $a_anchors=false, $a_save_new=true, $a_user_links=false)
Get Tiny Menu.
special template class to simplify handling of ITX/PEAR
static sendSuccess($a_info="", $a_keep=false)
Send Success Message to Screen.
static getStyleSheetLocation($mode="output", $a_css_name="", $a_css_location="")
get full style sheet file name (path inclusive) of current user
static sendFailure($a_info="", $a_keep=false)
Send Failure Message to Screen.
static stripSlashes($a_str, $a_strip_html=true, $a_allow="")
strip slashes if magic qoutes is enabled
static getImagePath($img, $module_path="", $mode="output", $offline=false)
get image path (for images located in a template directory)
static initDragDrop()
Init YUI Drag and Drop.
static initConnection(ilTemplate $a_main_tpl=null)
Init YUI Connection module.
static initPanel($a_resize=false, ilTemplate $a_main_tpl=null)
Init yui panel.
$action
$i
Definition: disco.tpl.php:19
if(!array_key_exists('StateId', $_REQUEST)) $id
$GLOBALS['loaded']
Global hash that tracks already loaded includes.
global $ilCtrl
Definition: ilias.php:18
xpath_eval($xpath_context, $eval_str, $contextnode=null)
xpath_new_context($dom_document)
$ret
Definition: parser.php:6
$type
global $DIC
Definition: saml.php:7
foreach($_POST as $key=> $value) $res
$text
Definition: errorreport.php:18
catch(Exception $e) if(isset( $_POST[ 'cancel'])) if(isset($_POST['continue'])) $cfg