Changeset 109854 in spip-zone for _plugins_/coloration_code/trunk


Ignore:
Timestamp:
Apr 9, 2018, 8:33:29 PM (19 months ago)
Author:
nicolas.dorigny@…
Message:

Formatage

Location:
_plugins_/coloration_code/trunk
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/coloration_code/trunk/coloration_code_fonctions.php

    r109473 r109854  
    33 * Plugin coloration code
    44 * Fonctions spécifiques au plugin
    5  * 
     5 *
    66 * @package SPIP\Coloration_code\Fonctions
    77 */
    8  
     8
    99if (!defined('_ECRIRE_INC_VERSION')) {
    1010        return;
     
    4141}
    4242
    43 
    44 function coloration_code_color($code, $language, $cadre='cadre', $englobant='div') {
     43function coloration_code_color($code, $language, $cadre = 'cadre', $englobant = 'div') {
    4544
    4645        // On ajoute une argument a la fonction pour permettre d'afficher du code dans des <span>
     
    4847        // et pas <cadre> pour des raisons de validite et de presentation.
    4948        // En outre, le bouton telecharger n'est pas affiche.
    50         if ($cadre == 'cadre')
     49        if ($cadre == 'cadre') {
    5150                $englobant = 'div';
    52         $balise_code = ($englobant == 'div' ? "div":"code");
     51        }
     52        $balise_code = ($englobant == 'div' ? "div" : "code");
    5353
    5454        // Supprime le premier et le dernier retour chariot
     
    5656        $code = preg_replace("/(\r\n|\n|\r)*$/", "", $code);
    5757
    58         $params = explode(' ', $language);
     58        $params   = explode(' ', $language);
    5959        $language = array_shift($params);
    60        
    61         if ($language=='spip') $language = PLUGIN_COLORATION_CODE_COLORIEUR_SPIP;
    62         if ($language=='bibtex' and _COLORATION_BIBTEX_COMME_BIBLATEX == 1) $language = 'biblatex';
     60
     61        if ($language == 'spip') {
     62                $language = PLUGIN_COLORATION_CODE_COLORIEUR_SPIP;
     63        }
     64        if ($language == 'bibtex' and _COLORATION_BIBTEX_COMME_BIBLATEX == 1) {
     65                $language = 'biblatex';
     66        }
    6367        include_spip('inc/spip_geshi');
    6468        //
     
    7074        }
    7175        global $spip_lang_right;
    72        
     76
    7377        // eviter des ajouts abusifs de CSS par Geshy
    7478        // qui pose des 'font-family: monospace;' un peu partout
     
    8185                $geshi->enable_classes();
    8286                if (!PLUGIN_COLORATION_CODE_SANS_STYLES) {
    83                         $stylecss = "<style type='text/css'>".$geshi->get_stylesheet()."</style>";
    84                 }
    85         }
    86 
     87                        $stylecss = "<style type='text/css'>" . $geshi->get_stylesheet() . "</style>";
     88                }
     89        }
    8790
    8891        if (defined('PLUGIN_COLORATION_CODE_TAB_WIDTH') and PLUGIN_COLORATION_CODE_TAB_WIDTH) {
     
    99102
    100103        $telecharge = ($englobant == 'div')
    101          &&     (PLUGIN_COLORATION_CODE_TELECHARGE || in_array('telechargement', $params))
    102          && (strpos($code, "\n") !== false) && !in_array('sans_telechargement', $params);
     104                && (PLUGIN_COLORATION_CODE_TELECHARGE || in_array('telechargement', $params))
     105                && (strpos($code, "\n") !== false) && !in_array('sans_telechargement', $params);
    103106        if ($telecharge) {
    104107                // Gerer le fichier contenant le code au format texte
    105108                $nom_fichier = md5($code);
    106                 $dossier = sous_repertoire(_DIR_VAR, 'cache-code');
    107                 $fichier = "$dossier$nom_fichier.txt";
     109                $dossier     = sous_repertoire(_DIR_VAR, 'cache-code');
     110                $fichier     = "$dossier$nom_fichier.txt";
    108111
    109112                if (!file_exists($fichier)) {
     
    115118         * On insère un attribut data-clipboard-text si on n'a pas le lien de téléchargement car pas de saut de ligne
    116119         */
    117         $datatext = !$telecharge && PLUGIN_COLORATION_CODE_TELECHARGE;
     120        $datatext         = !$telecharge && PLUGIN_COLORATION_CODE_TELECHARGE;
    118121        $datatext_content = "";
    119122        if ($datatext) {
    120                 $datatext_content = ' data-clipboard-text="'.attribut_html($code).'"';
    121         }
    122 
    123         if ($cadre == 'cadre' OR $englobant=="div") {
    124                 $geshi->set_header_type(GESHI_HEADER_DIV);
     123                $datatext_content = ' data-clipboard-text="' . attribut_html($code) . '"';
     124        }
     125
     126        if ($cadre == 'cadre' OR $englobant == "div") {
     127                $geshi->set_header_type(GESHI_HEADER_DIV);
    125128                $geshi->enable_line_numbers(GESHI_NORMAL_LINE_NUMBERS);
    126129        } else {
     
    139142                $code_corps = $geshi->parse_code();
    140143                // supprimer le <pre> englobant, qui sera ajouté par PRECODE
    141                 $code_corps = trim( preg_replace('!^<pre[^>]*>|</pre>$!', '', $code_corps), "\n\r");
     144                $code_corps = trim(preg_replace('!^<pre[^>]*>|</pre>$!', '', $code_corps), "\n\r");
    142145                $rempl      = precode_balisage_code('class="' . $language . '"', $code_corps);
    143146        } else {
     
    154157/**
    155158 * Est-ce à Geshi de traiter les codes et cadres ou on utilise les fonctions natives de SPIP
    156  * 
     159 *
    157160 * @param array $regs
     161 *
    158162 * @return string $ret
    159163 */
     
    161165
    162166        // pour l'instant, on oublie $matches[1] et $matches[4] les attributs autour de class="machin"
    163         if (preg_match(',^(.*)class=("|\')(.*)\2(.*)$,Uims',$regs[2], $matches)){
     167        if (preg_match(',^(.*)class=("|\')(.*)\2(.*)$,Uims', $regs[2], $matches)) {
    164168                $englobant = "div";
    165                 if ($regs[1]=="code" AND strpos($regs[3],"\n")===false)
     169                if ($regs[1] == "code" AND strpos($regs[3], "\n") === false) {
    166170                        $englobant = "span";
    167                 if ($ret = coloration_code_color($regs[3], $matches[3], $regs[1], $englobant))
     171                }
     172                if ($ret = coloration_code_color($regs[3], $matches[3], $regs[1], $englobant)) {
    168173                        return $ret;
     174                }
    169175        } else {
    170176                // traiter les <cadre> sans class par precode pour ne pas générer de <textarea>
    171                 if ($regs[1]=="cadre" && defined('_DIR_PLUGIN_PRECODE') && _DIR_PLUGIN_PRECODE) {
     177                if ($regs[1] == "cadre" && defined('_DIR_PLUGIN_PRECODE') && _DIR_PLUGIN_PRECODE) {
    172178                        return precode_balisage_code('class=""', trim($regs[3]));
    173179                }
    174180        }
    175181
    176         if ($regs[1] == 'code')
     182        if ($regs[1] == 'code') {
    177183                return traiter_echap_code_dist($regs);
     184        }
    178185
    179186        return traiter_echap_cadre_dist($regs);
     
    181188
    182189/**
    183  * Surcharge de la fonction traiter_echap_code_dist native de SPIP 
     190 * Surcharge de la fonction traiter_echap_code_dist native de SPIP
    184191 * cf : ecrire/inc/texte_mini
    185  * 
     192 *
    186193 * @param array $regs
    187  * @return string
     194 *
     195 * @return string
    188196 */
    189197function traiter_echap_code($regs) {
     
    192200
    193201/**
    194  * Surcharge de la fonction traiter_echap_cadre_dist native de SPIP 
     202 * Surcharge de la fonction traiter_echap_cadre_dist native de SPIP
    195203 * cf : ecrire/inc/texte_mini
    196  * 
     204 *
    197205 * @param array $regs
    198  * @return string
     206 *
     207 * @return string
    199208 */
    200209function traiter_echap_cadre($regs) {
  • _plugins_/coloration_code/trunk/coloration_code_pipelines.php

    r103079 r109854  
    1616 *
    1717 * @param string $flux
    18  *              Le contenu de la partie css du head
     18 *        Le contenu de la partie css du head
     19 *
    1920 * @return string $flux
    20  *              Le contenu de la partie css du head modifiée
     21 *        Le contenu de la partie css du head modifiée
    2122 */
    2223function coloration_code_header_prive_css($flux) {
     
    3031 *
    3132 * @param string $flux
     33 *
    3234 * @return string
    3335 */
    3436function coloration_code_insert_head_css($flux) {
    3537        if ($f = find_in_path('css/coloration_code.css') and !PLUGIN_COLORATION_CODE_SANS_STYLES) {
    36                 $flux .= '<link rel="stylesheet" href="'.direction_css($f).'" type="text/css" media="all" />';
     38                $flux .= '<link rel="stylesheet" href="' . direction_css($f) . '" type="text/css" media="all" />';
    3739        }
    3840        return $flux;
Note: See TracChangeset for help on using the changeset viewer.