|
|
|
@ -8,22 +8,28 @@ class Spip {
|
|
|
|
|
/** @var bool */
|
|
|
|
|
private $loaded = false;
|
|
|
|
|
|
|
|
|
|
/** @var string */
|
|
|
|
|
/** @var string realpath of install directory */
|
|
|
|
|
private $full_install_directory;
|
|
|
|
|
|
|
|
|
|
/** @var string install directory relative to working directory */
|
|
|
|
|
private $install_directory;
|
|
|
|
|
|
|
|
|
|
/** @var string */
|
|
|
|
|
private $url_root;
|
|
|
|
|
private $url_install;
|
|
|
|
|
|
|
|
|
|
/** @var string */
|
|
|
|
|
private $script_filename;
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* @param string $url_root
|
|
|
|
|
* @param string $url_install
|
|
|
|
|
* @param string $full_install_directory
|
|
|
|
|
* @param string $install_directory
|
|
|
|
|
* @param string $script_filename
|
|
|
|
|
*/
|
|
|
|
|
public function __construct($url_root, $install_directory, $script_filename) {
|
|
|
|
|
$this->url_root = $url_root;
|
|
|
|
|
public function __construct($url_install, $full_install_directory, $install_directory, $script_filename) {
|
|
|
|
|
$this->url_install = $url_install;
|
|
|
|
|
$this->full_install_directory = $full_install_directory;
|
|
|
|
|
$this->install_directory = $install_directory;
|
|
|
|
|
$this->script_filename = $script_filename;
|
|
|
|
|
}
|
|
|
|
@ -32,7 +38,7 @@ class Spip {
|
|
|
|
|
* @return bool
|
|
|
|
|
*/
|
|
|
|
|
public function exists() {
|
|
|
|
|
return @file_exists($this->install_directory . self::BOOTSTRAP_SPIP_FILE);
|
|
|
|
|
return @file_exists($this->full_install_directory . self::BOOTSTRAP_SPIP_FILE);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/** @return string */
|
|
|
|
@ -48,7 +54,7 @@ class Spip {
|
|
|
|
|
if (!$this->exists()) {
|
|
|
|
|
return '';
|
|
|
|
|
}
|
|
|
|
|
$file = $this->install_directory . self::BOOTSTRAP_SPIP_FILE;
|
|
|
|
|
$file = $this->full_install_directory . self::BOOTSTRAP_SPIP_FILE;
|
|
|
|
|
if (!is_readable($file)) {
|
|
|
|
|
throw new \Exception(sprintf('Can’t read %s to extract version', $file));
|
|
|
|
|
}
|
|
|
|
@ -80,7 +86,7 @@ class Spip {
|
|
|
|
|
$this->loaded = true;
|
|
|
|
|
if (self::exists()) {
|
|
|
|
|
$pwd = getcwd();
|
|
|
|
|
chdir($this->install_directory);
|
|
|
|
|
chdir($this->full_install_directory);
|
|
|
|
|
include_once self::BOOTSTRAP_SPIP_FILE;
|
|
|
|
|
chdir($pwd);
|
|
|
|
|
}
|
|
|
|
@ -120,16 +126,15 @@ class Spip {
|
|
|
|
|
* @return void
|
|
|
|
|
*/
|
|
|
|
|
public function askForLogin() {
|
|
|
|
|
$base_url = $this->url_root . $this->install_directory;
|
|
|
|
|
|
|
|
|
|
$return = str_repeat('../', $this->countDirectories($this->install_directory));
|
|
|
|
|
$redirect_self = $return . $this->script_filename;
|
|
|
|
|
$pwd = getcwd();
|
|
|
|
|
chdir($this->install_directory);
|
|
|
|
|
chdir($this->full_install_directory);
|
|
|
|
|
include_spip('inc/headers');
|
|
|
|
|
include_spip('inc/minipres');
|
|
|
|
|
http_response_code(403);
|
|
|
|
|
echo str_replace('<head>', '<head><base href="' . $base_url . '">', install_debut_html(_T('info_acces_interdit')));
|
|
|
|
|
echo str_replace('<head>', '<head><base href="' . $this->url_install . '">', install_debut_html(_T('info_acces_interdit')));
|
|
|
|
|
echo "<div style='text-align: center'>\n";
|
|
|
|
|
echo _T('ecrire:avis_non_acces_page');
|
|
|
|
|
echo '<br /><a href="' . parametre_url(generer_url_public('login'), 'url', $redirect_self) . '">' . _T('public:lien_connecter') . '</a>';
|
|
|
|
|