Changeset 118548 in spip-zone


Ignore:
Timestamp:
Nov 12, 2019, 2:12:56 PM (4 months ago)
Author:
Cerdic
Message:

nettoyage des fonctions vieilles compat, deprecated, et on monte la version mini a SPIP 3.1 qui est la seule encore maintenue (et permet de nettoyer le code autour des logos aussi)

Location:
_plugins_/crayons/trunk
Files:
6 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/crayons/trunk

    • Property subgit:lock:3b5a453b367121b19ae8bbce0ef340c4eaf71d95 deleted
    • Property subgit:lock:c9b26d7931e87e183b8fb59e8cdee6d8a286bdf2 set to 2019-11-12T18:29:17.226
  • _plugins_/crayons/trunk/action/crayons_store.php

    r114388 r118548  
    483483                        // modification d'une table principale
    484484                        include_spip('inc/modifier');
    485                         $a = modifier_contenu($type, $id, array(), $colval);
     485                        $res = objet_modifier_champs($type, $id, array(), $colval);
     486                        $a = ($res === '' ? true : false);
    486487                }
    487488        }
     
    496497
    497498        // Enregistrer les nouveaux contenus
    498         revisions_articles($id_article, $c);
     499        article_modifier($id_article, $c);
    499500
    500501        // En cas de statut ou de id_rubrique
     
    504505                unset($c['id_rubrique']);
    505506        }
    506         instituer_article($id_article, $c);
     507        article_instituer($id_article, $c);
    507508}
    508509
     
    586587        } else {
    587588                // Cas normal : JSON
    588                 echo crayons_json_export($r);
     589                echo crayons_json_encode($r);
    589590        }
    590591
  • _plugins_/crayons/trunk/inc/crayons-json.php

    r118546 r118548  
    6262}
    6363
    64 // Un json_encode qui marche en iso (la spec JSON exige utf-8)
     64/**
     65 * Un json_encode qui marche en iso (la spec JSON exige utf-8)
     66 * @param $v
     67 * @return bool|false|mixed|string
     68 */
    6569function crayons_json_encode($v) {
    6670        if ($GLOBALS['meta']['charset'] == 'utf-8' and function_exists('json_encode')) {
     
    7882}
    7983
    80 // https://code.spip.net/@json_export
     84/**
     85 * https://code.spip.net/@json_export
     86 *
     87 * @param $var
     88 * @return bool|false|mixed|string
     89 * @deprecated
     90 */
    8191function crayons_json_export($var) {
    8292        return crayons_json_encode($var);
    83 
    84 /// Il semble que ce hack n'ait plus lieu d'etre avec jquery 1.5
    85 /*
    86         // flag indiquant qu'on est en iframe et qu'il faut proteger nos
    87         // donnees dans un <textarea> ; attention $_FILES a ete vide par array_pop
    88         if (defined('FILE_UPLOAD'))
    89                 return "<textarea>".htmlspecialchars($var)."</textarea>";
    90         else
    91                 return $var;
    92 */
    9393}
  • _plugins_/crayons/trunk/inc/crayons.php

    r118546 r118548  
    1212
    1313define('_PREG_CRAYON', ',crayon\b[^<>\'"]+?\b((\w+)-(\w+)-(\w+(?:-\w+)*))\b,');
    14 
    15 // Compatibilite pour 1.92 : on a besoin de sql_fetch et table_objet_sql
    16 if ($GLOBALS['spip_version_code'] < '1.93' and $f = charger_fonction('compat_crayons', 'inc')) {
    17         $f();
    18 }
    1914
    2015// Autoriser les crayons sur les tables non SPIP ?
     
    7166        }
    7267}
    73 //compat 192 documents
    74 if ($GLOBALS['spip_version_code'] < '1.93') {
    75         if (!function_exists('get_spip_doc')) {
    76                 function get_spip_doc($fichier) {
    77                         // fichier distant
    78                         if (preg_match(',^\w+://,', $fichier)) {
    79                                 return $fichier;
    80                         }
    81                         // gestion d'erreurs, fichier=''
    82                         if (!strlen($fichier)) {
    83                                 return false;
    84                         }
    85 
    86                         // fichier normal
    87                         return (strpos($fichier, _DIR_IMG) === false) ? _DIR_IMG . $fichier : $fichier;
    88                 }
    89         }
    90 }
    9168
    9269// Autoriser l'usage des crayons ?
     
    139116// Idem : si un doc est demande, on renvoie la date du doc
    140117function valeur_champ_document($table, $id, $champ) {
    141         $s = spip_query('SELECT date FROM spip_documents WHERE id_document=' . _q($id));
    142         if ($t = sql_fetch($s)) {
    143                 return $t['date'];
    144         }
     118        return sql_getfetsel('date', 'spip_documents', 'id_document=' . intval($id));
    145119}
    146120
     
    163137                define('FILE_UPLOAD', true); // message pour crayons_json_export :(
    164138
    165                 if (include_spip('action/editer_logo')
    166                         and function_exists('logo_modifier')) {
    167                         logo_modifier($type, $id, 'on', $file['logo']);
    168                 } else {
    169                         // compat SPIP < 3.1
    170                         // supprimer l'ancien logo
    171                         $on = $chercher_logo($id, $_id_objet, 'on');
    172                         if ($on) {
    173                                 @unlink($on[0]);
    174                         }
    175 
    176                         // ajouter le nouveau
    177                         include_spip('action/iconifier');
    178                         action_spip_image_ajouter_dist(type_du_logo($_id_objet) . 'on' . $id, false, false); // beurk
    179                 }
     139                include_spip('action/editer_logo');
     140                logo_modifier($type, $id, 'on', $file['logo']);
    180141        } else {
    181142                // Suppression du logo ?
    182143                if ($wid = array_pop($ref)
    183144                        and $_POST['content_'.$wid.'_logo_supprimer'] == 'on') {
    184                         if (include_spip('action/editer_logo')
    185                                 and function_exists('logo_supprimer')) {
    186                                 logo_supprimer($type, $id, 'on');
    187                         } else {
    188                                 if ($on = $chercher_logo($id, $_id_objet, 'on')) {
    189                                         @unlink($on[0]);
    190                                 }
    191                         }
     145                        include_spip('action/editer_logo');
     146                        logo_supprimer($type, $id, 'on');
    192147                }
    193148        }
     
    203158                if (@file_exists($img2)
    204159                        and $img2 !=  $temp) {
    205                         if (include_spip('action/editer_logo')
    206                                 and function_exists('logo_modifier')) {
    207                                 logo_modifier($type, $id, 'on', $img2);
    208                         } else {
    209                                 @unlink($on[0]);
    210                                 $dest = $on[1].$on[2].'.'
    211                                         .preg_replace(',^.*\.(gif|jpg|png)$,', '\1', $img2);
    212                                 @rename($img2, $dest);
    213                         }
     160                        include_spip('action/editer_logo');
     161                        logo_modifier($type, $id, 'on', $img2);
    214162                }
    215163                @unlink($temp);
     
    223171function document_fichier_revision($id, $data, $type, $ref) {
    224172
    225         $s = spip_query('SELECT * FROM spip_documents WHERE id_document=' . intval($id));
    226         if (!$t = sql_fetch($s)) {
     173        if (!$t = sql_fetsel('*', 'spip_documents', 'id_document=' . intval($id))) {
    227174                return false;
    228175        }
     
    244191
    245192        // Chargement d'un nouveau doc ?
    246         if ($data['document']) {
     193        if ($data['document']){
    247194                $arg = $data['document'];
    248195                /**
     
    250197                 * ou SPIP 2.x + Mediathèque
    251198                 */
    252                 if ($ajouter_documents = charger_fonction('ajouter_documents', 'action', true)) {
    253                         $actifs = $ajouter_documents($id, array($arg), '', 0, $t['mode']);
    254                         $x = reset($actifs);
    255                         if (is_numeric($x)) {
    256                                 return true;
    257                         } else {
    258                                 return false;
    259                         }
    260                 } elseif ($ajouter_documents = charger_fonction('ajouter_documents', 'inc', true)) {
    261                         /**
    262                          * Méthode SPIP < 3.0
    263                          */
    264                         check_upload_error($arg['error']);
    265                         $x = $ajouter_documents($arg['tmp_name'], $arg['name'],
    266                                         'article', 0, 'document', null, $actifs);
    267                         // $actifs contient l'id_document nouvellement cree
    268                         // on recopie les donnees interessantes dans l'ancien
    269                          $extension = ', extension ';
    270                         //compat 192
    271                         if ($GLOBALS['spip_version_code'] < '1.93') {
    272                                 $extension = '';
    273                         }
    274 
    275                         if ($id_new = array_pop($actifs)
    276                                 and $s = spip_query("SELECT fichier, taille, largeur, hauteur $extension, distant FROM spip_documents
    277                                 WHERE id_document="._q($id_new))
    278                                 and $new = sql_fetch($s)) {
    279                                 define('FILE_UPLOAD', true); // message pour crayons_json_export :(
    280 
    281                                 // Une vignette doit rester une image
    282                                 if ($t['mode'] == 'vignette'
    283                                         and !in_array($new['extension'], array('jpg', 'gif', 'png'))) {
    284                                         return false;
    285                                 }
    286 
    287                                 // Maintenant on est bon, on recopie les nouvelles donnees
    288                                 // dans l'ancienne ligne spip_documents
    289                                 include_spip('inc/modifier');
    290                                 modifier_contenu(
    291                                         'document',
    292                                         $id,
    293                                         # 'champs' inutile a partir de SPIP 11348
    294                                         array('champs' => array_keys($new)),
    295                                         $new
    296                                 );
    297 
    298                                 // supprimer l'ancien document (sauf s'il etait distant)
    299                                 if ($t['distant'] != 'oui'
    300                                         and file_exists(get_spip_doc($t['fichier']))) {
    301                                         supprimer_fichier(get_spip_doc($t['fichier']));
    302                                 }
    303 
    304                                 // Effacer la ligne temporaire de spip_document
    305                                 spip_query('DELETE FROM spip_documents WHERE id_document='.intval($id_new));
    306 
    307                                 // oublier id_document temporaire (ca marche chez moi, sinon bof)
    308                                 spip_query('ALTER TABLE spip_documents AUTO_INCREMENT='.intval($id_new));
    309 
    310                                 return true;
    311                         }
     199                $ajouter_documents = charger_fonction('ajouter_documents', 'action');
     200                $actifs = $ajouter_documents($id, array($arg), '', 0, $t['mode']);
     201                $x = reset($actifs);
     202                if (is_numeric($x)){
     203                        return true;
     204                } else {
     205                        return false;
    312206                }
    313207        }
     
    317211// soit recoit le fichier upload a passer ou remplacer la vignette du document
    318212function vignette_revision($id, $data, $type, $ref) {
    319         $s = sql_fetsel('id_document,id_vignette', 'spip_documents', 'id_document = '.intval($id));
    320         if (!is_array($s)) {
     213        if (!$s = sql_fetsel('id_document,id_vignette', 'spip_documents', 'id_document = '.intval($id))) {
    321214                return false;
    322215        }
     
    355248                $arg = $data['vignette'];
    356249                check_upload_error($arg['error']);
     250
    357251                // Ajout du document comme vignette
    358 
    359                 /**
    360                  * Méthode >= SPIP 3.0
    361                  * ou SPIP 2.x + Mediatheque
    362                  */
    363                 if ($ajouter_documents = charger_fonction('ajouter_documents', 'action', true)) {
    364                         $x = $ajouter_documents(null,array($arg),'', 0, 'vignette');
    365                         $vignette = reset($x);
    366                         if (intval($vignette)) {
    367                                 document_modifier($id, array('id_vignette'=>$vignette));
    368                         } elseif ($id_vignette) {
    369                                 document_modifier($id, array('id_vignette'=>$id_vignette));
    370                         }
    371                 } elseif ($ajouter_documents = charger_fonction('ajouter_documents', 'inc', true)) {
    372                         /**
    373                          * Méthode < SPIP 3.0
    374                          */
    375                         // On remet l'id_vignette a 0 si on l'a supprimé
    376                         if ($id_vignette) {
    377                                 revision_document($s['id_document'], array('id_vignette' => 0));
    378                         }
    379                         $x = $ajouter_documents($arg['tmp_name'], $arg['name'],'','', 'vignette', $id, $actifs);
     252                $ajouter_documents = charger_fonction('ajouter_documents', 'action');
     253                $x = $ajouter_documents(null,array($arg),'', 0, 'vignette');
     254                $vignette = reset($x);
     255                if (intval($vignette)) {
     256                        document_modifier($id, array('id_vignette'=>$vignette));
     257                } elseif ($id_vignette) {
     258                        document_modifier($id, array('id_vignette'=>$id_vignette));
    380259                }
    381260        } elseif ($wid = array_pop($ref)
     
    404283
    405284                        // On remet l'id_vignette a 0
    406                         revision_document($s['id_document'], array('id_vignette'=>0));
     285                        document_modifier($s['id_document'], array('id_vignette'=>0));
    407286                }
    408287        }
     
    622501        $id = str_replace('__', '/', $id);
    623502
    624         // Éviter de planter les vieux SPIP
    625         if (false === strpos($id, '/')) {
    626                 $config = isset($GLOBALS['meta'][$id]) ? $GLOBALS['meta'][$id] : '';
    627         // SPIP 3 ou Bonux 2 ou CFG
    628         } else {
    629                 include_spip('inc/config');
    630                 $config =  lire_config($id, '');
    631         }
     503        include_spip('inc/config');
     504        $config =  lire_config($id, '');
     505
    632506        return array('valeur' => $config);
    633507}
     
    635509
    636510function return_log($var) {
    637         die(crayons_json_export(array('$erreur'=> var_export($var, true))));
     511        die(crayons_json_encode(array('$erreur'=> var_export($var, true))));
    638512}
    639513
     
    678552                $try = array(table_objet_sql($table), 'spip_'.table_objet($table), 'spip_' . $table . 's', $table . 's', 'spip_' . $table, $table);
    679553
    680                 // premiere possibilite (à partir de 1.9.3) : regarder directement la base
    681                 if (function_exists('sql_showtable')) {
    682                         foreach ($try as $nom) {
    683                                 if ($q = sql_showtable($nom, !$distant, $distant)) {
    684                                         $noms[$table] = $nom;
    685                                         $return[$table] = $q;
    686                                         break;
    687                                 }
    688                         }
    689                 }
    690 
    691                 // seconde, une heuristique 1.9.2
    692                 if (!isset($return[$table])) {
    693                         include_spip('base/serial');
    694                         include_spip('base/auxiliaires');
    695                         include_spip('public/parametrer');
    696                         foreach (array('tables_principales', 'tables_auxiliaires') as $categ) {
    697                                 foreach ($try as $nom) {
    698                                         if (isset($GLOBALS[$categ][$nom])) {
    699                                                 $noms[$table] = $nom;
    700                                                 $return[$table] = & $GLOBALS[$categ][$nom];
    701                                                 break 2;
    702                                         }
    703                                 }
     554                foreach ($try as $nom) {
     555                        if ($q = sql_showtable($nom, !$distant, $distant)) {
     556                                $noms[$table] = $nom;
     557                                $return[$table] = $q;
     558                                break;
    704559                        }
    705560                }
  • _plugins_/crayons/trunk/modeles/uploader_liste.html

    r59917 r118548  
    3838
    3939</div>
    40 
    41 <!--
    42 /*
    43 
    44 $(function(){
    45         var fileTemplate="<div id=\"{{id}}\">";
    46         fileTemplate+="<div class=\"progressbar\"></div>";
    47         fileTemplate+="<div class=\"preview\"></div>";
    48         fileTemplate+="<div class=\"filename\">{{filename}}</div>";
    49         fileTemplate+="</div>";
    50         function slugify(text){
    51                 text=text.replace(/[^-a-zA-Z0-9,&\s]+/ig,'');
    52                 text=text.replace(/-/gi,"_");
    53                 text=text.replace(/\s/gi,"-");
    54                 return text;
    55         }
    56 
    57         $("#dropbox")
    58         .html5Uploader({
    59                 onClientLoadStart:function(e,file){
    60                         var upload=$("#upload");
    61                         if(upload.is(":hidden")){
    62                                 upload.show();
    63                         }
    64                         upload.append(
    65                                 fileTemplate
    66                                         .replace(/{{id}}/g, slugify(file.name))
    67                                         .replace(/{{filename}}/g,file.name)
    68                         );
    69                 },
    70                 onClientLoad:function(e,file){
    71                         $("#"+slugify(file.name))
    72                         .find(".preview")
    73                         .append("<img src=\""+e.target.result+"\" alt=\"\">");
    74                 },
    75                 onServerLoadStart:function(e,file){
    76                         $("#"+slugify(file.name))
    77                         .find(".progressbar")
    78                         .progressbar({value:0});
    79                 },
    80                 onServerProgress:function(e,file){
    81                         if(e.lengthComputable){
    82                                 var percentComplete=(e.loaded/e.total)*100;
    83                                 $("#"+slugify(file.name))
    84                                 .find(".progressbar")
    85                                         .progressbar({value:percentComplete});
    86                         }
    87                 },
    88                 onServerLoad:function(e,file){
    89                         $("#"+slugify(file.name))
    90                         .find(".progressbar")
    91                                 .progressbar({value:100});
    92                 }
    93         });
    94 
    95         $(".download")
    96         .mousedown(function(){
    97                 $(this).css({
    98                         "background-image":"url('images/download-clicked.png')"
    99                 });
    100         })
    101         .mouseup(function(){
    102                 $(this).css({
    103                         "background-image":"url('images/download.png')"
    104                 });
    105         });
    106 
    107 
    108 });
    109 
    110 
    111 */
    112 -->
  • _plugins_/crayons/trunk/paquet.xml

    r118546 r118548  
    44        version="2.0.0"
    55        etat="dev"
    6         compatibilite="[3.0.0;3.3.*]"
     6        compatibilite="[3.1.0;3.3.*]"
    77        logo="images/crayon-32.png"
    88        documentation="https://contrib.spip.net/Les-Crayons"
Note: See TracChangeset for help on using the changeset viewer.