diff options
| author | 2017-12-10 22:09:54 +0100 | |
|---|---|---|
| committer | 2017-12-10 22:09:54 +0100 | |
| commit | 5c52d9b34bb1f1285f92dd557bb8b8cb222b50f4 (patch) | |
| tree | 68c8b7b767951480a34cab5ab82fbfd34d15e2aa | |
| parent | 3902d3f43330504945e78627b4c49e67ae88aea9 (diff) | |
Check requirement in CLI script (#1711)
* check requirements in actualize_script before executing, fixes #1710
* removed empty whiteline
* testing all requirements
* incorporated code review feedback
* removed code that is already executed in _cli.php
* added newline at eof
* fixed include problems
* fixed include problems
| -rwxr-xr-x | app/actualize_script.php | 12 | ||||
| -rw-r--r-- | cli/_cli.php | 17 | ||||
| -rwxr-xr-x | cli/do-install.php | 15 |
3 files changed, 22 insertions, 22 deletions
diff --git a/app/actualize_script.php b/app/actualize_script.php index deaa1bf7c..0bb1f166f 100755 --- a/app/actualize_script.php +++ b/app/actualize_script.php @@ -1,6 +1,5 @@ <?php -require(dirname(__FILE__) . '/../constants.php'); -require(LIB_PATH . '/lib_rss.php'); //Includes class autoloader +require(__DIR__ . '/../cli/_cli.php'); session_cache_limiter(''); ob_implicit_flush(false); @@ -12,7 +11,6 @@ if (defined('STDOUT')) { fwrite(STDOUT, 'Starting feed actualization at ' . $begin_date->format('c') . "\n"); //Unbuffered } - // Set the header params ($_GET) to call the FRSS application. $_GET['c'] = 'feed'; $_GET['a'] = 'actualize'; @@ -20,15 +18,15 @@ $_GET['ajax'] = 1; $_GET['force'] = true; $_SERVER['HTTP_HOST'] = ''; - $log_file = join_path(USERS_PATH, '_', 'log.txt'); - $app = new FreshRSS(); $system_conf = Minz_Configuration::get('system'); $system_conf->auth_type = 'none'; // avoid necessity to be logged in (not saved!) -FreshRSS_Context::$isCli = true; + +// make sure the PHP setup of the CLI environment is compatible with FreshRSS as well +performRequirementCheck($system_conf->db['type']); // Create the list of users to actualize. // Users are processed in a random order but always start with admin @@ -39,7 +37,6 @@ if ($system_conf->default_user !== '') { $users = array_unique($users); } - $limits = $system_conf->limits; $min_last_activity = time() - $limits['max_inactivity']; foreach ($users as $user) { @@ -74,7 +71,6 @@ foreach ($users as $user) { } } - Minz_Log::notice('FreshRSS actualize done.', $log_file); if (defined('STDOUT')) { fwrite(STDOUT, 'Done.' . "\n"); diff --git a/cli/_cli.php b/cli/_cli.php index 1b26ea738..fb35c4afb 100644 --- a/cli/_cli.php +++ b/cli/_cli.php @@ -5,6 +5,7 @@ if (php_sapi_name() !== 'cli') { require(dirname(__FILE__) . '/../constants.php'); require(LIB_PATH . '/lib_rss.php'); +require(LIB_PATH . '/lib_install.php'); Minz_Configuration::register('system', DATA_PATH . '/config.php', @@ -47,3 +48,19 @@ function done($ok = true) { fwrite(STDERR, 'Result: ' . ($ok ? 'success' : 'fail') . "\n"); exit($ok ? 0 : 1); } + +function performRequirementCheck($databaseType) { + $requirements = checkRequirements($databaseType); + if ($requirements['all'] !== 'ok') { + $message = 'FreshRSS install 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'])) { + $message .= '• ' . $requirements['message'] . "\n"; + } + fail($message); + } +} diff --git a/cli/do-install.php b/cli/do-install.php index 74bbdfcd4..37db85575 100755 --- a/cli/do-install.php +++ b/cli/do-install.php @@ -1,7 +1,6 @@ #!/usr/bin/php <?php require('_cli.php'); -require(LIB_PATH . '/lib_install.php'); if (!file_exists(DATA_PATH . '/do-install.txt')) { fail('FreshRSS looks to be already installed! Please use `./cli/reconfigure.php` instead.'); @@ -66,19 +65,7 @@ foreach ($dBparams as $dBparam) { } } -$requirements = checkRequirements($config['db']['type']); -if ($requirements['all'] !== 'ok') { - $message = 'FreshRSS install 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'])) { - $message .= '• ' . $requirements['message'] . "\n"; - } - fail($message); -} +performRequirementCheck($config['db']['type']); if (!FreshRSS_user_Controller::checkUsername($options['default_user'])) { fail('FreshRSS error: invalid default username “' . $options['default_user'] |
