24 require_once(
"./Modules/LearningModule/classes/class.ilLMObjectFactory.php");
 
   43                 $this->lng->loadLanguageModule(
"content");
 
   62                         case "movecopytreenode" : {
 
   76                 $source_obj->setLMId($tempobj->getId());
 
   78                 $target_obj->setLMId($tempobj->getId());
 
   83                 $this->tpl = 
new ilTemplate(
"tpl.wysiwyg_popup_movecopyquestion.html",
false,
true,
"Services/COPage");
 
   86                 if ($source_obj->getType() == 
"st" && $target_obj->getType() == 
"pg") {
 
   87                         $this->tpl->setVariable(
"TXT_ST_ON_PG",$this->lng->txt(
"cont_st_on_pg"));
 
   88                         $this->tpl->setVariable(
"BTN_CLOSE2", $this->lng->txt(
"close"));
 
   91                         if (($source_obj->getType() == 
"pg" && $target_obj->getType() == 
"pg") || ($source_obj->getType() == 
"st" && $target_obj->getType() == 
"st")) {
 
   92                                 $this->tpl->setVariable(
"TXT_SET_AFTER", $this->lng->txt(
"cont_set_after"));
 
   93                                 $this->tpl->setVariable(
"TXT_SET_BEFORE", $this->lng->txt(
"cont_set_before"));
 
   95                         if ($source_obj->getType() == 
"st" && $target_obj->getType() == 
"st") {
 
   96                                 $this->tpl->setVariable(
"TXT_SET_INTO", $this->lng->txt(
"cont_set_into"));
 
   99                         $this->tpl->setVariable(
"TXT_MOVE_OBJECT", $this->lng->txt(
"cont_move_object"));
 
  100                         $this->tpl->setVariable(
"TXT_COPY_OBJECT", $this->lng->txt(
"cont_copy_object"));
 
  102                         $this->tpl->setVariable(
"BTN_SUBMIT", $this->lng->txt(
"save"));
 
  103                         $this->tpl->setVariable(
"BTN_CLOSE", $this->lng->txt(
"close"));
 
  109                 $this->tpl = 
new ilTemplate(
"tpl.wysiwyg_popup_xtl.html",
false,
false,
"Services/COPage");
 
  113                 $this->tpl->setVariable(
"TXT_EXTERNAL_URL", $this->lng->txt(
"cont_external_url"));
 
  114                 $this->tpl->setVariable(
"TXT_TITLE", $this->lng->txt(
"cont_title"));
 
  115                 $this->tpl->setVariable(
"BTN_SUBMIT", $this->lng->txt(
"save"));
 
  116                 $this->tpl->setVariable(
"BTN_DELETE", $this->lng->txt(
"delete"));
 
  117                 $this->tpl->setVariable(
"BTN_CLOSE", $this->lng->txt(
"close"));
 
  119                 $this->tpl->setVariable(
"TXT_OR", $this->lng->txt(
"cont_or"));
 
  120                 $this->tpl->setVariable(
"TXT_EXAMPLE", $this->lng->txt(
"cont_e_g_example"));
 
  122                 $this->tpl->setVariable(
"DELETE_QUESTION", $this->lng->txt(
"cont_confirm_delete"));
 
  127                 $this->tpl = 
new ilTemplate(
"tpl.wysiwyg_popup_itl.html",
false,
false,
"Services/COPage");
 
  135                 $this->tpl = 
new ilTemplate(
"tpl.wysiwyg_popup_footnote.html",
false,
false,
"Services/COPage");
 
  137                 $this->tpl->setVariable(
"LOCATION_CONTENT_STYLESHEET_HTMLAREA", ILIAS_HTTP_PATH.
"/Services/COPage/css/content.css" );
 
  138                 $this->tpl->setVariable(
"REF_ID", 
$_GET[
"ref_id"]);
 
  139                 $ilCtrl->setParameterByClass(
"ilpcparagraphgui", 
"ptype", 
"footnote");
 
  140                 $this->tpl->setVariable(
"FOOTNOTE_TARGET",
 
  141                         $ilCtrl->getLinkTargetByClass(
"ilpcparagraphgui", 
"popup"));
 
  144                 $this->tpl->setVariable(
"TXT_FOOTNOTES", $this->lng->txt(
"cont_title_footnotes"));
 
  145                 $this->tpl->setVariable(
"TXT_INSERT_NEW_FOOTNOTES", $this->lng->txt(
"cont_insert_new_footnote"));
 
  146                 $this->tpl->setVariable(
"BTN_SUBMIT", $this->lng->txt(
"save"));
 
  147                 $this->tpl->setVariable(
"BTN_CANCEL", $this->lng->txt(
"cancel"));
 
  149                 $this->tpl->setVariable(
"DELETE_QUESTION", $this->lng->txt(
"cont_confirm_delete"));
 
  150                 $this->tpl->setVariable(
"BTN_DELETE", $this->lng->txt(
"delete"));
 
  169                 $content = str_replace(
" ",
" ",$content);
 
  172                 $content = str_replace(
" </span>",
"</span> ",$content);
 
  173                 $content = str_replace(
"<span class=\"ilc_Strong\"></span>",
"",$content);
 
  174                 $content = str_replace(
"<span class=\"ilc_Emph\"></span>",
"",$content);
 
  175                 $content = str_replace(
"<span class=\"ilc_Quotation\"></span>",
"",$content);
 
  176                 $content = str_replace(
"<span class=\"ilc_Comment\"></span>",
"",$content);
 
  178                 $content = rawurlencode($content);
 
  179                 $content = str_replace(
"%3Cspan%20class%3D%22ilc_Strong%22%3E%20%3C%2Fspan%3E",
"%20",$content);
 
  180                 $content = str_replace(
"%3Cspan%20class%3D%22ilc_Emph%22%3E%20%3C%2Fspan%3E",
"%20",$content);
 
  181                 $content = str_replace(
"%3Cspan%20class%3D%22ilc_Quotation%22%3E%20%3C%2Fspan%3E",
"%20",$content);
 
  182                 $content = str_replace(
"%3Cspan%20class%3D%22ilc_Comment%22%3E%20%3C%2Fspan%3E",
"%20",$content);
 
  183                 $content = rawurldecode($content);
 
  190                 $content = str_replace(
"&",
"&",$content);
 
  192                 for($k=0;$k<2;$k++) {
 
  193                         $xml_parser = xml_parser_create(
"UTF-8");
 
  194                         xml_parser_set_option($xml_parser, XML_OPTION_CASE_FOLDING, 
false);
 
  195                         xml_set_object($xml_parser,$this);
 
  196                         xml_set_element_handler($xml_parser, 
"startElement", 
"endElement");
 
  197                         xml_set_character_data_handler($xml_parser, 
"characterData");
 
  199                         $xml_data = 
"<xml>".$content.
"</xml>";
 
  202                         $this->
struct = array();
 
  205                         if (!xml_parse($xml_parser, $xml_data)) 
 
  207                                 die(sprintf(
"XML error: %s at line %d", xml_error_string(xml_get_error_code($xml_parser)),xml_get_current_line_number($xml_parser)));
 
  209                         xml_parser_free($xml_parser);
 
  211                         $this->newXml = str_replace(
"<xml>",
"",$this->newXml);
 
  212                         $this->newXml = str_replace(
"</xml>",
"",$this->newXml);
 
  222                 $this->newXml = str_replace(
"[com][/com]",
"",$this->newXml);
 
  223                 $this->newXml = str_replace(
"[emp][/emp]",
"",$this->newXml);
 
  224                 $this->newXml = str_replace(
"[str][/str]",
"",$this->newXml);
 
  225                 $this->newXml = str_replace(
"[code][/code]",
"",$this->newXml);
 
  226                 $this->newXml = str_replace(
"[quot][/quot]",
"",$this->newXml);
 
  228                 $this->newXml = str_replace(
"</p><p>",
"\n",$this->newXml);
 
  229                 $this->newXml = str_replace(
"<p>",
"",$this->newXml);
 
  230                 $this->newXml = str_replace(
"</p>",
"",$this->newXml);
 
  232                 $this->newXml = str_replace(
"<p class=\"MsoNormal\">",
"\n",$this->newXml);
 
  233                 $this->newXml = str_replace(
"<p class=\"MsoNormal\" style=\"MARGIN: 0cm 0cm 0pt\">",
"\n",$this->newXml);
 
  236                 $this->newXml = str_replace(
"<Strong/>",
"",$this->newXml);
 
  237                 $this->newXml = str_replace(
"<Emph/>",
"",$this->newXml);
 
  239                 $this->newXml = str_replace(
"<span>",
"",$this->newXml);
 
  240                 $this->newXml = str_replace(
"</span>",
"",$this->newXml);
 
  244         return($this->newXml);
 
  253         $new = array(
"name" => $name,
 
  259         $new[
"convert"] = 
"<".$name;                
 
  260         if (is_array($attrs)) 
 
  263             while (list ($key, $val) = each ($attrs)) 
 
  265                 $new[
"convert"] .= 
" ".$key.
"=\"".$val.
"\"";
 
  268         $new[
"convert"] .= 
">";
 
  269         $new[
"convert2"] = 
"</".$name.
">";
 
  272                 if ($attrs[
"style"] == 
"font-style: italic;" || $name == 
"em") 
 
  274             $new[
"convert"] = 
"[emp]";
 
  275             $new[
"convert2"] = 
"[/emp]";
 
  277                 if ($attrs[
"style"] == 
"font-weight: bold;" || $name == 
"strong") 
 
  279             $new[
"convert"] = 
"[str]";
 
  280             $new[
"convert2"] = 
"[/str]";
 
  284                 if ($attrs[
"class"] == 
"ilc_ExtLink") 
 
  286                         $new[
"convert"] = 
"[xln url=\"".str_replace(
"&",
"&",$attrs[url]).
"\"]";
 
  287             $new[
"convert2"] = 
"[/xln]";
 
  290                 if ($attrs[
"class"] == 
"ilc_IntLink") 
 
  294                         while (list ($key, $val) = each ($attrs)) 
 
  298                                         $N .= 
" ".$key.
"=\"".$val.
"\"";
 
  301                         $new[
"convert"] = 
"[iln".$N.
"]";
 
  302             $new[
"convert2"] = 
"[/iln]";
 
  305         if ($attrs[
"class"] == 
"ilc_Strong") 
 
  307             $new[
"convert"] = 
"[str]";
 
  308             $new[
"convert2"] = 
"[/str]";
 
  310         if ($attrs[
"class"] == 
"ilc_Comment") 
 
  312             $new[
"convert"] = 
"[com]";
 
  313             $new[
"convert2"] = 
"[/com]";
 
  315         if ($attrs[
"class"] == 
"ilc_Emph") 
 
  317             $new[
"convert"] = 
"[emp]";
 
  318             $new[
"convert2"] = 
"[/emp]";
 
  321         if ($attrs[
"class"] == 
"ilc_Quotation") 
 
  323             $new[
"convert"] = 
"[quot]";
 
  324             $new[
"convert2"] = 
"[/quot]";
 
  327                 if ($attrs[
"class"] == 
"footnote") 
 
  331                         $fn1 = explode(
"|**#",stripslashes(
$_POST[
"footnotelist"]));
 
  332                         for ($i=0;$i<count($fn1);$i++) 
 
  335                                 $fn2 = explode(
"|*#",$fn1[$i]);
 
  339                                 if($fn2[0] == $attrs[
"value"]) 
 
  341                                         $new[
"convert"] = 
"[fn]".$fn2[1];
 
  342                                         $new[
"convert2"] = 
"[/fn]";
 
  351         if ($name == 
"code") {
 
  352             $new[
"convert"] = 
"[code]";
 
  353             $new[
"convert2"] = 
"[/code]";
 
  363             $this->newXml .= $new[
convert];
 
  367             $this->newXml .= 
"\n";
 
  378                 if (!stristr( $this->
struct[$this->depth-1][
"convert"], 
"[fn]" )) 
 
  380                         $this->newXml .= 
$data;
 
  392             $this->newXml .= $this->
struct[
$this->depth][
"convert2"];