You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

70 lines
2.0 KiB

<?php
/***************************************************************************\
* SPIP, Systeme de publication pour l'internet *
* *
* Copyright (c) 2001-2015 *
* Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
* *
* Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
* Pour plus de details voir le fichier COPYING.txt ou l'aide en ligne. *
\***************************************************************************/
9 years ago
/**
* Affichage des étapes d'installation de SPIP
*
9 years ago
* @package SPIP\Core\Exec
*/
if (!defined('_ECRIRE_INC_VERSION')) {
return;
}
Pour eviter aux scripts Ajax de charger systématiquement les 130Ko totalisés par inc/minipres.php inc/texte.php inc/filtres.php et inc/charsets.php (et pour faciliter la lecture de ecrire/index.php aux nouveaux venus), cette suite d'inclusions ne sera bientot plus opérées par ecrire/index;php. Cette opération devait transparente pour le noyau, mais pourra etre perceptible pour les extensions de SPIP définissant ou complétant l'espace privé, notamment en créant des fichiers dans un répertoire exec/. Pour se préparer à ce changement, ces extensions ont deux possibilités: - la plus simple: rajouter dans leurs fichiers le {{{include_spip('inc/minipres/')}}} qui sera bientot retiré de ecrire/index.php - la plus pertinente: tester chacun de ces fichiers pour regarder s'ils ont besoin ou non de ces 130Ko. Pour ce faire on peut utiliser le shell-script suivant, où la variable {{{session}}} doit etre affectée à une session valide sur votre machine: #!/bin/sh session="require('../tmp/sessions/521_0a154a3fdb1dfa9443d8cec28e7c5743.php');" for i in ??*.php do z=../_$i.php sed "s,<\?php,<\?php require 'inc_version.php';spip_connect();include_spip('inc/sessions');$session," $i > $z f=$(basename $i .php) echo "<?php exec_${f}_dist(); ?>" >> $z echo ">>>>>>>>>>>>>$i" php -q $z |grep Fatal rm $z done Il faut aussi executer ce script avec {{{session=''}}} pour bien faire. Les messages de fonctions indéfinies qui pourraient arriver pendant ces exécutions signalent qu'une au moins des 4 inclusions éliminées est indispensable au script considéré, il faut alors l'ajouter à l'endroit approprié. Le présent dépot ajoute les inclusions repérées par ce shell-script. Elle sont donc superflues jusqu'au remplacement de inc/minipres par inc/lang dans index.php.
16 years ago
include_spip('inc/minipres');
include_spip('inc/install');
12 years ago
include_spip('inc/autoriser');
Pour eviter aux scripts Ajax de charger systématiquement les 130Ko totalisés par inc/minipres.php inc/texte.php inc/filtres.php et inc/charsets.php (et pour faciliter la lecture de ecrire/index.php aux nouveaux venus), cette suite d'inclusions ne sera bientot plus opérées par ecrire/index;php. Cette opération devait transparente pour le noyau, mais pourra etre perceptible pour les extensions de SPIP définissant ou complétant l'espace privé, notamment en créant des fichiers dans un répertoire exec/. Pour se préparer à ce changement, ces extensions ont deux possibilités: - la plus simple: rajouter dans leurs fichiers le {{{include_spip('inc/minipres/')}}} qui sera bientot retiré de ecrire/index.php - la plus pertinente: tester chacun de ces fichiers pour regarder s'ils ont besoin ou non de ces 130Ko. Pour ce faire on peut utiliser le shell-script suivant, où la variable {{{session}}} doit etre affectée à une session valide sur votre machine: #!/bin/sh session="require('../tmp/sessions/521_0a154a3fdb1dfa9443d8cec28e7c5743.php');" for i in ??*.php do z=../_$i.php sed "s,<\?php,<\?php require 'inc_version.php';spip_connect();include_spip('inc/sessions');$session," $i > $z f=$(basename $i .php) echo "<?php exec_${f}_dist(); ?>" >> $z echo ">>>>>>>>>>>>>$i" php -q $z |grep Fatal rm $z done Il faut aussi executer ce script avec {{{session=''}}} pour bien faire. Les messages de fonctions indéfinies qui pourraient arriver pendant ces exécutions signalent qu'une au moins des 4 inclusions éliminées est indispensable au script considéré, il faut alors l'ajouter à l'endroit approprié. Le présent dépot ajoute les inclusions repérées par ce shell-script. Elle sont donc superflues jusqu'au remplacement de inc/minipres par inc/lang dans index.php.
16 years ago
define('_ECRIRE_INSTALL', "1");
define('_FILE_TMP', '_install');
9 years ago
/**
* Affiche un des écrans d'installation de SPIP
*
* Affiche l'étape d'installation en cours, en fonction du paramètre
* d'url `etape`
*
9 years ago
* @uses inc_auth_dist()
* @uses verifier_visiteur()
*
* @uses install_etape__dist()
* Affiche l'écran d'accueil de l'installation,
* si aucune étape n'est encore définie.
*
**/
function exec_install_dist() {
$etape = _request('etape');
12 years ago
$deja = (_FILE_CONNECT AND analyse_fichier_connection(_FILE_CONNECT));
12 years ago
// Si deja installe, on n'a plus le droit qu'a l'etape chmod
// pour chgt post-install ou aux etapes supplementaires
// de declaration de base externes.
// Mais alors il faut authentifier car ecrire/index.php l'a omis
if ($deja AND in_array($etape, array('chmod', 'sup1', 'sup2'))) {
$auth = charger_fonction('auth', 'inc');
if (!$auth()) {
verifier_visiteur();
$deja = (!autoriser('configurer'));
}
}
if ($deja) {
// Rien a faire ici
echo minipres();
} else {
include_spip('base/create');
$fonc = charger_fonction("etape_$etape", 'install');
$fonc();
}
}