aboutsummaryrefslogtreecommitdiff
path: root/app/install.php
diff options
context:
space:
mode:
Diffstat (limited to 'app/install.php')
-rw-r--r--app/install.php157
1 files changed, 76 insertions, 81 deletions
diff --git a/app/install.php b/app/install.php
index d4c150120..37ce5b0f6 100644
--- a/app/install.php
+++ b/app/install.php
@@ -6,10 +6,7 @@ header("Content-Security-Policy: default-src 'self'");
require(LIB_PATH . '/lib_install.php');
-session_name('FreshRSS');
-$forwardedPrefix = empty($_SERVER['HTTP_X_FORWARDED_PREFIX']) ? '' : rtrim($_SERVER['HTTP_X_FORWARDED_PREFIX'], '/ ');
-session_set_cookie_params(0, $forwardedPrefix . dirname(empty($_SERVER['REQUEST_URI']) ? '/' : dirname($_SERVER['REQUEST_URI'])), null, false, true);
-session_start();
+Minz_Session::init('FreshRSS');
if (isset($_GET['step'])) {
define('STEP', (int)$_GET['step']);
@@ -18,7 +15,7 @@ if (isset($_GET['step'])) {
}
if (STEP === 2 && isset($_POST['type'])) {
- $_SESSION['bd_type'] = $_POST['type'];
+ Minz_Session::_param('bd_type', $_POST['type']);
}
function param($key, $default = false) {
@@ -34,15 +31,15 @@ function initTranslate() {
Minz_Translate::init();
$available_languages = Minz_Translate::availableLanguages();
- if (!isset($_SESSION['language'])) {
- $_SESSION['language'] = get_best_language();
+ if (Minz_Session::param('language') == '') {
+ Minz_Session::_param('language', get_best_language());
}
- if (!in_array($_SESSION['language'], $available_languages)) {
- $_SESSION['language'] = 'en';
+ if (!in_array(Minz_Session::param('language'), $available_languages)) {
+ Minz_Session::_param('language', 'en');
}
- Minz_Translate::reset($_SESSION['language']);
+ Minz_Translate::reset(Minz_Session::param('language'));
}
function get_best_language() {
@@ -58,7 +55,7 @@ function saveLanguage() {
return false;
}
- $_SESSION['language'] = $_POST['language'];
+ Minz_Session::_param('language', $_POST['language']);
header('Location: index.php?step=1');
}
@@ -84,19 +81,19 @@ function saveStep1() {
$user_conf = Minz_Configuration::get('user');
// Then, we set $_SESSION vars
- $_SESSION['title'] = $system_conf->title;
- $_SESSION['auth_type'] = $system_conf->auth_type;
- $_SESSION['default_user'] = $current_user;
- $_SESSION['passwordHash'] = $user_conf->passwordHash;
-
- $db = $system_conf->db;
- $_SESSION['bd_type'] = $db['type'];
- $_SESSION['bd_host'] = $db['host'];
- $_SESSION['bd_user'] = $db['user'];
- $_SESSION['bd_password'] = $db['password'];
- $_SESSION['bd_base'] = $db['base'];
- $_SESSION['bd_prefix'] = $db['prefix'];
- $_SESSION['bd_error'] = '';
+ Minz_Session::_params([
+ 'title' => $system_conf->title,
+ 'auth_type' => $system_conf->auth_type,
+ 'default_user' => $current_user,
+ 'passwordHash' => $user_conf->passwordHash,
+ 'bd_type' => $system_conf->db['type'],
+ 'bd_host' => $system_conf->db['host'],
+ 'bd_user' => $system_conf->db['user'],
+ 'bd_password' => $system_conf->db['password'],
+ 'bd_base' => $system_conf->db['base'],
+ 'bd_prefix' => $system_conf->db['prefix'],
+ 'bd_error' => false,
+ ]);
header('Location: index.php?step=4');
}
@@ -104,27 +101,31 @@ function saveStep1() {
function saveStep2() {
if (!empty($_POST)) {
- if ($_SESSION['bd_type'] === 'sqlite') {
- $_SESSION['bd_base'] = '';
- $_SESSION['bd_host'] = '';
- $_SESSION['bd_user'] = '';
- $_SESSION['bd_password'] = '';
- $_SESSION['bd_prefix'] = '';
+ if (Minz_Session::param('bd_type') === 'sqlite') {
+ Minz_Session::_params([
+ 'bd_base' => false,
+ 'bd_host' => false,
+ 'bd_user' => false,
+ 'bd_password' => false,
+ 'bd_prefix' => false,
+ ]);
} else {
if (empty($_POST['type']) ||
empty($_POST['host']) ||
empty($_POST['user']) ||
empty($_POST['base'])) {
- $_SESSION['bd_error'] = 'Missing parameters!';
+ Minz_Session::_param('bd_error', 'Missing parameters!');
}
- $_SESSION['bd_base'] = substr($_POST['base'], 0, 64);
- $_SESSION['bd_host'] = $_POST['host'];
- $_SESSION['bd_user'] = $_POST['user'];
- $_SESSION['bd_password'] = $_POST['pass'];
- $_SESSION['bd_prefix'] = substr($_POST['prefix'], 0, 16);
+ Minz_Session::_params([
+ 'bd_base' => substr($_POST['base'], 0, 64),
+ 'bd_host' => $_POST['host'],
+ 'bd_user' => $_POST['user'],
+ 'bd_password' => $_POST['pass'],
+ 'bd_prefix' => substr($_POST['prefix'], 0, 16),
+ ]);
}
- if ($_SESSION['bd_type'] === 'pgsql') {
- $_SESSION['bd_base'] = strtolower($_SESSION['bd_base']);
+ if (Minz_Session::param('bd_type') === 'pgsql') {
+ Minz_Session::_param('bd_base', strtolower(Minz_Session::param('bd_base')));
}
// We use dirname to remove the /i part
@@ -134,21 +135,21 @@ function saveStep2() {
'base_url' => $base_url,
'default_user' => '_',
'db' => [
- 'type' => $_SESSION['bd_type'],
- 'host' => $_SESSION['bd_host'],
- 'user' => $_SESSION['bd_user'],
- 'password' => $_SESSION['bd_password'],
- 'base' => $_SESSION['bd_base'],
- 'prefix' => $_SESSION['bd_prefix'],
+ 'type' => Minz_Session::param('bd_type'),
+ 'host' => Minz_Session::param('bd_host'),
+ 'user' => Minz_Session::param('bd_user'),
+ 'password' => Minz_Session::param('bd_password'),
+ 'base' => Minz_Session::param('bd_base'),
+ 'prefix' => Minz_Session::param('bd_prefix'),
'pdo_options' => [],
],
'pubsubhubbub_enabled' => Minz_Request::serverIsPublic($base_url),
];
- if (!empty($_SESSION['title'])) {
- $config_array['title'] = $_SESSION['title'];
+ if (Minz_Session::param('title') != '') {
+ $config_array['title'] = Minz_Session::param('title');
}
- if (!empty($_SESSION['auth_type'])) {
- $config_array['auth_type'] = $_SESSION['auth_type'];
+ if (Minz_Session::param('auth_type') != '') {
+ $config_array['auth_type'] = Minz_Session::param('auth_type');
}
@unlink(DATA_PATH . '/config.php'); //To avoid access-rights problems
@@ -163,16 +164,16 @@ function saveStep2() {
$ok = false;
try {
- $_SESSION['currentUser'] = $config_array['default_user'];
+ Minz_Session::_param('currentUser', $config_array['default_user']);
$error = initDb();
- unset($_SESSION['currentUser']);
+ Minz_Session::_param('currentUser');
if ($error != '') {
- $_SESSION['bd_error'] = $error;
+ Minz_Session::_param('bd_error', $error);
} else {
$ok = true;
}
} catch (Exception $ex) {
- $_SESSION['bd_error'] = $ex->getMessage();
+ Minz_Session::_param('bd_error', $ex->getMessage());
$ok = false;
}
if (!$ok) {
@@ -180,10 +181,10 @@ function saveStep2() {
}
if ($ok) {
- $_SESSION['bd_error'] = '';
+ Minz_Session::_param('bd_error');
header('Location: index.php?step=3');
- } elseif (empty($_SESSION['bd_error'])) {
- $_SESSION['bd_error'] = 'Unknown error!';
+ } elseif (Minz_Session::param('bd_error') == '') {
+ Minz_Session::_param('bd_error', 'Unknown error!');
}
}
invalidateHttpCache();
@@ -193,47 +194,48 @@ function saveStep3() {
$user_default_config = Minz_Configuration::get('default_user');
if (!empty($_POST)) {
$system_default_config = Minz_Configuration::get('default_system');
- $_SESSION['title'] = $system_default_config->title;
- $_SESSION['auth_type'] = param('auth_type', 'form');
+ Minz_Session::_params([
+ 'title' => $system_default_config->title,
+ 'auth_type' => param('auth_type', 'form'),
+ ]);
if (FreshRSS_user_Controller::checkUsername(param('default_user', ''))) {
- $_SESSION['default_user'] = param('default_user', '');
+ Minz_Session::_param('default_user', param('default_user', ''));
}
- if (empty($_SESSION['auth_type']) ||
- empty($_SESSION['default_user'])) {
+ if (Minz_Session::param('auth_type') == '' || Minz_Session::param('default_user') == '') {
return false;
}
$password_plain = param('passwordPlain', false);
- if ($_SESSION['auth_type'] === 'form' && $password_plain == '') {
+ if (Minz_Session::param('auth_type') === 'form' && $password_plain == '') {
return false;
}
Minz_Configuration::register('system', DATA_PATH . '/config.php', FRESHRSS_PATH . '/config.default.php');
FreshRSS_Context::$system_conf = Minz_Configuration::get('system');
- Minz_Translate::init($_SESSION['language']);
+ Minz_Translate::init(Minz_Session::param('language'));
- FreshRSS_Context::$system_conf->default_user = $_SESSION['default_user'];
+ FreshRSS_Context::$system_conf->default_user = Minz_Session::param('default_user');
FreshRSS_Context::$system_conf->save();
// Create default user files but first, we delete previous data to
// avoid access right problems.
- recursive_unlink(USERS_PATH . '/' . $_SESSION['default_user']);
+ recursive_unlink(USERS_PATH . '/' . Minz_Session::param('default_user'));
$ok = false;
try {
$ok = FreshRSS_user_Controller::createUser(
- $_SESSION['default_user'],
+ Minz_Session::param('default_user'),
'', //TODO: Add e-mail
$password_plain,
[
- 'language' => $_SESSION['language'],
+ 'language' => Minz_Session::param('language'),
'is_admin' => true,
'enabled' => true,
]
);
} catch (Exception $e) {
- $_SESSION['bd_error'] = $e->getMessage();
+ Minz_Session::_param('bd_error', $e->getMessage());
$ok = false;
}
if (!$ok) {
@@ -259,13 +261,12 @@ function checkStep() {
} elseif (STEP > 3 && $s3['all'] != 'ok') {
header('Location: index.php?step=3');
}
- $_SESSION['actualize_feeds'] = true;
+ Minz_Session::_param('actualize_feeds', true);
}
function checkStep0() {
$languages = Minz_Translate::availableLanguages();
- $language = isset($_SESSION['language']) &&
- in_array($_SESSION['language'], $languages);
+ $language = Minz_Session::param('language') != '' && in_array(Minz_Session::param('language'), $languages);
return array(
'language' => $language ? 'ok' : 'ko',
@@ -303,14 +304,8 @@ function freshrss_already_installed() {
function checkStep2() {
$conf = is_writable(join_path(DATA_PATH, 'config.php'));
- $bd = isset($_SESSION['bd_type']) &&
- isset($_SESSION['bd_host']) &&
- isset($_SESSION['bd_user']) &&
- isset($_SESSION['bd_password']) &&
- isset($_SESSION['bd_base']) &&
- isset($_SESSION['bd_prefix']) &&
- isset($_SESSION['bd_error']);
- $conn = empty($_SESSION['bd_error']);
+ $bd = Minz_Session::param('bd_type') != '';
+ $conn = Minz_Session::param('bd_error') == '';
return [
'bd' => $bd ? 'ok' : 'ko',
@@ -321,13 +316,13 @@ function checkStep2() {
}
function checkStep3() {
- $conf = !empty($_SESSION['default_user']);
+ $conf = Minz_Session::param('default_user') != '';
- $form = isset($_SESSION['auth_type']);
+ $form = Minz_Session::param('auth_type') != '';
$defaultUser = empty($_POST['default_user']) ? null : $_POST['default_user'];
if ($defaultUser === null) {
- $defaultUser = empty($_SESSION['default_user']) ? '' : $_SESSION['default_user'];
+ $defaultUser = Minz_Session::param('default_user') == '' ? '' : Minz_Session::param('default_user');
}
$data = is_writable(join_path(USERS_PATH, $defaultUser, 'config.php'));