4require_once(
"./Services/COPage/classes/class.ilPCParagraph.php");
 
   33        return array(
"ed_insert_code", 
"pc_code");
 
   47        $path = 
"//Paragraph"; 
 
   49        for (
$i = 0; 
$i < count(
$res->nodeset); 
$i++) {
 
   50            $context_node = 
$res->nodeset[
$i];
 
   51            $char = $context_node->get_attribute(
'Characteristic');
 
   53            if ($char != 
"Code") {
 
   57            $n = $context_node->parent_node();
 
   58            $char = $context_node->get_attribute(
'Characteristic');
 
   59            $subchar = $context_node->get_attribute(
'SubCharacteristic');
 
   60            $showlinenumbers = $context_node->get_attribute(
'ShowLineNumbers');
 
   61            $downloadtitle = $context_node->get_attribute(
'DownloadTitle');
 
   62            $autoindent = $context_node->get_attribute(
'AutoIndent');
 
   67            $childs = $context_node->child_nodes();
 
   69            for ($j=0; $j<count($childs); $j++) {
 
   70                $content .= 
$dom->dump_node($childs[$j]);
 
   73            while ($context_node->has_child_nodes()) {
 
   74                $node_del = $context_node->first_child();
 
   75                $context_node->remove_child($node_del);
 
   78            $content = str_replace(
"<br />", 
"<br/>", utf8_decode($content));
 
   79            $content = str_replace(
"<br/>", 
"\n", $content);
 
   80            $rownums = count(explode(
"\n", $content));
 
   84            $plain_content = $content;
 
   86            $plain_content = preg_replace_callback(
 
   87                "/\&#x([1-9a-f]{2});?/is",
 
   89                    return chr(base_convert($hit[1], 16, 10));
 
   93            $plain_content = preg_replace_callback(
 
  100            $content = utf8_encode($this->
highlightText($plain_content, $subchar, $autoindent));
 
  102            $content = str_replace(
"&lt;", 
"<", $content);
 
  103            $content = str_replace(
"&gt;", 
">", $content);
 
  106            $rows        = 
"<tr valign=\"top\">";
 
  111            if (strcmp($showlinenumbers, 
"y")==0) {
 
  112                $linenumbers = 
"<td nowrap=\"nowrap\" class=\"ilc_LineNumbers\" >";
 
  113                $linenumbers .= 
"<pre class=\"ilc_Code\">";
 
  115                for ($j=0; $j < $rownums; $j++) {
 
  116                    $indentno      = strlen($rownums) - strlen($j+1) + 2;
 
  117                    $rownumeration = ($j+1);
 
  118                    $linenumbers   .= 
"<span class=\"ilc_LineNumber\">$rownumeration</span>";
 
  119                    if ($j < $rownums-1) {
 
  120                        $linenumbers .= 
"\n";
 
  123                $linenumbers .= 
"</pre>";
 
  124                $linenumbers .= 
"</td>";
 
  127            $rows .= $linenumbers . 
"<td class=\"ilc_Sourcecode\"><pre class=\"ilc_Code\">" . $content . 
"</pre></td>";
 
  132            $newcontent = str_replace(
"\n", 
"<br/>", 
$rows);
 
  134            $newcontent = str_replace(
"<br/><br/>", 
"<br/> <br/>", $newcontent);
 
  136            $newcontent = str_replace(
"<br/><br/>", 
"<br/> <br/>", $newcontent);
 
  141            $newcontent = str_replace(
"{", 
"{", $newcontent);
 
  142            $newcontent = str_replace(
"}", 
"}", $newcontent);
 
  145            $a_output = str_replace(
"[[[[[Code;" . (
$i + 1) . 
"]]]]]", $newcontent, $a_output);
 
  147            if ($outputmode != 
"presentation" && is_object($this->
getPage()->getOfflineHandler())
 
  148                && trim($downloadtitle) != 
"") {
 
  150                $this->
getPage()->getOfflineHandler()->handleCodeParagraph($this->
getPage()->getId(), 
$i + 1, $downloadtitle, $plain_content);
 
  162        include_once(
"./Services/UIComponent/SyntaxHighlighter/classes/class.ilSyntaxHighlighter.php");
 
  166            $a_text = $highl->highlight($a_text);
 
  173        return file_exists(
"Services/COPage/syntax_highlight/php/HFile/HFile_" . $hfile_ext . 
".php");
 
An exception for terminatinating execution or to throw for unit testing.
static getLangVars()
Get lang vars needed for editing.
highlightText($a_text, $proglang, $autoindent="")
Highligths Text with given ProgLang.
init()
Init page content component.
modifyPageContentPostXsl($a_output, $outputmode="presentation")
Modify page content after xsl.
hasHighlighter($hfile_ext)
setType($a_type)
Set Type.
static isSupported($a_lang)
Is language supported?
static getInstance($a_lang)
Get instance.
static getNewLanguageId($a_old_lang_id)
Get new language id (for an old one)
xpath_eval($xpath_context, $eval_str, $contextnode=null)
xpath_new_context($dom_document)
foreach($_POST as $key=> $value) $res