Changeset 81342 in spip-zone


Ignore:
Timestamp:
Mar 13, 2014, 2:53:16 PM (5 years ago)
Author:
severo@…
Message:

tickets - id_mot ou mots dans l'URL pour editer_ticket

afin de forcer l'association avec des mots-clés pour un
nouveau ticket.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/tickets/trunk/formulaires/editer_ticket.php

    r81338 r81342  
    6262                        $valeurs['editable'] = true;
    6363               
     64                        $valeurs['groupesmots'] = array_map('array_shift', sql_allfetsel("id_groupe", "spip_groupes_mots", "FIND_IN_SET('tickets', tables_liees)"));
     65                        foreach ($valeurs['groupesmots'] as $id_groupe) {
     66                                $valeurs['groupemots_'.$id_groupe] = valeur_champ_groupemots_ticket('tickets', $id_ticket.'-'.$id_groupe, 'groupemots_ticket');
     67                        }
     68
    6469                        // si nouveau ticket
    6570                        if (!$id_ticket OR $id_ticket=='oui'){
     
    7075                                                $valeurs[$champ] = _request($champ);
    7176                                }
    72                         }
    73 
    74                         $valeurs['groupesmots'] = array_map('array_shift', sql_allfetsel("id_groupe", "spip_groupes_mots", "FIND_IN_SET('tickets', tables_liees)"));
    75                         foreach ($valeurs['groupesmots'] as $id_groupe) {
    76                                 $valeurs['groupemots_'.$id_groupe] = valeur_champ_groupemots_ticket('tickets', $id_ticket.'-'.$id_groupe, 'groupemots_ticket');
     77                                // Si on passe id_mot ou mots dans l'URL, on l'utilise dans le formulaire (que ce soit un tableau ou un indice)
     78                                $mots = array();
     79                                if ($r_mots = _request('mots')) {
     80                                        if (is_array($r_mots)) {
     81                                                foreach($r_mots as $id_mot){
     82                                                        if (is_numeric($id_mot))
     83                                                                $mots = array_merge($mots, array($id_mot));
     84                                                }
     85                                        } else if (is_numeric($r_mots))
     86                                                $mots = array($r_mots);
     87                                }
     88                                if ($r_id_mot = _request('id_mot')) {
     89                                        if (is_array($r_id_mot)) {
     90                                                foreach($r_id_mot as $id_mot){
     91                                                        if (is_numeric($id_mot))
     92                                                                $mots = array_merge($mots, array($id_mot));
     93                                                }
     94                                        } else if (is_numeric($r_id_mot))
     95                                                $mots = array_merge($mots, array($r_id_mot));
     96                                }
     97                                if ($mots) {
     98                                        foreach ($valeurs['groupesmots'] as $id_groupe) {
     99                                                if (!$valeurs['groupemots_'.$id_groupe]) {
     100                                                        $valeurs['groupemots_'.$id_groupe] = array_map('array_shift', sql_allfetsel("id_mot", "spip_mots", "id_mot IN (".implode($mots,',').")"));
     101                                                }
     102                                        }
     103                                }
    77104                        }
    78105                }
Note: See TracChangeset for help on using the changeset viewer.