Changeset 81153 in spip-zone


Ignore:
Timestamp:
Mar 3, 2014, 2:43:41 PM (5 years ago)
Author:
severo@…
Message:

crayons - s'assurer que l'objet est pris en charge

par l'API d'édition des objets avant d'utiliser
objet_modifier(). On crée une fonction intermédiaire
pour mettre les paramètres dans le bon ordre. Et on
sort le code de la fonction crayons_update qui est
destinée aux objets inconnus de l'API.

Location:
_plugins_/crayons
Files:
2 edited

Legend:

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

    r81147 r81153  
    239239                }
    240240                if (!$fun or !function_exists($fun)) {
     241                        if (table_objet_sql($type)
     242                            AND include_spip('action/editer_objet')
     243                            AND function_exists('objet_modifier')
     244                            AND function_exists('wrap_objet_modifier')) {
     245                                $fun = 'wrap_objet_modifier';
     246                        } else {
    241247                                $fun = 'crayons_update';
    242248                                // $return['$erreur'] = "$type: " . _U('crayons:non_implemente');
    243249                                // break;
     250                        }
    244251                }
    245252
     
    360367        list($distant,$table) = distant_table($type);
    361368
    362         if (include_spip('action/editer_objet')
    363                 AND function_exists($modifier = "objet_modifier")) {
    364                 $a = $modifier($type,$id,$colval);
    365         }
    366         else if ($distant) {
     369        if ($distant) {
    367370                list($nom_table, $where) = table_where($type, $id);
    368371                if (!$nom_table)
  • _plugins_/crayons/inc/crayons.php

    r80224 r81153  
    377377                }
    378378        return true;
     379}
     380
     381function wrap_objet_modifier($id, $data, $type, $ref) {
     382        if (include_spip('action/editer_objet')
     383            AND function_exists('objet_modifier')) {
     384                return objet_modifier($type,$id,$data);
     385        }
     386        return false;
    379387}
    380388
Note: See TracChangeset for help on using the changeset viewer.