From 1115d19f792abcfd907b2a51fa2dd8418e71714f Mon Sep 17 00:00:00 2001
From: Adam Magness <adam.magness@gmail.com>
Date: Sun, 19 Nov 2017 17:04:40 -0500
Subject: [PATCH 1/4] More Standards

More coding standards updates.
---
 src/Core/Worker.php         | 185 ++++++++++++++++++++++++------------
 src/Database/DBM.php        |   6 +-
 src/Model/GlobalContact.php |  58 ++++++++++-
 src/Network/Probe.php       | 146 +++++++++++++++-------------
 src/ParseUrl.php            |   1 +
 src/Util/Lock.php           |  27 ++++--
 6 files changed, 281 insertions(+), 142 deletions(-)

diff --git a/src/Core/Worker.php b/src/Core/Worker.php
index 2cfb4de742..2417af5544 100644
--- a/src/Core/Worker.php
+++ b/src/Core/Worker.php
@@ -1,4 +1,7 @@
 <?php
+/**
+ * @file src/Core/Worker.php
+ */
 namespace Friendica\Core;
 
 use Friendica\App;
@@ -19,7 +22,8 @@ use dba;
 /**
  * @brief Worker methods
  */
-class Worker {
+class Worker
+{
 	private static $up_start;
 	private static $db_duration;
 	private static $last_update;
@@ -29,8 +33,10 @@ class Worker {
 	 * @brief Processes the tasks that are in the workerqueue table
 	 *
 	 * @param boolean $run_cron Should the cron processes be executed?
+	 * @return void
 	 */
-	public static function processQueue($run_cron = true) {
+	public static function processQueue($run_cron = true)
+	{
 		$a = get_app();
 
 		self::$up_start = microtime(true);
@@ -84,12 +90,11 @@ class Worker {
 
 		// We fetch the next queue entry that is about to be executed
 		while ($r = self::workerProcess($passing_slow)) {
-
 			// When we are processing jobs with a lower priority, we don't refetch new jobs
 			// Otherwise fast jobs could wait behind slow ones and could be blocked.
 			$refetched = $passing_slow;
 
-			foreach ($r AS $entry) {
+			foreach ($r as $entry) {
 				// Assure that the priority is an integer value
 				$entry['priority'] = (int)$entry['priority'];
 
@@ -140,7 +145,8 @@ class Worker {
 	 *
 	 * @return integer Number of non executed entries in the worker queue
 	 */
-	private static function totalEntries() {
+	private static function totalEntries()
+	{
 		$s = dba::fetch_first("SELECT COUNT(*) AS `total` FROM `workerqueue` WHERE `executed` <= ? AND NOT `done`", NULL_DATE);
 		if (DBM::is_result($s)) {
 			return $s["total"];
@@ -154,7 +160,8 @@ class Worker {
 	 *
 	 * @return integer Number of active worker processes
 	 */
-	private static function highestPriority() {
+	private static function highestPriority()
+	{
 		$condition = array("`executed` <= ? AND NOT `done`", NULL_DATE);
 		$s = dba::select('workerqueue', array('priority'), $condition, array('limit' => 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,20 @@ 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 +564,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 +581,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 +606,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 +631,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 +670,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 +686,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 +718,7 @@ class Worker {
 			return false;
 		}
 		$high = 0;
-		foreach ($priorities AS $priority) {
+		foreach ($priorities as $priority) {
 			if ($priority == $highest_priority) {
 				++$high;
 			}
@@ -704,7 +738,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 +763,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 +779,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 +798,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 +828,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 +861,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 +872,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 +886,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 +936,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
@@ -932,7 +990,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 9495a264cc..7b52c0a552 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 67fe27e8e5..44fbd64b6d 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()
 	{
diff --git a/src/Network/Probe.php b/src/Network/Probe.php
index c6bf46f792..cb5fcd8b27 100644
--- a/src/Network/Probe.php
+++ b/src/Network/Probe.php
@@ -1,11 +1,12 @@
 <?php
-
+/**
+ * @file src/Network/Probe.php
+ */
 namespace Friendica\Network;
 
 /**
  * @file src/Network/Probe.php
  * @brief Functions for probing URL
- *
  */
 
 use Friendica\App;
@@ -28,8 +29,8 @@ require_once 'include/network.php';
  * @brief This class contain functions for probing URL
  *
  */
-class Probe {
-
+class Probe
+{
 	private static $baseurl;
 
 	/**
@@ -39,7 +40,8 @@ class Probe {
 	 *
 	 * @return array Ordered data
 	 */
-	private static function rearrangeData($data) {
+	private static function rearrangeData($data)
+	{
 		$fields = array("name", "nick", "guid", "url", "addr", "alias",
 				"photo", "community", "keywords", "location", "about",
 				"batch", "notify", "poll", "request", "confirm", "poco",
@@ -67,7 +69,8 @@ class Probe {
 	 *
 	 * @return bool Does the testes hostname belongs to the own server?
 	 */
-	private static function ownHost($host) {
+	private static function ownHost($host)
+	{
 		$own_host = get_app()->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: <https://tools.ietf.org/html/rfc7033>
 	 *
-	 * @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 047876279b..0183fdb3f5 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 9d96962964..9c44984459 100644
--- a/src/Util/Lock.php
+++ b/src/Util/Lock.php
@@ -1,11 +1,12 @@
 <?php
-
+/**
+ * @file src/Util/Lock.php
+ */
 namespace Friendica\Util;
 
 /**
  * @file src/Util/Lock.php
  * @brief Functions for preventing parallel execution of functions
- *
  */
 
 use Friendica\Core\Config;
@@ -16,7 +17,8 @@ use dba;
 /**
  * @brief This class contain Functions for preventing parallel execution of functions
  */
-class Lock {
+class Lock
+{
 	private static $semaphore = array();
 
 	/**
@@ -24,7 +26,8 @@ class Lock {
 	 *
 	 * @return object|boolean The memcache object - or "false" if not successful
 	 */
-	private static function connectMemcache() {
+	private static function connectMemcache()
+	{
 		if (!function_exists('memcache_connect')) {
 			return false;
 		}
@@ -52,7 +55,8 @@ class Lock {
 	 *
 	 * @return ressource the semaphore key
 	 */
-	private static function semaphoreKey($fn_name) {
+	private static function semaphoreKey($fn_name)
+	{
 		$temp = get_temppath();
 
 		$file = $temp.'/'.$fn_name.'.sem';
@@ -67,12 +71,13 @@ class Lock {
 	/**
 	 * @brief Sets a lock for a given name
 	 *
-	 * @param string $fn_name Name of the lock
+	 * @param string  $fn_name Name of the lock
 	 * @param integer $timeout Seconds until we give up
 	 *
 	 * @return boolean Was the lock successful?
 	 */
-	public static function set($fn_name, $timeout = 120) {
+	public static function set($fn_name, $timeout = 120)
+	{
 		$got_lock = false;
 		$start = time();
 
@@ -155,8 +160,10 @@ class Lock {
 	 * @brief Removes a lock if it was set by us
 	 *
 	 * @param string $fn_name Name of the lock
+	 * @return mixed
 	 */
-	public static function remove($fn_name) {
+	public static function remove($fn_name)
+	{
 		if (function_exists('sem_get') && version_compare(PHP_VERSION, '5.6.1', '>=')) {
 			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

From 9622dedaeb0dde00fe1896f7e08095ef59371f56 Mon Sep 17 00:00:00 2001
From: Adam Magness <adam.magness@gmail.com>
Date: Sun, 19 Nov 2017 17:33:07 -0500
Subject: [PATCH 2/4] New function

new function from recent develop branch merge
---
 src/Core/Worker.php | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/src/Core/Worker.php b/src/Core/Worker.php
index 2417af5544..7dcdf4e886 100644
--- a/src/Core/Worker.php
+++ b/src/Core/Worker.php
@@ -969,7 +969,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);
 	}

From 1eb2e541f6614390c4959de8d1386734f541a883 Mon Sep 17 00:00:00 2001
From: Adam Magness <adam.magness@gmail.com>
Date: Mon, 20 Nov 2017 11:14:35 -0500
Subject: [PATCH 3/4] New from rebase

more adjustments after rebase
---
 src/Model/GlobalContact.php | 16 ++++++++++++----
 src/Model/User.php          |  4 ++++
 2 files changed, 16 insertions(+), 4 deletions(-)

diff --git a/src/Model/GlobalContact.php b/src/Model/GlobalContact.php
index 44fbd64b6d..be8b28260d 100644
--- a/src/Model/GlobalContact.php
+++ b/src/Model/GlobalContact.php
@@ -1054,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 ec4d1013b4..01bcce28d9 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) {

From 28cceda4613997a4c11c381605f696b3b52b305e Mon Sep 17 00:00:00 2001
From: Adam Magness <adam.magness@gmail.com>
Date: Mon, 20 Nov 2017 11:29:55 -0500
Subject: [PATCH 4/4] Indentation

modified to multi line function call.
---
 src/Core/Worker.php | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/src/Core/Worker.php b/src/Core/Worker.php
index 7dcdf4e886..2e7bb483e8 100644
--- a/src/Core/Worker.php
+++ b/src/Core/Worker.php
@@ -533,7 +533,11 @@ class Worker
 
 		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