From 38a45d325fbd9e71f9c274bd1bee70a3bc6a2eea Mon Sep 17 00:00:00 2001 From: Michael Vogel Date: Fri, 2 Jan 2015 00:01:17 +0100 Subject: [PATCH 1/3] See issue 1218: generate $argv and $argc from $_SERVER if it wasn't defined. --- boot.php | 8 ++++++++ include/dbupdate.php | 3 +-- testargs.php | 10 ++++++---- 3 files changed, 15 insertions(+), 6 deletions(-) diff --git a/boot.php b/boot.php index 34836a97a..fa4f8b072 100644 --- a/boot.php +++ b/boot.php @@ -2388,3 +2388,11 @@ if(!function_exists('exif_imagetype')) { return($size[2]); } } + +// See https://github.com/friendica/friendica/issues/1218 +// Try to get the values for $argv and $argc via the $_SERVER array +if (!isset($argv) && array_key_exists('argv', $_SERVER)) + $argv = $_SERVER['argv']; + +if (!isset($argc) && array_key_exists('argc', $_SERVER)) + $argv = $_SERVER['argc']; diff --git a/include/dbupdate.php b/include/dbupdate.php index eb2eda48d..3fcd6b7f0 100644 --- a/include/dbupdate.php +++ b/include/dbupdate.php @@ -8,7 +8,7 @@ function dbupdate_run(&$argv, &$argc) { if(is_null($a)){ $a = new App; } - + if(is_null($db)) { @include(".htconfig.php"); require_once("include/dba.php"); @@ -26,4 +26,3 @@ if (array_search(__file__,get_included_files())===0){ dbupdate_run($argv,$argc); killme(); } - diff --git a/testargs.php b/testargs.php index 4c9bce4e9..8c6da430e 100644 --- a/testargs.php +++ b/testargs.php @@ -8,14 +8,16 @@ * During installation we need to check if register_argc_argv is * enabled for the command line PHP processor, because otherwise * deliveries will fail. So we will do a shell exec of php and - * execute this file with a command line argument, and see if it - * echoes the argument back to us. Otherwise notify the person + * execute this file with a command line argument, and see if it + * echoes the argument back to us. Otherwise notify the person * that their installation doesn't meet the system requirements. * - */ + */ + - if(($argc > 1) && isset($argv[1])) echo $argv[1]; +elseif(($_SERVER["argc"] > 1) && isset($_SERVER["argv"][1])) + echo $_SERVER["argv"][1]; else echo ''; From b5beb4c69ae8b762365291ec0cc174c6b03412d0 Mon Sep 17 00:00:00 2001 From: Michael Vogel Date: Fri, 2 Jan 2015 07:50:21 +0100 Subject: [PATCH 2/3] Litte typo ... --- boot.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/boot.php b/boot.php index fa4f8b072..258fd49ee 100644 --- a/boot.php +++ b/boot.php @@ -2395,4 +2395,4 @@ if (!isset($argv) && array_key_exists('argv', $_SERVER)) $argv = $_SERVER['argv']; if (!isset($argc) && array_key_exists('argc', $_SERVER)) - $argv = $_SERVER['argc']; + $argc = $_SERVER['argc']; From cce561708a21b89f042a9ad812aca3a4a2abd9b3 Mon Sep 17 00:00:00 2001 From: Michael Vogel Date: Sun, 4 Jan 2015 13:24:16 +0100 Subject: [PATCH 3/3] Replaced $argv and $argc with the $_SERVER array --- boot.php | 16 ++++------------ include/cronhooks.php | 2 +- include/dbstructure.php | 2 +- include/dbupdate.php | 2 +- include/delivery.php | 2 +- include/directory.php | 2 +- include/dsprphotoq.php | 2 +- include/expire.php | 2 +- include/gprobe.php | 2 +- include/notifier.php | 20 ++++++++++---------- include/onepoll.php | 6 +++--- include/poller.php | 2 +- include/queue.php | 2 +- testargs.php | 4 +--- util/po2php.php | 38 +++++++++++++++++++------------------- 15 files changed, 47 insertions(+), 57 deletions(-) diff --git a/boot.php b/boot.php index 258fd49ee..2e76292f4 100644 --- a/boot.php +++ b/boot.php @@ -435,7 +435,7 @@ if(! class_exists('App')) { function __construct() { - global $default_timezone, $argv, $argc; + global $default_timezone; $hostname = ""; @@ -504,9 +504,9 @@ if(! class_exists('App')) { if ($hostname != "") $this->hostname = $hostname; - if (is_array($argv) && $argc>1 && substr(end($argv), 0, 4)=="http" ) { - $this->set_baseurl(array_pop($argv) ); - $argc --; + if (is_array($_SERVER["argv"]) && $_SERVER["argc"]>1 && substr(end($_SERVER["argv"]), 0, 4)=="http" ) { + $this->set_baseurl(array_pop($_SERVER["argv"]) ); + $_SERVER["argc"] --; } #set_include_path("include/$this->hostname" . PATH_SEPARATOR . get_include_path()); @@ -2388,11 +2388,3 @@ if(!function_exists('exif_imagetype')) { return($size[2]); } } - -// See https://github.com/friendica/friendica/issues/1218 -// Try to get the values for $argv and $argc via the $_SERVER array -if (!isset($argv) && array_key_exists('argv', $_SERVER)) - $argv = $_SERVER['argv']; - -if (!isset($argc) && array_key_exists('argc', $_SERVER)) - $argc = $_SERVER['argc']; diff --git a/include/cronhooks.php b/include/cronhooks.php index c0549dfff..3a09da48c 100644 --- a/include/cronhooks.php +++ b/include/cronhooks.php @@ -66,6 +66,6 @@ function cronhooks_run(&$argv, &$argc){ } if (array_search(__file__,get_included_files())===0){ - cronhooks_run($argv,$argc); + cronhooks_run($_SERVER["argv"],$_SERVER["argc"]); killme(); } diff --git a/include/dbstructure.php b/include/dbstructure.php index 66e67c0a9..2a014cd0a 100644 --- a/include/dbstructure.php +++ b/include/dbstructure.php @@ -1339,6 +1339,6 @@ function dbstructure_run(&$argv, &$argc) { } if (array_search(__file__,get_included_files())===0){ - dbstructure_run($argv,$argc); + dbstructure_run($_SERVER["argv"],$_SERVER["argc"]); killme(); } diff --git a/include/dbupdate.php b/include/dbupdate.php index 3fcd6b7f0..28f1de340 100644 --- a/include/dbupdate.php +++ b/include/dbupdate.php @@ -23,6 +23,6 @@ function dbupdate_run(&$argv, &$argc) { } if (array_search(__file__,get_included_files())===0){ - dbupdate_run($argv,$argc); + dbupdate_run($_SERVER["argv"],$_SERVER["argc"]); killme(); } diff --git a/include/delivery.php b/include/delivery.php index bf41b3d13..1def8ad2c 100644 --- a/include/delivery.php +++ b/include/delivery.php @@ -565,6 +565,6 @@ function delivery_run(&$argv, &$argc){ } if (array_search(__file__,get_included_files())===0){ - delivery_run($argv,$argc); + delivery_run($_SERVER["argv"],$_SERVER["argc"]); killme(); } diff --git a/include/directory.php b/include/directory.php index 5c1a7c4b4..aed700fa8 100644 --- a/include/directory.php +++ b/include/directory.php @@ -46,6 +46,6 @@ function directory_run(&$argv, &$argc){ } if (array_search(__file__,get_included_files())===0){ - directory_run($argv,$argc); + directory_run($_SERVER["argv"],$_SERVER["argc"]); killme(); } diff --git a/include/dsprphotoq.php b/include/dsprphotoq.php index 47592006d..7e252cd84 100644 --- a/include/dsprphotoq.php +++ b/include/dsprphotoq.php @@ -45,6 +45,6 @@ function dsprphotoq_run($argv, $argc){ if (array_search(__file__,get_included_files())===0){ - dsprphotoq_run($argv,$argc); + dsprphotoq_run($_SERVER["argv"],$_SERVER["argc"]); killme(); } diff --git a/include/expire.php b/include/expire.php index a7b561bf0..308680421 100644 --- a/include/expire.php +++ b/include/expire.php @@ -55,6 +55,6 @@ function expire_run(&$argv, &$argc){ } if (array_search(__file__,get_included_files())===0){ - expire_run($argv,$argc); + expire_run($_SERVER["argv"],$_SERVER["argc"]); killme(); } diff --git a/include/gprobe.php b/include/gprobe.php index 36650eb9a..52c5483c8 100644 --- a/include/gprobe.php +++ b/include/gprobe.php @@ -63,6 +63,6 @@ function gprobe_run(&$argv, &$argc){ } if (array_search(__file__,get_included_files())===0){ - gprobe_run($argv,$argc); + gprobe_run($_SERVER["argv"],$_SERVER["argc"]); killme(); } diff --git a/include/notifier.php b/include/notifier.php index d222fd942..79de67470 100644 --- a/include/notifier.php +++ b/include/notifier.php @@ -5,16 +5,16 @@ require_once('include/html2plain.php'); /* * This file was at one time responsible for doing all deliveries, but this caused - * big problems on shared hosting systems, where the process might get killed by the - * hosting provider and nothing would get delivered. + * big problems on shared hosting systems, where the process might get killed by the + * hosting provider and nothing would get delivered. * It now only delivers one message under certain cases, and invokes a queued - * delivery mechanism (include/deliver.php) to deliver individual contacts at + * delivery mechanism (include/deliver.php) to deliver individual contacts at * controlled intervals. * This has a much better chance of surviving random processes getting killed - * by the hosting provider. + * by the hosting provider. * A lot of this code is duplicated in include/deliver.php until we have time to go back - * and re-structure the delivery procedure based on the obstacles that have been thrown at - * us by hosting providers. + * and re-structure the delivery procedure based on the obstacles that have been thrown at + * us by hosting providers. */ /* @@ -50,7 +50,7 @@ function notifier_run(&$argv, &$argc){ if(is_null($a)){ $a = new App; } - + if(is_null($db)) { @include(".htconfig.php"); require_once("include/dba.php"); @@ -946,7 +946,7 @@ function notifier_run(&$argv, &$argc){ } if((! $mail) && (! $fsuggest) && (! $followup)) { - logger('notifier: delivery agent: ' . $rr['name'] . ' ' . $rr['id']); + logger('notifier: delivery agent: ' . $rr['name'] . ' ' . $rr['id']); proc_run('php','include/delivery.php',$cmd,$item_id,$rr['id']); if($interval) @time_sleep_until(microtime(true) + (float) $interval); @@ -966,7 +966,7 @@ function notifier_run(&$argv, &$argc){ if ($h === '[internal]') { // Set push flag for PuSH subscribers to this topic, // they will be notified in queue.php - q("UPDATE `push_subscriber` SET `push` = 1 " . + q("UPDATE `push_subscriber` SET `push` = 1 " . "WHERE `nickname` = '%s'", dbesc($owner['nickname'])); } else { @@ -1001,6 +1001,6 @@ function notifier_run(&$argv, &$argc){ if (array_search(__file__,get_included_files())===0){ - notifier_run($argv,$argc); + notifier_run($_SERVER["argv"],$_SERVER["argc"]); killme(); } diff --git a/include/onepoll.php b/include/onepoll.php index bb5b8905a..72c1d65c0 100644 --- a/include/onepoll.php +++ b/include/onepoll.php @@ -586,8 +586,8 @@ function onepoll_run(&$argv, &$argc){ // load current friends if possible. - if($contact['poco']) { - $r = q("SELECT count(*) as total from glink + if($contact['poco']) { + $r = q("SELECT count(*) as total from glink where `cid` = %d and updated > UTC_TIMESTAMP() - INTERVAL 1 DAY", intval($contact['id']) ); @@ -602,6 +602,6 @@ function onepoll_run(&$argv, &$argc){ } if (array_search(__file__,get_included_files())===0){ - onepoll_run($argv,$argc); + onepoll_run($_SERVER["argv"],$_SERVER["argc"]); killme(); } diff --git a/include/poller.php b/include/poller.php index 0edda8170..68f65999e 100644 --- a/include/poller.php +++ b/include/poller.php @@ -301,6 +301,6 @@ function poller_run(&$argv, &$argc){ } if (array_search(__file__,get_included_files())===0){ - poller_run($argv,$argc); + poller_run($_SERVER["argv"],$_SERVER["argc"]); killme(); } diff --git a/include/queue.php b/include/queue.php index 3c28cefaf..128dfcba5 100644 --- a/include/queue.php +++ b/include/queue.php @@ -265,6 +265,6 @@ function queue_run(&$argv, &$argc){ } if (array_search(__file__,get_included_files())===0){ - queue_run($argv,$argc); + queue_run($_SERVER["argv"],$_SERVER["argc"]); killme(); } diff --git a/testargs.php b/testargs.php index 8c6da430e..a6042f8eb 100644 --- a/testargs.php +++ b/testargs.php @@ -15,9 +15,7 @@ */ -if(($argc > 1) && isset($argv[1])) - echo $argv[1]; -elseif(($_SERVER["argc"] > 1) && isset($_SERVER["argv"][1])) +if(($_SERVER["argc"] > 1) && isset($_SERVER["argv"][1])) echo $_SERVER["argv"][1]; else echo ''; diff --git a/util/po2php.php b/util/po2php.php index 881a9b267..30d77342b 100644 --- a/util/po2php.php +++ b/util/po2php.php @@ -8,7 +8,7 @@ function po2php_run(&$argv, &$argc) { print "Usage: ".$argv[0]." \n\n"; return; } - + $pofile = $argv[1]; $outfile = dirname($pofile)."/strings.php"; @@ -23,11 +23,11 @@ function po2php_run(&$argv, &$argc) { print "Unable to find '$pofile'\n"; return; } - + print "Out to '$outfile'\n"; - + $out="strings["'.$k.'"] = '; } if ($inv) { $inv = False; $out .= '"'.$v.'"'; } - + $v = substr($l,8,$len-10); $v = preg_replace_callback($escape_s_exp,'escape_s',$v); $inv = True; @@ -69,28 +69,28 @@ function po2php_run(&$argv, &$argc) { if ($k!="" && substr($l,0,7)=="msgstr["){ if ($ink) { $ink = False; $out .= '$a->strings["'.$k.'"] = '; } if ($inv) { $inv = False; $out .= '"'.$v.'"'; } - + if (!$arr) { $arr=True; $out .= "array(\n"; } $match=Array(); preg_match("|\[([0-9]*)\] (.*)|", $l, $match); - $out .= "\t". + $out .= "\t". preg_replace_callback($escape_s_exp,'escape_s',$match[1]) ." => " .preg_replace_callback($escape_s_exp,'escape_s',$match[2]) .",\n"; } - + if (substr($l,0,6)=="msgid_") { $ink = False; $out .= '$a->strings["'.$k.'"] = '; }; if ($ink) { - $k .= trim($l,"\"\r\n"); + $k .= trim($l,"\"\r\n"); $k = preg_replace_callback($escape_s_exp,'escape_s',$k); //$out .= '$a->strings['.$k.'] = '; } - + if (substr($l,0,6)=="msgid "){ if ($inv) { $inv = False; $out .= '"'.$v.'"'; } if ($k!="") $out .= $arr?");\n":";\n"; @@ -101,28 +101,28 @@ function po2php_run(&$argv, &$argc) { } else { $k = ""; } - + $k = preg_replace_callback($escape_s_exp,'escape_s',$k); $ink = True; } - + if ($inv && substr($l,0,6)!="msgstr") { - $v .= trim($l,"\"\r\n"); + $v .= trim($l,"\"\r\n"); $v = preg_replace_callback($escape_s_exp,'escape_s',$v); //$out .= '$a->strings['.$k.'] = '; } - - + + } if ($inv) { $inv = False; $out .= '"'.$v.'"'; } if ($k!="") $out .= $arr?");\n":";\n"; - + $out = str_replace(DQ_ESCAPE, '\"', $out); file_put_contents($outfile, $out); - + } if (array_search(__file__,get_included_files())===0){ - po2php_run($argv,$argc); + po2php_run($_SERVER["argv"],$_SERVER["argc"]); }