Changeset 51702 in spip-zone


Ignore:
Timestamp:
Sep 22, 2011, 4:06:05 PM (8 years ago)
Author:
cedric@…
Message:

Rangement et nettoyage.
il ne faut pas inserer le js/css de codemiror dans le head de l'espace prive car cela oblige le compresseur a tout recompresse
a chaque type de fichier, et qui plus est cela interdit toute possibilite d'ajax.
(qui plus est la compression semble casser codemiror)

On reintroduit une insertion en fin de page, que l'on va reoptimiser ensuite.

Location:
_plugins_/skeleditor/trunk
Files:
4 added
1 edited
2 copied
2 moved

Legend:

Unmodified
Added
Removed
  • _plugins_/skeleditor/trunk/prive/squelettes/contenu/skeleditor.html

    r51660 r51702  
    1 [(#REM)
     1[(#REM|skeleditor_dossier|non) <:skeleditor:exlications_creer_dossier_squelettes:>]
     2[(#AUTORISER{skeleditor}|sinon_interdire_acces)]
    23
    3   Squelette
    4   (c) 2009 xxx
    5   Distribue sous licence GPL
     4#SET{file,#ENV{f},''}
     5[(#GET{file}|strlen|et{#GET{file}|strncmp{#EVAL{_DIR_RACINE},#EVAL{_DIR_RACINE}|strlen}|=={0}|non})
     6#SET{file,#EVAL{_DIR_RACINE}|concat{#GET{file}}}
     7]
     8#SET{path,#REM|skeleditor_dossier}
    69
     10[(#ENV{upload}|non)
     11        <h1><:skeleditor:fichier:>[ (#GET{file}|basename|sinon{<:info_sans_titre:>})]</h1>
     12        <div class="noajax">
     13        #FORMULAIRE_EDITER_SQUELETTE{#GET{path},#GET{file}}
     14        </div>
     15        [(#GET{file}|skeleditor_codemirror)]
    716]
    8 [(#REM|skeleditor_dossier|non) <:skeleditor:exlications_creer_dossier_squelettes:>]
    9 [(#AUTORISER{skeleditor}|oui)
    10         #SET{file,#ENV{f},''}
    11         [(#GET{file}|strlen|et{#GET{file}|strncmp{#EVAL{_DIR_RACINE},#EVAL{_DIR_RACINE}|strlen}|=={0}|non})
    12         #SET{file,#EVAL{_DIR_RACINE}|concat{#GET{file}}}
    13         ]
    14         #SET{path,#REM|skeleditor_dossier}
    15 
    16         [(#ENV{upload}|non)
    17                 <h1><:skeleditor:fichier:>[ (#GET{file}|basename|sinon{<:info_sans_titre:>})]</h1>
    18                 <div class="noajax">
    19                 #FORMULAIRE_EDITER_SQUELETTE{#GET{path},#GET{file}}
    20                 </div>
    21                 [(#GET{file}|skeleditor_codemirror)]
    22         ]
    23         [(#ENV{upload}|oui)
    24                 <h1><:skeleditor:action_upload:></h1>
    25                 #FORMULAIRE_UPLOAD_SQUELETTE{#GET{path}}
    26         ]
    27 
    28         <!--#navigation-->
    29         [(#ENV{retour}|=={'./'}|?{[(#SET{retour,../})],[(#SET{retour,[(#VAL{../}|concat{#ENV{retour,''}})]})]})]
    30         [<a class="retour" href="[(#GET{retour,''})]"><:retour:> <span>(#ENV{retour})</span></a>]
    31         [<a class="retour" href="(#GET{retour,''}|parametre_url{var_mode,inclure})"><:retour:> <span>var_mode=inclure</span></a>]       
    32         <div class="cadre cadre-info">
    33         <:skeleditor:skeleditor_description:>
    34         <p><strong>[(#GET{path}|joli_repertoire)]</strong></p>
    35         [(#GET{path}|skeleditor_afficher_dir_skel{#GET{file}})]
    36         </div>
    37 
    38         <!--/#navigation-->
     17[(#ENV{upload}|oui)
     18        <h1><:skeleditor:action_upload:></h1>
     19        #FORMULAIRE_UPLOAD_SQUELETTE{#GET{path}}
    3920]
  • _plugins_/skeleditor/trunk/prive/squelettes/contenu/skeleditor_fonctions.php

    r51660 r51702  
    88 */
    99
     10include_spip('inc/skeleditor_codemiror');
    1011function skeleditor_dossier(){
    1112        include_spip('inc/skeleditor');
    1213        return skeleditor_path_editable();
    13 }
    14 
    15 
    16 /**
    17  * Afficher l'arborescence du dossier squelette
    18  *
    19  * @param string $path_base
    20  * @param string $current_file
    21  * @return string
    22  */
    23 function skeleditor_afficher_dir_skel($path_base,$current_file) {
    24         include_spip('inc/skeleditor');
    25         include_spip('inc/presentation');
    26         $file_list = skeleditor_files_editables($path_base);
    27         $current_file = substr($current_file,strlen($path_base));
    28 
    29   $output = "<div id='arbo'><div class='dir'>\n";
    30         $init_dir = $current_dir = "";
    31         foreach($file_list as $file){
    32                 $dir = substr(dirname($file),strlen($path_base));
    33                 $file = substr($file,strlen($path_base));
    34 
    35                 if ($dir != $current_dir)
    36                         $output .= skeleditor_tree_open_close_dir($current_dir,$dir,$current_file);
    37 
    38                 $class="fichier";
    39                 if (!is_writable($path_base.$dir))
    40                         $class .= " readonly";
    41 
    42                 $class .= ($file==$current_file?" on":'');
    43 
    44                 $icon = "file";
    45                 if (preg_match(',('._SE_EXTENSIONS_IMG.')$,',$file))
    46                         $icon = "image";
    47 
    48                 $output .= "<a href='".generer_url_ecrire('skeleditor','f='.urlencode($path_base.$file))."' class='$class'>"
    49                                                 . "<img src='"._DIR_PLUGIN_SKELEDITOR."images/se-$icon-16.png' alt='$icon' /> "
    50                                                 .basename($file)."</a>";
    51         }
    52         $output .= skeleditor_tree_open_close_dir($current_dir,$init_dir,$current_file);
    53   $output .= "</div></div>\n";
    54   return $output;
    5514}
    5615
     
    225184}
    226185
    227 /**
    228  * Détermine le mime_type pour le mode de codemirror à afficher, selon l'extension du nom du fichier edité
    229  *
    230  * @param string $filename
    231  * @return string
    232  */
    233 function determine_mime_type($filename) {
    234         if($filename
    235         AND $infos = pathinfo($filename)
    236         AND $extension = $infos['extension'])
    237   $mime_types = array(
    238             'txt' => 'text/plain',
    239             'htm' => 'text/html',
    240             'html' => 'text/html',
    241             'php' => 'application/x-httpd-php',
    242             'css' => 'text/css',
    243 //          'js' => 'application/javascript', codemirror2 ne doit pas avoir de mode définit pour les js
    244             'json' => 'application/json',
    245             'xml' => 'application/xml',
    246         );             
    247                 if (array_key_exists($extension, $mime_types)) {
    248                         $mode= 'mode:"'.$mime_types[$extension].'",';
    249             return $mode;
    250         }
    251 }
    252186
    253 /**
    254  * Génére le script d'appel de codemirror
    255  *
    256  * @param string $filename
    257  * @param bool $editable
    258  * @return string
    259  */
    260 function skeleditor_codemirror($filename,$editable=true){
    261         if (!$filename)
    262                 return "";
    263 
    264         $readonly = true;
    265         if (!$editable)
    266                 $readonly = "readonly: true,\n";
    267         $mode= determine_mime_type($filename);
    268        
    269 $script = '<script type="text/javascript">
    270 var editor = CodeMirror.fromTextArea(document.getElementById(\'code\'), {
    271         lineNumbers: true,
    272         matchBrackets: true,
    273         indentUnit: 6,
    274         indentWithTabs: true,
    275         enterMode: "keep",
    276         tabMode: "shift",
    277                 '.$mode.'
    278                 });
    279 var lastPos = null, lastQuery = null, marked = [];
    280  
    281 function unmark() {
    282   for (var i = 0; i < marked.length; ++i) marked[i]();
    283   marked.length = 0;
    284 }
    285  
    286 function search() {
    287   unmark();                     
    288   var text = document.getElementById("query").value;
    289   if (!text) return;
    290   for (var cursor = editor.getSearchCursor(text); cursor.findNext();)
    291     marked.push(editor.markText(cursor.from(), cursor.to(), "searched"));
    292  
    293   if (lastQuery != text) lastPos = null;
    294   var cursor = editor.getSearchCursor(text, lastPos || editor.getCursor());
    295   if (!cursor.findNext()) {
    296     cursor = editor.getSearchCursor(text);
    297     if (!cursor.findNext()) return;
    298   }
    299   editor.setSelection(cursor.from(), cursor.to());
    300   lastQuery = text; lastPos = cursor.to();
    301 }
    302  
    303 function replace() {
    304   unmark();
    305   var text = document.getElementById("query").value,
    306       replace = document.getElementById("replace").value;
    307   if (!text) return;
    308   for (var cursor = editor.getSearchCursor(text); cursor.findNext();)
    309     editor.replaceRange(replace, cursor.from(), cursor.to());
    310 }
    311 </script>';
    312         return $script;
    313 }
    314187?>
  • _plugins_/skeleditor/trunk/prive/squelettes/navigation/skeleditor.html

    r51660 r51702  
    1 [(#REM)
     1[(#AUTORISER{skeleditor}|sinon_interdire_acces)]
    22
    3   Squelette
    4   (c) 2009 xxx
    5   Distribue sous licence GPL
    6 
    7 ]
    8 [(#REM|skeleditor_dossier|non) <:skeleditor:exlications_creer_dossier_squelettes:>]
    9 [(#AUTORISER{skeleditor}|oui)
    10         #SET{file,#ENV{f},''}
    11         [(#GET{file}|strlen|et{#GET{file}|strncmp{#EVAL{_DIR_RACINE},#EVAL{_DIR_RACINE}|strlen}|=={0}|non})
    12         #SET{file,#EVAL{_DIR_RACINE}|concat{#GET{file}}}
    13         ]
    14         #SET{path,#REM|skeleditor_dossier}
    15 
    16         [(#ENV{upload}|non)
    17                 <h1><:skeleditor:fichier:>[ (#GET{file}|basename|sinon{<:info_sans_titre:>})]</h1>
    18                 <div class="noajax">
    19                 #FORMULAIRE_EDITER_SQUELETTE{#GET{path},#GET{file}}
    20                 </div>
    21                 [(#GET{file}|skeleditor_codemirror)]
    22         ]
    23         [(#ENV{upload}|oui)
    24                 <h1><:skeleditor:action_upload:></h1>
    25                 #FORMULAIRE_UPLOAD_SQUELETTE{#GET{path}}
    26         ]
    27 
    28         <!--#navigation-->
    29         [(#ENV{retour}|=={'./'}|?{[(#SET{retour,../})],[(#SET{retour,[(#VAL{../}|concat{#ENV{retour,''}})]})]})]
    30         [<a class="retour" href="[(#GET{retour,''})]"><:retour:> <span>(#ENV{retour})</span></a>]
    31         [<a class="retour" href="(#GET{retour,''}|parametre_url{var_mode,inclure})"><:retour:> <span>var_mode=inclure</span></a>]       
    32         <div class="cadre cadre-info">
     3[(#ENV{retour}|=={'./'}|?{[(#SET{retour,../})],[(#SET{retour,[(#VAL{../}|concat{#ENV{retour,''}})]})]})]
     4[<a class="retour" href="[(#GET{retour,''})]"><:retour:> <span>(#ENV{retour})</span></a>]
     5[<a class="retour" href="(#GET{retour,''}|parametre_url{var_mode,inclure})"><:retour:> <span>var_mode=inclure</span></a>]
     6<div class="cadre cadre-info">
    337        <:skeleditor:skeleditor_description:>
    348        <p><strong>[(#GET{path}|joli_repertoire)]</strong></p>
    359        [(#GET{path}|skeleditor_afficher_dir_skel{#GET{file}})]
    36         </div>
    37 
    38         <!--/#navigation-->
    39 ]
     10</div>
  • _plugins_/skeleditor/trunk/prive/squelettes/navigation/skeleditor_fonctions.php

    r51660 r51702  
    77 *
    88 */
    9 
    10 function skeleditor_dossier(){
    11         include_spip('inc/skeleditor');
    12         return skeleditor_path_editable();
    13 }
    149
    1510
     
    5550}
    5651
    57 
    58 // build select menu to choose directory
    59 function editor_form_directory($path,$depth="") {
    60         $output = "";
    61         foreach($path as $dir){
    62                 $tdir = explode('/',$dir);
    63                 $myfile = array_pop($tdir);
    64                 $depth = "";
    65                 while(array_pop($tdir)) $depth.="&nbsp;&nbsp;";
    66                 $output .= "<option value='$dir'>$depth$myfile</option>\n";             
    67         }
    68   return $output; 
    69 }
    70 
    71 // add file form
    72 function skeleditor_addfile($path_list) {
    73   //$output = bouton_block_invisible('editor_newfile');
    74   $output .= "<img src='"._DIR_PLUGIN_SKELEDITOR."images/action_add.png' alt='new' />"._T("skeleditor:fichier_nouveau");
    75   //$output .= debut_block_invisible('editor_newfile'); 
    76   $output .= "<form method='get'>\n";
    77   $output .= "<input type='hidden' name='exec' value='skeleditor' />";
    78   $output .= "<input type='hidden' name='operation' value='new' />";
    79   //$output .= "nom du fichier:<br />\n";
    80   $output .= "<input type='text' name='f' value='untitled.html' onfocus=\"this.value=''\" />";
    81   $output .= _T("skeleditor:target")."<br />\n";
    82   $output .= "<select name='target'><br />\n";
    83   $output .= editor_form_directory($path_list);     
    84   $output .= "</select><br /><input type='submit' name='sub' value='"._T("skeleditor:creer")."' />";
    85   $output .= "</form>\n";
    86   $output .= fin_block();
    87   return $output;       
    88 }
    89 
    90 // upload file form
    91 function skeleditor_uploadfile($path_list) {
    92   //$output = "<br />".bouton_block_invisible('editor_uploadfile');
    93   $output .= "<img src='"._DIR_PLUGIN_SKELEDITOR."images/action_add.png' alt='new' />"._T("skeleditor:fichier_upload");
    94   //$output .= debut_block_invisible('editor_uploadfile');
    95  
    96   $output .= "<form method='post' enctype='multipart/form-data' >\n"; 
    97   $output .= "<input type='hidden' name='exec' value='skeleditor' />";
    98   $output .= "<input type='hidden' name='operation' value='upload' />";
    99   $output .= "<input type='hidden' name='MAX_FILE_SIZE' value='200000' />";
    100   $output .= "<input type='file' name='upf'/>";
    101   $output .= _T("skeleditor:target")."<br />\n";
    102   $output .= "<select name='target'><br />\n";
    103   $output .= editor_form_directory($path_list);     
    104   $output .= "</select><br /><input type='submit' name='sub' value='"._T("skeleditor:upload")."' />";
    105   $output .= "</form>\n";
    106  
    107   $output .= fin_block();
    108   return $output;       
    109 }
    110 
    111 // skeleton parsing (more details:  public/phrase_html)
    112 function skel_parser($skel_str) {
    113   include_spip("public/interfaces");
    114   include_spip("public/phraser_html");
    115   //include_spip("public/debug");
    116 
    117   //$output .= _T('skeleditor:parseur_titre');
    118   $output .= "<div style='background: #eef; border:1px solid #eee;padding:10px;font-size:0.82em;font-family:Verdana'>";
    119  
    120   $boucles = array();
    121   $b = public_phraser_html($skel_str, 0, $boucles, 'skel_editor');
    122   $boucles = array_reverse($boucles,TRUE);
    123  
    124   /* parse outside boucles */
    125   //$output .= bouton_block_invisible("hors_boucle")._T("skeleditor:parseur_horsboucle"); 
    126   //$output .= debut_block_invisible("hors_boucle");
    127   $output .= "<div style='background: #fff;padding:10px;'>";
    128   foreach($b as $k=>$val) {
    129      if ($val->type == "champ") $output .= "<span style='color:#c30;background:#eee'>#".$val->nom_champ."</span>";
    130          else if ($val->type == "texte") $output .="<pre style='background:#ddd;margin:0;display:inline;'>&nbsp;".htmlspecialchars($val->texte)."</pre>";
    131          else if ($val->type == "include") $output .= "<span style='color:#30c;background:#cff;'>(INCLURE)</span>";
    132   }
    133   $output .= "</div>\n";
    134   $output .= fin_block()."<br />";
    135  
    136   /* parse boucles */
    137   foreach($boucles as $k=>$val) {
    138      /* version gentle */
    139      //$output .= bouton_block_invisible("skel_parser_$k")." BOUCLE$k";
    140      $output .= " <span style='color:#888'>(".strtoupper($val->type_requete).")</span>";
    141      //$output .= debut_block_invisible("skel_parser_$k");
    142      $output .= "<div style='background: #fff;padding:10px;'>"; 
    143         if ($val->id_parent) $output .= "<strong>id_parent:</strong> BOUCLE$val->id_parent<br />";     
    144         if ($val->param) $output .= "<strong>"._T('skeleditor:parseur_param')."</strong>".skel_parser_param($val->param)."<br />";       
    145         $output .= "<strong>"._T('skeleditor:parseur_contenu')."</strong><br />";
    146         $output .= skel_parser_affiche( _T('skeleditor:parseur_avant'),$val->avant, '#cc9');       
    147         $output .= skel_parser_affiche( _T('skeleditor:parseur_milieu'),$val->milieu, '#fc6');
    148         $output .= skel_parser_affiche( _T('skeleditor:parseur_apres'),$val->apres, '#fcc');
    149         $output .= skel_parser_affiche( _T('skeleditor:parseur_altern'),$val->altern, '#cfc');
    150      $output .= "</div>\n";
    151      $output .= fin_block()."<br />";
    152      
    153      /* version brute */
    154      /*                   
    155      $output .= "<strong>BOUCLE$k</strong><br />\n";
    156      foreach (get_object_vars($val) as $prop => $val2) {
    157           $output .= "\t<br />$prop = $val2\n";
    158           if (is_array($val2)) {
    159               foreach($val2 as $k3=>$val3) {
    160                   $output .= "\t\t<br>........................$k3 = $val3\n";
    161                   if (is_object($val3)) {
    162                       foreach (get_object_vars($val3) as $prop4 => $val4) {
    163                           $output .= "\t\t<br>+++........................( $prop4 = $val4 )\n";
    164                           if (is_array($val4 )) {
    165                                foreach($val4 as $k5=>$val5) {
    166                                   $output .= "\t\t<br>++++++...............$k5 = $val5 )\n";
    167                                   foreach($val5 as $k6=>$val6) {
    168                                     $output .= "\t\t<br>+++++++++++.........$k6 = $val6 )\n";
    169                                   }
    170                                }
    171                           }
    172                       }
    173                   }
    174               }
    175         }
    176     }*/
    177    
    178  }                       
    179                                                
    180   $output .= "</div>";
    181   return $output;
    182 }
    183 
    184 // affiche le code pour le parseur
    185 function skel_parser_affiche($titre, $content, $bgcolor = '#fc6') {
    186    $output = "";
    187    $output .= "<div style='background:$bgcolor'>$titre</div>";
    188    foreach ($content as $k => $str) {
    189          if ($str->type == "champ") $output .= "<span style='color:#c30;background:#eee'>#".$str->nom_champ."</span>";
    190          else if ($str->type == "texte") $output .="<pre style='background:#ddd;margin:0;display:inline;'>&nbsp;".htmlspecialchars($str->texte)."</pre>";
    191          else if ($str->type == "include") $output .= "<span style='color:#30c;background:#cff;'>(INCLUDE)</span>";
    192     }
    193    return $output;
    194 }
    195 
    196 // parse param value
    197 function skel_parser_param($str,$output='') {
    198   $output = "";
    199   if (is_array($str)) {
    200       foreach($str as $k2=>$val2) {
    201         //$output .= ".....$k2=>$val2 ($c)<br />";
    202         $output .= skel_parser_param($val2,$output); // recursive
    203       } 
    204   } else if (is_object($str)) {
    205         $output .= " {".$str->texte."} ";
    206         /*foreach (get_object_vars($str) as $prop4 => $val4) {
    207              $output .= "\t\t<br>...........( $prop4 = $val4 )\n";
    208         } */ 
    209   }
    210   return $output;
    211 }
    212 
    213 // recupere les plugins de type squelette
    214 function get_plugin_squelette() {
    215   // alternative 1: liste des plugins squelettes manuelle (blip, sarka, ...?)
    216   // alternative 2: on scanne les plugins: si article.html et sommaire.html present ? sans doute un plugin squelette
    217   $plugin_squelette = array();
    218         if ($GLOBALS['plugins']) {
    219            foreach($GLOBALS['plugins'] as $k) {     
    220                if (@is_file(_DIR_PLUGINS."$k/article.html")&&@is_file(_DIR_PLUGINS."$k/sommaire.html"))
    221                                                             $plugin_squelette[] = _DIR_PLUGINS.$k."/";       
    222      }
    223   }
    224   return $plugin_squelette;
    225 }
    226 
    227 /**
    228  * Détermine le mime_type pour le mode de codemirror à afficher, selon l'extension du nom du fichier edité
    229  *
    230  * @param string $filename
    231  * @return string
    232  */
    233 function determine_mime_type($filename) {
    234         if($filename
    235         AND $infos = pathinfo($filename)
    236         AND $extension = $infos['extension'])
    237   $mime_types = array(
    238             'txt' => 'text/plain',
    239             'htm' => 'text/html',
    240             'html' => 'text/html',
    241             'php' => 'application/x-httpd-php',
    242             'css' => 'text/css',
    243 //          'js' => 'application/javascript', codemirror2 ne doit pas avoir de mode définit pour les js
    244             'json' => 'application/json',
    245             'xml' => 'application/xml',
    246         );             
    247                 if (array_key_exists($extension, $mime_types)) {
    248                         $mode= 'mode:"'.$mime_types[$extension].'",';
    249             return $mode;
    250         }
    251 }
    252 
    253 /**
    254  * Génére le script d'appel de codemirror
    255  *
    256  * @param string $filename
    257  * @param bool $editable
    258  * @return string
    259  */
    260 function skeleditor_codemirror($filename,$editable=true){
    261         if (!$filename)
    262                 return "";
    263 
    264         $readonly = true;
    265         if (!$editable)
    266                 $readonly = "readonly: true,\n";
    267         $mode= determine_mime_type($filename);
    268        
    269 $script = '<script type="text/javascript">
    270 var editor = CodeMirror.fromTextArea(document.getElementById(\'code\'), {
    271         lineNumbers: true,
    272         matchBrackets: true,
    273         indentUnit: 6,
    274         indentWithTabs: true,
    275         enterMode: "keep",
    276         tabMode: "shift",
    277                 '.$mode.'
    278                 });
    279 var lastPos = null, lastQuery = null, marked = [];
    280  
    281 function unmark() {
    282   for (var i = 0; i < marked.length; ++i) marked[i]();
    283   marked.length = 0;
    284 }
    285  
    286 function search() {
    287   unmark();                     
    288   var text = document.getElementById("query").value;
    289   if (!text) return;
    290   for (var cursor = editor.getSearchCursor(text); cursor.findNext();)
    291     marked.push(editor.markText(cursor.from(), cursor.to(), "searched"));
    292  
    293   if (lastQuery != text) lastPos = null;
    294   var cursor = editor.getSearchCursor(text, lastPos || editor.getCursor());
    295   if (!cursor.findNext()) {
    296     cursor = editor.getSearchCursor(text);
    297     if (!cursor.findNext()) return;
    298   }
    299   editor.setSelection(cursor.from(), cursor.to());
    300   lastQuery = text; lastPos = cursor.to();
    301 }
    302  
    303 function replace() {
    304   unmark();
    305   var text = document.getElementById("query").value,
    306       replace = document.getElementById("replace").value;
    307   if (!text) return;
    308   for (var cursor = editor.getSearchCursor(text); cursor.findNext();)
    309     editor.replaceRange(replace, cursor.from(), cursor.to());
    310 }
    311 </script>';
    312         return $script;
    313 }
    31452?>
  • _plugins_/skeleditor/trunk/skeleditor_pipelines.php

    r49344 r51702  
    88 */
    99 
    10  
    11 /**
    12  * Génère les appels js ou les css selon $type, correspondants à l'extension du fichier édité
    13  *
    14  * @param string $extension
    15  * @param string $type
    16  * @return string
    17  */
    18 function skeleditor_dir($extension, $type) {
    19         if (!$extension)
    20                 return "";
    2110
    22         switch($extension){
    23                 case 'sh':
    24                 case 'txt':
    25                 case 'nfo':
    26                 case 'log':
    27                 case 'csv':
    28                         $mode = null;
    29                         break;
    30                 case 'as':
    31                 case 'js':
    32                         $mode = array("javascript");
    33                         // autoMatchParens: true
    34                         break;
    35                 case 'css':
    36                         $mode = array("css");
    37                         break;
    38                 case 'xml':
    39                 case 'svg':
    40                 case 'rdf':
    41                         $mode = array("xml");
    42                         #continuousScanning: 500,
    43                         break;
    44 /*              case 'sql':
    45                         $parsers = array("../contrib/sql/js/parsesql.js");
    46                         $css = array("css/sqlcolors.css");
    47                         #textWrapping: false,
    48                         break;
    49                 case 'py':
    50                         $parsers = array("../contrib/python/js/parsepython.js");
    51                         $css = array("css/pythoncolors.css");
    52       #  lineNumbers: true,
    53       #  textWrapping: false,
    54       #  indentUnit: 4,
    55       #  parserConfig: {'pythonVersion': 2, 'strictErrors': true}
    56                         break; */
    57 
    58                 case 'php':
    59                 case 'html':
    60                 case 'htm':
    61                 default:
    62                         $mode = array("xml", "css", "javascript",
    63                      "clike","php");
    64                         break;
    65         }
    66         if(!$type)
    67         return false;
    68 
    69         $dir = _DIR_PLUGIN_SKELEDITOR;
    70         if ($type == "css") {
    71         $files .= "
    72         <link rel='stylesheet' href='".$dir."codemirror/lib/codemirror.css' type='text/css' />
    73         <link rel='stylesheet' href='".$dir."codemirror/theme/default.css' type='text/css' />
    74         <link rel='stylesheet' href='".$dir."css/skeleditor.css' type='text/css' />";   
    75         }
    76         if ($type =="js")
    77         $files .= "<script src='".$dir."codemirror/lib/codemirror.js' type='text/javascript'></script>";
    78         foreach($mode as $cle=>$valeur) {
    79                
    80                 $test = $dir."codemirror/mode/".$valeur."/".$valeur.".".$type;
    81                         if (find_in_path($test)) {
    82                                 if ($type == "css")
    83                                 $files .= "<link rel='stylesheet' href='".$test."' type='text/css' />";
    84                                 if ($type =="js")
    85                                 $files .= "<script src='".$test."' type='text/javascript'></script>";
    86                         }
    87         }
    88        
    89         return $files;
    90 }
    9111
    9212/**
     
    13555 */
    13656function skeleditor_insert_head($flux){
    137 
     57/*
    13858        $extension = test_skeleditor_edition();
    13959                if($extension) {
    14060                $type = "js";
    14161                $script = skeleditor_dir($extension, $type);
    142                 $flux = skeleditor_insert_head_css($flux); // au cas ou il n'est pas implemente */
     62                $flux = skeleditor_insert_head_css($flux); // au cas ou il n'est pas implemente
    14363                $flux .= $script;
    144                 }
     64                }*/
    14565        return $flux;
    14666}
Note: See TracChangeset for help on using the changeset viewer.