• Main Page
  • Related Pages
  • Modules
  • Namespaces
  • Data Structures
  • Files
  • File List
  • Globals

Services/RTE/classes/class.ilTinyMCE.php

Go to the documentation of this file.
00001 <?php
00002  /*
00003    +----------------------------------------------------------------------------+
00004    | ILIAS open source                                                          |
00005    +----------------------------------------------------------------------------+
00006    | Copyright (c) 1998-2006 ILIAS open source, University of Cologne           |
00007    |                                                                            |
00008    | This program is free software; you can redistribute it and/or              |
00009    | modify it under the terms of the GNU General Public License                |
00010    | as published by the Free Software Foundation; either version 2             |
00011    | of the License, or (at your option) any later version.                     |
00012    |                                                                            |
00013    | This program is distributed in the hope that it will be useful,            |
00014    | but WITHOUT ANY WARRANTY; without even the implied warranty of             |
00015    | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the              |
00016    | GNU General Public License for more details.                               |
00017    |                                                                            |
00018    | You should have received a copy of the GNU General Public License          |
00019    | along with this program; if not, write to the Free Software                |
00020    | Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. |
00021    +----------------------------------------------------------------------------+
00022 */
00023 
00024 include_once "./Services/RTE/classes/class.ilRTE.php";
00025 
00035 class ilTinyMCE extends ilRTE
00036 {
00037         function ilTinyMCE()
00038         {
00039                 parent::ilRTE();
00040                 $this->plugins = array(
00041                         "ibrowser",
00042                         "xhtmlxtras",
00043                         "style",
00044                         "layer",
00045                         "table",
00046                         "save",
00047                         "advhr",
00048                         "advlink",
00049                         "emotions",
00050                         "iespell",
00051                         "insertdatetime",
00052                         "preview",
00053                         "flash",
00054                         "searchreplace",
00055                         "print",
00056                         "contextmenu",
00057                         "paste",
00058                         "directionality",
00059                         "fullscreen",
00060                         "noneditable"
00061                 );
00062         }
00063         
00072         /* moved to ilUtil::getNewContentStyleSheetLocation()
00073         function getContentCSS()
00074         {
00075                 global $ilias;
00076 
00077                 if(defined("ILIAS_MODULE"))
00078                 {
00079                         $dir = ".";
00080                 }
00081                 else
00082                 {
00083                         $dir = "";
00084                 }
00085                 $in_style = "./templates/".$ilias->account->skin."/".$ilias->account->prefs["style"]."_cont.css";
00086                 //$in_skin = "./templates/".$ilias->account->skin."/tiny.css";
00087                 $default = "./templates/default/delos_cont.css";
00088                 if(@is_file($in_style))
00089                 {
00090                         return $dir.$in_style;
00091                 }
00092                 else
00093                 {
00094                         if (@is_file($in_skin))
00095                         {
00096                                 return $dir.$in_skin;
00097                         }
00098                         else
00099                         {
00100                                 return $dir.$default;
00101                         }
00102                 }
00103         }*/
00104 
00113         function addRTESupport($obj_id, $obj_type, $a_module = "")
00114         {
00115                 include_once "./classes/class.ilTemplate.php";
00116                 $tpl = new ilTemplate("tpl.tinymce.html", true, true, "Services/RTE");
00117                 include_once "./classes/class.ilObjAdvancedEditing.php";
00118                 $tags =& ilObjAdvancedEditing::_getUsedHTMLTags($a_module);
00119                 $tpl->setCurrentBlock("tinymce");
00120                 $tpl->setVariable("JAVASCRIPT_LOCATION", "./Services/RTE/tiny_mce/tiny_mce.js");
00121                 include_once "./classes/class.ilObject.php";
00122                 $tpl->setVariable("OBJ_ID", $obj_id);
00123                 $tpl->setVariable("OBJ_TYPE", $obj_type);
00124                 $tpl->setVariable("CLIENT_ID", CLIENT_ID);
00125                 $tpl->setVariable("SESSION_ID", $_COOKIE["PHPSESSID"]);
00126                 $tpl->setVariable("BLOCKFORMATS", $this->_buildAdvancedBlockformatsFromHTMLTags($tags));
00127                 $tpl->setVariable("VALID_ELEMENTS", $this->_getValidElementsFromHTMLTags($tags));
00128                 $more_buttons = "";
00129                 if (count($this->buttons) > 0)
00130                 {
00131                         $more_buttons = ",separator," . join(",", $this->buttons);
00132                 }
00133                 $tpl->setVariable("BUTTONS", $this->_buildAdvancedButtonsFromHTMLTags($tags) . $more_buttons);
00134                 $tpl->setVariable("TABLE_BUTTONS", $this->_buildAdvancedTableButtonsFromHTMLTags($tags));
00135                 $tpl->setVariable("ADDITIONAL_PLUGINS", join(",", $this->plugins));
00136                 include_once "./classes/class.ilUtil.php";
00137                 //$tpl->setVariable("STYLESHEET_LOCATION", $this->getContentCSS());
00138                 $tpl->setVariable("STYLESHEET_LOCATION", ilUtil::getNewContentStyleSheetLocation());
00139                 $tpl->setVariable("LANG", $this->_getEditorLanguage());
00140                 $tpl->parseCurrentBlock();
00141                 $this->tpl->setVariable("CONTENT_BLOCK", $tpl->get());
00142         }
00143 
00144         function _buildAdvancedBlockformatsFromHTMLTags($a_html_tags)
00145         {
00146                 $blockformats = array();
00147                 
00148                 if (in_array("p", $a_html_tags))
00149                 {
00150                         array_push($blockformats, "p");
00151                 }
00152                 if (in_array("div", $a_html_tags))
00153                 {
00154                         array_push($blockformats, "div");
00155                 }
00156                 if (in_array("pre", $a_html_tags))
00157                 {
00158                         array_push($blockformats, "pre");
00159                 }
00160                 if (in_array("code", $a_html_tags))
00161                 {
00162                         array_push($blockformats, "code");
00163                 }
00164                 if (in_array("h1", $a_html_tags))
00165                 {
00166                         array_push($blockformats, "h1");
00167                 }
00168                 if (in_array("h2", $a_html_tags))
00169                 {
00170                         array_push($blockformats, "h2");
00171                 }
00172                 if (in_array("h3", $a_html_tags))
00173                 {
00174                         array_push($blockformats, "h3");
00175                 }
00176                 if (in_array("h4", $a_html_tags))
00177                 {
00178                         array_push($blockformats, "h4");
00179                 }
00180                 if (in_array("h5", $a_html_tags))
00181                 {
00182                         array_push($blockformats, "h5");
00183                 }
00184                 if (in_array("h6", $a_html_tags))
00185                 {
00186                         array_push($blockformats, "h6");
00187                 }
00188                 if (count($blockformats))
00189                 {
00190                         return join(",", $blockformats);
00191                 }
00192                 else
00193                 {
00194                         return "";
00195                 }
00196         }
00197 
00198         function _buildAdvancedButtonsFromHTMLTags($a_html_tags)
00199         {
00200                 $theme_advanced_buttons = array();
00201                 if (in_array("strong", $a_html_tags))
00202                 {
00203                         array_push($theme_advanced_buttons, "bold");
00204                 }
00205                 if (in_array("em", $a_html_tags))
00206                 {
00207                         array_push($theme_advanced_buttons, "italic");
00208                 }
00209                 if (in_array("u", $a_html_tags))
00210                 {
00211                         array_push($theme_advanced_buttons, "underline");
00212                 }
00213                 if (in_array("strike", $a_html_tags))
00214                 {
00215                         array_push($theme_advanced_buttons, "strikethrough");
00216                 }
00217                 if (count($theme_advanced_buttons))
00218                 {
00219                         array_push($theme_advanced_buttons, "separator");
00220                 }
00221                 if (in_array("p", $a_html_tags))
00222                 {
00223                         array_push($theme_advanced_buttons, "justifyleft");
00224                         array_push($theme_advanced_buttons, "justifycenter");
00225                         array_push($theme_advanced_buttons, "justifyright");
00226                         array_push($theme_advanced_buttons, "justifyfull");
00227                         array_push($theme_advanced_buttons, "separator");
00228                 }
00229                 if (strlen(ilTinyMCE::_buildAdvancedBlockformatsFromHTMLTags($a_html_tags)))
00230                 {
00231                         array_push($theme_advanced_buttons, "formatselect");
00232                 }
00233                 if (in_array("hr", $a_html_tags))
00234                 {
00235                         array_push($theme_advanced_buttons, "hr");
00236                 }
00237                 array_push($theme_advanced_buttons, "removeformat");
00238                 array_push($theme_advanced_buttons, "separator");
00239                 if (in_array("sub", $a_html_tags))
00240                 {
00241                         array_push($theme_advanced_buttons, "sub");
00242                 }
00243                 if (in_array("sup", $a_html_tags))
00244                 {
00245                         array_push($theme_advanced_buttons, "sup");
00246                 }
00247                 array_push($theme_advanced_buttons, "charmap");
00248                 if ((in_array("ol", $a_html_tags)) && (in_array("li", $a_html_tags)))
00249                 {
00250                         array_push($theme_advanced_buttons, "bullist");
00251                 }
00252                 if ((in_array("ul", $a_html_tags)) && (in_array("li", $a_html_tags)))
00253                 {
00254                         array_push($theme_advanced_buttons, "numlist");
00255                 }
00256                 array_push($theme_advanced_buttons, "separator");
00257                 if (in_array("cite", $a_html_tags))
00258                 {
00259                         array_push($theme_advanced_buttons, "cite");
00260                 }
00261                 if (in_array("abbr", $a_html_tags))
00262                 {
00263                         array_push($theme_advanced_buttons, "abbr");
00264                 }
00265                 if (in_array("acronym", $a_html_tags))
00266                 {
00267                         array_push($theme_advanced_buttons, "acronym");
00268                 }
00269                 if (in_array("del", $a_html_tags))
00270                 {
00271                         array_push($theme_advanced_buttons, "del");
00272                 }
00273                 if (in_array("ins", $a_html_tags))
00274                 {
00275                         array_push($theme_advanced_buttons, "ins");
00276                 }
00277                 if (in_array("blockquote", $a_html_tags))
00278                 {
00279                         array_push($theme_advanced_buttons, "indent");
00280                         array_push($theme_advanced_buttons, "outdent");
00281                 }
00282                 if (in_array("img", $a_html_tags))
00283                 {
00284                         //array_push($theme_advanced_buttons, "advimage");
00285                         array_push($theme_advanced_buttons, "image");
00286                         array_push($theme_advanced_buttons, "ibrowser");
00287                 }
00288                 if (in_array("a", $a_html_tags))
00289                 {
00290                         array_push($theme_advanced_buttons, "link");
00291                         array_push($theme_advanced_buttons, "unlink");
00292                         array_push($theme_advanced_buttons, "anchor");
00293                 }
00294                 array_push($theme_advanced_buttons, "separator");
00295                 array_push($theme_advanced_buttons, "undo");
00296                 array_push($theme_advanced_buttons, "redo");
00297                 return join(",", $theme_advanced_buttons);
00298         }
00299         
00300         function _buildAdvancedTableButtonsFromHTMLTags($a_html_tags)
00301         {
00302                 $theme_advanced_buttons = array();
00303                 if (in_array("table", $a_html_tags) && in_array("tr", $a_html_tags) && in_array("td", $a_html_tags))
00304                 {
00305                         array_push($theme_advanced_buttons, "tablecontrols");
00306                 }
00307                 return join(",", $theme_advanced_buttons);
00308         }
00309         
00310         function _getEditorLanguage()
00311         {
00312                 global $ilUser;
00313                 $lang = $ilUser->getLanguage();
00314                 if (file_exists("./Services/RTE/tiny_mce/langs/$lang.js"))
00315                 {
00316                         return "$lang";
00317                 }
00318                 else
00319                 {
00320                         return "en";
00321                 }
00322         }
00323 
00324         function _getValidElementsFromHTMLTags($a_html_tags)
00325         {
00326                 $valid_elements = array();
00327                 foreach ($a_html_tags as $tag)
00328                 {
00329                         switch ($tag)
00330                         {
00331                                 case "a":
00332                                         array_push($valid_elements, "a[accesskey|charset|class|coords|dir<ltr?rtl|href|hreflang|id|lang|name"
00333                                                 ."|onblur|onclick|ondblclick|onfocus|onkeydown|onkeypress|onkeyup"
00334                                                 ."|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|rel|rev"
00335                                                 ."|shape<circle?default?poly?rect|style|tabindex|title|target|type]");
00336                                         break;
00337                                 case "abbr":
00338                                         array_push($valid_elements, "abbr[class|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown|onkeypress"
00339                                                 ."|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|style"
00340                                                 ."|title]");
00341                                         break;
00342                                 case "acronym":
00343                                         array_push($valid_elements, "acronym[class|dir<ltr?rtl|id|id|lang|onclick|ondblclick|onkeydown|onkeypress"
00344                                                 ."|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|style"
00345                                                 ."|title]");
00346                                         break;
00347                                 case "address":
00348                                         array_push($valid_elements, "address[class|align|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown"
00349                                                 ."|onkeypress|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover"
00350                                                 ."|onmouseup|style|title]");
00351                                         break;
00352                                 case "applet":
00353                                         array_push($valid_elements, "applet[align<bottom?left?middle?right?top|alt|archive|class|code|codebase"
00354                                                 ."|height|hspace|id|name|object|style|title|vspace|width]");
00355                                         break;
00356                                 case "area":
00357                                         array_push($valid_elements, "area[accesskey|alt|class|coords|dir<ltr?rtl|href|id|lang|nohref<nohref"
00358                                         ."|onblur|onclick|ondblclick|onfocus|onkeydown|onkeypress|onkeyup"
00359                                         ."|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup"
00360                                         ."|shape<circle?default?poly?rect|style|tabindex|title|target]");
00361                                         break;
00362                                 case "base":
00363                                         array_push($valid_elements, "base[href|target]");
00364                                         break;
00365                                 case "basefont":
00366                                         array_push($valid_elements, "basefont[color|face|id|size]");
00367                                         break;
00368                                 case "bdo":
00369                                         array_push($valid_elements, "bdo[class|dir<ltr?rtl|id|lang|style|title]");
00370                                         break;
00371                                 case "big":
00372                                         array_push($valid_elements, "big[class|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown|onkeypress"
00373                                         ."|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|style"
00374                                         ."|title]");
00375                                         break;
00376                                 case "blockquote":
00377                                         array_push($valid_elements, "blockquote[dir|style|cite|class|dir<ltr?rtl|id|lang|onclick|ondblclick"
00378                                         ."|onkeydown|onkeypress|onkeyup|onmousedown|onmousemove|onmouseout"
00379                                         ."|onmouseover|onmouseup|style|title]");
00380                                         break;
00381                                 case "body":
00382                                         array_push($valid_elements, "body[alink|background|bgcolor|class|dir<ltr?rtl|id|lang|link|onclick"
00383                                         ."|ondblclick|onkeydown|onkeypress|onkeyup|onload|onmousedown|onmousemove"
00384                                         ."|onmouseout|onmouseover|onmouseup|onunload|style|title|text|vlink]");
00385                                         break;
00386                                 case "br":
00387                                         array_push($valid_elements, "br[class|clear<all?left?none?right|id|style|title]");
00388                                         break;
00389                                 case "button":
00390                                         array_push($valid_elements, "button[accesskey|class|dir<ltr?rtl|disabled<disabled|id|lang|name|onblur"
00391                                         ."|onclick|ondblclick|onfocus|onkeydown|onkeypress|onkeyup|onmousedown"
00392                                         ."|onmousemove|onmouseout|onmouseover|onmouseup|style|tabindex|title|type"
00393                                         ."|value]");
00394                                         break;
00395                                 case "caption":
00396                                         array_push($valid_elements, "caption[align<bottom?left?right?top|class|dir<ltr?rtl|id|lang|onclick"
00397                                         ."|ondblclick|onkeydown|onkeypress|onkeyup|onmousedown|onmousemove"
00398                                         ."|onmouseout|onmouseover|onmouseup|style|title]");
00399                                         break;
00400                                 case "center":
00401                                         array_push($valid_elements, "center[class|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown|onkeypress"
00402                                                 ."|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|style"
00403                                                 ."|title]");
00404                                         break;
00405                                 case "cite":
00406                                         array_push($valid_elements, "cite[class|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown|onkeypress"
00407                                                 ."|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|style"
00408                                                 ."|title]");
00409                                         break;
00410                                 case "code":
00411                                         array_push($valid_elements, "code[class|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown|onkeypress"
00412                                                 ."|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|style"
00413                                                 ."|title]");
00414                                         break;
00415                                 case "col":
00416                                         array_push($valid_elements, "col[align<center?char?justify?left?right|char|charoff|class|dir<ltr?rtl|id"
00417                                                 ."|lang|onclick|ondblclick|onkeydown|onkeypress|onkeyup|onmousedown"
00418                                                 ."|onmousemove|onmouseout|onmouseover|onmouseup|span|style|title"
00419                                                 ."|valign<baseline?bottom?middle?top|width]");
00420                                         break;
00421                                 case "colgroup":
00422                                         array_push($valid_elements, "colgroup[align<center?char?justify?left?right|char|charoff|class|dir<ltr?rtl"
00423                                                 ."|id|lang|onclick|ondblclick|onkeydown|onkeypress|onkeyup|onmousedown"
00424                                                 ."|onmousemove|onmouseout|onmouseover|onmouseup|span|style|title"
00425                                                 ."|valign<baseline?bottom?middle?top|width]");
00426                                         break;
00427                                 case "dd":
00428                                         array_push($valid_elements, "dd[class|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown|onkeypress|onkeyup"
00429                                                 ."|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|style|title]");
00430                                         break;
00431                                 case "del":
00432                                         array_push($valid_elements, "del[cite|class|datetime|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown"
00433                                                 ."|onkeypress|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover"
00434                                                 ."|onmouseup|style|title]");
00435                                         break;
00436                                 case "dfn":
00437                                         array_push($valid_elements, "dfn[class|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown|onkeypress"
00438                                                 ."|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|style"
00439                                                 ."|title]");
00440                                         break;
00441                                 case "dir":
00442                                         array_push($valid_elements, "dir[class|compact<compact|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown"
00443                                                 ."|onkeypress|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover"
00444                                                 ."|onmouseup|style|title]");
00445                                         break;
00446                                 case "div":
00447                                         array_push($valid_elements, "div[align<center?justify?left?right|class|dir<ltr?rtl|id|lang|onclick"
00448                                                 ."|ondblclick|onkeydown|onkeypress|onkeyup|onmousedown|onmousemove"
00449                                                 ."|onmouseout|onmouseover|onmouseup|style|title]");
00450                                         break;
00451                                 case "dl":
00452                                         array_push($valid_elements, "dl[class|compact<compact|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown"
00453                                                 ."|onkeypress|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover"
00454                                                 ."|onmouseup|style|title]");
00455                                         break;
00456                                 case "dt":
00457                                         array_push($valid_elements, "dt[class|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown|onkeypress|onkeyup"
00458                                                 ."|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|style|title]");
00459                                         break;
00460                                 case "em":
00461                                         array_push($valid_elements, "em/i[class|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown|onkeypress"
00462                                                 ."|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|style"
00463                                                 ."|title]");
00464                                         break;
00465                                 case "fieldset":
00466                                         array_push($valid_elements, "fieldset[class|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown|onkeypress"
00467                                                 ."|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|style"
00468                                                 ."|title]");
00469                                         break;
00470                                 case "font":
00471                                         array_push($valid_elements, "font[class|color|dir<ltr?rtl|face|id|lang|size|style|title]");
00472                                         break;
00473                                 case "form":
00474                                         array_push($valid_elements, "form[accept|accept-charset|action|class|dir<ltr?rtl|enctype|id|lang"
00475                                                 ."|method<get?post|name|onclick|ondblclick|onkeydown|onkeypress|onkeyup"
00476                                                 ."|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|onreset|onsubmit"
00477                                                 ."|style|title|target]");
00478                                         break;
00479                                 case "frame":
00480                                         array_push($valid_elements, "frame[class|frameborder|id|longdesc|marginheight|marginwidth|name"
00481                                                 ."|noresize<noresize|scrolling<auto?no?yes|src|style|title]");
00482                                         break;
00483                                 case "frameset":
00484                                         array_push($valid_elements, "frameset[class|cols|id|onload|onunload|rows|style|title]");
00485                                         break;
00486                                 case "h1":
00487                                         array_push($valid_elements, "h1[align<center?justify?left?right|class|dir<ltr?rtl|id|lang|onclick"
00488                                                 ."|ondblclick|onkeydown|onkeypress|onkeyup|onmousedown|onmousemove"
00489                                                 ."|onmouseout|onmouseover|onmouseup|style|title]");
00490                                         break;
00491                                 case "h2":
00492                                         array_push($valid_elements, "h2[align<center?justify?left?right|class|dir<ltr?rtl|id|lang|onclick"
00493                                                 ."|ondblclick|onkeydown|onkeypress|onkeyup|onmousedown|onmousemove"
00494                                                 ."|onmouseout|onmouseover|onmouseup|style|title]");
00495                                         break;
00496                                 case "h3":
00497                                         array_push($valid_elements, "h3[align<center?justify?left?right|class|dir<ltr?rtl|id|lang|onclick"
00498                                                 ."|ondblclick|onkeydown|onkeypress|onkeyup|onmousedown|onmousemove"
00499                                                 ."|onmouseout|onmouseover|onmouseup|style|title]");
00500                                         break;
00501                                 case "h4":
00502                                         array_push($valid_elements, "h4[align<center?justify?left?right|class|dir<ltr?rtl|id|lang|onclick"
00503                                                 ."|ondblclick|onkeydown|onkeypress|onkeyup|onmousedown|onmousemove"
00504                                                 ."|onmouseout|onmouseover|onmouseup|style|title]");
00505                                         break;
00506                                 case "h5":
00507                                         array_push($valid_elements, "h5[align<center?justify?left?right|class|dir<ltr?rtl|id|lang|onclick"
00508                                                 ."|ondblclick|onkeydown|onkeypress|onkeyup|onmousedown|onmousemove"
00509                                                 ."|onmouseout|onmouseover|onmouseup|style|title]");
00510                                         break;
00511                                 case "h6":
00512                                         array_push($valid_elements, "h6[align<center?justify?left?right|class|dir<ltr?rtl|id|lang|onclick"
00513                                                 ."|ondblclick|onkeydown|onkeypress|onkeyup|onmousedown|onmousemove"
00514                                                 ."|onmouseout|onmouseover|onmouseup|style|title]");
00515                                         break;
00516                                 case "head":
00517                                         array_push($valid_elements, "head[dir<ltr?rtl|lang|profile]");
00518                                         break;
00519                                 case "hr":
00520                                         array_push($valid_elements, "hr[align<center?left?right|class|dir<ltr?rtl|id|lang|noshade<noshade|onclick"
00521                                                 ."|ondblclick|onkeydown|onkeypress|onkeyup|onmousedown|onmousemove"
00522                                                 ."|onmouseout|onmouseover|onmouseup|size|style|title|width]");
00523                                         break;
00524                                 case "html":
00525                                         array_push($valid_elements, "html[dir<ltr?rtl|lang|version]");
00526                                         break;
00527                                 case "iframe":
00528                                         array_push($valid_elements, "iframe[align<bottom?left?middle?right?top|class|frameborder|height|id"
00529                                                 ."|longdesc|marginheight|marginwidth|name|scrolling<auto?no?yes|src|style"
00530                                                 ."|title|width]");
00531                                         break;
00532                                 case "img":
00533                                         array_push($valid_elements, "img[align<bottom?left?middle?right?top|alt|border|class|dir<ltr?rtl|height"
00534                                                 ."|hspace|id|ismap<ismap|lang|longdesc|name|onclick|ondblclick|onkeydown"
00535                                                 ."|onkeypress|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover"
00536                                                 ."|onmouseup|src|style|title|usemap|vspace|width]");
00537                                         break;
00538                                 case "input":
00539                                         array_push($valid_elements, "input[accept|accesskey|align<bottom?left?middle?right?top|alt"
00540                                                 ."|checked<checked|class|dir<ltr?rtl|disabled<disabled|id|ismap<ismap|lang"
00541                                                 ."|maxlength|name|onblur|onclick|ondblclick|onfocus|onkeydown|onkeypress"
00542                                                 ."|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|onselect"
00543                                                 ."|readonly<readonly|size|src|style|tabindex|title"
00544                                                 ."|type<button?checkbox?file?hidden?image?password?radio?reset?submit?text"
00545                                                 ."|usemap|value]");
00546                                         break;
00547                                 case "ins":
00548                                         array_push($valid_elements, "ins[cite|class|datetime|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown"
00549                                                 ."|onkeypress|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover"
00550                                                 ."|onmouseup|style|title]");
00551                                         break;
00552                                 case "isindex":
00553                                         array_push($valid_elements, "isindex[class|dir<ltr?rtl|id|lang|prompt|style|title]");
00554                                         break;
00555                                 case "kbd":
00556                                         array_push($valid_elements, "kbd[class|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown|onkeypress"
00557                                                 ."|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|style"
00558                                                 ."|title]");
00559                                         break;
00560                                 case "label":
00561                                         array_push($valid_elements, "label[accesskey|class|dir<ltr?rtl|for|id|lang|onblur|onclick|ondblclick"
00562                                                 ."|onfocus|onkeydown|onkeypress|onkeyup|onmousedown|onmousemove|onmouseout"
00563                                                 ."|onmouseover|onmouseup|style|title]");
00564                                         break;
00565                                 case "legend":
00566                                         array_push($valid_elements, "legend[align<bottom?left?right?top|accesskey|class|dir<ltr?rtl|id|lang"
00567                                                 ."|onclick|ondblclick|onkeydown|onkeypress|onkeyup|onmousedown|onmousemove"
00568                                                 ."|onmouseout|onmouseover|onmouseup|style|title]");
00569                                         break;
00570                                 case "li":
00571                                         array_push($valid_elements, "li[class|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown|onkeypress|onkeyup"
00572                                                 ."|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|style|title|type"
00573                                                 ."|value]");
00574                                         break;
00575                                 case "link":
00576                                         array_push($valid_elements, "link[charset|class|dir<ltr?rtl|href|hreflang|id|lang|media|onclick"
00577                                                 ."|ondblclick|onkeydown|onkeypress|onkeyup|onmousedown|onmousemove"
00578                                                 ."|onmouseout|onmouseover|onmouseup|rel|rev|style|title|target|type]");
00579                                         break;
00580                                 case "map":
00581                                         array_push($valid_elements, "map[class|dir<ltr?rtl|id|lang|name|onclick|ondblclick|onkeydown|onkeypress"
00582                                                 ."|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|style"
00583                                                 ."|title]");
00584                                         break;
00585                                 case "menu":
00586                                         array_push($valid_elements, "menu[class|compact<compact|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown"
00587                                                 ."|onkeypress|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover"
00588                                                 ."|onmouseup|style|title]");
00589                                         break;
00590                                 case "meta":
00591                                         array_push($valid_elements, "meta[content|dir<ltr?rtl|http-equiv|lang|name|scheme]");
00592                                         break;
00593                                 case "noframes":
00594                                         array_push($valid_elements, "noframes[class|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown|onkeypress"
00595                                                 ."|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|style"
00596                                                 ."|title]");
00597                                         break;
00598                                 case "noscript":
00599                                         array_push($valid_elements, "noscript[class|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown|onkeypress"
00600                                                 ."|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|style"
00601                                                 ."|title]");
00602                                         break;
00603                                 case "object":
00604                                         array_push($valid_elements, "object[align<bottom?left?middle?right?top|archive|border|class|classid"
00605                                                 ."|codebase|codetype|data|declare|dir<ltr?rtl|height|hspace|id|lang|name"
00606                                                 ."|onclick|ondblclick|onkeydown|onkeypress|onkeyup|onmousedown|onmousemove"
00607                                                 ."|onmouseout|onmouseover|onmouseup|standby|style|tabindex|title|type|usemap"
00608                                                 ."|vspace|width]");
00609                                         break;
00610                                 case "ol":
00611                                         array_push($valid_elements, "ol[class|compact<compact|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown"
00612                                                 ."|onkeypress|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover"
00613                                                 ."|onmouseup|start|style|title|type]");
00614                                         break;
00615                                 case "optgroup":
00616                                         array_push($valid_elements, "optgroup[class|dir<ltr?rtl|disabled<disabled|id|label|lang|onclick"
00617                                                 ."|ondblclick|onkeydown|onkeypress|onkeyup|onmousedown|onmousemove"
00618                                                 ."|onmouseout|onmouseover|onmouseup|style|title]");
00619                                         break;
00620                                 case "option":
00621                                         array_push($valid_elements, "option[class|dir<ltr?rtl|disabled<disabled|id|label|lang|onclick|ondblclick"
00622                                                 ."|onkeydown|onkeypress|onkeyup|onmousedown|onmousemove|onmouseout"
00623                                                 ."|onmouseover|onmouseup|selected<selected|style|title|value]");
00624                                         break;
00625                                 case "p":
00626                                         array_push($valid_elements, "p[align<center?justify?left?right|class|dir<ltr?rtl|id|lang|onclick"
00627                                                 ."|ondblclick|onkeydown|onkeypress|onkeyup|onmousedown|onmousemove"
00628                                                 ."|onmouseout|onmouseover|onmouseup|style|title]");
00629                                         break;
00630                                 case "param":
00631                                         array_push($valid_elements, "param[id|name|type|value|valuetype<DATA?OBJECT?REF]");
00632                                         break;
00633                                 case "pre":
00634                                 case "listing":
00635                                 case "plaintext":
00636                                 case "xmp":
00637                                         array_push($valid_elements, "pre/listing/plaintext/xmp[align|class|dir<ltr?rtl|id|lang|onclick|ondblclick"
00638                                                 ."|onkeydown|onkeypress|onkeyup|onmousedown|onmousemove|onmouseout"
00639                                                 ."|onmouseover|onmouseup|style|title|width]");
00640                                         break;
00641                                 case "q":
00642                                         array_push($valid_elements, "q[cite|class|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown|onkeypress"
00643                                                 ."|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|style"
00644                                                 ."|title]");
00645                                         break;
00646                                 case "s":
00647                                         array_push($valid_elements, "s[class|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown|onkeypress|onkeyup"
00648                                                 ."|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|style|title]");
00649                                         break;
00650                                 case "samp":
00651                                         array_push($valid_elements, "samp[class|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown|onkeypress"
00652                                                 ."|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|style"
00653                                                 ."|title]");
00654                                         break;
00655                                 case "script":
00656                                         array_push($valid_elements, "script[charset|defer|language|src|type]");
00657                                         break;
00658                                 case "select":
00659                                         array_push($valid_elements, "select[class|dir<ltr?rtl|disabled<disabled|id|lang|multiple<multiple|name"
00660                                                 ."|onblur|onclick|ondblclick|onfocus|onkeydown|onkeypress|onkeyup"
00661                                                 ."|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|size|style"
00662                                                 ."|tabindex|title]");
00663                                         break;
00664                                 case "small":
00665                                         array_push($valid_elements, "small[class|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown|onkeypress"
00666                                                 ."|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|style"
00667                                                 ."|title]");
00668                                         break;
00669                                 case "span":
00670                                         array_push($valid_elements, "span[align<center?justify?left?right|class|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown"
00671                                                 ."|onkeypress|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover"
00672                                                 ."|onmouseup|style|title]");
00673                                         break;
00674                                 case "strike":
00675                                         array_push($valid_elements, "strike[class|class|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown"
00676                                                 ."|onkeypress|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover"
00677                                                 ."|onmouseup|style|title]");
00678                                         break;
00679                                 case "strong":
00680                                         array_push($valid_elements, "strong/b[class|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown|onkeypress"
00681                                                 ."|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|style"
00682                                                 ."|title]");
00683                                         break;
00684                                 case "style":
00685                                         array_push($valid_elements, "style[dir<ltr?rtl|lang|media|title|type]");
00686                                         break;
00687                                 case "sub":
00688                                         array_push($valid_elements, "sub[class|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown|onkeypress"
00689                                                 ."|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|style"
00690                                                 ."|title]");
00691                                         break;
00692                                 case "sup":
00693                                         array_push($valid_elements, "sup[class|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown|onkeypress"
00694                                                 ."|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|style"
00695                                                 ."|title]");
00696                                         break;
00697                                 case "table":
00698                                         array_push($valid_elements, "table[align<center?left?right|bgcolor|border|cellpadding|cellspacing|class"
00699                                                 ."|dir<ltr?rtl|frame|height|id|lang|onclick|ondblclick|onkeydown|onkeypress"
00700                                                 ."|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|rules"
00701                                                 ."|style|summary|title|width]");
00702                                         break;
00703                                 case "tbody":
00704                                         array_push($valid_elements, "tbody[align<center?char?justify?left?right|char|class|charoff|dir<ltr?rtl|id"
00705                                                 ."|lang|onclick|ondblclick|onkeydown|onkeypress|onkeyup|onmousedown"
00706                                                 ."|onmousemove|onmouseout|onmouseover|onmouseup|style|title"
00707                                                 ."|valign<baseline?bottom?middle?top]");
00708                                         break;
00709                                 case "td":
00710                                         array_push($valid_elements, "td[abbr|align<center?char?justify?left?right|axis|bgcolor|char|charoff|class"
00711                                                 ."|colspan|dir<ltr?rtl|headers|height|id|lang|nowrap<nowrap|onclick"
00712                                                 ."|ondblclick|onkeydown|onkeypress|onkeyup|onmousedown|onmousemove"
00713                                                 ."|onmouseout|onmouseover|onmouseup|rowspan|scope<col?colgroup?row?rowgroup"
00714                                                 ."|style|title|valign<baseline?bottom?middle?top|width]");
00715                                         break;
00716                                 case "textarea":
00717                                         array_push($valid_elements, "textarea[accesskey|class|cols|dir<ltr?rtl|disabled<disabled|id|lang|name"
00718                                                 ."|onblur|onclick|ondblclick|onfocus|onkeydown|onkeypress|onkeyup"
00719                                                 ."|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|onselect"
00720                                                 ."|readonly<readonly|rows|style|tabindex|title]");
00721                                         break;
00722                                 case "tfoot":
00723                                         array_push($valid_elements, "tfoot[align<center?char?justify?left?right|char|charoff|class|dir<ltr?rtl|id"
00724                                                 ."|lang|onclick|ondblclick|onkeydown|onkeypress|onkeyup|onmousedown"
00725                                                 ."|onmousemove|onmouseout|onmouseover|onmouseup|style|title"
00726                                                 ."|valign<baseline?bottom?middle?top]");
00727                                         break;
00728                                 case "th":
00729                                         array_push($valid_elements, "th[abbr|align<center?char?justify?left?right|axis|bgcolor|char|charoff|class"
00730                                                 ."|colspan|dir<ltr?rtl|headers|height|id|lang|nowrap<nowrap|onclick"
00731                                                 ."|ondblclick|onkeydown|onkeypress|onkeyup|onmousedown|onmousemove"
00732                                                 ."|onmouseout|onmouseover|onmouseup|rowspan|scope<col?colgroup?row?rowgroup"
00733                                                 ."|style|title|valign<baseline?bottom?middle?top|width]");
00734                                         break;
00735                                 case "thead":
00736                                         array_push($valid_elements, "thead[align<center?char?justify?left?right|char|charoff|class|dir<ltr?rtl|id"
00737                                                 ."|lang|onclick|ondblclick|onkeydown|onkeypress|onkeyup|onmousedown"
00738                                                 ."|onmousemove|onmouseout|onmouseover|onmouseup|style|title"
00739                                                 ."|valign<baseline?bottom?middle?top]");
00740                                         break;
00741                                 case "title":
00742                                         array_push($valid_elements, "title[dir<ltr?rtl|lang]");
00743                                         break;
00744                                 case "tr":
00745                                         array_push($valid_elements, "tr[abbr|align<center?char?justify?left?right|bgcolor|char|charoff|class"
00746                                                 ."|rowspan|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown|onkeypress"
00747                                                 ."|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|style"
00748                                                 ."|title|valign<baseline?bottom?middle?top]");
00749                                         break;
00750                                 case "tt":
00751                                         array_push($valid_elements, "tt[class|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown|onkeypress|onkeyup"
00752                                                 ."|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|style|title]");
00753                                         break;
00754                                 case "u":
00755                                         array_push($valid_elements, "u[class|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown|onkeypress|onkeyup"
00756                                                 ."|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|style|title]");
00757                                         break;
00758                                 case "ul":
00759                                         array_push($valid_elements, "ul[class|compact<compact|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown"
00760                                                 ."|onkeypress|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover"
00761                                                 ."|onmouseup|style|title|type]");
00762                                         break;
00763                                 case "var":
00764                                         array_push($valid_elements, "var[class|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown|onkeypress"
00765                                                 ."|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|style"
00766                                                 ."|title]");
00767                                         break;
00768                                 case "ruby":
00769                                         array_push($valid_elements, "ruby[class|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown|onkeypress"
00770                                                 ."|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|style"
00771                                                 ."|title]");
00772                                         break;
00773                                 case "rbc":
00774                                         array_push($valid_elements, "rbc[class|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown|onkeypress"
00775                                                 ."|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|style"
00776                                                 ."|title]");
00777                                         break;
00778                                 case "rtc":
00779                                         array_push($valid_elements, "rtc[class|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown|onkeypress"
00780                                                 ."|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|style"
00781                                                 ."|title]");
00782                                         break;
00783                                 case "rb":
00784                                         array_push($valid_elements, "rb[class|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown|onkeypress"
00785                                                 ."|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|style"
00786                                                 ."|title]");
00787                                         break;
00788                                 case "rt":
00789                                         array_push($valid_elements, "rt[class|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown|onkeypress"
00790                                                 ."|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|style"
00791                                                 ."|title]");
00792                                         break;
00793                                 case "rp":
00794                                         array_push($valid_elements, "rp[class|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown|onkeypress"
00795                                                 ."|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|style"
00796                                                 ."|title]");
00797                                         break;
00798                         }
00799                 }
00800                 return join(",", $valid_elements);
00801         }
00802 }
00803 
00804 ?>

Generated on Fri Dec 13 2013 13:52:08 for ILIAS Release_3_7_x_branch .rev 46817 by  doxygen 1.7.1