Bonjour
Je viens de faire une mise à jour de 1 0 7 à 1 0 9 (transfert des fichiers du zip décompressé) et c'est la cata autant sur la partie publique que la partie privée.
Déjà, la dernière mise à jour avait été ... sportive.
Comment se fait-il que les mises à jour soient devenues si compliquées ?
Voici ce qui 's'affiche (entre autres) :
) $t = MYSQL_BOTH; if ($t=='SPIP_ASSOC') $t = MYSQL_ASSOC; spip_log("appel deprecie de spip_fetch_array(..., $t)", 'vieilles_defs'); if ($r) return mysql_fetch_array($r, $t); } } ?> n'existait pas if ($importable AND isset($res['impt'])) $r['impt'] = $importable; if ($res) { sql_updateq('spip_meta', $r,"nom=" . sql_quote($nom)); } else { sql_insertq('spip_meta', $r); } if ($touch) {touch_meta($antidate); $touch = false;} } ?> n function_exists('mysql_query'); } ?> eader(_HEADER_COMPOSED_BY . " @ www.spip.net"); # spip_log($_SERVER['REQUEST_METHOD'].' '.self() . ' - '._FILE_CONNECT); ?> uest('var_ajax')){ if (find_in_path('formulaire_.php','balise/',true)) { include_spip('inc/actions'); include_spip('public/assembler'); array_unshift($args,$form); $retour .= inclure_balise_dynamique(call_user_func_array('balise_formulaire__dyn',$args),false); // on ajoute un br en display none en tete du retour ajax pour regler un bug dans IE6/7 // sans cela le formulaire n'est pas actif apres le hit ajax $retour = "
".$retour; ajax_retour($retour,false); return true; // on a fini le hit } } // restaurer la lang en cours changer_langue($old_lang); } return false; // le hit peut continuer normalement } ?> Spip-... // http://doc.spip.org/@envoyer_entetes function envoyer_entetes($entetes) { foreach ($entetes as $k => $v) # if (strncmp($k, 'X-Spip-', 7)) @header("$k: $v"); } ?> g_match(_RACCOURCI_URL_PAGE_ID, $url, $regs) OR preg_match(_RACCOURCI_URL_PAGE_SPIP, $url, $regs)) { $type = preg_replace(',s$,', '', table_objet($regs[1])); if ($type == 'syndic') $type = 'site'; $_id = id_table_objet($regs[1]); $contexte[$_id] = $regs[2]; return array($contexte, $type, null, $type); } return array(); } ?> ($objet=='rubrique' OR $objet=='breve') ? 'public:aucune_'.$objet : 'public:aucun_'.$objet ); } } } } return array($contexte, $entite, $url_redirect); } ? > = ""; // Document sans vignette ni image : vignette par defaut if (!$logo) { $img = vignette_par_defaut($extension, false); $size = @getimagesize($img); $logo = ""; } } // Reduire si une taille precise est demandee return ($x OR $y) ? reduire_image($logo, $x, $y) : $logo; } // Ajouter "〈=..." si la langue du forum n'est pas celle du site. // Si le 2e parametre n'est pas une chaine, c'est qu'on n'a pas pu // determiner la table a la compil, on le fait maintenant. // Il faudrait encore completer: on ne connait pas la langue // pour une boucle forum sans id_article ou id_rubrique donn� par le contexte // et c'est signale par un message d'erreur abscons: "table inconnue forum". // // http://doc.spip.org/@lang_parametres_forum function lang_parametres_forum($qs, $lang) { if (is_array($lang) AND preg_match(',id_(\w+)=([0-9]+),', $qs, $r)) { $id = 'id_' . $r[1]; if ($t = $lang[$id]) $lang = sql_getfetsel('lang', $t, "$id=" . $r[2]); } // Si ce n'est pas la meme que celle du site, l'ajouter aux parametres if ($lang AND $lang <> $GLOBALS['meta']['langue_site']) return $qs . "〈=" . $lang; return $qs; } ?> e.".$GLOBALS['spip_lang']; if ($l) lang_select(); if (@file_exists("$f.$ext")) $squelette = $f; } return array($squelette, $ext, $ext, "$squelette.$ext"); } ?> re public va traiter les URL ou les // // http://doc.spip.org/@abs_url function abs_url($texte, $base='') { if ($GLOBALS['mode_abs_url'] == 'url') return url_absolue($texte, $base); else return liens_absolus($texte, $base); } ?> @puce_changement_statut function puce_changement_statut($id_objet, $statut, $id_rubrique, $type, $ajax=false){ $puce_statut = charger_fonction('puce_statut','inc'); return $puce_statut($id_objet, $statut, $id_rubrique, $type, $ajax=false); } // Encoder un contexte pour l'ajax, le signer avec une cle, le crypter // avec le secret du site, le gziper si possible... // l'entree peut etre serialisee (le #ENV** des fonds ajax et ajax_stat) // http://doc.spip.org/@encoder_contexte_ajax function encoder_contexte_ajax($c,$form='', $emboite=NULL) { if (is_string($c) AND !is_null(@unserialize($c))) $c = unserialize($c); // supprimer les parametres debut_x // pour que la pagination ajax ne soit pas plantee // si on charge la page &debut_x=1 : car alors en cliquant sur l'item 0, // le debut_x=0 n'existe pas, et on resterait sur 1 foreach ($c as $k => $v) if (strpos($k,'debut_') === 0) unset($c[$k]); include_spip("inc/securiser_action"); $cle = calculer_cle_action($form.(is_array($c)?serialize($c):$c)); $c = serialize(array($c,$cle)); if (function_exists('gzdeflate') && function_exists('gzinflate')) $c = gzdeflate($c); $c = _xor($c); $c = base64_encode($c); if ($emboite === NULL) return $c; return !trim($emboite) ? '' : "
\n$emboite
\n"; } // la procedure inverse de encoder_contexte_ajax() // http://doc.spip.org/@decoder_contexte_ajax function decoder_contexte_ajax($c,$form='') { include_spip("inc/securiser_action"); $c = @base64_decode($c); $c = _xor($c); if (function_exists('gzdeflate') && function_exists('gzinflate')) $c = @gzinflate($c); list($env, $cle) = @unserialize($c); if ($cle == calculer_cle_action($form.(is_array($env)?serialize($env):$env))) return $env; return false; } // encrypter/decrypter un message // http://www.php.net/manual/fr/language.operators.bitwise.php#81358 // http://doc.spip.org/@_xor function _xor($message, $key=null){ if (is_null($key)) { include_spip("inc/securiser_action"); $key = pack("H*", calculer_cle_action('_xor')); } $keylen = strlen($key); $messagelen = strlen($message); for($i=0; $i<$messagelen; $i++) $message[$i] = ~($message[$i]^$key[$i%$keylen]); return $message; } /** * filtre explode pour les squelettes permettant d'ecrire * #GET{truc}|explode{-} * * @param strong $a * @param string $b * @return array */ function filtre_explode_dist($a,$b){return explode($b,$a);} /** * filtre implode pour les squelettes permettant d'ecrire * #GET{truc}|implode{-} * * @param array $a * @param string $b * @return string */ function filtre_implode_dist($a,$b){return implode($b,$a);} /* * Deux verrues pour que le pipeline de revisions soit correct * elles vont sauter quand ca passera en plugin */ function premiere_revision($x) { include_spip('inc/revisions'); return enregistrer_premiere_revision($x); } function nouvelle_revision($x) { include_spip('inc/revisions'); return enregistrer_nouvelle_revision($x); } ?> > !$t ? strval($t) : echappe_retour_modeles( traiter_raccourcis( expanser_liens(echappe_html($t),$connect)),$interdire_script); } ?> if ($t['distant'] == 'oui') { include_spip('inc/distant'); if ($local = copie_locale($t['fichier'], 'test')) spip_log("efface $local = ".$t['fichier']); supprimer_fichier($local); } else { if (@file_exists($f = get_spip_doc($t['fichier']))) { spip_log("efface $f"); supprimer_fichier($f); } } } // Supprimer les entrees dans spip_documents et associees sql_delete('spip_documents', $in); // en principe il ne devrait rien y avoir ici si les documents sont bien orphelins sql_delete('spip_documents_liens', $in); } ?> lse, $referer = '', $datas="", $vers="HTTP/1.0") { $http_proxy = need_proxy($host); if ($http_proxy) { $path = "$scheme://" . (!$user ? '' : urlencode($user[0]).":".urlencode($user[1])."@") . "$host" . (($port != 80) ? ":$port" : "") . $path; $t2 = @parse_url($http_proxy); $proxy_user = $t2['user']; $proxy_pass = $t2['pass']; $first_host = $t2['host']; if (!($port = $t2['port'])) $port = 80; } else $first_host = $noproxy.$host; $f = @fsockopen($first_host, $port); spip_log("Recuperer $path sur $first_host:$port par $f"); if (!$f) return false; $site = $GLOBALS['meta']["adresse_site"]; $req = "$method $path $vers\r\n" . "Host: $host\r\n" . "User-Agent: SPIP-".$GLOBALS['spip_version_affichee']." (http://www.spip.net/)\r\n" . ($refuse_gz ? '' : "Accept-Encoding: gzip\r\n") . (!$site ? '' : "Referer: $site/$referer\r\n") . (!$user ? '' : "Authorization: Basic " . base64_encode(urlencode($user[0]).":".urlencode($user[1])) ."\r\n") . (!$proxy_user ? '' : ("Proxy-Authorization: Basic " . base64_encode($proxy_user . ":" . $proxy_pass) . "\r\n")); # spip_log("Requete\n$req"); fputs($f, $req); fputs($f, $datas ? $datas : "\r\n"); return $f; } ?> parent > 0) { $data = sql_fetsel("id_secteur,lang", "spip_rubriques", "id_rubrique=$id_parent"); $id_secteur = $data['id_secteur']; $lang = $data['lang']; } else { $id_secteur = $id_rubrique; $lang = $GLOBALS['meta']['langue_site']; } sql_updateq('spip_rubriques', array('id_secteur'=>$id_secteur, "lang"=>$lang), "id_rubrique=$id_rubrique"); // pour la recursion $id_parent = $id_rubrique; } } return intval($id_parent); } ?> result; } // http://doc.spip.org/@trace_query_chrono function trace_query_chrono($m1, $m2, $query, $result, $serveur='') { static $tt = 0, $nb=0; global $tableau_des_temps; $x = _request('var_mode_objet'); if (isset($GLOBALS['debug']['aucasou'])) { list(, $boucle, $serveur) = $GLOBALS['debug']['aucasou']; if ($x AND !preg_match("/$boucle\$/", $x)) return; if ($serveur) $boucle .= " ($serveur)"; $boucle = "$boucle"; } else { if ($x) return; $boucle = ''; } list($usec, $sec) = explode(" ", $m1); list($usec2, $sec2) = explode(" ", $m2); $dt = $sec2 + $usec2 - $sec - $usec; $tt += $dt; $nb++; $q = preg_replace('/([a-z)`])\s+([A-Z])/', '$1
$2',htmlentities($query)); $e = sql_explain($query, $serveur); $r = str_replace('Resource id ','',(is_object($result)?get_class($result):$result)); $tableau_des_temps[] = array($dt, $nb, $boucle, $q, $e, $r); } ?> eptions_des_jointures']; $table_des_traitements = $interfaces['table_des_traitements']; } } declarer_interfaces(); ?> ACINE)); return $mime_type . (!$connect ? '' : preg_replace('/\W/',"_", $connect)) . '_' . md5($GLOBALS['spip_version_code'] . ' * ' . $skel); } ?> s_notes= propre($mes_notes); if ($GLOBALS['class_spip']) $mes_notes = str_replace('
', '
', $mes_notes); return ($GLOBALS['les_notes'] .= $mes_notes); } ?> 1, $force=false) { list ($hauteur,$largeur) = taille_image($img); $l = round($largeur/$val); $h = round($hauteur/$val); if ($l > $h) $h = 0; else $l = 0; $img = image_reduire($img, $l, $h, $force); return $img; } ?> supprime_invalideurs() { } // Calcul des pages : noter dans la base les liens d'invalidation // http://doc.spip.org/@maj_invalideurs function maj_invalideurs ($fichier, &$page) { } // pour les forums l'invalideur est : 'id_forum/a23' // pour les petitions et autres, l'invalideur est par exemple : // 'varia/pet60' // http://doc.spip.org/@insere_invalideur function insere_invalideur($inval, $fichier) { } // // Marquer les fichiers caches invalides comme etant a supprimer // // http://doc.spip.org/@applique_invalideur function applique_invalideur($depart) { } ?> sup.typo_exposants{font-size:75%;font-variant:normal;vertical-align:super;} a.spip_out:after{display:none;} span.cs_BT{background-color:#FDA;font-weight:bold;border:1px outset #CC9;padding:0.2em 0.3em;} span.cs_BTg{font-size:140%;padding:0 0.3em;} <!-- var musicplayerurl="plugins/Lecteur_multimedia/flash/eraplayer_playlist.swf"; var image_play="plugins/Lecteur_multimedia/images/playl.gif"; var image_pause="plugins/Lecteur_multimedia/images/pausel.gif"; soundManager.url = "plugins/Lecteur_multimedia/soundmanager/soundmanager2.swf"; soundManager.nullURL = ""; var videoNullUrl = "plugins/Lecteur_multimedia/null.flv"; var DIR_PLUGIN_PLAYER = "plugins/Lecteur_multimedia/";//--> tdate(true); } // Effectuer une tache de fond ? // si #SPIP_CRON est present, on ne le tente que pour les navigateurs // en mode texte (par exemple), et seulement sur les pages web if ($html AND !strstr($page['texte'], '') AND !preg_match(',msie|mozilla|opera|konqueror,i', $_SERVER['HTTP_USER_AGENT'])) cron(); } ?>
tdate(true); } // Effectuer une tache de fond ? // si #SPIP_CRON est present, on ne le tente que pour les navigateurs // en mode texte (par exemple), et seulement sur les pages web if ($html AND !strstr($page['texte'], '') AND !preg_match(',msie|mozilla|opera|konqueror,i', $_SERVER['HTTP_USER_AGENT'])) cron(); } ?>