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 
4 require_once("./Services/COPage/classes/class.ilPCDataTable.php");
5 require_once("./Services/COPage/classes/class.ilPCTableGUI.php");
6 require_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  {
73  $lng = $this->lng;
75  //var_dump($_GET);
76  //var_dump($_POST);
77 
78  $this->setTabs();
79 
80  $this->displayValidationError();
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 
92  ilYuiUtil::initPanel(false);
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  {
250  $lng = $this->lng;
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  {
291  $lng = $this->lng;
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  {
449  $lng = $this->lng;
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 {
549  $s_text = ilPCParagraph::xml2output(
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");
640  ilYuiUtil::initPanel(false);
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 }
static sendSuccess($a_info="", $a_keep=false)
Send Success Message to Screen.
__construct(&$a_pg_obj, &$a_content_obj, $a_hier_id, $a_pc_id="")
Constructor public.
Add rich text string
tableAction()
Perform operation on table (adding, moving, deleting rows/cols)
getCharacteristicsOfCurrentStyle($a_type)
Get characteristics of current style.
static getInitHTML($a_url)
Get initialisation HTML to use interna link editing.
updateJS()
Update via JavaScript.
executeCommand()
execute command
static xml2outputJS($s_text, $char, $a_pc_id)
Prepare content for js output.
$_SESSION["AccountId"]
xpath_new_context($dom_document)
$action
$type
global $DIC
Definition: saml.php:7
static getStyleSheetLocation($mode="output", $a_css_name="", $a_css_location="")
get full style sheet file name (path inclusive) of current user
static initConnection(ilTemplate $a_main_tpl=null)
Init YUI Connection module.
static handleAjaxContentPost($text)
Post input2xml handling of ajax content.
$GLOBALS['loaded']
Global hash that tracks already loaded includes.
xpath_eval($xpath_context, $eval_str, $contextnode=null)
if(!array_key_exists('StateId', $_REQUEST)) $id
update($a_redirect=true)
Update table data in dom and update page in db.
getHierId()
get hierarchical id in dom object
getPageConfig()
Get Page Config.
static xml2output($a_text, $a_wysiwyg=false, $a_replace_lists=true, $unmask=true)
Converts xml from DB to output in edit textarea.
global $ilCtrl
Definition: ilias.php:18
setCharacteristics($a_chars)
Set Characteristics.
getBBMenu($a_ta_name="par_content")
Get the bb menu incl.
foreach($_POST as $key=> $value) $res
afterCreation()
After creation processing.
static handleAjaxContent($a_content)
Handle ajax content.
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.
static getImagePath($img, $module_path="", $mode="output", $offline=false)
get image path (for images located in a template directory)
special template class to simplify handling of ITX/PEAR
$text
Definition: errorreport.php:18
static _doJSEditing()
checks if current user has activated js editing and if browser is js capable
displayValidationError()
display validation errors
getStyleId()
Get Style Id.
catch(Exception $e) if(isset($_POST['cancel'])) if(isset($_POST['continue'])) $cfg
static stripSlashes($a_str, $a_strip_html=true, $a_allow="")
strip slashes if magic qoutes is enabled
static getContentStylePath($a_style_id, $add_random=true)
get content style path
Class ilPCTableGUI.
editData()
Edit data of table.
$failed
Definition: Utf8Test.php:85
Create styles array
The data for the language used.
static sendFailure($a_info="", $a_keep=false)
Send Failure Message to Screen.
editDataCl()
Edit data of table.
static _input2xml($a_text, $a_lang, $a_wysiwyg=0, $a_handle_lists=true)
converts user input to xml
getNewTableObject()
Get new table object.
static initDragDrop()
Init YUI Drag and Drop.
$ret
Definition: parser.php:6
$i
Definition: disco.tpl.php:19
Class ilPCTableGUI.
static initPanel($a_resize=false, ilTemplate $a_main_tpl=null)
Init yui panel.
$_POST["username"]
setHierId($a_hier_id)
get hierarchical id in dom object
Class ilPCDataTable.