コード例 #1
0
 /**
  * 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("&lt;", "<", $output);
     $output = str_replace("&gt;", ">", $output);
     $output = str_replace("&amp;", "&", $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>';
 }
コード例 #2
0
 /**
  * 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 = '&lt;div style="height:2px;"&gt;&lt;/div&gt;';
                 } 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 = '&amp;nbsp;';
             $h = '&amp;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 = '&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;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;
 }
コード例 #3
0
 /**
  * Set tabs
  */
 function setTabs()
 {
     global $ilCtrl, $ilTabs;
     parent::setTabs();
     $ilTabs->addTarget("cont_ed_edit_data", $ilCtrl->getLinkTarget($this, "editData"), "editData", get_class($this));
 }