diff --git a/src/Core/Worker.php b/src/Core/Worker.php index 2cfb4de74..2e7bb483e 100644 --- a/src/Core/Worker.php +++ b/src/Core/Worker.php @@ -1,4 +1,7 @@ 1, 'order' => array('priority'))); if (DBM::is_result($s)) { @@ -171,7 +178,8 @@ class Worker { * * @return integer Is there a process running with that priority? */ - private static function processWithPriorityActive($priority) { + private static function processWithPriorityActive($priority) + { $condition = array("`priority` <= ? AND `executed` > ? AND NOT `done`", $priority, NULL_DATE); return dba::exists('workerqueue', $condition); } @@ -183,7 +191,8 @@ class Worker { * * @return boolean "true" if further processing should be stopped */ - public static function execute($queue) { + public static function execute($queue) + { $a = get_app(); $mypid = getmypid(); @@ -250,12 +259,11 @@ class Worker { return true; } - require_once($include); + require_once $include; $funcname = str_replace(".php", "", basename($argv[0]))."_run"; if (function_exists($funcname)) { - // We constantly update the "executed" date every minute to avoid being killed too soon if (!isset(self::$last_update)) { self::$last_update = strtotime($queue["executed"]); @@ -288,11 +296,14 @@ class Worker { /** * @brief Execute a function from the queue * - * @param array $queue Workerqueue entry - * @param string $funcname name of the function - * @param array $argv Array of values to be passed to the function + * @param array $queue Workerqueue entry + * @param string $funcname name of the function + * @param array $argv Array of values to be passed to the function + * @param boolean $method_call boolean + * @return void */ - private static function execFunction($queue, $funcname, $argv, $method_call) { + private static function execFunction($queue, $funcname, $argv, $method_call) + { $a = get_app(); $mypid = getmypid(); @@ -349,10 +360,14 @@ class Worker { * The execution time is the productive time. * By changing parameters like the maximum number of workers we can check the effectivness. */ - logger('DB: '.number_format(self::$db_duration, 2). + logger( + 'DB: '.number_format(self::$db_duration, 2). ' - Lock: '.number_format(self::$lock_duration, 2). ' - Rest: '.number_format($up_duration - self::$db_duration - self::$lock_duration, 2). - ' - Execution: '.number_format($duration, 2), LOGGER_DEBUG); + ' - Execution: '.number_format($duration, 2), + LOGGER_DEBUG + ); + self::$lock_duration = 0; if ($duration > 3600) { @@ -374,7 +389,7 @@ class Worker { if (Config::get("rendertime", "callstack")) { if (isset($a->callstack["database"])) { $o = "\nDatabase Read:\n"; - foreach ($a->callstack["database"] AS $func => $time) { + foreach ($a->callstack["database"] as $func => $time) { $time = round($time, 3); if ($time > 0) { $o .= $func.": ".$time."\n"; @@ -383,7 +398,7 @@ class Worker { } if (isset($a->callstack["database_write"])) { $o .= "\nDatabase Write:\n"; - foreach ($a->callstack["database_write"] AS $func => $time) { + foreach ($a->callstack["database_write"] as $func => $time) { $time = round($time, 3); if ($time > 0) { $o .= $func.": ".$time."\n"; @@ -392,7 +407,7 @@ class Worker { } if (isset($a->callstack["network"])) { $o .= "\nNetwork:\n"; - foreach ($a->callstack["network"] AS $func => $time) { + foreach ($a->callstack["network"] as $func => $time) { $time = round($time, 3); if ($time > 0) { $o .= $func.": ".$time."\n"; @@ -403,14 +418,18 @@ class Worker { $o = ''; } - logger("ID ".$queue["id"].": ".$funcname.": ".sprintf("DB: %s/%s, Net: %s, I/O: %s, Other: %s, Total: %s".$o, - number_format($a->performance["database"] - $a->performance["database_write"], 2), - number_format($a->performance["database_write"], 2), - number_format($a->performance["network"], 2), - number_format($a->performance["file"], 2), - number_format($duration - ($a->performance["database"] + $a->performance["network"] + $a->performance["file"]), 2), - number_format($duration, 2)), - LOGGER_DEBUG); + logger( + "ID ".$queue["id"].": ".$funcname.": ".sprintf( + "DB: %s/%s, Net: %s, I/O: %s, Other: %s, Total: %s".$o, + number_format($a->performance["database"] - $a->performance["database_write"], 2), + number_format($a->performance["database_write"], 2), + number_format($a->performance["network"], 2), + number_format($a->performance["file"], 2), + number_format($duration - ($a->performance["database"] + $a->performance["network"] + $a->performance["file"]), 2), + number_format($duration, 2) + ), + LOGGER_DEBUG + ); } $cooldown = Config::get("system", "worker_cooldown", 0); @@ -426,8 +445,8 @@ class Worker { * * @return bool Are more than 3/4 of the maximum connections used? */ - private static function maxConnectionsReached() { - + private static function maxConnectionsReached() + { // Fetch the max value from the config. This is needed when the system cannot detect the correct value by itself. $max = Config::get("system", "max_connections"); @@ -501,16 +520,24 @@ class Worker { /** * @brief fix the queue entry if the worker process died - * + * @return void */ - private static function killStaleWorkers() { - $entries = dba::select('workerqueue', array('id', 'pid', 'executed', 'priority', 'parameter'), - array('`executed` > ? AND NOT `done` AND `pid` != 0', NULL_DATE), - array('order' => array('priority', 'created'))); + private static function killStaleWorkers() + { + $entries = dba::select( + 'workerqueue', + array('id', 'pid', 'executed', 'priority', 'parameter'), + array('`executed` > ? AND NOT `done` AND `pid` != 0', NULL_DATE), + array('order' => array('priority', 'created')) + ); + while ($entry = dba::fetch($entries)) { if (!posix_kill($entry["pid"], 0)) { - dba::update('workerqueue', array('executed' => NULL_DATE, 'pid' => 0), - array('id' => $entry["id"])); + dba::update( + 'workerqueue', + array('executed' => NULL_DATE, 'pid' => 0), + array('id' => $entry["id"]) + ); } else { // Kill long running processes // Check if the priority is in a valid range @@ -541,9 +568,11 @@ class Worker { } elseif ($entry["priority"] != PRIORITY_CRITICAL) { $new_priority = PRIORITY_NEGLIGIBLE; } - dba::update('workerqueue', - array('executed' => NULL_DATE, 'created' => datetime_convert(), 'priority' => $new_priority, 'pid' => 0), - array('id' => $entry["id"])); + dba::update( + 'workerqueue', + array('executed' => NULL_DATE, 'created' => datetime_convert(), 'priority' => $new_priority, 'pid' => 0), + array('id' => $entry["id"]) + ); } else { logger("Worker process ".$entry["pid"]." (".implode(" ", $argv).") now runs for ".round($duration)." of ".$max_duration." allowed minutes. That's okay.", LOGGER_DEBUG); } @@ -556,7 +585,8 @@ class Worker { * * @return bool Are there too much workers running? */ - public static function tooMuchWorkers() { + public static function tooMuchWorkers() + { $queues = Config::get("system", "worker_queues", 4); $maxqueues = $queues; @@ -580,9 +610,13 @@ class Worker { $listitem = array(); // Adding all processes with no workerqueue entry - $processes = dba::p("SELECT COUNT(*) AS `running` FROM `process` WHERE NOT EXISTS + $processes = dba::p( + "SELECT COUNT(*) AS `running` FROM `process` WHERE NOT EXISTS (SELECT id FROM `workerqueue` - WHERE `workerqueue`.`pid` = `process`.`pid` AND NOT `done` AND `pid` != ?)", getmypid()); + WHERE `workerqueue`.`pid` = `process`.`pid` AND NOT `done` AND `pid` != ?)", + getmypid() + ); + if ($process = dba::fetch($processes)) { $listitem[0] = "0:".$process["running"]; } @@ -601,7 +635,7 @@ class Worker { $intervals = array(1, 10, 60); $jobs_per_minute = array(); - foreach ($intervals AS $interval) { + foreach ($intervals as $interval) { $jobs = dba::p("SELECT COUNT(*) AS `jobs` FROM `workerqueue` WHERE `done` AND `executed` > UTC_TIMESTAMP() - INTERVAL ".intval($interval)." MINUTE"); if ($job = dba::fetch($jobs)) { $jobs_per_minute[$interval] = number_format($job['jobs'] / $interval, 0); @@ -640,7 +674,8 @@ class Worker { * * @return integer Number of active worker processes */ - private static function activeWorkers() { + private static function activeWorkers() + { $workers = dba::fetch_first("SELECT COUNT(*) AS `processes` FROM `process` WHERE `command` = 'Worker.php'"); return $workers["processes"]; @@ -655,12 +690,15 @@ class Worker { * @param string $highest_priority Returns the currently highest priority * @return bool We let pass a slower process than $highest_priority */ - private static function passingSlow(&$highest_priority) { + private static function passingSlow(&$highest_priority) + { $highest_priority = 0; - $r = dba::p("SELECT `priority` + $r = dba::p( + "SELECT `priority` FROM `process` - INNER JOIN `workerqueue` ON `workerqueue`.`pid` = `process`.`pid` AND NOT `done`"); + INNER JOIN `workerqueue` ON `workerqueue`.`pid` = `process`.`pid` AND NOT `done`" + ); // No active processes at all? Fine if (!DBM::is_result($r)) { @@ -684,7 +722,7 @@ class Worker { return false; } $high = 0; - foreach ($priorities AS $priority) { + foreach ($priorities as $priority) { if ($priority == $highest_priority) { ++$high; } @@ -704,7 +742,8 @@ class Worker { * @param boolean $passing_slow Returns if we had passed low priority processes * @return boolean Have we found something? */ - private static function findWorkerProcesses(&$passing_slow) { + private static function findWorkerProcesses(&$passing_slow) + { $mypid = getmypid(); // Check if we should pass some low priority process @@ -728,8 +767,12 @@ class Worker { if (self::passingSlow($highest_priority)) { // Are there waiting processes with a higher priority than the currently highest? - $result = dba::select('workerqueue', array('id'), array("`executed` <= ? AND `priority` < ? AND NOT `done`", NULL_DATE, $highest_priority), - array('limit' => $limit, 'order' => array('priority', 'created'), 'only_query' => true)); + $result = dba::select( + 'workerqueue', + array('id'), + array("`executed` <= ? AND `priority` < ? AND NOT `done`", NULL_DATE, $highest_priority), + array('limit' => $limit, 'order' => array('priority', 'created'), 'only_query' => true) + ); while ($id = dba::fetch($result)) { $ids[] = $id["id"]; @@ -740,8 +783,12 @@ class Worker { if (!$found) { // Give slower processes some processing time - $result = dba::select('workerqueue', array('id'), array("`executed` <= ? AND `priority` > ? AND NOT `done`", NULL_DATE, $highest_priority), - array('limit' => $limit, 'order' => array('priority', 'created'), 'only_query' => true)); + $result = dba::select( + 'workerqueue', + array('id'), + array("`executed` <= ? AND `priority` > ? AND NOT `done`", NULL_DATE, $highest_priority), + array('limit' => $limit, 'order' => array('priority', 'created'), 'only_query' => true) + ); while ($id = dba::fetch($result)) { $ids[] = $id["id"]; @@ -755,8 +802,12 @@ class Worker { // If there is no result (or we shouldn't pass lower processes) we check without priority limit if (!$found) { - $result = dba::select('workerqueue', array('id'), array("`executed` <= ? AND NOT `done`", NULL_DATE), - array('limit' => $limit, 'order' => array('priority', 'created'), 'only_query' => true)); + $result = dba::select( + 'workerqueue', + array('id'), + array("`executed` <= ? AND NOT `done`", NULL_DATE), + array('limit' => $limit, 'order' => array('priority', 'created'), 'only_query' => true) + ); while ($id = dba::fetch($result)) { $ids[] = $id["id"]; @@ -781,7 +832,8 @@ class Worker { * @param boolean $passing_slow Returns if we had passed low priority processes * @return string SQL statement */ - public static function workerProcess(&$passing_slow) { + public static function workerProcess(&$passing_slow) + { $stamp = (float)microtime(true); // There can already be jobs for us in the queue. @@ -813,8 +865,10 @@ class Worker { /** * @brief Removes a workerqueue entry from the current process + * @return void */ - public static function unclaimProcess() { + public static function unclaimProcess() + { $mypid = getmypid(); dba::update('workerqueue', array('executed' => NULL_DATE, 'pid' => 0), array('pid' => $mypid, 'done' => false)); @@ -822,8 +876,10 @@ class Worker { /** * @brief Call the front end worker + * @return void */ - public static function callWorker() { + public static function callWorker() + { if (!Config::get("system", "frontend_worker")) { return; } @@ -834,8 +890,10 @@ class Worker { /** * @brief Call the front end worker if there aren't any active + * @return void */ - public static function executeIfIdle() { + public static function executeIfIdle() + { if (!Config::get("system", "frontend_worker")) { return; } @@ -882,20 +940,24 @@ class Worker { /** * @brief Removes long running worker processes + * @return void */ - public static function clearProcesses() { + public static function clearProcesses() + { $timeout = Config::get("system", "frontend_worker_timeout", 10); /// @todo We should clean up the corresponding workerqueue entries as well $condition = array("`created` < ? AND `command` = 'worker.php'", - datetime_convert('UTC','UTC',"now - ".$timeout." minutes")); + datetime_convert('UTC', 'UTC', "now - ".$timeout." minutes")); dba::delete('process', $condition); } /** * @brief Runs the cron processes + * @return void */ - private static function runCron() { + private static function runCron() + { logger('Add cron entries', LOGGER_DEBUG); // Check for spooled items @@ -911,7 +973,11 @@ class Worker { self::killStaleWorkers(); } - public static function spawnWorker() { + /** + * @return void + */ + public static function spawnWorker() + { $args = array("scripts/worker.php", "no_cron"); get_app()->proc_run($args); } @@ -932,7 +998,8 @@ class Worker { * * @return boolean "false" if proc_run couldn't be executed */ - public static function add($cmd) { + public static function add($cmd) + { $proc_args = func_get_args(); $args = array(); diff --git a/src/Database/DBM.php b/src/Database/DBM.php index 9495a264c..7b52c0a55 100644 --- a/src/Database/DBM.php +++ b/src/Database/DBM.php @@ -27,7 +27,7 @@ class DBM $processes = 0; $states = array(); - foreach ($r AS $process) { + foreach ($r as $process) { $state = trim($process["State"]); // Filter out all non blocking processes @@ -38,7 +38,7 @@ class DBM } $statelist = ""; - foreach ($states AS $state => $usage) { + foreach ($states as $state => $usage) { if ($statelist != "") { $statelist .= ", "; } @@ -74,6 +74,7 @@ class DBM * @param mixed $value Array value * @param string $key Array key * @param boolean $add_quotation add quotation marks for string values + * @return void */ private static function esc_array_callback(&$value, $key, $add_quotation) { @@ -100,6 +101,7 @@ class DBM * * @param mixed $arr Array with values to be escaped * @param boolean $add_quotation add quotation marks for string values + * @return void */ public static function esc_array(&$arr, $add_quotation = false) { diff --git a/src/Model/GlobalContact.php b/src/Model/GlobalContact.php index 67fe27e8e..be8b28260 100644 --- a/src/Model/GlobalContact.php +++ b/src/Model/GlobalContact.php @@ -94,6 +94,7 @@ class GlobalContact * @param integer $uid User ID * @param integer $cid Contact ID * @param integer $zcid Global Contact ID + * @return void */ public static function link($gcid, $uid = 0, $cid = 0, $zcid = 0) { @@ -142,6 +143,7 @@ class GlobalContact * 2: Contacts of profiles on this server * 3: Contacts of contacts of profiles on this server * 4: ... + * @return array $gcontact */ public static function sanitize($gcontact) { @@ -273,6 +275,11 @@ class GlobalContact return $gcontact; } + /** + * @param integer $uid id + * @param integer $cid id + * @return integer + */ public static function countCommonFriends($uid, $cid) { $r = q( @@ -295,6 +302,11 @@ class GlobalContact return 0; } + /** + * @param integer $uid id + * @param integer $zcid zcid + * @return integer + */ public static function countCommonFriendsZcid($uid, $zcid) { $r = q( @@ -313,6 +325,14 @@ class GlobalContact return 0; } + /** + * @param object $uid user + * @param object $cid cid + * @param integer $start optional, default 0 + * @param integer $limit optional, default 9999 + * @param boolean $shuffle optional, default false + * @return object + */ public static function commonFriends($uid, $cid, $start = 0, $limit = 9999, $shuffle = false) { if ($shuffle) { @@ -343,7 +363,15 @@ class GlobalContact return $r; } - function commonFriendsZcid($uid, $zcid, $start = 0, $limit = 9999, $shuffle = false) + /** + * @param object $uid user + * @param object $zcid zcid + * @param integer $start optional, default 0 + * @param integer $limit optional, default 9999 + * @param boolean $shuffle optional, default false + * @return object + */ + public static function commonFriendsZcid($uid, $zcid, $start = 0, $limit = 9999, $shuffle = false) { if ($shuffle) { $sql_extra = " order by rand() "; @@ -367,6 +395,11 @@ class GlobalContact return $r; } + /** + * @param object $uid user + * @param object $cid cid + * @return integer + */ public static function countAllFriends($uid, $cid) { $r = q( @@ -385,7 +418,13 @@ class GlobalContact return 0; } - + /** + * @param object $uid user + * @param object $cid cid + * @param integer $start optional, default 0 + * @param integer $limit optional, default 80 + * @return object + */ public static function allFriends($uid, $cid, $start = 0, $limit = 80) { $r = q( @@ -407,6 +446,12 @@ class GlobalContact return $r; } + /** + * @param object $uid user + * @param integer $start optional, default 0 + * @param integer $limit optional, default 80 + * @return array + */ public static function suggestionQuery($uid, $start = 0, $limit = 80) { if (!$uid) { @@ -507,6 +552,9 @@ class GlobalContact return $list; } + /** + * @return void + */ public static function updateSuggestions() { $a = get_app(); @@ -588,6 +636,7 @@ class GlobalContact * @brief Replace alternate OStatus user format with the primary one * * @param arr $contact contact array (called by reference) + * @return void */ public static function fixAlternateContactAddress(&$contact) { @@ -859,6 +908,7 @@ class GlobalContact * @brief Updates the gcontact entry from probe * * @param str $url profile link + * @return void */ public static function updateFromProbe($url) { @@ -878,6 +928,7 @@ class GlobalContact * @brief Update the gcontact entry for a given user id * * @param int $uid User ID + * @return void */ public static function updateForUser($uid) { @@ -923,6 +974,7 @@ class GlobalContact * If the "Statistics" plugin is enabled (See http://gstools.org/ for details) we query user data with this. * * @param str $server Server address + * @return void */ public static function fetchGsUsers($server) { @@ -978,7 +1030,7 @@ class GlobalContact /** * @brief Asking GNU Social server on a regular base for their user data - * + * @return void */ public static function discoverGsUsers() { @@ -1002,15 +1054,23 @@ class GlobalContact } } - public static function getRandomUrl() { - $r = q("SELECT `url` FROM `gcontact` WHERE `network` = '%s' + /** + * @return string + */ + public static function getRandomUrl() + { + $r = q( + "SELECT `url` FROM `gcontact` WHERE `network` = '%s' AND `last_contact` >= `last_failure` AND `updated` > UTC_TIMESTAMP - INTERVAL 1 MONTH ORDER BY rand() LIMIT 1", - dbesc(NETWORK_DFRN)); + dbesc(NETWORK_DFRN) + ); - if (DBM::is_result($r)) + if (DBM::is_result($r)) { return dirname($r[0]['url']); + } + return ''; } } diff --git a/src/Model/User.php b/src/Model/User.php index ec4d1013b..01bcce28d 100644 --- a/src/Model/User.php +++ b/src/Model/User.php @@ -17,6 +17,10 @@ require_once 'plugin.php'; */ class User { + /** + * @param object $uid user to remove + * @return void + */ public static function remove($uid) { if (!$uid) { diff --git a/src/Network/Probe.php b/src/Network/Probe.php index c6bf46f79..cb5fcd8b2 100644 --- a/src/Network/Probe.php +++ b/src/Network/Probe.php @@ -1,11 +1,12 @@ get_hostname(); $parts = parse_url($host); @@ -89,8 +92,8 @@ class Probe { * * @return array with template and type of the webfinger template for JSON or XML */ - private static function hostMeta($host) { - + private static function hostMeta($host) + { // Reset the static variable self::$baseurl = ''; @@ -174,13 +177,13 @@ class Probe { * amended 7/9/2011 to return an hcard which could save potentially loading * a lengthy content page to scrape dfrn attributes * - * @param string $webbie Address that should be probed + * @param string $webbie Address that should be probed * @param string $hcard_url Link to the hcard - is returned by reference * * @return string profile link */ - public static function webfingerDfrn($webbie, &$hcard_url) { - + public static function webfingerDfrn($webbie, &$hcard_url) + { $profile_link = ''; $links = self::lrdd($webbie); @@ -212,8 +215,8 @@ class Probe { * * @return array uri data */ - public static function lrdd($uri) { - + public static function lrdd($uri) + { $lrdd = self::hostMeta($uri); $webfinger = null; @@ -247,7 +250,7 @@ class Probe { return array(); } - foreach ($lrdd AS $type => $template) { + foreach ($lrdd as $type => $template) { if ($webfinger) { continue; } @@ -299,15 +302,15 @@ class Probe { /** * @brief Fetch information (protocol endpoints and user information) about a given uri * - * @param string $uri Address that should be probed - * @param string $network Test for this specific network - * @param integer $uid User ID for the probe (only used for mails) - * @param boolean $cache Use cached values? + * @param string $uri Address that should be probed + * @param string $network Test for this specific network + * @param integer $uid User ID for the probe (only used for mails) + * @param boolean $cache Use cached values? * * @return array uri data */ - public static function uri($uri, $network = "", $uid = -1, $cache = true) { - + public static function uri($uri, $network = "", $uid = -1, $cache = true) + { if ($cache) { $result = Cache::get("Probe::uri:".$network.":".$uri); if (!is_null($result)) { @@ -389,7 +392,7 @@ class Probe { $fieldnames = array(); - foreach ($fields AS $key => $val) { + foreach ($fields as $key => $val) { if (empty($val)) { unset($fields[$key]); } else { @@ -424,7 +427,7 @@ class Probe { $fieldnames = array(); - foreach ($fields AS $key => $val) { + foreach ($fields as $key => $val) { if (empty($val)) { unset($fields[$key]); } else { @@ -450,7 +453,8 @@ class Probe { * * @return string switched URL */ - private static function switchScheme($url) { + private static function switchScheme($url) + { $parts = parse_url($url); if (!isset($parts['scheme'])) { @@ -469,12 +473,14 @@ class Probe { /** * @brief Checks if a profile url should be OStatus but only provides partial information * - * @param array $webfinger Webfinger data - * @param string $lrdd Path template for webfinger request + * @param array $webfinger Webfinger data + * @param string $lrdd Path template for webfinger request + * @param string $type type * * @return array fixed webfinger data */ - private static function fixOstatus($webfinger, $lrdd, $type) { + private static function fixOStatus($webfinger, $lrdd, $type) + { if (empty($webfinger['links']) || empty($webfinger['subject'])) { return $webfinger; } @@ -512,13 +518,14 @@ class Probe { * * This function is only called by the "uri" function that adds caching and rearranging of data. * - * @param string $uri Address that should be probed - * @param string $network Test for this specific network - * @param integer $uid User ID for the probe (only used for mails) + * @param string $uri Address that should be probed + * @param string $network Test for this specific network + * @param integer $uid User ID for the probe (only used for mails) * * @return array uri data */ - private static function detect($uri, $network, $uid) { + private static function detect($uri, $network, $uid) + { $parts = parse_url($uri); if (!empty($parts["scheme"]) && !empty($parts["host"]) && !empty($parts["path"])) { @@ -552,7 +559,6 @@ class Probe { $nick = ltrim($nick, '@'); $addr = $nick."@".$host; - } elseif (strstr($uri, '@')) { // If the URI starts with "mailto:" then jump directly to the mail detection if (strpos($uri, 'mailto:') !== false) { @@ -583,7 +589,6 @@ class Probe { return self::mail($uri, $uid); } $addr = $uri; - } else { logger("Uri ".$uri." was not detectable", LOGGER_DEBUG); return false; @@ -593,7 +598,7 @@ class Probe { /// @todo Do we need the prefix "acct:" or "acct://"? - foreach ($lrdd AS $type => $template) { + foreach ($lrdd as $type => $template) { if ($webfinger) { continue; } @@ -603,7 +608,7 @@ class Probe { $webfinger = self::webfinger($path, $type); // Fix possible problems with GNU Social probing to wrong scheme - $webfinger = self::fixOstatus($webfinger, $template, $type); + $webfinger = self::fixOStatus($webfinger, $template, $type); // We cannot be sure that the detected address was correct, so we don't use the values if ($webfinger && ($uri != $addr)) { @@ -675,17 +680,18 @@ class Probe { * * For details see RFC 7033: * - * @param string $url Address that should be probed + * @param string $url Address that should be probed + * @param string $type type * * @return array webfinger data */ - private static function webfinger($url, $type) { - + private static function webfinger($url, $type) + { $xrd_timeout = Config::get('system', 'xrd_timeout', 20); $redirects = 0; $ret = z_fetch_url($url, false, $redirects, array('timeout' => $xrd_timeout, 'accept_content' => $type)); - if ($ret['errno'] == CURLE_OPERATION_TIMEDOUT) { + if ($ret['errno'] == CURLE_OPERATION_TIMEDOUT) { return false; } $data = $ret['body']; @@ -745,11 +751,12 @@ class Probe { * This functionality was originally created for the directory. * * @param string $noscrape_url Link to the noscrape page - * @param array $data The already fetched data + * @param array $data The already fetched data * * @return array noscrape data */ - private static function pollNoscrape($noscrape_url, $data) { + private static function pollNoscrape($noscrape_url, $data) + { $ret = z_fetch_url($noscrape_url); if ($ret['errno'] == CURLE_OPERATION_TIMEDOUT) { return false; @@ -836,7 +843,8 @@ class Probe { * * @return int Number of errors */ - public static function validDfrn($data) { + public static function validDfrn($data) + { $errors = 0; if (!isset($data['key'])) { $errors ++; @@ -863,8 +871,8 @@ class Probe { * * @return array profile data */ - public static function profile($profile_link) { - + public static function profile($profile_link) + { $data = array(); logger("Check profile ".$profile_link, LOGGER_DEBUG); @@ -908,7 +916,8 @@ class Probe { * * @return array DFRN data */ - private static function dfrn($webfinger) { + private static function dfrn($webfinger) + { $hcard_url = ""; $data = array(); foreach ($webfinger["links"] as $link) { @@ -974,13 +983,14 @@ class Probe { /** * @brief Poll the hcard page (Diaspora and Friendica specific) * - * @param string $hcard_url Link to the hcard page - * @param array $data The already fetched data - * @param boolean $dfrn Poll DFRN specific data + * @param string $hcard_url Link to the hcard page + * @param array $data The already fetched data + * @param boolean $dfrn Poll DFRN specific data * * @return array hcard data */ - private static function pollHcard($hcard_url, $data, $dfrn = false) { + private static function pollHcard($hcard_url, $data, $dfrn = false) + { $ret = z_fetch_url($hcard_url); if ($ret['errno'] == CURLE_OPERATION_TIMEDOUT) { return false; @@ -1097,7 +1107,8 @@ class Probe { * * @return array Diaspora data */ - private static function diaspora($webfinger) { + private static function diaspora($webfinger) + { $hcard_url = ""; $data = array(); foreach ($webfinger["links"] as $link) { @@ -1175,11 +1186,12 @@ class Probe { * @brief Check for OStatus contact * * @param array $webfinger Webfinger data - * @param bool $short Short detection mode + * @param bool $short Short detection mode * * @return array|bool OStatus data or "false" on error or "true" on short mode */ - private static function ostatus($webfinger, $short = false) { + private static function ostatus($webfinger, $short = false) + { $data = array(); if (is_array($webfinger["aliases"])) { @@ -1190,8 +1202,9 @@ class Probe { } } - if (is_string($webfinger["subject"]) && strstr($webfinger["subject"], "@") && - !strstr(normalise_link($webfinger["subject"]), "http://")) { + if (is_string($webfinger["subject"]) && strstr($webfinger["subject"], "@") + && !strstr(normalise_link($webfinger["subject"]), "http://") + ) { $data["addr"] = str_replace('acct:', '', $webfinger["subject"]); } @@ -1299,8 +1312,8 @@ class Probe { * * @return array profile data */ - private static function pumpioProfileData($profile_link) { - + private static function pumpioProfileData($profile_link) + { $doc = new DOMDocument(); if (!@$doc->loadHTMLFile($profile_link)) { return false; @@ -1339,8 +1352,8 @@ class Probe { * * @return array pump.io data */ - private static function pumpio($webfinger) { - + private static function pumpio($webfinger) + { $data = array(); foreach ($webfinger["links"] as $link) { if (($link["rel"] == "http://webfinger.net/rel/profile-page") @@ -1387,7 +1400,8 @@ class Probe { * * @return string feed link */ - private static function getFeedLink($url) { + private static function getFeedLink($url) + { $doc = new DOMDocument(); if (!@$doc->loadHTMLFile($url)) { @@ -1425,12 +1439,13 @@ class Probe { /** * @brief Check for feed contact * - * @param string $url Profile link + * @param string $url Profile link * @param boolean $probe Do a probe if the page contains a feed link * * @return array feed data */ - private static function feed($url, $probe = true) { + private static function feed($url, $probe = true) + { $ret = z_fetch_url($url); if ($ret['errno'] == CURLE_OPERATION_TIMEDOUT) { return false; @@ -1485,13 +1500,13 @@ class Probe { /** * @brief Check for mail contact * - * @param string $uri Profile link + * @param string $uri Profile link * @param integer $uid User ID * * @return array mail data */ - private static function mail($uri, $uid) { - + private static function mail($uri, $uid) + { if (!validate_email($uri)) { return false; } @@ -1568,11 +1583,12 @@ class Probe { * @brief Mix two paths together to possibly fix missing parts * * @param string $avatar Path to the avatar - * @param string $base Another path that is hopefully complete + * @param string $base Another path that is hopefully complete * * @return string fixed avatar path */ - public static function fixAvatar($avatar, $base) { + public static function fixAvatar($avatar, $base) + { $base_parts = parse_url($base); // Remove all parts that could create a problem diff --git a/src/ParseUrl.php b/src/ParseUrl.php index 047876279..0183fdb3f 100644 --- a/src/ParseUrl.php +++ b/src/ParseUrl.php @@ -454,6 +454,7 @@ class ParseUrl * * @param string $tag The pure tag name * @param int $k Counter for internal use + * @return void */ private static function arrAddHashes(&$tag, $k) { diff --git a/src/Util/Lock.php b/src/Util/Lock.php index 9d9696296..9c4498445 100644 --- a/src/Util/Lock.php +++ b/src/Util/Lock.php @@ -1,11 +1,12 @@ =')) { if (empty(self::$semaphore[$fn_name])) { return false; @@ -186,8 +193,10 @@ class Lock { /** * @brief Removes all lock that were set by us + * @return void */ - public static function removeAll() { + public static function removeAll() + { $memcache = self::connectMemcache(); if (is_object($memcache)) { // We cannot delete all cache entries, but this doesn't matter with memcache