|
|
@@ -1,15 +1,50 @@
|
|
|
<?php
|
|
|
|
|
|
class FreshRSS extends Minz_FrontController {
|
|
|
+ /**
|
|
|
+ * Initialize the different FreshRSS / Minz components.
|
|
|
+ *
|
|
|
+ * PLEASE DON'T CHANGE THE ORDER OF INITIALIZATIONS UNLESS YOU KNOW WHAT
|
|
|
+ * YOU DO!!
|
|
|
+ *
|
|
|
+ * Here is the list of components:
|
|
|
+ * - Create a configuration setter and register it to system conf
|
|
|
+ * - Init extension manager and enable system extensions (has to be done asap)
|
|
|
+ * - Init authentication system
|
|
|
+ * - Init user configuration (need auth system)
|
|
|
+ * - Init FreshRSS context (need user conf)
|
|
|
+ * - Init i18n (need context)
|
|
|
+ * - Init sharing system (need user conf and i18n)
|
|
|
+ * - Init generic styles and scripts (need user conf)
|
|
|
+ * - Init notifications
|
|
|
+ * - Enable user extensions (need all the other initializations)
|
|
|
+ */
|
|
|
public function init() {
|
|
|
if (!isset($_SESSION)) {
|
|
|
Minz_Session::init('FreshRSS');
|
|
|
}
|
|
|
|
|
|
+ // Register the configuration setter for the system configuration
|
|
|
+ $configuration_setter = new FreshRSS_ConfigurationSetter();
|
|
|
+ $system_conf = Minz_Configuration::get('system');
|
|
|
+ $system_conf->_configurationSetter($configuration_setter);
|
|
|
+
|
|
|
// Load list of extensions and enable the "system" ones.
|
|
|
Minz_ExtensionManager::init();
|
|
|
- $this->initConfiguration();
|
|
|
+
|
|
|
+ // Auth has to be initialized before using currentUser session parameter
|
|
|
+ // because it's this part which create this parameter.
|
|
|
$this->initAuth();
|
|
|
+
|
|
|
+ // Then, register the user configuration and use the configuration setter
|
|
|
+ // created above.
|
|
|
+ $current_user = Minz_Session::param('currentUser', '_');
|
|
|
+ Minz_Configuration::register('user',
|
|
|
+ join_path(USERS_PATH, $current_user, 'config.php'),
|
|
|
+ join_path(USERS_PATH, '_', 'config.default.php'),
|
|
|
+ $configuration_setter);
|
|
|
+
|
|
|
+ // Finish to initialize the other FreshRSS / Minz components.
|
|
|
FreshRSS_Context::init();
|
|
|
$this->initI18n();
|
|
|
FreshRSS_Share::load(join_path(DATA_PATH, 'shares.php'));
|
|
|
@@ -22,18 +57,6 @@ class FreshRSS extends Minz_FrontController {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- private function initConfiguration() {
|
|
|
- $configuration_setter = new FreshRSS_ConfigurationSetter();
|
|
|
- $current_user = Minz_Session::param('currentUser', '_');
|
|
|
-
|
|
|
- Minz_Configuration::register('user',
|
|
|
- join_path(USERS_PATH, $current_user, 'config.php'),
|
|
|
- join_path(USERS_PATH, '_', 'config.default.php'),
|
|
|
- $configuration_setter);
|
|
|
- $system_conf = Minz_Configuration::get('system');
|
|
|
- $system_conf->_configurationSetter($configuration_setter);
|
|
|
- }
|
|
|
-
|
|
|
private function initAuth() {
|
|
|
FreshRSS_Auth::init();
|
|
|
if (Minz_Request::isPost() && !is_referer_from_same_domain()) {
|