Browse Source

Add requirements check in CLI (#3410)

* Add requirements check in CLI

#fix https://github.com/FreshRSS/FreshRSS/issues/1853

* More checks

#fix https://github.com/FreshRSS/FreshRSS/issues/1853
Alexandre Alapetite 5 years ago
parent
commit
d42b4c299c

+ 4 - 1
app/actualize_script.php

@@ -19,7 +19,6 @@ function notice($message) {
 session_cache_limiter('');
 ob_implicit_flush(false);
 ob_start();
-echo 'Results: ', "\n";	//Buffered
 
 $begin_date = date_create('now');
 
@@ -39,7 +38,11 @@ define('SIMPLEPIE_SYSLOG_ENABLED', FreshRSS_Context::$system_conf->simplepie_sys
 notice('FreshRSS starting feeds actualization at ' . $begin_date->format('c'));
 
 // make sure the PHP setup of the CLI environment is compatible with FreshRSS as well
+echo 'Failed requirements!', "\n";
 performRequirementCheck(FreshRSS_Context::$system_conf->db['type']);
+ob_clean();
+
+echo 'Results: ', "\n";	//Buffered
 
 // Create the list of users to actualize.
 // Users are processed in a random order but always start with default user

+ 2 - 2
cli/_cli.php

@@ -54,13 +54,13 @@ function done($ok = true) {
 function performRequirementCheck($databaseType) {
 	$requirements = checkRequirements($databaseType);
 	if ($requirements['all'] !== 'ok') {
-		$message = 'FreshRSS install failed requirements:' . "\n";
+		$message = 'FreshRSS failed requirements:' . "\n";
 		foreach ($requirements as $requirement => $check) {
 			if ($check !== 'ok' && !in_array($requirement, array('all', 'pdo', 'message'))) {
 				$message .= '• ' . $requirement . "\n";
 			}
 		}
-		if (!empty($requirements['message'])) {
+		if (!empty($requirements['message']) && $requirements['message'] !== 'ok') {
 			$message .= '• ' . $requirements['message'] . "\n";
 		}
 		fail($message);

+ 2 - 0
cli/_update-or-create-user.php

@@ -1,6 +1,8 @@
 <?php
 require(__DIR__ . '/_cli.php');
 
+performRequirementCheck(FreshRSS_Context::$system_conf->db['type']);
+
 $params = array(
 		'user:',
 		'password:',

+ 2 - 0
cli/actualize-user.php

@@ -2,6 +2,8 @@
 <?php
 require(__DIR__ . '/_cli.php');
 
+performRequirementCheck(FreshRSS_Context::$system_conf->db['type']);
+
 $params = array(
 	'user:',
 );

+ 2 - 0
cli/db-optimize.php

@@ -2,6 +2,8 @@
 <?php
 require(__DIR__ . '/_cli.php');
 
+performRequirementCheck(FreshRSS_Context::$system_conf->db['type']);
+
 $params = array(
 	'user:',
 );

+ 2 - 0
cli/delete-user.php

@@ -2,6 +2,8 @@
 <?php
 require(__DIR__ . '/_cli.php');
 
+performRequirementCheck(FreshRSS_Context::$system_conf->db['type']);
+
 $params = array(
 	'user:',
 );

+ 2 - 0
cli/export-opml-for-user.php

@@ -2,6 +2,8 @@
 <?php
 require(__DIR__ . '/_cli.php');
 
+performRequirementCheck(FreshRSS_Context::$system_conf->db['type']);
+
 $params = array(
 	'user:',
 );

+ 2 - 0
cli/export-sqlite-for-user.php

@@ -2,6 +2,8 @@
 <?php
 require(__DIR__ . '/_cli.php');
 
+performRequirementCheck(FreshRSS_Context::$system_conf->db['type']);
+
 $params = [
 	'user:',
 	'filename:',

+ 2 - 0
cli/export-zip-for-user.php

@@ -2,6 +2,8 @@
 <?php
 require(__DIR__ . '/_cli.php');
 
+performRequirementCheck(FreshRSS_Context::$system_conf->db['type']);
+
 $params = array(
 	'user:',
 	'max-feed-entries:',

+ 2 - 0
cli/import-for-user.php

@@ -2,6 +2,8 @@
 <?php
 require(__DIR__ . '/_cli.php');
 
+performRequirementCheck(FreshRSS_Context::$system_conf->db['type']);
+
 $params = array(
 	'user:',
 	'filename:',

+ 2 - 0
cli/import-sqlite-for-user.php

@@ -2,6 +2,8 @@
 <?php
 require(__DIR__ . '/_cli.php');
 
+performRequirementCheck(FreshRSS_Context::$system_conf->db['type']);
+
 $params = [
 	'user:',
 	'filename:',

+ 1 - 1
lib/lib_install.php

@@ -68,7 +68,7 @@ function checkRequirements($dbType = '') {
 		'users' => $users ? 'ok' : 'ko',
 		'favicons' => $favicons ? 'ok' : 'ko',
 		'http_referer' => $http_referer ? 'ok' : 'ko',
-		'message' => $message ?: 'ok',
+		'message' => $message ?: '',
 		'all' => $php && $curl && $pdo && $pcre && $ctype && $dom && $xml &&
 		         $data && $cache && $tmp && $users && $favicons && $http_referer && $message == '' ? 'ok' : 'ko'
 	);