fix: Chemin de SPIP erroné suite à la précédente correction… fiou

pull/33/head
Matthieu Marcillaud 3 months ago
parent 5b116f05d5
commit 1b7016c10b

@ -62,8 +62,9 @@ class Application {
$this->lang = $this->define_lang();
$this->versions = $this->define_downloadable_versions();
$this->spip = new Spip(
$this->config->get('url.root'),
$this->config->get('directory.public') . $this->config->get('directory.install'),
$this->config->get('url.root') . $this->config->get('directory.install'),
$this->config->get('directory.public') . '/' . $this->config->get('directory.install'),
$this->config->get('directory.install'),
$this->config->get('phar.filename') ?: $this->config->get('app.filename')
);
$this->page = new Template\Page(

@ -86,6 +86,5 @@ final class Internal extends AbstractConfig {
$this->set('url.frontend', dirname($script_url) . '/');
# $this->set('url.root', dirname($script_url, \Phar::running(false) ? 2 : 1) . '/'); # php 7.0+
$this->set('url.root', (\Phar::running(false) ? dirname(dirname($script_url)) : dirname($script_url)) . '/');
#dump($filepath, $script_filename, $script_url, $this->config);
}
}

@ -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('Cant 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>';

Loading…
Cancel
Save