Changeset 70454 in spip-zone


Ignore:
Timestamp:
Mar 6, 2013, 8:55:48 AM (6 years ago)
Author:
abelass@…
Message:

permettre ne pas avoir un objet et id_objet

Location:
_plugins_/selection_d_objets/trunk
Files:
4 edited
1 copied

Legend:

Unmodified
Added
Removed
  • _plugins_/selection_d_objets/trunk/action/editer_selection_objet.php

    r70453 r70454  
    11<?php
    22if (!defined("_ECRIRE_INC_VERSION")) return;
     3
     4include_spip('action/editer_objet');
     5
    36
    47// http://doc.spip.org/@action_editer_selection_objet_dist
     
    4952
    5053    $champs = array(
    51         'id_objet'=>$id_objet,
    52         'objet'=>$objet,                   
     54        'objet_dest'=>$objet_dest,
     55        'id_objet_dest'=>$id_objet_dest,                                   
    5356        'lang' => $lang,
    5457        'langue_choisie' => 'non');
     
    9093
    9194    include_spip('inc/modifier');
     95   
     96
     97   
    9298    $c = collecter_requests(
    9399        // white list
     
    100106
    101107    // Si la selection_objet est publiee, invalider les caches et demander sa reindexation
    102     $t = sql_fetsel("statut,lang", "spip_selection_objets", "id_selection_objet=$id_selection_objet");
     108    $t = sql_fetsel("statut,lang,id_objet_dest,objet_dest", "spip_selection_objets", "id_selection_objet=$id_selection_objet");
    103109    if ($t['statut'] == 'publie') {
    104110        $invalideur = "id='selection_objet/$id_selection_objet'";
    105111        $indexation = true;
    106112    }
    107 
     113   
     114    //verifier l'ordre
     115    $where = array(
     116        'id_objet_dest='.$t['id_objet_dest'],
     117        'objet_dest='.sql_quote($t['objet_dest']),
     118        'lang='.sql_quote($t['lang']),
     119        );
     120    $verifier_ordre=charger_fonction('verifier_ordre','inc');
     121    $ordre=$verifier_ordre($where);
     122   
    108123    if(!$id_objet=_request('id_objet')){
    109         $c['id_objet']=$id_selection_objet;
     124        $c['ordre']=$ordre+1;
     125
    110126    }
    111127    else $objet=_request('objet');
     
    119135        ),
    120136        $c)){
    121             $where = array(
    122                     'id_objet_dest='.$c['id_objet_dest'],
    123                     'objet_dest='.sql_quote($c['objet_dest']),
    124                     'lang'=>$t['lang'],
    125                     );
    126                 $verifier_ordre=charger_fonction('verifier_ordre','inc');
    127                 $ordre=$verifier_ordre($where);
    128137        return $err;   
    129138        }
  • _plugins_/selection_d_objets/trunk/action/ranger.php

    r70193 r70454  
    1212        include_spip("inc/config");
    1313
    14         list($action,$lang,$id_objet,$objet,$objet_dest,$id_objet_dest,$load,$nouvel_ordre)=explode('-',$arg);
     14        list($action,$lang,$id_selection_objet,$objet_dest,$id_objet_dest,$load,$nouvel_ordre)=explode('-',$arg);
    1515
    1616    switch($action){
     
    2626               
    2727                    $where=array(
    28                         'id_objet='.$id_objet,
    29                         'objet="'.$objet.'"',
    30                         'lang="'.$langue.'"',   
    31                         'id_objet_dest="'.$id_objet_dest.'"',
    32                         'objet_dest="'.$objet_dest.'"',                                               
     28                        'id_selection_objet='.$id_selection_objet,                                             
    3329                        );
    3430                               
     
    5046            spip_log('eliminer 1','selection');
    5147                $where=array(
    52                     'id_objet='.$id_objet,
    53                     'objet='.sql_quote($objet),
    54                     'id_objet_dest='.$id_objet_dest,
    55                     'objet_dest='.sql_quote($objet_dest),
     48                    'id_selection_objet='.$id_selection_objet,
    5649                    );
    5750                                           
     
    7972           
    8073            while ($row = sql_fetch($result)) {
    81                 $id_objet_row = $row["id_objet"];
    82                 $objet_row = $row["objet"];         
     74                $id_selection_objet_row = $row["id_selection_objet"];       
    8375                $ordre_row = $row["ordre"];
    8476                $lang_row = $row["lang"];       
    85                 if ($id_objet  == $id_objet_row AND $objet_row == $objet) break;
     77                if ($id_selection_objet  == $id_selection_objet_row) break;
    8678                $ordre_new = $ordre_row;
    87                 $id_objet_prec = $id_objet_row;
    88                 $objet_prec = $objet_row;           
     79                $id_selection_objet_prec = $id_selection_objet_row;       
    8980           
    9081            }
    9182
    9283            $where = array(             
    93                     "lang='$lang'",
    94                     "objet_dest='$objet_dest'",
    95                     "id_objet_dest='$id_objet_dest'",
    96                     "id_objet='$id_objet'",
    97                     "objet='$objet'",       
     84                    "id_selection_objet='$id_selection_objet'",     
    9885                    );
    9986                   
     
    10491           
    10592            $where = array(             
    106                     "lang='$lang'",
    107                     "objet_dest='$objet_dest'",
    108                     "id_objet_dest='$id_objet_dest'",
    109                     "id_objet='$id_objet_prec'",   
    110                     "objet='$objet_prec'",     
     93                    "id_selection_objet='$id_selection_objet_prec'",       
    11194                    );     
    11295                   
  • _plugins_/selection_d_objets/trunk/inc/verifier_ordre.php

    r69181 r70454  
    33if (!defined("_ECRIRE_INC_VERSION")) return;
    44function inc_verifier_ordre_dist($where){
    5     $result_num = sql_select("*","spip_selection_objets", $where,'', "ordre,id_objet");
     5    $sql = sql_select("id_selection_objet","spip_selection_objets", $where,'', "ordre,id_selection_objet");
    66    $ordre = 0;
    77               
    88    // on vérifie l'ordre des objets déjà enregistrés et on corrige si beselection_objetin
    99               
    10     while ($row = sql_fetch($result_num)) {
     10    while ($row = sql_fetch($sql)) {
    1111        $ordre++;
    1212        $where = array(
    13             'id_objet='.$row['id_objet'],                   
    14             'id_objet_dest='.$row['id_objet_dest'],
    15             'objet_dest='.sql_quote($row['objet_dest']),
    16             'lang='.sql_quote($row['lang']),   
     13            'id_selection_objet='.$row['id_selection_objet'],                   
    1714            );
    1815
  • _plugins_/selection_d_objets/trunk/modeles_so/selection_interface_tr.html

    r70129 r70454  
    33        <td>
    44        [(#ENV{compteur_boucle}|!={1}|oui)
    5             <div><a class="select" href="[(#URL_ACTION_AUTEUR{ranger,remonter_ordre-[(#ENV{langue})]-[(#ID_OBJET)]-[(#OBJET)]-[(#OBJET_DEST)]-[(#ENV{id_objet_dest})]-load})]#selection_objets"><img src="#CHEMIN{prive/themes/spip/images/fleche-haut.gif}" /></a></div>
     5            <div><a class="select" href="[(#URL_ACTION_AUTEUR{ranger,remonter_ordre-[(#ENV{langue})]-[(#ID_SELECTION_OBJET)]-[(#OBJET_DEST)]-[(#ENV{id_objet_dest})]-load})]#selection_objets"><img src="#CHEMIN{prive/themes/spip/images/fleche-haut.gif}" /></a></div>
    66            ]
    77        [(#ENV{compteur_boucle}|!={#ENV{total_boucle}}|oui)
    8             <div><a class="select" href="[(#URL_ACTION_AUTEUR{ranger,descendre_ordre-[(#ENV{langue})]-[(#ID_OBJET)]-[(#OBJET)]-[(#OBJET_DEST)]-[(#ENV{id_objet_dest})]-load})]#selection_objets"><img src="#CHEMIN{prive/themes/spip/images/fleche-bas.gif}" /></a></div>
     8            <div><a class="select" href="[(#URL_ACTION_AUTEUR{ranger,descendre_ordre-[(#ENV{langue})]-[(#ID_SELECTION_OBJET)]-[(#OBJET_DEST)]-[(#ENV{id_objet_dest})]-load})]#selection_objets"><img src="#CHEMIN{prive/themes/spip/images/fleche-bas.gif}" /></a></div>
    99            ]
    1010           
     
    2828        </td>
    2929        <td>
    30             <a href="[(#URL_ACTION_AUTEUR{ranger,supprimer_ordre-[(#ENV{langue})]-[(#ID_OBJET)]-[(#OBJET)]-[(#OBJET_DEST)]-[(#ENV{id_objet_dest})]-load})]#selection_objets" class="select"><img src="#CHEMIN{prive/themes/spip/images/item-remove.png}" alt="X" /></a>
     30            <a href="[(#URL_ACTION_AUTEUR{ranger,supprimer_ordre-[(#ENV{langue})]-[(#ID_SELECTION_OBJET)]-[(#OBJET_DEST)]-[(#ENV{id_objet_dest})]-load})]#selection_objets" class="select"><img src="#CHEMIN{prive/themes/spip/images/item-remove.png}" alt="X" /></a>
    3131        </td>
    3232    </tr>
  • _plugins_/selection_d_objets/trunk/selection_objet_fonctions.php

    r70395 r70454  
    137137    $exception_objet=$exceptions();
    138138   
    139 
    140     if($exception_objet['objet'][$objet]){
     139    if($objet){
     140          if($exception_objet['objet'][$objet]){
    141141         $objet=$exception_objet['objet'][$objet];
    142142          $table='spip_'.$objet;
    143     }
    144     else $table='spip_'.$objet.'s';
    145     if(!$where)$where='id_'.$objet.'='.$id_objet;
    146    
    147     if(!$contexte=sql_fetsel('*',$table,$where))$contexte=array();
    148    
     143        }
     144        else $table='spip_'.$objet.'s';
     145        if(!$where)$where='id_'.$objet.'='.$id_objet;
     146       
     147        if(!$contexte=sql_fetsel('*',$table,$where))$contexte=array();
     148         
     149        }
     150    else $contexte=array();
     151
    149152    //Filtrer les champs vides
    150153    foreach($env as $k=>$v){
Note: See TracChangeset for help on using the changeset viewer.