uawdijnntqw1x1x1
IP : 216.73.216.90
Hostname : webm001.cluster110.gra.hosting.ovh.net
Kernel : Linux webm001.cluster110.gra.hosting.ovh.net 6.18.42-ovh-vps-grsec-zfs+ #1 SMP PREEMPT_DYNAMIC Wed Aug 5 15:59:48 CEST 2026 x86_64
Disable Function : _dyuweyrj4,_dyuweyrj4r,dl
OS : Linux
PATH:
/
home
/
etiennec
/
www
/
b9da6
/
..
/
tmp
/
cache
/
..
/
..
/
plugins-dist
/
.
/
revisions
/
genie
/
optimiser_revisions.php
/
/
<?php /***************************************************************************\ * SPIP, Systeme de publication pour l'internet * * * * Copyright (c) 2001-2014 * * Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James * * * * Ce programme est un logiciel libre distribue sous licence GNU/GPL. * * Pour plus de details voir le fichier COPYING.txt ou l'aide en ligne. * \***************************************************************************/ /** * @plugin Revisions pour SPIP * @license GPL * @package SPIP\Revisions\Genie */ if (!defined('_ECRIRE_INC_VERSION')) return; include_spip('base/abstract_sql'); /** * Tâche Cron d'optimisation des révisions * * @param int $last * Timestamp de la dernière exécution de cette tâche * @return int * Positif : la tâche a été effectuée */ function genie_optimiser_revisions_dist($last) { optimiser_base_revisions(); optimiser_tables_revision(); return 1; } /** * Supprimer les révisions des objets disparus */ function optimiser_base_revisions(){ /** * On commence par récupérer la liste des types d'objet ayant au moins une révision */ $objets_revises = sql_select('objet','spip_versions','id_version=1','objet'); /** * Pour chaque objet, on va contruire un tableau des identifiants disparus * On supprimera ensuite les occurences dans spip_versions et spip_versions_fragments */ while($objet = sql_fetch($objets_revises)){ $in = array(); $table = table_objet_sql($objet['objet']); $id_table_objet = id_table_objet($objet['objet']); $res = sql_select("A.id_objet AS id_objet, A.objet AS objet", "spip_versions AS A LEFT JOIN $table AS R ON R.$id_table_objet=A.id_objet AND A.objet=".sql_quote($objet['objet']), "R.$id_table_objet IS NULL AND A.objet=".sql_quote($objet['objet'])." AND A.id_objet > 0", "A.id_objet", "A.id_objet"); while ($row = sql_fetch($res)) $in[$row['id_objet']]=true; sql_free($sel); /** * Si on a un array * On supprime toute occurence des objets disparus dans : * -* spip_versions * -* spip_versions_fragments */ if ($in) { foreach(array('spip_versions','spip_versions_fragments') as $table){ sql_delete($table, sql_in('id_objet',array_keys($in)) . " AND objet=".sql_quote($objet['objet'])); } } } } /** * Optimisation des tables spip_versions et spip_versions_fragments */ function optimiser_tables_revision(){ foreach(array('spip_versions','spip_versions_fragments') as $table){ spip_log("debut d'optimisation de la table $table"); if (sql_optimize($table)) spip_log("fin d'optimisation de la table $table"); else spip_log("Pas d'optimiseur necessaire pour $table"); } } ?>
/home/etiennec/www/b9da6/../tmp/cache/../../plugins-dist/./revisions/genie/optimiser_revisions.php