X-Git-Url: http://git.cyclocoop.org/?a=blobdiff_plain;f=www%2Fecrire%2Fgenie%2Foptimiser.php;fp=www%2Fecrire%2Fgenie%2Foptimiser.php;h=200b5796bc70c67bb7fbde206f989f0735ccc50b;hb=a33c2ba9d919664b3bb0f565f8e9a8b9d8530cdb;hp=0000000000000000000000000000000000000000;hpb=8945248b3d948385798d9aa355c70e7089aca2b3;p=lhc%2Fweb%2Fclavette_www.git diff --git a/www/ecrire/genie/optimiser.php b/www/ecrire/genie/optimiser.php new file mode 100644 index 0000000..200b579 --- /dev/null +++ b/www/ecrire/genie/optimiser.php @@ -0,0 +1,148 @@ +0 pour ne pas tuer les articles + # specialement affectes a une rubrique non-existante (plugin, + # cf. http://trac.rezo.net/trac/spip/ticket/1549 ) + $res = sql_select("A.id_article AS id", + "spip_articles AS A + LEFT JOIN spip_rubriques AS R + ON A.id_rubrique=R.id_rubrique", + "A.id_rubrique > 0 + AND R.id_rubrique IS NULL + AND A.maj < $mydate"); + + $n+= optimiser_sansref('spip_articles', 'id_article', $res); + + // les articles a la poubelle + sql_delete("spip_articles", "statut='poubelle' AND maj < $mydate"); + + // + // Auteurs + // + + include_spip('action/editer_liens'); + // optimiser les liens de tous les auteurs vers des objets effaces + // et depuis des auteurs effaces + $n+= objet_optimiser_liens(array('auteur'=>'*'),'*'); + + # effacer les auteurs poubelle qui ne sont lies a rien + $res = sql_select("A.id_auteur AS id", + "spip_auteurs AS A + LEFT JOIN spip_auteurs_liens AS L + ON L.id_auteur=A.id_auteur", + "L.id_auteur IS NULL + AND A.statut='5poubelle' AND A.maj < $mydate"); + + $n+= optimiser_sansref('spip_auteurs', 'id_auteur', $res); + + # supprimer les auteurs 'nouveau' qui n'ont jamais donne suite + # au mail de confirmation (45 jours pour repondre, ca devrait suffire) + sql_delete("spip_auteurs", "statut='nouveau' AND maj < ". sql_quote(date('Y-m-d', time()-45*24*3600))); + + + $n = pipeline('optimiser_base_disparus', array( + 'args'=>array( + 'attente' => $attente, + 'date' => $mydate), + 'data'=>$n + )); + + if (!$n) spip_log("Optimisation des tables: aucun lien mort"); +} +?>