/** * Static render table function */ static function _renderTable($content, $a_mode = "table_edit", $a_submode = "", $a_table_obj = null) { global $ilUser; $content = "<dummy>" . $content . "</dummy>"; $xsl = file_get_contents("./Services/COPage/xsl/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.png"); $wb_path = ilUtil::getWebspaceDir("output"); $enlarge_path = ilUtil::getImagePath("enlarge.png"); $params = array('mode' => $a_mode, 'med_disabled_path' => $med_disabled_path, 'media_mode' => $ilUser->getPref("ilPageEditor_MediaMode"), 'media_mode' => 'disable', 'webspace_path' => $wb_path, 'enlarge_path' => $enlarge_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); if ($a_mode == "table_edit" && !is_null($a_table_obj)) { switch ($a_submode) { case "style": $output = ilPCTableGUI::_addStyleCheckboxes($output, $a_table_obj); break; case "alignment": $output = ilPCTableGUI::_addAlignmentCheckboxes($output, $a_table_obj); break; case "width": $output = ilPCTableGUI::_addWidthInputs($output, $a_table_obj); break; case "span": $output = ilPCTableGUI::_addSpanInputs($output, $a_table_obj); break; } } return '<div style="float:left;">' . $output . '</div>'; }
/** * Get table template preview */ function _getTemplatePreview($a_style, $a_type, $a_t_id, $a_small_mode = false) { global $lng, $tpl; $kr = $kc = 7; if ($a_small_mode) { $kr = 6; $kc = 5; } $ts = $a_style->getTemplate($a_t_id); $t = $ts["classes"]; // preview if ($a_type == "table") { $p_content = '<PageContent><Table DataTable="y"'; if ($t["row_head"] != "") { $p_content .= ' HeaderRows="1"'; } if ($t["row_foot"] != "") { $p_content .= ' FooterRows="1"'; } if ($t["col_head"] != "") { $p_content .= ' HeaderCols="1"'; } if ($t["col_foot"] != "") { $p_content .= ' FooterCols="1"'; } $p_content .= ' Template="' . $a_style->lookupTemplateName($a_t_id) . '">'; if (!$a_small_mode) { $p_content .= '<Caption>' . $lng->txt("sty_caption") . '</Caption>'; } for ($i = 1; $i <= $kr; $i++) { $p_content .= '<TableRow>'; for ($j = 1; $j <= $kc; $j++) { if ($a_small_mode) { $cell = '<div style="height:2px;"></div>'; } else { $cell = 'xxx'; } $p_content .= '<TableData><PageContent><Paragraph Characteristic="TableContent">' . $cell . '</Paragraph></PageContent></TableData>'; } $p_content .= '</TableRow>'; } $p_content .= '</Table></PageContent>'; } if ($a_type == "vaccordion" || $a_type == "haccordion") { include_once "./Services/Accordion/classes/class.ilAccordionGUI.php"; ilAccordionGUI::addCss(); if ($a_small_mode) { $c = '&nbsp;'; $h = '&nbsp;'; } else { $c = 'xxx'; $h = 'head'; } if ($a_type == "vaccordion") { $p_content = '<PageContent><Tabs HorizontalAlign="Left" Type="VerticalAccordion" '; if ($a_small_mode) { $p_content .= ' ContentWidth="70"'; } } else { $p_content = '<PageContent><Tabs Type="HorizontalAccordion"'; if ($a_small_mode) { $p_content .= ' ContentHeight="40"'; $p_content .= ' ContentWidth="70"'; $c = '&nbsp;&nbsp;&nbsp;&nbsp;'; } else { $p_content .= ' ContentHeight="40"'; } } $p_content .= ' Template="' . $a_style->lookupTemplateName($a_t_id) . '">'; $p_content .= '<Tab><PageContent><Paragraph>' . $c . '</Paragraph></PageContent>'; $p_content .= '<TabCaption>' . $h . '</TabCaption>'; $p_content .= '</Tab>'; $p_content .= '</Tabs></PageContent>'; } //echo htmlentities($p_content); $txml = $a_style->getTemplateXML(); //echo htmlentities($txml); $p_content .= $txml; include_once "./Services/COPage/classes/class.ilPCTableGUI.php"; $r_content = ilPCTableGUI::_renderTable($p_content, ""); return $r_content; }
/** * Set tabs */ function setTabs() { global $ilCtrl, $ilTabs; parent::setTabs(); $ilTabs->addTarget("cont_ed_edit_data", $ilCtrl->getLinkTarget($this, "editData"), "editData", get_class($this)); }