Public Member Functions | |
ilPCTableGUI (&$a_pg_obj, &$a_content_obj, $a_hier_id) | |
Constructor public. | |
& | executeCommand () |
execute command | |
edit () | |
edit properties form | |
setWidth () | |
set width of selected table data cells | |
setClass () | |
set class of selected table data cells | |
setProperties () | |
saveProperties () | |
save table properties in db and return to page edit screen | |
rightAlign () | |
align table to right | |
leftAlign () | |
align table to left | |
centerAlign () | |
align table to left | |
leftFloatAlign () | |
align table to left float | |
rightFloatAlign () | |
align table to left | |
insert () | |
insert new table form | |
create () | |
create new table in dom and update page in db | |
setTabs () | |
output tabs | |
getTabs (&$tabs_gui) | |
adds tabs to tab gui object |
Definition at line 37 of file class.ilPCTableGUI.php.
ilPCTableGUI::centerAlign | ( | ) |
align table to left
Definition at line 266 of file class.ilPCTableGUI.php.
References $_SESSION.
{ $this->content_obj->setHorizontalAlign("Center"); $_SESSION["il_pg_error"] = $this->pg_obj->update(); $this->ctrl->returnToParent($this, "jump".$this->hier_id); }
ilPCTableGUI::create | ( | ) |
create new table in dom and update page in db
Definition at line 360 of file class.ilPCTableGUI.php.
References $_POST, ilPageContentGUI::$lng, and insert().
{ global $lng; $this->content_obj = new ilPCTable($this->dom); $this->content_obj->create($this->pg_obj, $this->hier_id); $this->content_obj->setLanguage($_POST["tab_language"]); $import_table = trim($_POST["import_table"]); // import xhtml or spreadsheet table if (!empty ($import_table)) { switch($_POST["import_type"]) { // xhtml import case "html": if (!$this->content_obj->importHtml ($_POST["tab_language"], $import_table)) { $this->insert(); return; } break; // spreadsheet case "spreadsheet": $this->content_obj->importSpreadsheet($_POST["tab_language"], $import_table); break; } } else { $this->content_obj->addRows($_POST["nr_rows"], $_POST["nr_cols"]); } $this->updated = $this->pg_obj->update(); if ($this->updated === true) { $this->ctrl->returnToParent($this, "jump".$this->hier_id); } else { $this->insert(); } }
ilPCTableGUI::edit | ( | ) |
edit properties form
Definition at line 74 of file class.ilPCTableGUI.php.
References $lang, $output, ilPageContentGUI::displayValidationError(), formSelect(), ilUtil::getImagePath(), ilMetaData::getLanguages(), setTabs(), xslt_create(), xslt_error(), xslt_free(), and xslt_process().
Referenced by saveProperties(), setClass(), and setWidth().
{ $this->setTabs(); // add paragraph edit template $this->tpl->addBlockFile("ADM_CONTENT", "adm_content", "tpl.table_properties.html", "content"); $this->tpl->setVariable("TXT_ACTION", $this->lng->txt("cont_edit_tab_properties")); $this->tpl->setVariable("FORMACTION", $this->ctrl->getFormAction($this)); $this->displayValidationError(); // table $this->tpl->setVariable("TXT_TABLE", $this->lng->txt("cont_table")); $this->tpl->setVariable("INPUT_TD_WIDTH", "td_width"); $this->tpl->setVariable("BTN_WIDTH", "setWidth"); $this->tpl->setVariable("BTN_TXT_WIDTH", $this->lng->txt("cont_set_width")); // todo: we need a css concept here! $select_class = ilUtil::formSelect ("","td_class", array("" => $this->lng->txt("none"), "ilc_Cell1" => "Cell1", "ilc_Cell2" => "Cell2", "ilc_Cell3" => "Cell3", "ilc_Cell4" => "Cell4"),false,true); $this->tpl->setVariable("SELECT_CLASS", $select_class); $this->tpl->setVariable("BTN_CLASS", "setClass"); $this->tpl->setVariable("BTN_TXT_CLASS", $this->lng->txt("cont_set_class")); $tab_node = $this->content_obj->getNode(); $content = $this->dom->dump_node($tab_node); //$dom2 =& domxml_open_mem($this->xml); $trans =& $this->pg_obj->getLanguageVariablesXML(); $content = "<dummy>".$content.$trans."</dummy>"; $xsl = file_get_contents("./content/page.xsl"); $args = array( '/_xml' => $content, '/_xsl' => $xsl ); $xh = xslt_create(); //echo "<b>XML</b>:".htmlentities($content).":<br>"; //echo "<b>XSLT</b>:".htmlentities($xsl).":<br>"; $med_disabled_path = ilUtil::getImagePath("media_disabled.gif"); $params = array ('mode' => 'table_edit', 'med_disabled_path' => $med_disabled_path); $output = xslt_process($xh,"arg:/_xml","arg:/_xsl",NULL,$args, $params); echo xslt_error($xh); xslt_free($xh); // unmask user html $output = str_replace("<","<",$output); $output = str_replace(">",">",$output); $output = str_replace("&","&",$output); //echo "<b>HTML</b>".htmlentities($output); $this->tpl->setVariable("CONT_TABLE", $output); // language $this->tpl->setVariable("TXT_LANGUAGE", $this->lng->txt("language")); $lang = ilMetaData::getLanguages(); $select_lang = ilUtil::formSelect ($this->content_obj->getLanguage(),"tab_language",$lang,false,true); $this->tpl->setVariable("SELECT_LANGUAGE", $select_lang); // width $this->tpl->setVariable("TXT_TABLE_WIDTH", $this->lng->txt("cont_table_width")); $this->tpl->setVariable("INPUT_TABLE_WIDTH", "tab_width"); $this->tpl->setVariable("VAL_TABLE_WIDTH", $this->content_obj->getWidth()); // border $this->tpl->setVariable("TXT_TABLE_BORDER", $this->lng->txt("cont_table_border")); $this->tpl->setVariable("INPUT_TABLE_BORDER", "tab_border"); $this->tpl->setVariable("VAL_TABLE_BORDER", $this->content_obj->getBorder()); // padding $this->tpl->setVariable("TXT_TABLE_PADDING", $this->lng->txt("cont_table_cellpadding")); $this->tpl->setVariable("INPUT_TABLE_PADDING", "tab_padding"); $this->tpl->setVariable("VAL_TABLE_PADDING", $this->content_obj->getCellPadding()); // spacing $this->tpl->setVariable("TXT_TABLE_SPACING", $this->lng->txt("cont_table_cellspacing")); $this->tpl->setVariable("INPUT_TABLE_SPACING", "tab_spacing"); $this->tpl->setVariable("VAL_TABLE_SPACING", $this->content_obj->getCellSpacing()); // caption $caption = $this->content_obj->getCaption(); $caption = str_replace("&", "&", $caption); $this->tpl->setVariable("TXT_CAPTION", $this->lng->txt("cont_caption")); $this->tpl->setVariable("INPUT_CAPTION", "tab_caption"); $this->tpl->setVariable("VAL_CAPTION", $caption); $select_align = ilUtil::formSelect ($this->content_obj->getCaptionAlign(),"tab_cap_align", array("top" => $this->lng->txt("cont_top"), "bottom" => $this->lng->txt("cont_bottom")),false,true); $this->tpl->setVariable("SELECT_CAPTION", $select_align); $this->tpl->parseCurrentBlock(); // operations $this->tpl->setCurrentBlock("commands"); $this->tpl->setVariable("BTN_NAME", "saveProperties"); $this->tpl->setVariable("BTN_TEXT", $this->lng->txt("save")); $this->tpl->setVariable("BTN_CANCEL", "cancelUpdate"); $this->tpl->setVariable("TXT_CANCEL", $this->lng->txt("cancel")); $this->tpl->parseCurrentBlock(); }
& ilPCTableGUI::executeCommand | ( | ) |
ilPCTableGUI::getTabs | ( | &$ | tabs_gui | ) |
adds tabs to tab gui object
object | $tabs_gui ilTabsGUI object |
Definition at line 424 of file class.ilPCTableGUI.php.
Referenced by setTabs().
{ // back to upper context /* $tabs_gui->addTarget("cont_back", $this->ctrl->getParentReturn($this), "", ""); */ }
ilPCTableGUI::ilPCTableGUI | ( | &$ | a_pg_obj, | |
&$ | a_content_obj, | |||
$ | a_hier_id | |||
) |
Constructor public.
Definition at line 44 of file class.ilPCTableGUI.php.
References ilPageContentGUI::ilPageContentGUI().
{ parent::ilPageContentGUI($a_pg_obj, $a_content_obj, $a_hier_id); }
ilPCTableGUI::insert | ( | ) |
insert new table form
Definition at line 296 of file class.ilPCTableGUI.php.
References $_GET, $_SESSION, $lang, ilPageContentGUI::displayValidationError(), formSelect(), ilMetaData::getLanguages(), and setTabs().
Referenced by create().
{ global $ilUser; $this->setTabs(); // new table form (input of rows and columns) $this->tpl->addBlockFile("ADM_CONTENT", "adm_content", "tpl.table_new.html", "content"); $this->tpl->setVariable("TXT_ACTION", $this->lng->txt("cont_insert_table")); $this->tpl->setVariable("FORMACTION", $this->ctrl->getFormAction($this)); $this->displayValidationError(); for($i=1; $i<=10; $i++) { $nr[$i] = $i; } if ($_SESSION["il_text_lang_".$_GET["ref_id"]] != "") { $s_lang = $_SESSION["il_text_lang_".$_GET["ref_id"]]; } else { $s_lang = $ilUser->getLanguage(); } // select fields for number of columns $this->tpl->setVariable("TXT_LANGUAGE", $this->lng->txt("language")); $lang = ilMetaData::getLanguages(); $select_language = ilUtil::formSelect ($s_lang, "tab_language", $lang, false, true); $this->tpl->setVariable("SELECT_LANGUAGE", $select_language); $this->tpl->setVariable("TXT_COLS", $this->lng->txt("cont_nr_cols")); $select_cols = ilUtil::formSelect ("2","nr_cols",$nr,false,true); $this->tpl->setVariable("SELECT_COLS", $select_cols); $this->tpl->setVariable("TXT_ROWS", $this->lng->txt("cont_nr_rows")); $select_rows = ilUtil::formSelect ("2","nr_rows",$nr,false,true); $this->tpl->setVariable("SELECT_ROWS", $select_rows); //import html table $this->tpl->setVariable("TXT_HTML_IMPORT", $this->lng->txt("cont_table_html_import")); $this->tpl->setVariable("TXT_SPREADSHEET", $this->lng->txt("cont_table_spreadsheet_import")); $this->tpl->setVariable("TXT_BTN_HTML_IMPORT", $this->lng->txt("import")); $this->tpl->setVariable("TXT_HTML_IMPORT_INFO", $this->lng->txt("cont_table_html_import_info")); $this->tpl->setVariable("TXT_SPREADSHEET_IMPORT_INFO", $this->lng->txt("cont_table_spreadsheet_import_info")); $this->tpl->setVariable("CMD_HTML_IMPORT", "create_tab"); $this->tpl->setVariable("SELECT_ROWS", $select_rows); $this->tpl->parseCurrentBlock(); // operations $this->tpl->setCurrentBlock("commands"); $this->tpl->setVariable("BTN_NAME", "create_tab"); $this->tpl->setVariable("BTN_TEXT", $this->lng->txt("save")); $this->tpl->setVariable("BTN_CANCEL", "cancelCreate"); $this->tpl->setVariable("TXT_CANCEL", $this->lng->txt("cancel")); $this->tpl->parseCurrentBlock(); }
ilPCTableGUI::leftAlign | ( | ) |
align table to left
Definition at line 256 of file class.ilPCTableGUI.php.
References $_SESSION.
{ $this->content_obj->setHorizontalAlign("Left"); $_SESSION["il_pg_error"] = $this->pg_obj->update(); $this->ctrl->returnToParent($this, "jump".$this->hier_id); }
ilPCTableGUI::leftFloatAlign | ( | ) |
align table to left float
Definition at line 276 of file class.ilPCTableGUI.php.
References $_SESSION.
{ $this->content_obj->setHorizontalAlign("LeftFloat"); $_SESSION["il_pg_error"] = $this->pg_obj->update(); $this->ctrl->returnToParent($this, "jump".$this->hier_id); }
ilPCTableGUI::rightAlign | ( | ) |
align table to right
Definition at line 246 of file class.ilPCTableGUI.php.
References $_SESSION.
{ $this->content_obj->setHorizontalAlign("Right"); $_SESSION["il_pg_error"] = $this->pg_obj->update(); $this->ctrl->returnToParent($this, "jump".$this->hier_id); }
ilPCTableGUI::rightFloatAlign | ( | ) |
align table to left
Definition at line 286 of file class.ilPCTableGUI.php.
References $_SESSION.
{ $this->content_obj->setHorizontalAlign("RightFloat"); $_SESSION["il_pg_error"] = $this->pg_obj->update(); $this->ctrl->returnToParent($this, "jump".$this->hier_id); }
ilPCTableGUI::saveProperties | ( | ) |
save table properties in db and return to page edit screen
Definition at line 228 of file class.ilPCTableGUI.php.
References edit(), and setProperties().
{ $this->setProperties(); $this->updated = $this->pg_obj->update(); if ($this->updated === true) { $this->ctrl->returnToParent($this, "jump".$this->hier_id); } else { $this->pg_obj->addHierIDs(); $this->edit(); } }
ilPCTableGUI::setClass | ( | ) |
set class of selected table data cells
Definition at line 193 of file class.ilPCTableGUI.php.
References $_POST, ilPageContentGUI::$hier_id, edit(), and setProperties().
{ if (is_array($_POST["target"])) { foreach ($_POST["target"] as $hier_id) { $this->content_obj->setTDClass($hier_id, $_POST["td_class"]); } } $this->setProperties(); $this->updated = $this->pg_obj->update(); $this->pg_obj->addHierIDs(); $this->edit(); }
ilPCTableGUI::setProperties | ( | ) |
Definition at line 209 of file class.ilPCTableGUI.php.
References $_POST.
Referenced by saveProperties(), setClass(), and setWidth().
{ // mask html $caption = $_POST["tab_caption"]; $caption = str_replace("&","&", $caption); $caption = str_replace("<","<", $caption); $caption = str_replace(">",">", $caption); $this->content_obj->setLanguage($_POST["tab_language"]); $this->content_obj->setWidth($_POST["tab_width"]); $this->content_obj->setBorder($_POST["tab_border"]); $this->content_obj->setCellSpacing($_POST["tab_spacing"]); $this->content_obj->setCellPadding($_POST["tab_padding"]); $this->content_obj->setCaption($caption, $_POST["tab_cap_align"]); }
ilPCTableGUI::setTabs | ( | ) |
output tabs
Definition at line 408 of file class.ilPCTableGUI.php.
References getTabs().
Referenced by edit(), and insert().
{ global $ilTabs; // catch feedback message #include_once("classes/class.ilTabsGUI.php"); #$tabs_gui =& new ilTabsGUI(); $this->getTabs($ilTabs); #$this->tpl->setVariable("TABS", $tabs_gui->getHTML()); }
ilPCTableGUI::setWidth | ( | ) |
set width of selected table data cells
Definition at line 175 of file class.ilPCTableGUI.php.
References $_POST, ilPageContentGUI::$hier_id, edit(), and setProperties().
{ if (is_array($_POST["target"])) { foreach ($_POST["target"] as $hier_id) { $this->content_obj->setTDWidth($hier_id, $_POST["td_width"]); } } $this->setProperties(); $this->updated = $this->pg_obj->update(); $this->pg_obj->addHierIDs(); $this->edit(); }