$val) { if (is_array ($val)) { writeLine ($f, '\'' . $key . '\' => array ('); writeArray ($f, $val); writeLine ($f, '),'); } else { writeLine ($f, '\'' . $key . '\' => \'' . $val . '\','); } } } /*** SAUVEGARDES ***/ function saveStep2 () { if (!empty ($_POST)) { if (empty ($_POST['sel']) || empty ($_POST['title']) || empty ($_POST['old_entries'])) { return false; } $_SESSION['sel'] = $_POST['sel']; $_SESSION['base_url'] = $_POST['base_url']; $_SESSION['title'] = $_POST['title']; $_SESSION['old_entries'] = $_POST['old_entries']; if (!is_int (intval ($_SESSION['old_entries'])) || $_SESSION['old_entries'] < 1) { $_SESSION['old_entries'] = 3; } $_SESSION['mail_login'] = $_POST['mail_login']; $file_data = PUBLIC_PATH . '/data/Configuration.array.php'; $f = fopen ($file_data, 'w'); writeLine ($f, ' $_SESSION['old_entries'], 'mail_login' => $_SESSION['mail_login'] )); writeLine ($f, ');'); fclose ($f); header ('Location: index.php?step=3'); } } function saveStep3 () { if (!empty ($_POST)) { if (empty ($_POST['host']) || empty ($_POST['user']) || empty ($_POST['pass']) || empty ($_POST['base'])) { return false; } $_SESSION['bd_host'] = $_POST['host']; $_SESSION['bd_user'] = $_POST['user']; $_SESSION['bd_pass'] = $_POST['pass']; $_SESSION['bd_name'] = $_POST['base']; $file_conf = APP_PATH . '/configuration/application.ini'; $f = fopen ($file_conf, 'w'); writeLine ($f, '[general]'); writeLine ($f, 'environment = "production"'); writeLine ($f, 'use_url_rewriting = false'); writeLine ($f, 'sel_application = "' . $_SESSION['sel'] . '"'); writeLine ($f, 'base_url = "' . $_SESSION['base_url'] . '"'); writeLine ($f, 'title = "' . $_SESSION['title'] . '"'); writeLine ($f, '[db]'); writeLine ($f, 'host = "' . $_SESSION['bd_host'] . '"'); writeLine ($f, 'user = "' . $_SESSION['bd_user'] . '"'); writeLine ($f, 'password = "' . $_SESSION['bd_pass'] . '"'); writeLine ($f, 'base = "' . $_SESSION['bd_name'] . '"'); fclose ($f); $res = checkBD (); if ($res) { header ('Location: index.php?step=4'); } } } function deleteInstall () { $res = unlink (PUBLIC_PATH . '/install.php'); if ($res) { header ('Location: index.php'); } } /*** VÉRIFICATIONS ***/ function checkStep () { $s1 = checkStep1 (); $s2 = checkStep2 (); $s3 = checkStep3 (); if (STEP > 1 && $s1['all'] != 'ok') { header ('Location: index.php?step=1'); } elseif (STEP > 2 && $s2['all'] != 'ok') { header ('Location: index.php?step=2'); } elseif (STEP > 3 && $s3['all'] != 'ok') { header ('Location: index.php?step=3'); } } function checkStep1 () { $php = version_compare (PHP_VERSION, '5.1.0') >= 0; $minz = file_exists (LIB_PATH . '/minz'); $curl = extension_loaded ('curl'); $pdo = extension_loaded ('pdo_mysql'); $cache = CACHE_PATH && is_writable (CACHE_PATH); $log = LOG_PATH && is_writable (LOG_PATH); $conf = APP_PATH && is_writable (APP_PATH . '/configuration'); $data = is_writable (PUBLIC_PATH . '/data'); return array ( 'php' => $php ? 'ok' : 'ko', 'minz' => $minz ? 'ok' : 'ko', 'curl' => $curl ? 'ok' : 'ko', 'pdo-mysql' => $pdo ? 'ok' : 'ko', 'cache' => $cache ? 'ok' : 'ko', 'log' => $log ? 'ok' : 'ko', 'configuration' => $conf ? 'ok' : 'ko', 'data' => $data ? 'ok' : 'ko', 'all' => $php && $minz && $curl && $pdo && $cache && $log && $conf && $data ? 'ok' : 'ko' ); } function checkStep2 () { $conf = isset ($_SESSION['sel']) && isset ($_SESSION['base_url']) && isset ($_SESSION['title']) && isset ($_SESSION['old_entries']) && isset ($_SESSION['mail_login']); $data = file_exists (PUBLIC_PATH . '/data/Configuration.array.php'); return array ( 'conf' => $conf ? 'ok' : 'ko', 'data' => $data ? 'ok' : 'ko', 'all' => $conf && $data ? 'ok' : 'ko' ); } function checkStep3 () { $conf = file_exists (APP_PATH . '/configuration/application.ini'); $bd = isset ($_SESSION['bd_host']) && isset ($_SESSION['bd_user']) && isset ($_SESSION['bd_pass']) && isset ($_SESSION['bd_name']); return array ( 'bd' => $bd ? 'ok' : 'ko', 'conf' => $conf ? 'ok' : 'ko', 'all' => $bd && $conf ? 'ok' : 'ko' ); } function checkBD () { $error = false; try { $c = new PDO ('mysql:host=' . $_SESSION['bd_host'] . ';dbname=' . $_SESSION['bd_name'], $_SESSION['bd_user'], $_SESSION['bd_pass']); $res = $c->query (SQL_REQ); if (!$res) { $error = true; } } catch (PDOException $e) { $error = true; } if ($error && file_exists (APP_PATH . '/configuration/application.ini')) { unlink (APP_PATH . '/configuration/application.ini'); } return !$error; } /*** AFFICHAGE ***/ function printStep1 () { $res = checkStep1 (); ?>

Ok ! Votre version de PHP est la et est compatible avec FreshRSS

Arf ! Votre version de PHP est la . Vous devriez avoir au moins la version 5.1.0

Ok ! Vous disposez du framework Minz

Arf ! Vous ne disposez pas de la librairie Minz. Vous devriez exécuter le script build.sh ou bien la télécharger sur Github et installer dans le répertoire le contenu de son répertoire /lib.

Ok ! Vous disposez de cURL dans sa version

Arf ! Vous ne disposez pas de cURL

Ok ! Vous disposez de PDO et de son driver pour MySQL

Arf ! Vous ne disposez pas de PDO ou de son driver pour MySQL

Ok ! Les droits sur le répertoire de cache sont bons

Arf ! Veuillez vérifier les droits sur le répertoire . Le serveur HTTP doit être capable d'écrire dedans

Ok ! Les droits sur le répertoire des logs sont bons

Arf ! Veuillez vérifier les droits sur le répertoire . Le serveur HTTP doit être capable d'écrire dedans

Ok ! Les droits sur le répertoire de configuration sont bons

Arf ! Veuillez vérifier les droits sur le répertoire . Le serveur HTTP doit être capable d'écrire dedans

Ok ! Les droits sur le répertoire de data sont bons

Arf ! Veuillez vérifier les droits sur le répertoire . Le serveur HTTP doit être capable d'écrire dedans

Passer à l'étape suivante Veuillez corriger les erreurs avant de passer à l'étape suivante.

Ok ! La configuration générale a été enregistrée.

Configuration générale
Vous devriez changer cette valeur par n'importe quelle autre
Laissez tel quel dans le doute
mois
Passer à l'étape suivante

Ok ! La configuration de la base de données a été enregistrée.

Configuration de la base de données
Passer à l'étape suivante

Félicitations ! L'installation s'est bien passée. Il faut maintenant supprimer le fichier install.php pour pouvoir accéder à FreshRSS... ou simplement cliquer sur le bouton ci-dessous ;)

Terminer l'installation

Oups ! Quelque chose s'est mal passé, vous devriez supprimer le fichier à la main.

Installation - FreshRSS

FreshRSS

Installation - étape