Sfoglia il codice sorgente

Meilleure mise-à-jour avec Persona depuis v0.6 vers v0.7

https://github.com/marienfressinaud/FreshRSS/issues/347
* Conserve l'information sur l'utilisation de Persona lors d'une mise à
jour depuis v0.6 vers v0.7.
* Idem pour la lecture anonyme
* Les droits sur le répertoire persona sont testés
* Les tokens ne sont pas migrés ni testés pour l'instant
https://github.com/marienfressinaud/FreshRSS/issues/327
Alexandre Alapetite 12 anni fa
parent
commit
70c6ba903d
3 ha cambiato i file con 20 aggiunte e 2 eliminazioni
  1. 1 0
      app/i18n/install.en.php
  2. 1 0
      app/i18n/install.fr.php
  3. 18 2
      p/i/install.php

+ 1 - 0
app/i18n/install.en.php

@@ -40,6 +40,7 @@ return array (
 	'log_is_ok'			=> 'Permissions on logs directory are good',
 	'favicons_is_ok'		=> 'Permissions on favicons directory are good',
 	'data_is_ok'			=> 'Permissions on data directory are good',
+	'persona_is_ok'			=> 'Permissions on Mozilla Persona directory are good',
 	'file_is_nok'			=> 'Check permissions on <em>%s</em> directory. HTTP server must have rights to write into',
 	'fix_errors_before'		=> 'Fix errors before skip to the next step.',
 

+ 1 - 0
app/i18n/install.fr.php

@@ -40,6 +40,7 @@ return array (
 	'log_is_ok'			=> 'Les droits sur le répertoire des logs sont bons',
 	'favicons_is_ok'		=> 'Les droits sur le répertoire des favicons sont bons',
 	'data_is_ok'			=> 'Les droits sur le répertoire de data sont bons',
+	'persona_is_ok'			=> 'Les droits sur le répertoire de Mozilla Persona sont bons',
 	'file_is_nok'			=> 'Veuillez vérifier les droits sur le répertoire <em>%s</em>. Le serveur HTTP doit être capable d’écrire dedans',
 	'fix_errors_before'		=> 'Veuillez corriger les erreurs avant de passer à l’étape suivante.',
 

+ 18 - 2
p/i/install.php

@@ -213,6 +213,8 @@ function saveStep3 () {
 				'base_url' => '',
 				'title' => $_SESSION['title'],
 				'default_user' => $_SESSION['default_user'],
+				'auth_type' => $_SESSION['auth_type'],
+				'allow_anonymous' => $_SESSION['allow_anonymous'],
 			),
 			'db' => array(
 				'type' => $_SESSION['bd_type'],
@@ -433,7 +435,7 @@ function checkStep0 () {
 	if ($ini_array) {
 		$ini_general = isset($ini_array['general']) ? $ini_array['general'] : null;
 		if ($ini_general) {
-			$keys = array('environment', 'salt', 'title', 'default_user');
+			$keys = array('environment', 'salt', 'title', 'default_user', 'allow_anonymous', 'auth_type');
 			foreach ($keys as $key) {
 				if ((empty($_SESSION[$key])) && isset($ini_general[$key])) {
 					$_SESSION[$key] = $ini_general[$key];
@@ -455,6 +457,12 @@ function checkStep0 () {
 		$userConfig = include(DATA_PATH . '/' . $_SESSION['default_user'] . '_user.php');
 	} elseif (file_exists(DATA_PATH . '/Configuration.array.php')) {
 		$userConfig = include(DATA_PATH . '/Configuration.array.php');	//v0.6
+		if (empty($_SESSION['auth_type'])) {
+			$_SESSION['auth_type'] = empty($userConfig['mail_login']) ? 'none' : 'persona';
+		}
+		if (!isset($_SESSION['allow_anonymous'])) {
+			$_SESSION['allow_anonymous'] = empty($userConfig['anon_access']) ? false : ($userConfig['anon_access'] === 'yes');
+		}
 	} else {
 		$userConfig = array();
 	}
@@ -487,6 +495,7 @@ function checkStep1 () {
 	$cache = CACHE_PATH && is_writable (CACHE_PATH);
 	$log = LOG_PATH && is_writable (LOG_PATH);
 	$favicons = is_writable (DATA_PATH . '/favicons');
+	$persona = is_writable (DATA_PATH . '/persona');
 
 	return array (
 		'php' => $php ? 'ok' : 'ko',
@@ -500,7 +509,8 @@ function checkStep1 () {
 		'cache' => $cache ? 'ok' : 'ko',
 		'log' => $log ? 'ok' : 'ko',
 		'favicons' => $favicons ? 'ok' : 'ko',
-		'all' => $php && $minz && $curl && $pdo && $pcre && $ctype && $dom && $data && $cache && $log && $favicons ? 'ok' : 'ko'
+		'persona' => $persona ? 'ok' : 'ko',
+		'all' => $php && $minz && $curl && $pdo && $pcre && $ctype && $dom && $data && $cache && $log && $favicons && $persona ? 'ok' : 'ko'
 	);
 }
 
@@ -710,6 +720,12 @@ function printStep1 () {
 	<p class="alert alert-error"><span class="alert-head"><?php echo _t ('damn'); ?></span> <?php echo _t ('file_is_nok', DATA_PATH . '/favicons'); ?></p>
 	<?php } ?>
 
+	<?php if ($res['persona'] == 'ok') { ?>
+	<p class="alert alert-success"><span class="alert-head"><?php echo _t ('ok'); ?></span> <?php echo _t ('persona_is_ok'); ?></p>
+	<?php } else { ?>
+	<p class="alert alert-error"><span class="alert-head"><?php echo _t ('damn'); ?></span> <?php echo _t ('file_is_nok', DATA_PATH . '/persona'); ?></p>
+	<?php } ?>
+
 	<?php if ($res['all'] == 'ok') { ?>
 	<a class="btn btn-important next-step" href="?step=2"><?php echo _t ('next_step'); ?></a>
 	<?php } else { ?>