Changeset 10070 in spip-zone


Ignore:
Timestamp:
Mar 2, 2007, 5:24:23 PM (13 years ago)
Author:
cedric@…
Message:

"bug d'autorisation dans les liaisons (dangereuses ?)
enrichissement de l'api"

Location:
_plugins_/_stable_/forms/forms_et_tables_1_9_1
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/_stable_/forms/forms_et_tables_1_9_1/base/forms_base_api.php

    r9887 r10070  
    7070}
    7171
     72include_spip('forms_fonctions');
     73function Forms_les_valeurs($id_form, $id_donnee, $champ, $separateur=",",$etoile=false){
     74        return forms_calcule_les_valeurs('forms_donnees_champs', $id_donnee, $champ, $id_form, $separateur,$etoile);
     75}
    7276
    7377?>
  • _plugins_/_stable_/forms/forms_et_tables_1_9_1/forms_fonctions.php

    r10060 r10070  
    2626                }
    2727                else
    28                         return forms_calcule_valeur_jointure($type, $id_donnee, $champ, $id_form);
    29         }
    30         function forms_calcule_valeur_jointure($type, $id_donnee, $champ, $id_form){
     28                        return forms_calcule_valeur_jointure($type, $id_donnee, $champ, $id_form, $etoile);
     29        }
     30        function forms_calcule_valeur_jointure($type, $id_donnee, $champ, $id_form,$separateur,$etoile=false){
    3131                static $type_joint = array();
    3232                static $prefixi18n = array();
     
    5555                $cpt = spip_num_rows($res);
    5656                $out = "";
    57                 if ($cpt==0) $out .= _T("$pre:aucune_reponse");
    58                 else if ($cpt==1) $out .= _T("$pre:une_reponse");
    59                 else $out .= _T("$pre:nombre_reponses",array('nombre'=>$cpt));
     57                if (!$etoile){
     58                        if ($cpt==0) $out .= _T("$pre:aucune_reponse");
     59                        else if ($cpt==1) $out .= _T("$pre:une_reponse");
     60                        else $out .= _T("$pre:nombre_reponses",array('nombre'=>$cpt));
     61                }
     62                else {
     63                        $out .="0";
     64                        while ($row = spip_fetch_array($res))
     65                                $out .= $separateur.$row['id_donnee_liee'];
     66                }
    6067                return $out;
    6168        }
  • _plugins_/_stable_/forms/forms_et_tables_1_9_1/forms_options.php

    r10005 r10070  
    1919
    2020function autoriser_form_dist($faire, $type='', $id=0, $qui = NULL, $opt = NULL) {
    21         if ($type=='form')
     21        if ($type=='form' OR $type=='donnee'){
    2222                if ($faire=='administrer'){
    2323                        return ($qui['statut'] == '0minirezo');
     
    2525                else
    2626                        return ($qui['statut'] == '0minirezo');
     27        }
    2728        return false;
    2829}
  • _plugins_/_stable_/forms/forms_et_tables_1_9_1/inc/forms.php

    r9909 r10070  
    822822                                $vals = array();
    823823                                $vals[] = $id_donnee;
    824                                 $vals[] = "<a href='".generer_url_ecrire("donnees_edit","id_form=$id_form&id_donnee=$id_donnee&retour=".urlencode($retour))."'>"
    825                                         .implode(", ",$champs)."</a>";
     824                                if ($lieeliante=='liee')
     825                                        $auth_modifier = autoriser('modifier',$type_autoriser,$iid,NULL,array('id_donnee_liee'=>$id_donnee));
     826                                else
     827                                        $auth_modifier = autoriser('modifier',$type_autoriser,$id_donnee,NULL,array('id_form'=>$id_form,'id_donnee_liee'=>$iid));
     828                                $vals[] =
     829                                  ($auth_modifier?"<a href='".generer_url_ecrire("donnees_edit","id_form=$id_form&id_donnee=$id_donnee&retour=".urlencode($retour))."'>":"")
     830                                  .implode(", ",$champs)
     831                                  .($auth_modifier?"</a>":"");
    826832                                $redirect = ancre_url((_DIR_RESTREINT?"":_DIR_RESTREINT_ABS).self(),'tables');
    827833                                $action = "";
    828834                                if ($lieeliante=='liee'){
    829                                         if (autoriser("delier_donnee",$type_autoriser,$id,NULL,array('id_donnee_liee'=>$id_donnee)))
     835                                        if (autoriser("delier_donnee",$type_autoriser,$iid,NULL,array('id_donnee_liee'=>$id_donnee)))
    830836                                                $action = generer_action_auteur("forms_lier_donnees","$id,$type_source,retirer,$id_donnee",urlencode($redirect));
    831837                                }
    832838                                else
    833                                         if (autoriser("delier_donnee",$type_autoriser,$id_donnee,NULL,array('id_form'=>$id_form,'id_donnee_liee'=>$id)))
     839                                        if (autoriser("delier_donnee",$type_autoriser,$id_donnee,NULL,array('id_form'=>$id_form,'id_donnee_liee'=>$iid)))
    834840                                                $action = generer_action_auteur("forms_lier_donnees","$id_donnee,$type_lie,retirer,$id",urlencode($redirect));
    835                                 $action = ancre_url($action,$bloc_id);
    836                                 $redirajax = generer_url_ecrire($script,$arg_ajax);
    837                                 $vals[] = "<a href='$action' rel='$redirajax' class='ajaxAction' >"
    838                                         . _T($prefixi18n[$types[$id_form]].":lien_retirer_donnee_$lieeliante")."&nbsp;". http_img_pack('croix-rouge.gif', "X", "width='7' height='7' border='0' align='middle'")
    839                                         . "</a>";
     841                                if ($action){
     842                                        $action = ancre_url($action,$bloc_id);
     843                                        $redirajax = generer_url_ecrire($script,$arg_ajax);
     844                                        $vals[] = "<a href='$action' rel='$redirajax' class='ajaxAction' >"
     845                                                . _T($prefixi18n[$types[$id_form]].":lien_retirer_donnee_$lieeliante")."&nbsp;". http_img_pack('croix-rouge.gif', "X", "width='7' height='7' border='0' align='middle'")
     846                                                . "</a>";
     847                                }
     848                                else $vals[] = "";
    840849                                $table[] = $vals;
    841850                        }
Note: See TracChangeset for help on using the changeset viewer.