Valider 2de5d377 rédigé par esj's avatar esj
Parcourir les fichiers

Tache #685, suite de [8368]: lors d'une fusion d'une sauvegarde, on importe...

Tache #685, suite de [8368]: lors d'une fusion d'une sauvegarde, on importe les logos on/off des rubriques quand elles en ont. Incomplet car ça suppose que les logos sont à l'emplacement standard (IMG/), ce qui n'est pas forcément le cas (surtout en mutualisé) il faudra donc rajouter cette information dans un nouveau type de sauvegarde (idéal) ou le demander dans le formulaire (pas terrible). Par ailleurs on peut se demander si on ne devrait pas proposer cette option lors d'une restauration non fusionnante: s'il s'agit d'avoir un miroir d'un site qui continue d'exister, et non une restauration SQL sur une site ayant toujours son répertoire de logos etc, ça serait très utile. 

A examiner aussi: importer tous les logos. Mais le nombre de requetes http peut
faire peur (6 essais pour chaque entité: on/off et gif/jpg/png).
parent de966704
Chargement en cours
Chargement en cours
Chargement en cours
Chargement en cours
+22 −2
Numéro de ligne d'origine Numéro de ligne de diff Ligne de diff
@@ -71,7 +71,9 @@ function insere_2_init($request) {
// http://doc.spip.org/@translate_init
function translate_init($request) {

	include_spip('inc/texte.php'); // pour les Regexp des raccourcis
	include_spip('inc/texte'); // pour les Regexp des raccourcis
	include_spip('inc/chercher_logo'); // pour les noms des logos
	include_spip('inc/distant'); // pour recuperer les logos

	$q = spip_query("SELECT * FROM spip_translate");
	$trans = array();
@@ -132,8 +134,26 @@ function import_inserer_translate($values, $table, $desc, $request, $vals) {
	global $trans;
	$p = $desc['key']["PRIMARY KEY"];
	$v = $values[$p];
	if (!isset($trans[$p]) OR !isset($trans[$p][$v]) OR $trans[$p][$v][2])
	if (!isset($trans[$p]) OR !isset($trans[$p][$v]) OR $trans[$p][$v][2]){
		spip_query("REPLACE $table (" . join(',',array_keys($values)) . ') VALUES (' .substr($vals,1) . ')');
		if ($p == 'id_rubrique') {
		  $t = type_du_logo($p);
		  $url = $request['url_site'] . _NOM_PERMANENTS_ACCESSIBLES;

		  $new = $trans[$p][$v][0];
		  foreach ($GLOBALS['formats_logos'] as $format) {
		    $old = $url . $t . 'on' . "$v." . $format;
		    $logo1 = recuperer_page($old);
		    if ($logo1) {
		      ecrire_fichier(_DIR_LOGOS. $t . 'on' . "$new." . $format, $logo1);
		    }
		    $nom = $url . $t . 'off' . "$v." . $format;
		    $logo2 = recuperer_page($nom);
		    if ($logo2)
		      ecrire_fichier(_DIR_LOGOS.$t . 'off' . "$new." . $format, $logo2);
		  }
		}
	}
}

// Insertion avec renumerotation, y compris des raccourcis.