Changeset 81671 in spip-zone


Ignore:
Timestamp:
Mar 31, 2014, 4:11:53 PM (5 years ago)
Author:
cedric@…
Message:

Allons plus loin que r81153 et r81169 : si l'API editer_objet est disponible, on l'utilise pour tout objet bien déclaré, y compris ceux du core
+ un peu de documentation en commentaires
Ne change rien en SPIP<3
On incrémente en v1.19.0 le plugin

Location:
_plugins_/crayons
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/crayons/action/crayons_store.php

    r81669 r81671  
    190190                list($type, $modele, $id, $content, $wid) = $modif;
    191191
    192                 // MODELE
    193192                $fun = '';
     193                // si le crayon est un MODELE avec une fonction xxx_revision associee
     194                // cas ou une fonction xxx_revision existe
    194195                if (function_exists($f = $type.'_'. $modele . "_revision")
    195196                OR function_exists($f = $modele . "_revision")
    196197                OR function_exists($f = $type . "_revision"))
    197198                        $fun = $f;
     199
     200                // si on est en SPIP 3+ et qu'on edite un objet editorial bien declare
     201                // passer par l'API objet_modifier
     202                elseif (function_exists('lister_tables_objets_sql')
     203                  AND $tables_objet = lister_tables_objets_sql()
     204                        AND isset($tables_objet[table_objet_sql($type)])) {
     205                        $fun = 'crayons_objet_modifier';
     206                }
     207
     208                // sinon spip < 3 (ou pas un objet edito)
     209                // on teste les objets connus et on route sur les fonctions correspondantes
    198210                else switch($type) {
    199211                        case 'article':
     
    238250                                break;
    239251                }
     252
     253                // si on a pas reussi on passe par crayons_update() qui fera un update sql brutal
    240254                if (!$fun or !function_exists($fun)) {
    241                         // si on est en SPIP 3+ et qu'on edite un objet editorial bien declare
    242                         // passer par l'API objet_modifier
    243                         if (function_exists('lister_tables_objets_sql')
    244                           AND $tables_objet = lister_tables_objets_sql()
    245                                 AND isset($tables_objet[table_objet_sql($type)])) {
    246                                 $fun = 'crayons_objet_modifier';
    247                         } else {
    248                                 $fun = 'crayons_update';
    249                                 // $return['$erreur'] = "$type: " . _U('crayons:non_implemente');
    250                                 // break;
    251                         }
     255                        $fun = 'crayons_update';
     256                        // $return['$erreur'] = "$type: " . _U('crayons:non_implemente');
     257                        // break;
    252258                }
    253259
  • _plugins_/crayons/paquet.xml

    r81669 r81671  
    22        prefix="crayons"
    33        categorie="edition"
    4         version="1.18.1"
     4        version="1.19.0"
    55        etat="stable"
    66        compatibilite="[1.9.0;3.*.*]"
  • _plugins_/crayons/plugin.xml

    r81669 r81671  
    1717        </licence>
    1818        <version>
    19         1.18.1
     19        1.19.0
    2020        </version>
    2121        <etat>
Note: See TracChangeset for help on using the changeset viewer.