Changeset 10200 in spip-zone


Ignore:
Timestamp:
Mar 6, 2007, 4:27:42 PM (14 years ago)
Author:
cedric@…
Message:

"permettre l'ajout de donnees dans les champs de f&t, c'est mieux
une surcouche de definition du controleur en fonction du type de la table, pour les plugins"

File:
1 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/_stable_/crayons/controleurs/forms_donnee.php

    r10183 r10200  
    33function controleurs_forms_donnee_dist($regs) {
    44        list(,$crayon,$type,$champ,$id) = $regs;
    5         $res = spip_query("SELECT id_form FROM spip_forms_donnees WHERE id_donnee="._q($id));
     5        $res = spip_query("SELECT d.id_form,f.type_form FROM spip_forms_donnees AS d JOIN spip_forms AS f ON f.id_form=d.id_form WHERE d.id_donnee="._q($id));
    66        if( !$row = spip_fetch_array($res))
    7                 return array("$type $id $champ: " . _U('crayons:form_introuvable'), 6);
     7                return array("$type $id $champ: " . _U('crayons:pas_de_valeur'), 6);
    88        $id_form = $row['id_form'];
     9        $type_form = $row['type_form'];
     10       
     11        if ($f = charger_fonction($type_form.'_donnee_'.$champ, 'controleurs', true)
     12          OR $f = charger_fonction($type_form.'_donnee_'.$champ, 'controleurs', true) )
     13          return $f($regs,$id_form,$type_form);
    914       
    1015        include_spip('inc/forms');
    1116        $valeurs = Forms_valeurs($id,$id_form,$champ);
     17        # autoriser la creation de valeurs !
    1218        if (!count($valeurs))
    13                 return array("$type $id $champ: " . _U('crayons:pas_de_valeur'), 6);
     19                #return array("$type $id $champ: " . _U('crayons:pas_de_valeur'), 6);
     20                $valeurs = array($champ=>'');
    1421
    1522        $n = new Crayon("$type-$champ-" . $id, $valeurs,
Note: See TracChangeset for help on using the changeset viewer.