X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=index.php;h=84282b8dc6c6ecc41dd67cae0eae0e9c3fdf883a;hb=735ed4a94e1da5874195ac47c00612043a193edf;hp=780dc581bef119a3bb7535757c8ee42a444001ce;hpb=684e662a58b02bde225e44d3677987b6fc3adf0b;p=github%2Fshaarli%2FShaarli.git diff --git a/index.php b/index.php index 780dc581..84282b8d 100644 --- a/index.php +++ b/index.php @@ -1,8 +1,8 @@ /shaarli/ define('WEB_PATH', substr($_SERVER['REQUEST_URI'], 0, 1+strrpos($_SERVER['REQUEST_URI'], '/', 0))); @@ -44,13 +44,30 @@ error_reporting(E_ALL^E_WARNING); //error_reporting(-1); +// 3rd-party libraries +if (! file_exists(__DIR__ . '/vendor/autoload.php')) { + header('Content-Type: text/plain; charset=utf-8'); + echo "Error: missing Composer configuration\n\n" + ."If you installed Shaarli through Git or using the development branch,\n" + ."please refer to the installation documentation to install PHP" + ." dependencies using Composer:\n" + ."- https://github.com/shaarli/Shaarli/wiki/Server-requirements\n" + ."- https://github.com/shaarli/Shaarli/wiki/Download-and-Installation"; + exit; +} +require_once 'inc/rain.tpl.class.php'; +require_once __DIR__ . '/vendor/autoload.php'; + // Shaarli library require_once 'application/ApplicationUtils.php'; require_once 'application/Cache.php'; require_once 'application/CachedPage.php'; +require_once 'application/config/ConfigManager.php'; +require_once 'application/config/ConfigPlugin.php'; require_once 'application/FeedBuilder.php'; require_once 'application/FileUtils.php'; require_once 'application/HttpUtils.php'; +require_once 'application/Languages.php'; require_once 'application/LinkDB.php'; require_once 'application/LinkFilter.php'; require_once 'application/LinkUtils.php'; @@ -59,12 +76,9 @@ require_once 'application/PageBuilder.php'; require_once 'application/TimeZone.php'; require_once 'application/Url.php'; require_once 'application/Utils.php'; -require_once 'application/config/ConfigManager.php'; -require_once 'application/config/ConfigPlugin.php'; require_once 'application/PluginManager.php'; require_once 'application/Router.php'; require_once 'application/Updater.php'; -require_once 'inc/rain.tpl.class.php'; // Ensure the PHP version is supported try { @@ -105,13 +119,16 @@ if (isset($_COOKIE['shaarli']) && !is_session_id_valid($_COOKIE['shaarli'])) { $_COOKIE['shaarli'] = session_id(); } -$conf = ConfigManager::getInstance(); +$conf = new ConfigManager(); +$conf->setEmpty('general.timezone', date_default_timezone_get()); +$conf->setEmpty('general.title', 'Shared links on '. escape(index_url($_SERVER))); +RainTPL::$tpl_dir = $conf->get('resource.raintpl_tpl'); // template directory +RainTPL::$cache_dir = $conf->get('resource.raintpl_tmp'); // cache directory -RainTPL::$tpl_dir = $conf->get('config.RAINTPL_TPL'); // template directory -RainTPL::$cache_dir = $conf->get('config.RAINTPL_TMP'); // cache directory +$pluginManager = new PluginManager($conf); +$pluginManager->load($conf->get('general.enabled_plugins')); -$pluginManager = PluginManager::getInstance(); -$pluginManager->load($conf->get('config.ENABLED_PLUGINS')); +date_default_timezone_set($conf->get('general.timezone', 'UTC')); ob_start(); // Output buffering for the page cache. @@ -130,26 +147,9 @@ header("Cache-Control: no-store, no-cache, must-revalidate"); header("Cache-Control: post-check=0, pre-check=0", false); header("Pragma: no-cache"); -// Handling of old config file which do not have the new parameters. -if (! $conf->exists('title')) { - $conf->set('title', 'Shared links on '. escape(index_url($_SERVER))); -} -if (! $conf->exists('timezone')) { - $conf->set('timezone', date_default_timezone_get()); -} -if (! $conf->exists('disablesessionprotection')) { - $conf->set('disablesessionprotection', false); -} -if (! $conf->exists('privateLinkByDefault')) { - $conf->set('privateLinkByDefault', false); -} -if (! $conf->exists('titleLink')) { - $conf->set('titleLink', '?'); -} - -if (! is_file($conf->getConfigFile())) { +if (! is_file($conf->getConfigFileExt())) { // Ensure Shaarli has proper access to its resources - $errors = ApplicationUtils::checkResourcePermissions(); + $errors = ApplicationUtils::checkResourcePermissions($conf); if ($errors != array()) { $message = '

Insufficient permissions: