diff --git a/ecrire/balise/url_.php b/ecrire/balise/url_.php index 41948547fa1e5b662af96e99ebc5eee483ffa24e..60b23db70b37226daa82ca60be7b5ebaf1b2105e 100644 --- a/ecrire/balise/url_.php +++ b/ecrire/balise/url_.php @@ -43,8 +43,9 @@ function generer_generer_url($type, $p) return "'./?page=$type&id_$type=' . $_id . '&connect=$s'"; else { $u = "quete_meta('adresse_site', '$s')"; - $f = "$_id . '&file=' . quete_fichier($_id,'$s')"; - return "$u . '?action=acceder_document&arg=' .$f"; + $d = "quete_meta('dir_img', '$s')"; + $f = "quete_fichier($_id,'$s')"; + return "$u . '/' .\n\t$d . $f"; } } } diff --git a/ecrire/inc/autoriser.php b/ecrire/inc/autoriser.php index 5f5aabce1dc74ca51271ce1d9589f92fad829fc7..850d41813e970e1804c88c21a309083056349877 100644 --- a/ecrire/inc/autoriser.php +++ b/ecrire/inc/autoriser.php @@ -520,11 +520,11 @@ function autoriser_chargerftp_dist($faire, $type, $id, $qui, $opt) { // http://doc.spip.org/@autoriser_document_voir_dist function autoriser_document_voir_dist($faire, $type, $id, $qui, $opt) { - if (($id = intval($id)) <= 0) return false; - if ($GLOBALS['meta']["creer_htaccess"] != 'oui') return true; + if (($id = intval($id)) <= 0) return false; + if (in_array($qui['statut'], array('0minirezo', '1comite'))) return true; diff --git a/ecrire/inc/config.php b/ecrire/inc/config.php index 87842e64b1f7097aa9961bae0b3ca5d42c497485..518dd728ee6be27ffdbfeefb774e149fc6eed884 100644 --- a/ecrire/inc/config.php +++ b/ecrire/inc/config.php @@ -80,8 +80,9 @@ function liste_metas() 'documents_article' => 'non', 'documents_rubrique' => 'non', - 'charset' => _DEFAULT_CHARSET, 'syndication_integrale' => 'oui', + 'charset' => _DEFAULT_CHARSET, + 'dir_img' => substr(_DIR_IMG,strlen(_DIR_RACINE)), 'multi_articles' => 'non', 'multi_rubriques' => 'non', @@ -196,8 +197,6 @@ function appliquer_modifs_config() { set_request('langues_multilingue', join($i, ",")); } - $liste_meta = array_keys(liste_metas()); - // Modification du reglage accepter_inscriptions => vider le cache // (pour repercuter la modif sur le panneau de login) if ($i = _request('accepter_inscriptions') @@ -206,9 +205,12 @@ function appliquer_modifs_config() { suivre_invalideur("1"); # tout effacer } - foreach($liste_meta as $i) - if (!(_request($i)===NULL)) - ecrire_meta($i, _request($i)); + foreach(liste_metas() as $i => $v) { + if (($x =_request($i))!==NULL) + ecrire_meta($i, $x); + elseif (!isset($GLOBALS['meta'][$i])) + ecrire_meta($i, $v); + } if ($lang = _request('changer_langue_site')) { include_spip('inc/lang'); diff --git a/ecrire/inc/documents.php b/ecrire/inc/documents.php index 3fcaacd004db0a5f806d567aefb84514e94dc384..32e83c374cf9ba776b31aa5e71292d7999ad8242 100644 --- a/ecrire/inc/documents.php +++ b/ecrire/inc/documents.php @@ -63,7 +63,10 @@ function generer_url_document_dist($id_document, $args='', $ancre='') { $f = $row['fichier']; - if ($row['distant'] == 'oui') return get_spip_doc($f); + // Si droit de voir tous les docs, pas seulement celui-ci + // il est inutilement couteux de rajouter une protection + if (($row['distant'] == 'oui') OR !autoriser('voir', 'document')) + return get_spip_doc($f); include_spip('inc/securiser_action'); diff --git a/ecrire/inc_version.php b/ecrire/inc_version.php index 52f3c1432b40e3513deec88344d1f09545c0584b..d9e4fd8fcfe52f618b445023f1fc3bf7937de862 100644 --- a/ecrire/inc_version.php +++ b/ecrire/inc_version.php @@ -293,7 +293,7 @@ $liste_des_forums = array( // (= numero SVN de leur derniere modif cassant la compatibilite) $spip_version_code = 11056; // version de la base SQL (= numero SVN de sa derniere modif) -$spip_version = 11042; +$spip_version = 11088; // version de l'interface a la base $spip_sql_version = 1;