Using getopt for CLI arguments (#5446)

* Adding Argument class to Friendica

* Adding Argument class to Friendica

* Adding Argument class to Friendica

* fixing arguments for `spawnWorker`

* Adding `use Friendica\BaseObject` to `ApiTest.php`

* Refactoring the argument-usages of Friendica

* Refactoring the argument-usages of Friendica

* removing superfluous []
This commit is contained in:
Philipp 2018-07-23 13:40:52 +02:00 committed by Hypolite Petovan
commit cd52d0b3e9
5 changed files with 38 additions and 15 deletions

View file

@ -12,6 +12,12 @@ use Friendica\Core\Config;
use Friendica\Core\Worker;
use Friendica\Database\DBA;
// Get options
$shortopts = '';
$shortopts .= 'f';
$longopts = [ 'foreground' ];
$options = getopt($shortopts, $longopts);
// Ensure that daemon.php is executed from the base path of the installation
if (!file_exists("boot.php") && (sizeof($_SERVER["argv"]) != 0)) {
$directory = dirname($_SERVER["argv"][0]);
@ -55,7 +61,7 @@ if (in_array("status", $_SERVER["argv"])) {
$mode = "status";
}
$foreground = in_array("--foreground", $_SERVER["argv"]);
$foreground = array_key_exists('f', $options) || array_key_exists('foreground', $options);
if (!isset($mode)) {
die("Please use either 'start', 'stop' or 'status'.\n");

View file

@ -6,11 +6,16 @@
*/
use Friendica\App;
use Friendica\BaseObject;
use Friendica\Core\Addon;
use Friendica\Core\Config;
use Friendica\Core\Worker;
// Get options
$shortopts = '';
$shortopts .= 'sc';
$longopts = [ 'spawn', 'cron' ];
$options = getopt($shortopts, $longopts);
// Ensure that worker.php is executed from the base path of the installation
if (!file_exists("boot.php") && (sizeof($_SERVER["argv"]) != 0)) {
$directory = dirname($_SERVER["argv"][0]);
@ -41,14 +46,14 @@ $a->set_baseurl(Config::get('system', 'url'));
Addon::loadHooks();
$spawn = (($_SERVER["argc"] == 2) && ($_SERVER["argv"][1] == "spawn"));
$spawn = array_key_exists('s', $options) || array_key_exists('spawn', $options);
if ($spawn) {
Worker::spawnWorker();
killme();
}
$run_cron = (($_SERVER["argc"] <= 1) || ($_SERVER["argv"][1] != "no_cron"));
$run_cron = array_key_exists('c', $options) || array_key_exists('cron', $options);
Worker::processQueue($run_cron);