Valider d89f4b45 rédigé par Maïeul's avatar Maïeul
Parcourir les fichiers

Synchronisation des numéros de version et compatibilités entre

contrib.spip.net et plugins.spip.net

Changement radicale de fonctionnement. Auparevant, X plugins tirés au
sorts étaient synchronisés toutes les y minutes.

Désormais, ces X plugins ne plus tirés au sort, mais sont analysés
"linéairement", en avance dans la liste des plugins à chaque appel du
cron.

Ceci permet de s'assurer que les infos soient bien actualisées à
interface régulière, et facilite la recherche en cas de problème.
parent 0e6e109a
Chargement en cours
Chargement en cours
Chargement en cours
Chargement en cours
+10 −3
Numéro de ligne d'origine Numéro de ligne de diff Ligne de diff
@@ -16,9 +16,16 @@ function prefixes_from_jsons($jsons, $nb=null){
	$prefixes = array_unique($prefixes);
	$prefixes = array_filter($prefixes);

	// si nombre de plugins passe en arg, tirer au sort nb plugins a synchroniser
	if ($nb AND $nb<count($prefixes)){
		return array_rand(array_flip($prefixes), $nb);
	// si nombre de plugins passe en arg, avancer dans la liste des plugins à synchroniser
	$nb_plugins_total = count($prefixes);
	if ($nb AND $nb<$nb_plugins_total){
		$synchro_plugins_etape_suivante = intval(lire_config('synchro_plugins_etape_suivante'));
		$prefixes = array_slice($prefixes, $synchro_plugins_etape_suivante, $nb);
		$synchro_plugins_etape_suivante = $synchro_plugins_etape_suivante + $nb;
		if ($synchro_plugins_etape_suivante >= $nb_plugins_total) {
			$synchro_plugins_etape_suivante = 0;
		}
		ecrire_config('synchro_plugins_etape_suivante', $synchro_plugins_etape_suivante);
	}
	return $prefixes;
}