Changeset 42231 in spip-zone


Ignore:
Timestamp:
Nov 12, 2010, 3:31:31 PM (10 years ago)
Author:
zeraxp@…
Message:
  • filtrage auto dans les boucles sur le critere statut publie ( sur tous les objets du plugin )
  • permettre l'utilisation de la baluise URL_XXXX ou XXXX est le nom de l'objet
Location:
_plugins_/spip_objets
Files:
6 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/spip_objets/action/editer_objets.php

    r42219 r42231  
    6565   
    6666    $champs = array(
    67       'titre' => _request('titre')
     67      'titre' => _request('titre'),
     68      'statut'=> _request('statut')
    6869    );
    6970
     
    7273    $champs=array_merge($champs,extras_champs(table_objet_sql($objet),''));
    7374
    74        
    7575   
    7676    foreach ($champs as $champ=>$desc_sql) {
     
    9090    $c);
    9191  include_spip('inc/objets_fonctions');
    92   // on fait les liaisons entre les objets et les parents
     92  // on fait les liaisons entre les objets et les parents ( article ou rubrique ou autre )
    9393  objets_set_parents($objet,$id_objet,_request('parents'));
     94 
     95 
     96 
    9497}
    9598
  • _plugins_/spip_objets/base/objets.php

    r41981 r42231  
    2525                        $interface['tables_jointures']['spip_'.$objet][]= $objet.'_liens';
    2626                       
     27                        //permet de prendre le titre dans la génération des urls
     28                        $interface['table_titre'][$objet] = "titre,'' as lang";
     29
    2730                }
    2831        }
    29        
    30        
     32               
    3133        return $interface;
    3234}
     
    4850                                "statut"        => "VARCHAR(10) DEFAULT 'prepa' NOT NULL",
    4951                                "id_secteur"    => "bigint(21) NOT NULL",
    50                                 "maj"   => "TIMESTAMP"
     52                                "maj"   => "TIMESTAMP",
     53                          "date"  => "datetime DEFAULT '0000-00-00 00:00:00' NOT NULL"
    5154                                );
    5255               
     
    5760                $tables_principales['spip_'.$objet] =
    5861                        array('field' => $objets, 'key' => $objets_key);
    59 
    60 
    61                        
     62               
    6263                       
    6364                }
  • _plugins_/spip_objets/formulaires/editer_objets.php

    r42219 r42231  
    2929                }
    3030        }else{//ce n'est pas un objet en cours de création
    31                 if($statut=_request('statut')){
    32                         $valeurs['statut']=$statut;
    33                 }else {
    3431                        $valeurs['statut']=sql_getfetsel("statut","spip_".$objet,'id_'.$nom_objet."=".(int)$id_objet);
    35                 }
    3632        }
    3733       
     
    4844function formulaires_editer_objets_traiter_dist($objet,$id_objet='new', $retour=''){
    4945        $nom_objet=objets_nom_objet($objet);
    50         return formulaires_editer_objet_traiter($objet, $id_objet, '', '', $retour, '');
     46       
     47        if($id_objet!="new"){
     48                //on peut modifier le statut d'un objet existant
     49                sql_update('spip_'.$objet,array('statut'=>_request('statut')),'id_'.$nom_objet.'='.$id_objet);
     50        }
     51               
     52        $retour=formulaires_editer_objet_traiter($objet, $id_objet, '', '', $retour, '');
     53       
     54        return $retour;
    5155}
    5256
  • _plugins_/spip_objets/inc/objets_fonctions.php

    r42219 r42231  
    1919        if($vignette=find_in_path("images/".$objet."-".$taille.".".$extension)) return $vignette;
    2020
     21        if($vignette=find_in_path("images/objet-".$taille.".png")) return $vignette;
    2122        // TODO : a gérer les autres cas ... autre extension, autre taille dispo, .. etc
    2223        //attention on gére dans le code les différentes dimensions de vignettes
    23         return find_in_path("images/objet-".$taille.".png");
     24        return find_in_path("images/objet-24.png");
    2425}
    2526
  • _plugins_/spip_objets/objets_pipelines.php

    r42219 r42231  
    160160/* Gestion de l'affichage des documents */
    161161
    162 $GLOBALS['gestdoc_exec_colonne_document'][] = 'objet_edit';
     162//$GLOBALS['gestdoc_exec_colonne_document'][] = 'objet_edit';
    163163
    164164//TODO parser sur tous les champs extra ceux qui ont un traitement propre pour les ajouter ici
     
    167167
    168168
    169 function objets_post_edition($flux){}
     169//function objets_post_edition($flux){}
    170170
    171171function objets_affiche_gauche($flux){
     
    204204
    205205
     206function objets_declarer_url_objets($objets){
     207        $objets_installes=liste_objets_meta();
     208        return array_merge($objets,$objets_installes);
     209       
     210}
     211
     212// Si pas de critère "statut", on affiche que les réponses publiées
     213function objets_pre_boucle($boucle){
     214        $objets_installes=liste_objets_meta();
     215        if (in_array($boucle->type_requete,$objets_installes)) {
     216                $id_table = $boucle->id_table;
     217                $statut = "$id_table.statut";
     218                if (!isset($boucle->modificateur['criteres']['statut']) and !isset($boucle->modificateur['tout'])){
     219                        $boucle->where[] = array("'='", "'$statut'", "sql_quote('publie')");
     220                }
     221        }
     222        return $boucle;
     223}
     224
     225
    206226?>
  • _plugins_/spip_objets/plugin.xml

    r42219 r42231  
    8383                <inclure>objets_pipelines.php</inclure>
    8484        </pipeline>
     85        <!-- permet dajouter le critere statut publie automatiquement -->
     86        <pipeline>
     87                <nom>pre_boucle</nom>
     88                <inclure>objets_pipelines.php</inclure>
     89        </pipeline>
    8590
    8691       
Note: See TracChangeset for help on using the changeset viewer.