Changeset 54199 in spip-zone


Ignore:
Timestamp:
Nov 8, 2011, 2:06:49 PM (8 years ago)
Author:
cedric@…
Message:

optimisation de la base via le pipeline optimiser_base_disparu

Location:
_plugins_/agenda/trunk
Files:
1 deleted
2 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/agenda/trunk/agenda_pipelines.php

    r54166 r54199  
    11<?php
    22
    3 function agenda_ajouter_onglets($flux) {
    4         if($flux['args']=='calendrier' AND !defined('_DIR_PLUGIN_BANDO')){
    5                 $flux['data']['agenda']= new Bouton(chemin_image('agenda-24.png'), _T('agenda:agenda'),
    6                                                                                                                 generer_url_ecrire("calendrier","type=semaine"));
    7                 $flux['data']['calendrier']= new Bouton(
    8                                                                                                          'cal-rv.png', _T('agenda:activite_editoriale'),
    9                                                                                                          generer_url_ecrire("calendrier","mode=editorial&type=semaine"));
    10         }
    11         return $flux;
    12 }
    133
    144function agenda_affiche_milieu($flux) {
     
    8878}
    8979
    90 function agenda_taches_generales_cron($taches_generales){
    91         $taches_generales['agenda_nettoyer_base'] = 3600*48;
    92         return $taches_generales;
     80/**
     81 * Optimiser la base (evenements a la poubelle, lies a des articles disparus, ou liens mots sur evenements disparus)
     82 *
     83 * @param array $flux
     84 * @return array
     85 */
     86function agenda_optimiser_base_disparus($flux){
     87
     88        # passer a la poubelle
     89        # les evenements lies a un article inexistant
     90        $res = sql_select("DISTINCT evenements.id_article","spip_evenements AS evenements
     91                        LEFT JOIN spip_articles AS articles
     92                        ON evenements.id_article=articles.id_article","articles.id_article IS NULL");
     93        while ($row = sql_fetch($res))
     94                sql_updateq("spip_evenements",array('statut'=>'poubelle'),"id_article=".$row['id_article']);
     95
     96        // Evenements a la pouvelle
     97        sql_delete("spip_evenements", "statut='poubelle' AND maj < ".$flux['args']['date']);
     98
     99        include_spip('action/editer_liens');
     100        // optimiser les liens de tous les mots vers des objets effaces
     101        // et depuis des mots effaces
     102        $flux['data'] += objet_optimiser_liens(array('mot'=>'*'),array('evenement'=>'*'));
     103
     104        return $flux;
    93105}
     106
    94107
    95108function agenda_editer_contenu_objet($flux){
  • _plugins_/agenda/trunk/paquet.xml

    r54034 r54199  
    2626        <pipeline nom="declarer_tables_auxiliaires" inclure="base/agenda_evenements.php" />
    2727        <pipeline nom="declarer_tables_objets_sql" inclure="base/agenda_evenements.php" />
    28         <pipeline nom="ajouter_onglets" inclure="agenda_pipelines.php" />
    2928        <pipeline nom="affiche_milieu" inclure="agenda_pipelines.php" />
    3029        <pipeline nom="editer_contenu_objet" inclure="agenda_pipelines.php" />
    3130        <pipeline nom="libelle_association_mots" inclure="agenda_pipelines.php" />
    3231        <pipeline nom="afficher_nombre_objets_associes_a" inclure="agenda_pipelines.php" />
    33         <pipeline nom="taches_generales_cron" inclure="agenda_pipelines.php" />
     32        <pipeline nom="optimiser_base_disparus" inclure="agenda_pipelines.php" />
    3433        <pipeline nom="declarer_url_objets" inclure="agenda_pipelines.php" />
    3534        <pipeline nom="rechercher_liste_des_champs" inclure="agenda_pipelines.php" />
Note: See TracChangeset for help on using the changeset viewer.