Author: fil@rezo.net
Date: Sat Jul 1 12:54:26 2006
New Revision: 3765
Log:
améliorations spip_loader et multilinguisme
Added:
_dev_/spip_loader/tradloader_ca.php.txt
_dev_/spip_loader/tradloader_es.php.txt
Modified:
_dev_/spip_loader/spip_loader.php.txt
Modified: _dev_/spip_loader/spip_loader.php.txt
--- _dev_/spip_loader/spip_loader.php.txt (original)
+++ _dev_/spip_loader/spip_loader.php.txt Sat Jul 1 12:54:26 2006
@@ -6,20 +6,23 @@
# decommenter la ligne ci-dessous pour charger la version
# de developpement (nightly build SVN)
- # define(’_URL_BASE_DL’,« http://trac.rezo.net/files/spip/ »);
+ # define(’_URL_PAQUET_ZIP’,‹ http://trac.rezo.net/files/spip/spip.zip ›);
- # nom du paquet a telecharger
- define(’_PAQUET_ZIP’,‹ spip.zip ›);
+ # URL du paquet a telecharger
+ define(’_URL_PAQUET_ZIP’,‹ http://www.spip.net/spip-dev/DISTRIB/spip.zip ›);
- # URL du repertoire ou il se trouve
- define('_URL_BASE_DL',"http://www.spip.net/spip-dev/DISTRIB/");
-
- # Adresse des librairies necessaires (zip et fichiers de langue)
+ # Adresse des librairies necessaires a spip_loader
+ # (pclzip et fichiers de langue)
define('_URL_LOADER_DL',"http://www.spip.net/spip-dev/INSTALL/");
+ # langues disponibles
+ $langues = array (
+ 'ca' => 'catalá',
+ 'es' => 'español',
+ 'fr' => 'français'
+ );
- error_reporting(E_ALL ^ E_NOTICE);
//
// Gestion des droits d'acces
@@ -228,7 +231,6 @@
}
function telecharger_langue($lang, $droits) {
- global $base;
global $dir_base;
$fichier = 'tradloader_'.$lang.'.php';
if(!file_exists($dir_base.$fichier)) {
@@ -250,18 +252,13 @@
}
function selectionner_langue($droits) {
- $accept_langs = explode(',', $_SERVER['HTTP_ACCEPT_LANGUAGE']);
- if (is_array($accept_langs)) {
- while(list(, $s) = each($accept_langs)) {
- if (eregi('^([a-z]{2,3})(-[a-z]{2,3})?(;q=[0-9.]+)?$', trim($s), $r)) {
- $lang = strtolower($r[1]);
- if (telecharger_langue($lang,$droits)) return $lang;
- }
- }
- }
- //si on a trouve aucune langue, on tente le francais (langue par defaut) une derniere fois
- if (telecharger_langue('fr',$droits)) return 'fr';
- return false;
+ global $langues; # langues dispo
+
+ if (isset($_GET['lang'])) $lang = $_GET['lang'];
+ if (!isset($langues[$lang])) $lang ='fr';
+
+ # code de retour = capacite a telecharger le fichier de langue
+ return telecharger_langue($lang,$droits) ? $lang : false;
}
function debut_html() {
@@ -274,7 +271,7 @@
<META HTTP-EQUIV="Expires" CONTENT="0">
<META HTTP-EQUIV="cache-control" CONTENT="no-cache,no-store">
<META HTTP-EQUIV="pragma" CONTENT="no-cache">
- <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
+ <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=utf-8">
<style>
@@ -363,36 +360,6 @@
return false;
}
- function unpacker_fichier($f) {
- global $dir_base;
- global $_fread;
- global $chmod;
-
- $chaine = $_fread($f, 4);
- if ($chaine != 'spip') {
- return false;
- }
- $chmod_dir = $chmod;
- $chmod_file = $chmod & ~0111;
- while (($fichier = lire_chaine($f)) != '') {
- $n = lire_long($f);
- $chemin = "$dir_base$fichier";
- if (!$n) {
- @mkdir($chemin, $chmod_dir);
- @chmod($chemin, $chmod_dir);
- }
- else {
- $bin = $_fread($f, $n);
- if (!(test_fichier_config($fichier) AND file_exists($chemin))) {
- $dest = fopen($chemin, "wb");
- fwrite($dest, $bin, $n);
- fclose($dest);
- @chmod($chemin, $chmod_file);
- }
- }
- }
- return true;
- }
function nettoyer_racine($fichier) {
global $dir_base;
@@ -406,10 +373,13 @@
return true;
}
-//
+
+///////////////////////////////////////////////
// debut du process
//
+ error_reporting(E_ALL ^ E_NOTICE);
+
feed_globals('_GET');
feed_globals('_POST');
feed_globals('_COOKIE');
@@ -417,8 +387,6 @@
$http_proxy = '';
$dir_base = './'; //repertoire d'installation
- $base = _URL_BASE_DL;
-
$droits = tester_repertoire();
if($lang = selectionner_langue($droits)) {
@@ -448,34 +416,23 @@
if ($contenu) {
ecrire_fichier($dir_base."pclzip.php", $contenu);
include($dir_base."pclzip.php");
- $gz = 'zip';
}
} else {
include($dir_base."pclzip.php");
- $gz = 'zip';
}
}
- else {
- $_fwrite = 'fwrite';
- $_fread = 'fread';
- $_fopen = 'fopen';
- $_fclose = 'fclose';
- }
+ else
+ die ('fonctions zip non disponibles');
+
//
// deploiement de l'archive
//
if(isset($fichier) AND strlen($fichier) AND file_exists($dir_base.$fichier)) {
- if($gz == 'zip') {
$nom_tmp = substr($fichier, 0, -4);
$zip = new PclZip($dir_base.$fichier);
$ok = $zip->extract(
PCLZIP_OPT_PATH, $dir_base,
PCLZIP_OPT_REMOVE_PATH, "spip/");
- } else {
- $f = $_fopen($dir_base.$fichier, "rb");
- $ok = unpacker_fichier($f);
- $_fclose($f);
- }
nettoyer_racine($fichier);
if (!$ok) {
debut_html();
@@ -500,21 +457,19 @@
fin_html();
exit;
}
- if($gz == 'zip') {
- $fichier = _PAQUET_ZIP;
- } else {
- $fichier = '.spip.bin';
- if ($gz) $fichier .= ".gz";
- }
- $contenu = recuperer_page($base.$fichier);
- if($contenu) {
- ecrire_fichier($dir_base.$fichier, $contenu);
- } else {
+
+ $contenu = recuperer_page(_URL_PAQUET_ZIP);
+
+ if(!$contenu) {
debut_html();
echo _T('echec_chargement');
fin_html();
exit;
}
+
+ $fichier = basename(_URL_PAQUET_ZIP);
+ ecrire_fichier($dir_base.$fichier, $contenu);
+
// Passer a l'etape suivante (desarchivage)
header("Location: spip_loader.php?fichier=$fichier$hash$id_auteur$chmod");
exit;
Added: _dev_/spip_loader/tradloader_ca.php.txt
--- _dev_/spip_loader/tradloader_ca.php.txt (added)
+++ _dev_/spip_loader/tradloader_ca.php.txt Sat Jul 1 12:54:26 2006
@@ -0,0 +1,29 @@
+<?php
+
+ $GLOBALS['i18n_tradloader_ca'] = Array (
+ 'titre' => 'Descàrrega d\'SPIP',
+ 'texte_intro' => '<P><B>Benvingut a la instal·lació d\'SPIP.</B>
+ <P>El sistema va a verificar els drets d\'accés del directori actual, després començarà la descàrrega de dades SPIP dins d\'aquest directori.
+ <P>Faça clic al següent botó per continuar.',
+ 'bouton_suivant' => 'Començar la instal·lació >>',
+ 'donnees_incorrectes' => '<h4>Dades incorrectes. Si vol pot provar novament o emprar la instal·lació manual.</h4>',
+ 'texte_preliminaire' => '<BR><FONT FACE=\"Verdana,Arial,Helvetica,sans-serif\" SIZE=3>Preliminar:
+ <B>Reajustar els drets d\'accés</B></FONT>
+ <P><B>El directori actual no té drets d\'escriptura.</B>
+ <P>Per solucionar-ho, utilitzi un client FTP per tal de reajustar els drets d\'accés
+ a aquest directori (carpeta d\'instal·lació d\'SPIP).
+ El procediment està explicat detalladament a la guia d\'instal·lació. Trie:<BR>
+ <UL>
+ <LI><B>Si té un client FTP gràfic</B>, reajuste les propietats del directori actual
+ per tal que tots hi puguen escriure.<P>
+ <LI><B>Si el vostre client FTP és en mode text</B>, canvie els permisos a 777.<P>
+ <LI><B>Si disposa d\'accés Telnet</B>, faça un <I>chmod 777 directori actual</I>.<P>
+ </UL>
+ <P>Un cop feta aquesta manipulació podreu <B><A HREF=\'spip_loader.php3?charger=oui@hash@@id_auteur@\'> recarregar aquesta pàgina</A></B>
+ per tal d\'escomençar la descàrrega posterior a la instal·lació.
+ <P>Si l\'error persisteix, haureu de fer la instal·lació clàssica
+ (descàrrega de tots els fitxers per FTP).',
+ 'echec_chargement' => '<h4>La descàrrega ha fallat. Haureu d\'intentar-ho novament, o emprar la instal·lació manual.</h4>'
+ );
+
+?>
Added: _dev_/spip_loader/tradloader_es.php.txt
--- _dev_/spip_loader/tradloader_es.php.txt (added)
+++ _dev_/spip_loader/tradloader_es.php.txt Sat Jul 1 12:54:26 2006
@@ -0,0 +1,28 @@
+<?php
+
+ $GLOBALS['i18n_tradloader_es'] = Array (
+ 'titre' => 'Descarga de SPIP',
+ 'texte_intro' => '<P><B>Bienvenido al procedimiento de instalación automático de SPIP.</B>
+ <P>Primero, el sistema comprobará los derechos de acceso a la carpeta actual, luego lanzará la descarga de los datos en dicha carpeta.
+ <P>Pulse sobre el el botón siguiente para continuar.',
+ 'bouton_suivant' => 'Comenzar la instalación >>',
+ 'donnees_incorrectes' => '<h4>Datos incorrectos. Por favor reintente la operación o use el procedimiento de instalación manual.</h4>',
+ 'texte_preliminaire' => '<BR><FONT FACE=\"Verdana,Arial,Helvetica,sans-serif\" SIZE=3>Preliminar:
+ <B>Ajustar los derechos de acceso</B></FONT>
+ <P><B>La carpeta actual no está accesible en modo de escritura.</B>
+ <P>Para resolverlo, use un cliente FTP y ajuste los permisos o derechos de accceso a dicha carpeta (directorio de instalación de SPIP).
+ El procedimiento está explicado con detalle en la guía de instalación. Opciones:<BR>
+ <UL>
+ <LI><B>Si tiene cliente FTP gráfico</B>, ajuste las propiedades del directorio actual
+ para que sea accesible en modo escritura para todos.<P>
+ <LI><B>Si usa un cliente FTP en modo texto</B>, cambie los permisos de la carpeta al valor 777.<P>
+ <LI><B>Si dispone de un acceso Telnet</B>, haga un <I>chmod 777 carpeta_actual</I>.<P>
+ </UL>
[... 10 lines stripped ...]