Skip to content
Extraits de code Groupes Projets
Valider 5a0c73c9 rédigé par cerdic's avatar cerdic
Parcourir les fichiers

Report de [14127] [14128] [14129] [14130] [14131] [14132] [14133]

parent 63340aa4
Aucune branche associée trouvée
Aucune étiquette associée trouvée
Aucune requête de fusion associée trouvée
...@@ -74,8 +74,8 @@ function action_editer_site_dist() { ...@@ -74,8 +74,8 @@ function action_editer_site_dist() {
OR !$t) { OR !$t) {
if ($auto = vider_url(_request('url_auto'))) { if ($auto = vider_url(_request('url_auto'))) {
$auto = analyser_site($auto); $auto = analyser_site($auto);
revisions_sites($id_syndic, if (!strlen($t) AND strlen($auto['descriptif']))
array('descriptif' => $auto['descriptif'])); revisions_sites($id_syndic, array('descriptif' => $auto['descriptif']));
} }
if (!$logo if (!$logo
AND $auto['logo'] AND $auto['format_logo']) AND $auto['logo'] AND $auto['format_logo'])
......
...@@ -430,7 +430,7 @@ function traite_svg($file) ...@@ -430,7 +430,7 @@ function traite_svg($file)
// mysql> SELECT * FROM spip_types_documents WHERE extension="pdf "; // mysql> SELECT * FROM spip_types_documents WHERE extension="pdf ";
// http://doc.spip.org/@corriger_extension // http://doc.spip.org/@corriger_extension
function corriger_extension($ext) { function corriger_extension($ext) {
$ext = preg_replace(',[^a-z0-9],', '', $ext); $ext = preg_replace(',[^a-z0-9],i', '', $ext);
switch ($ext) { switch ($ext) {
case 'docx': case 'docx':
return 'doc'; return 'doc';
......
...@@ -44,26 +44,29 @@ function suivre_lien($url, $lien) { ...@@ -44,26 +44,29 @@ function suivre_lien($url, $lien) {
return $lien; return $lien;
if (preg_match(',^([a-z0-9]+://.*?)(/.*)?$,iS', $lien, $r)) if (preg_match(',^([a-z0-9]+://.*?)(/.*)?$,iS', $lien, $r))
return $r[1].resolve_path($r[2]); return $r[1].resolve_path($r[2]);
# L'url site spip est un lien absolu aussi # L'url site spip est un lien absolu aussi
if ($lien == $GLOBALS['meta']['adresse_site']){ if ($lien == $GLOBALS['meta']['adresse_site']){
return $lien; return $lien;
} }
# lien relatif, il faut verifier l'url de base # lien relatif, il faut verifier l'url de base
if (preg_match(',^(.*?://[^/]+)(/.*?/?)?([^/#]*)(#.*)?$,S', $url, $regs)) { # commencer par virer la chaine de get de l'url de base
if (preg_match(',^(.*?://[^/]+)(/.*?/?)?([^/#?]*)([?][^#]*)?(#.*)?$,S', $url, $regs)) {
$debut = $regs[1]; $debut = $regs[1];
$dir = !strlen($regs[2]) ? '/' : $regs[2]; $dir = !strlen($regs[2]) ? '/' : $regs[2];
$mot = $regs[3]; $mot = $regs[3];
$hash = isset($regs[4])?$regs[4]:""; $get = isset($regs[4])?$regs[4]:"";
$hash = isset($regs[5])?$regs[5]:"";
} }
#var_dump(array('url'=>$url,'debut'=>$debut,'dir'=>$dir,'mot'=>$mot,'get'=>$get,'hash'=>$hash));
switch (substr($lien,0,1)) { switch (substr($lien,0,1)) {
case '/': case '/':
return $debut . resolve_path($lien); return $debut . resolve_path($lien);
case '#': case '#':
return $debut . resolve_path($dir.$mot.$lien); return $debut . resolve_path($dir.$mot.$get.$lien);
case '': case '':
return $debut . resolve_path($dir.$mot.$hash); return $debut . resolve_path($dir.$mot.$get.$hash);
default: default:
return $debut . resolve_path($dir.$lien); return $debut . resolve_path($dir.$lien);
} }
......
...@@ -30,6 +30,12 @@ if (@is_readable(_DIR_TMP."charger_plugins_fonctions.php")){ ...@@ -30,6 +30,12 @@ if (@is_readable(_DIR_TMP."charger_plugins_fonctions.php")){
global $IMPORT_tables_noerase; global $IMPORT_tables_noerase;
$IMPORT_tables_noerase[]='spip_meta'; $IMPORT_tables_noerase[]='spip_meta';
// par defaut on ne vide pas les stats, car elles ne figurent pas dans les dump
// et le cas echeant, un bouton dans l'admin permet de les vider a la main...
$IMPORT_tables_noerase[]='spip_referers';
$IMPORT_tables_noerase[]='spip_referers_articles';
$IMPORT_tables_noerase[]='spip_visites';
$IMPORT_tables_noerase[]='spip_visites_articles';
// Retourne la premiere balise XML figurant dans le buffet de la sauvegarde // Retourne la premiere balise XML figurant dans le buffet de la sauvegarde
// et avance dans ce buffet jusqu'au '>' de cette balise. // et avance dans ce buffet jusqu'au '>' de cette balise.
...@@ -146,9 +152,11 @@ function import_init_tables($request) ...@@ -146,9 +152,11 @@ function import_init_tables($request)
// grand menage // grand menage
// on vide toutes les tables dont la restauration est demandee // on vide toutes les tables dont la restauration est demandee
$tables = import_table_choix($request); $tables = import_table_choix($request);
$tables = array_diff($tables,$IMPORT_tables_noerase);
foreach($tables as $table){ foreach($tables as $table){
// regarder si il y a au moins un champ impt='non' // regarder si il y a au moins un champ impt='non'
if (($table!='spip_auteurs')&&(!in_array($table,$IMPORT_tables_noerase))){ if (($table!='spip_auteurs')){
$desc = description_table($table); $desc = description_table($table);
if (isset($desc['field']['impt'])) if (isset($desc['field']['impt']))
sql_delete($table, "impt='oui'"); sql_delete($table, "impt='oui'");
......
...@@ -166,12 +166,12 @@ function appliquer_quota_cache() { ...@@ -166,12 +166,12 @@ function appliquer_quota_cache() {
function retire_cache($cache) { function retire_cache($cache) {
if (preg_match( if (preg_match(
"|^([0-9a-f]/)?([0-9]+/)?[^.][\-_\%0-9a-z]+\.[0-9a-f]+(\.gz)?$|i", "|^([0-9a-f]/)?([0-9]+/)?[^.][\-_\%0-9a-z]+--[0-9a-f]+(\.gz)?$|i",
$cache)) { $cache)) {
// supprimer le fichier (de facon propre) // supprimer le fichier (de facon propre)
supprimer_fichier(_DIR_CACHE . $cache); supprimer_fichier(_DIR_CACHE . $cache);
} else } else
spip_log("Impossible de retirer $cache"); spip_log("Nom de fichier cache incorrect : $cache");
} }
####################################################################### #######################################################################
......
...@@ -78,8 +78,14 @@ AND ($GLOBALS['spip_version_base'] != (str_replace(',','.',$GLOBALS['meta']['ver ...@@ -78,8 +78,14 @@ AND ($GLOBALS['spip_version_base'] != (str_replace(',','.',$GLOBALS['meta']['ver
// sinon c'est qu'elle a ete interrompue et il faut la reprendre // sinon c'est qu'elle a ete interrompue et il faut la reprendre
elseif (isset($GLOBALS['meta']["admin"])) { elseif (isset($GLOBALS['meta']["admin"])) {
$n = preg_match('/^(.*)_(\d+)_/', $GLOBALS['meta']["admin"], $l); if (preg_match('/^(.*)_(\d+)_/', $GLOBALS['meta']["admin"], $l))
if (_AJAX OR !isset($_COOKIE['spip_admin'])) { list(,$var_f,$n) = $l;
if (_AJAX
OR !(
isset($_COOKIE['spip_admin'])
OR (isset($GLOBALS['visiteur_session']) AND $GLOBALS['visiteur_session']['statut']=='0minirezo')
)
) {
spip_log("Quand la meta admin vaut " . spip_log("Quand la meta admin vaut " .
$GLOBALS['meta']["admin"] . $GLOBALS['meta']["admin"] .
" seul un admin peut se connecter et sans AJAX." . " seul un admin peut se connecter et sans AJAX." .
......
...@@ -546,11 +546,6 @@ function evaluer_fond ($fond, $contexte=array(), $connect=null) { ...@@ -546,11 +546,6 @@ function evaluer_fond ($fond, $contexte=array(), $connect=null) {
$page = inclure_page($fond, $contexte, $connect); $page = inclure_page($fond, $contexte, $connect);
// Lever un drapeau (global) si le fond utilise #SESSION
// a destination de public/parametrer
if (isset($page['invalideurs'])
AND isset($page['invalideurs']['session']))
$GLOBALS['cache_utilise_session'] = $page['invalideurs']['session'];
if ($GLOBALS['flag_ob'] AND ($page['process_ins'] != 'html')) { if ($GLOBALS['flag_ob'] AND ($page['process_ins'] != 'html')) {
ob_start(); ob_start();
xml_hack($page, true); xml_hack($page, true);
...@@ -562,6 +557,15 @@ function evaluer_fond ($fond, $contexte=array(), $connect=null) { ...@@ -562,6 +557,15 @@ function evaluer_fond ($fond, $contexte=array(), $connect=null) {
} }
page_base_href($page['texte']); page_base_href($page['texte']);
// Lever un drapeau (global) si le fond utilise #SESSION
// a destination de public/parametrer
// pour remonter vers les inclusions appelantes
// il faut bien lever ce drapeau apres avoir evalue le fond
// pour ne pas faire descendre le flag vers les inclusions appelees
if (isset($page['invalideurs'])
AND isset($page['invalideurs']['session']))
$GLOBALS['cache_utilise_session'] = $page['invalideurs']['session'];
return $page; return $page;
} }
......
0% Chargement en cours ou .
You are about to add 0 people to the discussion. Proceed with caution.
Veuillez vous inscrire ou vous pour commenter