diff --git a/include/Core/PConfig.php b/include/Core/PConfig.php index 764ab8ae8..975210cfd 100644 --- a/include/Core/PConfig.php +++ b/include/Core/PConfig.php @@ -175,7 +175,7 @@ class PConfig { public static function delete($uid,$family,$key) { global $a; - if (x($a->config[$uid][$family],$key)) + if (x($a->config[$uid][$family], $key)) unset($a->config[$uid][$family][$key]); $ret = q("DELETE FROM `pconfig` WHERE `uid` = %d AND `cat` = '%s' AND `k` = '%s'", intval($uid), diff --git a/include/cron.php b/include/cron.php index 6913588db..07770a2ee 100644 --- a/include/cron.php +++ b/include/cron.php @@ -126,7 +126,14 @@ function cron_run(&$argv, &$argc){ proc_run(PRIORITY_LOW,'include/expire.php'); - proc_run(PRIORITY_LOW,'include/dbclean.php'); + if (get_config("system", "worker")) { + proc_run(PRIORITY_LOW,'include/dbclean.php', 1); + proc_run(PRIORITY_LOW,'include/dbclean.php', 2); + proc_run(PRIORITY_LOW,'include/dbclean.php', 3); + proc_run(PRIORITY_LOW,'include/dbclean.php', 4); + } else { + proc_run(PRIORITY_LOW,'include/dbclean.php'); + } } // Clear cache entries diff --git a/include/dba.php b/include/dba.php index 0b5af341e..36986ebc7 100644 --- a/include/dba.php +++ b/include/dba.php @@ -5,7 +5,7 @@ require_once("dbm.php"); # TODO: PDO is disabled for release 3.3. We need to investigate why # the update from 3.2 fails with pdo /* -if(class_exists('\PDO') && in_array('mysql', PDO::getAvailableDrivers())) { +if (class_exists('\PDO') && in_array('mysql', PDO::getAvailableDrivers())) { require_once("library/dddbl2/dddbl.php"); require_once("include/dba_pdo.php"); } @@ -24,7 +24,7 @@ require_once('include/datetime.php'); * */ -if(! class_exists('dba')) { +if (! class_exists('dba')) { class dba { private $debug = 0; @@ -44,15 +44,15 @@ class dba { $pass = trim($pass); $db = trim($db); - if (!(strlen($server) && strlen($user))){ + if (!(strlen($server) && strlen($user))) { $this->connected = false; $this->db = null; return; } - if($install) { - if(strlen($server) && ($server !== 'localhost') && ($server !== '127.0.0.1')) { - if(! dns_get_record($server, DNS_A + DNS_CNAME + DNS_PTR)) { + if ($install) { + if (strlen($server) && ($server !== 'localhost') && ($server !== '127.0.0.1')) { + if (! dns_get_record($server, DNS_A + DNS_CNAME + DNS_PTR)) { $this->error = sprintf( t('Cannot locate DNS info for database server \'%s\''), $server); $this->connected = false; $this->db = null; @@ -61,26 +61,26 @@ class dba { } } - if(class_exists('mysqli')) { + if (class_exists('mysqli')) { $this->db = @new mysqli($server,$user,$pass,$db); - if(! mysqli_connect_errno()) { + if (! mysqli_connect_errno()) { $this->connected = true; } - if (isset($a->config["system"]["db_charset"])) + if (isset($a->config["system"]["db_charset"])) { $this->db->set_charset($a->config["system"]["db_charset"]); - } - else { + } + } else { $this->mysqli = false; $this->db = mysql_connect($server,$user,$pass); - if($this->db && mysql_select_db($db,$this->db)) { + if ($this->db && mysql_select_db($db,$this->db)) { $this->connected = true; } if (isset($a->config["system"]["db_charset"])) mysql_set_charset($a->config["system"]["db_charset"], $this->db); } - if(! $this->connected) { + if (!$this->connected) { $this->db = null; - if(! $install) + if (!$install) system_unavailable(); } @@ -111,7 +111,7 @@ class dba { /** * @brief Returns the number of rows * - * @return string + * @return integer */ public function num_rows() { if (!$this->result) @@ -128,32 +128,32 @@ class dba { public function q($sql, $onlyquery = false) { global $a; - if((! $this->db) || (! $this->connected)) + if ((!$this->db) || (!$this->connected)) return false; $this->error = ''; // Check the connection (This can reconnect the connection - if configured) - if ($this->mysqli) + if ($this->mysqli) { $connected = $this->db->ping(); - else + } else { $connected = mysql_ping($this->db); - + } $connstr = ($connected ? "Connected": "Disonnected"); $stamp1 = microtime(true); $orig_sql = $sql; - if(x($a->config,'system') && x($a->config['system'],'db_callstack')) { + if (x($a->config,'system') && x($a->config['system'],'db_callstack')) { $sql = "/*".$a->callstack()." */ ".$sql; } - if($this->mysqli) + if ($this->mysqli) { $result = @$this->db->query($sql); - else + } else { $result = @mysql_query($sql,$this->db); - + } $stamp2 = microtime(true); $duration = (float)($stamp2-$stamp1); @@ -162,7 +162,7 @@ class dba { if (strtolower(substr($orig_sql, 0, 6)) != "select") $a->save_timestamp($stamp1, "database_write"); - if(x($a->config,'system') && x($a->config['system'],'db_log')) { + if (x($a->config,'system') && x($a->config['system'],'db_log')) { if (($duration > $a->config["system"]["db_loglimit"])) { $duration = round($duration, 3); $backtrace = debug_backtrace(DEBUG_BACKTRACE_IGNORE_ARGS); @@ -173,33 +173,34 @@ class dba { } } - if($this->mysqli) { - if($this->db->errno) { + if ($this->mysqli) { + if ($this->db->errno) { $this->error = $this->db->error; $this->errorno = $this->db->errno; } - } elseif(mysql_errno($this->db)) { + } elseif (mysql_errno($this->db)) { $this->error = mysql_error($this->db); $this->errorno = mysql_errno($this->db); } - if(strlen($this->error)) { + if (strlen($this->error)) { logger('DB Error ('.$connstr.') '.$this->errorno.': '.$this->error); } - if($this->debug) { + if ($this->debug) { $mesg = ''; - if($result === false) + if ($result === false) { $mesg = 'false'; - elseif($result === true) + } elseif ($result === true) { $mesg = 'true'; - else { - if($this->mysqli) + } else { + if ($this->mysqli) { $mesg = $result->num_rows . ' results' . EOL; - else + } else { $mesg = mysql_num_rows($result) . ' results' . EOL; + } } $str = 'SQL = ' . printable($sql) . EOL . 'SQL returned ' . $mesg @@ -215,13 +216,13 @@ class dba { * These usually indicate SQL syntax errors that need to be resolved. */ - if($result === false) { + if ($result === false) { logger('dba: ' . printable($sql) . ' returned false.' . "\n" . $this->error); - if(file_exists('dbfail.out')) + if (file_exists('dbfail.out')) file_put_contents('dbfail.out', datetime_convert() . "\n" . printable($sql) . ' returned false' . "\n" . $this->error . "\n", FILE_APPEND); } - if(($result === true) || ($result === false)) + if (($result === true) || ($result === false)) return $result; if ($onlyquery) { @@ -230,15 +231,14 @@ class dba { } $r = array(); - if($this->mysqli) { - if($result->num_rows) { + if ($this->mysqli) { + if ($result->num_rows) { while($x = $result->fetch_array(MYSQLI_ASSOC)) $r[] = $x; $result->free_result(); } - } - else { - if(mysql_num_rows($result)) { + } else { + if (mysql_num_rows($result)) { while($x = mysql_fetch_array($result, MYSQL_ASSOC)) $r[] = $x; mysql_free_result($result); @@ -247,7 +247,7 @@ class dba { //$a->save_timestamp($stamp1, "database"); - if($this->debug) + if ($this->debug) logger('dba: ' . printable(print_r($r, true))); return($r); } @@ -256,11 +256,11 @@ class dba { $x = false; if ($this->result) - if($this->mysqli) { - if($this->result->num_rows) + if ($this->mysqli) { + if ($this->result->num_rows) $x = $this->result->fetch_array(MYSQLI_ASSOC); } else { - if(mysql_num_rows($this->result)) + if (mysql_num_rows($this->result)) $x = mysql_fetch_array($this->result, MYSQL_ASSOC); } @@ -269,7 +269,7 @@ class dba { public function qclose() { if ($this->result) - if($this->mysqli) { + if ($this->mysqli) { $this->result->free_result(); } else { mysql_free_result($this->result); @@ -281,56 +281,60 @@ class dba { } public function escape($str) { - if($this->db && $this->connected) { - if($this->mysqli) + if ($this->db && $this->connected) { + if ($this->mysqli) { return @$this->db->real_escape_string($str); - else + } else { return @mysql_real_escape_string($str,$this->db); + } } } function connected() { - if ($this->mysqli) + if ($this->mysqli) { $connected = $this->db->ping(); - else + } else { $connected = mysql_ping($this->db); - + } return $connected; } function __destruct() { - if ($this->db) - if($this->mysqli) + if ($this->db) { + if ($this->mysqli) { $this->db->close(); - else + } else { mysql_close($this->db); + } + } } }} -if(! function_exists('printable')) { +if (! function_exists('printable')) { function printable($s) { $s = preg_replace("~([\x01-\x08\x0E-\x0F\x10-\x1F\x7F-\xFF])~",".", $s); $s = str_replace("\x00",'.',$s); - if(x($_SERVER,'SERVER_NAME')) + if (x($_SERVER,'SERVER_NAME')) $s = escape_tags($s); return $s; }} // Procedural functions -if(! function_exists('dbg')) { +if (! function_exists('dbg')) { function dbg($state) { global $db; - if($db) + if ($db) $db->dbg($state); }} -if(! function_exists('dbesc')) { +if (! function_exists('dbesc')) { function dbesc($str) { global $db; - if($db && $db->connected) + if ($db && $db->connected) { return($db->escape($str)); - else + } else { return(str_replace("'","\\'",$str)); + } }} @@ -340,17 +344,17 @@ function dbesc($str) { // Example: $r = q("SELECT * FROM `%s` WHERE `uid` = %d", // 'user', 1); -if(! function_exists('q')) { +if (! function_exists('q')) { function q($sql) { global $db; $args = func_get_args(); unset($args[0]); - if($db && $db->connected) { + if ($db && $db->connected) { $stmt = @vsprintf($sql,$args); // Disabled warnings //logger("dba: q: $stmt", LOGGER_ALL); - if($stmt === false) + if ($stmt === false) logger('dba: vsprintf error: ' . print_r(debug_backtrace(),true), LOGGER_DEBUG); return $db->q($stmt); } @@ -381,9 +385,9 @@ function qu($sql) { $args = func_get_args(); unset($args[0]); - if($db && $db->connected) { + if ($db && $db->connected) { $stmt = @vsprintf($sql,$args); // Disabled warnings - if($stmt === false) + if ($stmt === false) logger('dba: vsprintf error: ' . print_r(debug_backtrace(),true), LOGGER_DEBUG); $db->q("SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED;"); $retval = $db->q($stmt); @@ -408,14 +412,15 @@ function qu($sql) { * */ -if(! function_exists('dbq')) { +if (! function_exists('dbq')) { function dbq($sql) { global $db; - if($db && $db->connected) + if ($db && $db->connected) { $ret = $db->q($sql); - else + } else { $ret = false; + } return $ret; }} @@ -426,16 +431,16 @@ function dbq($sql) { // cast to int to avoid trouble. -if(! function_exists('dbesc_array_cb')) { +if (! function_exists('dbesc_array_cb')) { function dbesc_array_cb(&$item, $key) { - if(is_string($item)) + if (is_string($item)) $item = dbesc($item); }} -if(! function_exists('dbesc_array')) { +if (! function_exists('dbesc_array')) { function dbesc_array(&$arr) { - if(is_array($arr) && count($arr)) { + if (is_array($arr) && count($arr)) { array_walk($arr,'dbesc_array_cb'); } }} diff --git a/include/dbclean.php b/include/dbclean.php index 659733a1a..5b80b084a 100644 --- a/include/dbclean.php +++ b/include/dbclean.php @@ -8,10 +8,10 @@ require_once("boot.php"); function dbclean_run(&$argv, &$argc) { global $a, $db; - if(is_null($a)) + if (is_null($a)) $a = new App; - if(is_null($db)) { + if (is_null($db)) { @include(".htconfig.php"); require_once("include/dba.php"); $db = new dba($db_host, $db_user, $db_pass, $db_data); @@ -21,52 +21,69 @@ function dbclean_run(&$argv, &$argc) { load_config('config'); load_config('system'); - remove_orphans(); + if ($argc == 2) { + $stage = intval($argv[1]); + } else { + $stage = 0; + } + remove_orphans($stage); killme(); } /** * @brief Remove orphaned database entries */ -function remove_orphans() { - global $db; +function remove_orphans($stage = 0) { + global $db; - logger("Deleting orphaned data from thread table"); - if ($db->q("SELECT `iid` FROM `thread` WHERE NOT EXISTS (SELECT `id` FROM `item` WHERE `item`.`parent` = `thread`.`iid`)", true)) { - logger("found thread orphans: ".$db->num_rows()); - while ($orphan = $db->qfetch()) - q("DELETE FROM `thread` WHERE `iid` = %d", intval($orphan["iid"])); + if (($stage == 1) OR ($stage == 0)) { + logger("Deleting orphaned data from thread table"); + if ($db->q("SELECT `iid` FROM `thread` WHERE NOT EXISTS (SELECT `id` FROM `item` WHERE `item`.`parent` = `thread`.`iid`)", true)) { + logger("found thread orphans: ".$db->num_rows()); + while ($orphan = $db->qfetch()) { + q("DELETE FROM `thread` WHERE `iid` = %d", intval($orphan["iid"])); + } + } + $db->qclose(); } - $db->qclose(); - - logger("Deleting orphaned data from notify table"); - if ($db->q("SELECT `iid` FROM `notify` WHERE NOT EXISTS (SELECT `id` FROM `item` WHERE `item`.`id` = `notify`.`iid`)", true)) { - logger("found notify orphans: ".$db->num_rows()); - while ($orphan = $db->qfetch()) - q("DELETE FROM `notify` WHERE `iid` = %d", intval($orphan["iid"])); + if (($stage == 2) OR ($stage == 0)) { + logger("Deleting orphaned data from notify table"); + if ($db->q("SELECT `iid` FROM `notify` WHERE NOT EXISTS (SELECT `id` FROM `item` WHERE `item`.`id` = `notify`.`iid`)", true)) { + logger("found notify orphans: ".$db->num_rows()); + while ($orphan = $db->qfetch()) { + q("DELETE FROM `notify` WHERE `iid` = %d", intval($orphan["iid"])); + } + } + $db->qclose(); } - $db->qclose(); - logger("Deleting orphaned data from sign table"); - if ($db->q("SELECT `iid` FROM `sign` WHERE NOT EXISTS (SELECT `id` FROM `item` WHERE `item`.`id` = `sign`.`iid`)", true)) { - logger("found sign orphans: ".$db->num_rows()); - while ($orphan = $db->qfetch()) - q("DELETE FROM `sign` WHERE `iid` = %d", intval($orphan["iid"])); + if (($stage == 3) OR ($stage == 0)) { + logger("Deleting orphaned data from sign table"); + if ($db->q("SELECT `iid` FROM `sign` WHERE NOT EXISTS (SELECT `id` FROM `item` WHERE `item`.`id` = `sign`.`iid`)", true)) { + logger("found sign orphans: ".$db->num_rows()); + while ($orphan = $db->qfetch()) { + q("DELETE FROM `sign` WHERE `iid` = %d", intval($orphan["iid"])); + } + } + $db->qclose(); } - $db->qclose(); - logger("Deleting orphaned data from term table"); - if ($db->q("SELECT `oid` FROM `term` WHERE NOT EXISTS (SELECT `id` FROM `item` WHERE `item`.`id` = `term`.`oid`)", true)) { - logger("found term orphans: ".$db->num_rows()); - while ($orphan = $db->qfetch()) - q("DELETE FROM `term` WHERE `oid` = %d", intval($orphan["oid"])); + if (($stage == 4) OR ($stage == 0)) { + logger("Deleting orphaned data from term table"); + if ($db->q("SELECT `oid` FROM `term` WHERE NOT EXISTS (SELECT `id` FROM `item` WHERE `item`.`id` = `term`.`oid`)", true)) { + logger("found term orphans: ".$db->num_rows()); + while ($orphan = $db->qfetch()) { + q("DELETE FROM `term` WHERE `oid` = %d", intval($orphan["oid"])); + } + } + $db->qclose(); } - $db->qclose(); -// SELECT `id`, `received`, `created`, `guid` FROM `item` WHERE `uid` = 0 AND NOT EXISTS (SELECT `guid` FROM `item` AS `i` WHERE `item`.`guid` = `i`.`guid` AND `i`.`uid` != 0) LIMIT 1; + /// @todo Based on the following query we should remove some more data + // SELECT `id`, `received`, `created`, `guid` FROM `item` WHERE `uid` = 0 AND NOT EXISTS (SELECT `guid` FROM `item` AS `i` WHERE `item`.`guid` = `i`.`guid` AND `i`.`uid` != 0) LIMIT 1; logger("Done deleting orphaned data from tables"); } diff --git a/include/dbm.php b/include/dbm.php index 812989072..6098dce73 100644 --- a/include/dbm.php +++ b/include/dbm.php @@ -44,9 +44,9 @@ class dbm { */ public static function is_result($array) { // It could be a return value from an update statement - if (is_bool($array)) + if (is_bool($array)) { return $array; - + } return (is_array($array) && count($array) > 0); } } diff --git a/include/items.php b/include/items.php index b969a75d6..27c198d89 100644 --- a/include/items.php +++ b/include/items.php @@ -23,7 +23,7 @@ require_once('include/group.php'); require_once('library/defuse/php-encryption-1.2.1/Crypto.php'); function construct_verb($item) { - if($item['verb']) + if ($item['verb']) return $item['verb']; return ACTIVITY_POST; } @@ -33,7 +33,7 @@ function construct_verb($item) { * The purpose of this function is to apply system message length limits to * imported messages without including any embedded photos in the length */ -if(! function_exists('limit_body_size')) { +if (! function_exists('limit_body_size')) { function limit_body_size($body) { // logger('limit_body_size: start', LOGGER_DEBUG); @@ -42,7 +42,7 @@ function limit_body_size($body) { // If the length of the body, including the embedded images, is smaller // than the maximum, then don't waste time looking for the images - if($maxlen && (strlen($body) > $maxlen)) { + if ($maxlen && (strlen($body) > $maxlen)) { logger('limit_body_size: the total body length exceeds the limit', LOGGER_DEBUG); @@ -60,40 +60,37 @@ function limit_body_size($body) { $img_end += $img_start; $img_end += strlen('[/img]'); - if(! strcmp(substr($orig_body, $img_start + $img_st_close, 5), 'data:')) { + if (! strcmp(substr($orig_body, $img_start + $img_st_close, 5), 'data:')) { // This is an embedded image - if( ($textlen + $img_start) > $maxlen ) { - if($textlen < $maxlen) { + if ( ($textlen + $img_start) > $maxlen ) { + if ($textlen < $maxlen) { logger('limit_body_size: the limit happens before an embedded image', LOGGER_DEBUG); $new_body = $new_body . substr($orig_body, 0, $maxlen - $textlen); $textlen = $maxlen; } - } - else { + } else { $new_body = $new_body . substr($orig_body, 0, $img_start); $textlen += $img_start; } $new_body = $new_body . substr($orig_body, $img_start, $img_end - $img_start); - } - else { + } else { - if( ($textlen + $img_end) > $maxlen ) { - if($textlen < $maxlen) { + if ( ($textlen + $img_end) > $maxlen ) { + if ($textlen < $maxlen) { logger('limit_body_size: the limit happens before the end of a non-embedded image', LOGGER_DEBUG); $new_body = $new_body . substr($orig_body, 0, $maxlen - $textlen); $textlen = $maxlen; } - } - else { + } else { $new_body = $new_body . substr($orig_body, 0, $img_end); $textlen += $img_end; } } $orig_body = substr($orig_body, $img_end); - if($orig_body === false) // in case the body ends on a closing image tag + if ($orig_body === false) // in case the body ends on a closing image tag $orig_body = ''; $img_start = strpos($orig_body, '[img'); @@ -101,22 +98,20 @@ function limit_body_size($body) { $img_end = ($img_start !== false ? strpos(substr($orig_body, $img_start), '[/img]') : false); } - if( ($textlen + strlen($orig_body)) > $maxlen) { - if($textlen < $maxlen) { + if ( ($textlen + strlen($orig_body)) > $maxlen) { + if ($textlen < $maxlen) { logger('limit_body_size: the limit happens after the end of the last image', LOGGER_DEBUG); $new_body = $new_body . substr($orig_body, 0, $maxlen - $textlen); $textlen = $maxlen; } - } - else { + } else { logger('limit_body_size: the text size with embedded images extracted did not violate the limit', LOGGER_DEBUG); $new_body = $new_body . $orig_body; $textlen += strlen($orig_body); } return $new_body; - } - else + } else return $body; }} @@ -319,9 +314,7 @@ function item_add_language_opt(&$arr) { return; } $postopts = $arr['postopts']; - } - else - { + } else { $postopts = ""; } @@ -383,7 +376,7 @@ function item_store($arr,$force_parent = false, $notify = false, $dontcache = fa // item array and set it aside for later storage. $dsprsig = null; - if(x($arr,'dsprsig')) { + if (x($arr,'dsprsig')) { $dsprsig = json_decode(base64_decode($arr['dsprsig'])); unset($arr['dsprsig']); } @@ -396,16 +389,16 @@ function item_store($arr,$force_parent = false, $notify = false, $dontcache = fa $arr['plink'] = ostatus::convert_href($arr['uri']); } - if(x($arr, 'gravity')) + if (x($arr, 'gravity')) $arr['gravity'] = intval($arr['gravity']); - elseif($arr['parent-uri'] === $arr['uri']) + elseif ($arr['parent-uri'] === $arr['uri']) $arr['gravity'] = 0; - elseif(activity_match($arr['verb'],ACTIVITY_POST)) + elseif (activity_match($arr['verb'],ACTIVITY_POST)) $arr['gravity'] = 6; else $arr['gravity'] = 6; // extensible catchall - if(! x($arr,'type')) + if (! x($arr,'type')) $arr['type'] = 'remote'; @@ -413,7 +406,7 @@ function item_store($arr,$force_parent = false, $notify = false, $dontcache = fa /* check for create date and expire time */ $uid = intval($arr['uid']); $r = q("SELECT expire FROM user WHERE uid = %d", intval($uid)); - if(count($r)) { + if (count($r)) { $expire_interval = $r[0]['expire']; if ($expire_interval>0) { $expire_date = new DateTime( '- '.$expire_interval.' days', new DateTimeZone('UTC')); @@ -445,7 +438,7 @@ function item_store($arr,$force_parent = false, $notify = false, $dontcache = fa // Shouldn't happen but we want to make absolutely sure it doesn't leak from a plugin. // Deactivated, since the bbcode parser can handle with it - and it destroys posts with some smileys that contain "<" - //if((strpos($arr['body'],'<') !== false) || (strpos($arr['body'],'>') !== false)) + //if ((strpos($arr['body'],'<') !== false) || (strpos($arr['body'],'>') !== false)) // $arr['body'] = strip_tags($arr['body']); item_add_language_opt($arr); @@ -530,19 +523,19 @@ function item_store($arr,$force_parent = false, $notify = false, $dontcache = fa intval($arr['uid']) ); - if(!count($r)) + if (!count($r)) $r = q("SELECT `network` FROM `gcontact` WHERE `network` IN ('%s', '%s', '%s') AND `nurl` = '%s' LIMIT 1", dbesc(NETWORK_DFRN), dbesc(NETWORK_DIASPORA), dbesc(NETWORK_OSTATUS), dbesc(normalise_link($arr['author-link'])) ); - if(!count($r)) + if (!count($r)) $r = q("SELECT `network` FROM `contact` WHERE `id` = %d AND `uid` = %d LIMIT 1", intval($arr['contact-id']), intval($arr['uid']) ); - if(count($r)) + if (count($r)) $arr['network'] = $r[0]["network"]; // Fallback to friendica (why is it empty in some cases?) @@ -556,7 +549,7 @@ function item_store($arr,$force_parent = false, $notify = false, $dontcache = fa if ($arr["contact-id"] == 0) { // First we are looking for a suitable contact that matches with the author of the post // This is done only for comments (See below explanation at "gcontact-id") - if($arr['parent-uri'] != $arr['uri']) + if ($arr['parent-uri'] != $arr['uri']) $arr["contact-id"] = get_contact($arr['author-link'], $uid); // If not present then maybe the owner was found @@ -576,7 +569,7 @@ function item_store($arr,$force_parent = false, $notify = false, $dontcache = fa // The gcontact should mostly behave like the contact. But is is supposed to be global for the system. // This means that wall posts, repeated posts, etc. should have the gcontact id of the owner. // On comments the author is the better choice. - if($arr['parent-uri'] === $arr['uri']) + if ($arr['parent-uri'] === $arr['uri']) $arr["gcontact-id"] = get_gcontact_id(array("url" => $arr['owner-link'], "network" => $arr['network'], "photo" => $arr['owner-avatar'], "name" => $arr['owner-name'])); else @@ -596,7 +589,7 @@ function item_store($arr,$force_parent = false, $notify = false, $dontcache = fa $r = q("SELECT `guid` FROM `item` WHERE `guid` = '%s' AND `network` = '%s' AND `uid` = '%d' LIMIT 1", dbesc($arr['guid']), dbesc($arr['network']), intval($arr['uid'])); - if(count($r)) { + if (count($r)) { logger('found item with guid '.$arr['guid'].' for user '.$arr['uid'].' on network '.$arr['network'], LOGGER_DEBUG); return 0; } @@ -606,7 +599,7 @@ function item_store($arr,$force_parent = false, $notify = false, $dontcache = fa item_body_set_hashtags($arr); $arr['thr-parent'] = $arr['parent-uri']; - if($arr['parent-uri'] === $arr['uri']) { + if ($arr['parent-uri'] === $arr['uri']) { $parent_id = 0; $parent_deleted = 0; $allow_cid = $arr['allow_cid']; @@ -614,8 +607,7 @@ function item_store($arr,$force_parent = false, $notify = false, $dontcache = fa $deny_cid = $arr['deny_cid']; $deny_gid = $arr['deny_gid']; $notify_type = 'wall-new'; - } - else { + } else { // find the parent and snarf the item id and ACLs // and anything else we need to inherit @@ -625,13 +617,13 @@ function item_store($arr,$force_parent = false, $notify = false, $dontcache = fa intval($arr['uid']) ); - if(count($r)) { + if (count($r)) { // is the new message multi-level threaded? // even though we don't support it now, preserve the info // and re-attach to the conversation parent. - if($r[0]['uri'] != $r[0]['parent-uri']) { + if ($r[0]['uri'] != $r[0]['parent-uri']) { $arr['parent-uri'] = $r[0]['parent-uri']; $z = q("SELECT * FROM `item` WHERE `uri` = '%s' AND `parent-uri` = '%s' AND `uid` = %d ORDER BY `id` ASC LIMIT 1", @@ -639,7 +631,7 @@ function item_store($arr,$force_parent = false, $notify = false, $dontcache = fa dbesc($r[0]['parent-uri']), intval($arr['uid']) ); - if($z && count($z)) + if ($z && count($z)) $r = $z; } @@ -656,21 +648,21 @@ function item_store($arr,$force_parent = false, $notify = false, $dontcache = fa // This differs from the above settings as it subtly allows comments from // email correspondents to be private even if the overall thread is not. - if($r[0]['private']) + if ($r[0]['private']) $arr['private'] = $r[0]['private']; // Edge case. We host a public forum that was originally posted to privately. // The original author commented, but as this is a comment, the permissions // weren't fixed up so it will still show the comment as private unless we fix it here. - if((intval($r[0]['forum_mode']) == 1) && (! $r[0]['private'])) + if ((intval($r[0]['forum_mode']) == 1) && (! $r[0]['private'])) $arr['private'] = 0; // If its a post from myself then tag the thread as "mention" logger("item_store: Checking if parent ".$parent_id." has to be tagged as mention for user ".$arr['uid'], LOGGER_DEBUG); $u = q("SELECT `nickname` FROM `user` WHERE `uid` = %d", intval($arr['uid'])); - if(count($u)) { + if (count($u)) { $a = get_app(); $self = normalise_link($a->get_baseurl() . '/profile/' . $u[0]['nickname']); logger("item_store: 'myself' is ".$self." for parent ".$parent_id." checking against ".$arr['author-link']." and ".$arr['owner-link'], LOGGER_DEBUG); @@ -684,13 +676,12 @@ function item_store($arr,$force_parent = false, $notify = false, $dontcache = fa // Allow one to see reply tweets from status.net even when // we don't have or can't see the original post. - if($force_parent) { + if ($force_parent) { logger('item_store: $force_parent=true, reply converted to top-level post.'); $parent_id = 0; $arr['parent-uri'] = $arr['uri']; $arr['gravity'] = 0; - } - else { + } else { logger('item_store: item parent '.$arr['parent-uri'].' for '.$arr['uid'].' was not found - ignoring item'); return 0; } @@ -740,14 +731,14 @@ function item_store($arr,$force_parent = false, $notify = false, $dontcache = fa $arr["global"] = true; q("UPDATE `item` SET `global` = 1 WHERE `uri` = '%s'", dbesc($arr["uri"])); - } else { + } else { $isglobal = q("SELECT `global` FROM `item` WHERE `uid` = 0 AND `uri` = '%s'", dbesc($arr["uri"])); $arr["global"] = (count($isglobal) > 0); } // ACL settings - if(strlen($allow_cid) || strlen($allow_gid) || strlen($deny_cid) || strlen($deny_gid)) + if (strlen($allow_cid) || strlen($allow_gid) || strlen($deny_cid) || strlen($deny_gid)) $private = 1; else $private = $arr['private']; @@ -767,7 +758,7 @@ function item_store($arr,$force_parent = false, $notify = false, $dontcache = fa else call_hooks('post_remote',$arr); - if(x($arr,'cancel')) { + if (x($arr,'cancel')) { logger('item_store: post cancelled by plugin.'); return 0; } @@ -798,7 +789,7 @@ function item_store($arr,$force_parent = false, $notify = false, $dontcache = fa dbesc($arr['network']) ); - if(count($r) > 1) { + if (count($r) > 1) { // There are duplicates. Keep the oldest one, delete the others logger('item_store: duplicated post occurred. Removing newer duplicates. uri = '.$arr['uri'].' uid = '.$arr['uid']); q("DELETE FROM `item` WHERE `uri` = '%s' AND `uid` = %d AND `network` = '%s' AND `id` > %d", @@ -809,7 +800,7 @@ function item_store($arr,$force_parent = false, $notify = false, $dontcache = fa ); q("COMMIT"); return 0; - } elseif(count($r)) { + } elseif (count($r)) { $current_post = $r[0]['id']; logger('item_store: created item ' . $current_post); @@ -821,7 +812,7 @@ function item_store($arr,$force_parent = false, $notify = false, $dontcache = fa return 0; } - if(!$parent_id || ($arr['parent-uri'] === $arr['uri'])) + if (!$parent_id || ($arr['parent-uri'] === $arr['uri'])) $parent_id = $current_post; // Set parent id @@ -847,7 +838,7 @@ function item_store($arr,$force_parent = false, $notify = false, $dontcache = fa intval($parent_id) ); - if($dsprsig) { + if ($dsprsig) { // Friendica servers lower than 3.4.3-2 had double encoded the signature ... // We can check for this condition when we decode and encode the stuff again. @@ -869,7 +860,7 @@ function item_store($arr,$force_parent = false, $notify = false, $dontcache = fa * If this is now the last-child, force all _other_ children of this parent to *not* be last-child */ - if($arr['last-child']) { + if ($arr['last-child']) { $r = q("UPDATE `item` SET `last-child` = 0 WHERE `parent-uri` = '%s' AND `uid` = %d AND `id` != %d", dbesc($arr['uri']), intval($arr['uid']), @@ -931,17 +922,18 @@ function item_set_last_item($arr) { if (!$update AND ($arr["network"] == NETWORK_DFRN) AND ($arr["parent-uri"] === $arr["uri"])) { $isforum = q("SELECT `forum` FROM `contact` WHERE `id` = %d AND `forum`", intval($arr['contact-id'])); - if ($isforum) + if ($isforum) { $update = true; + } } - if ($update) + if ($update) { q("UPDATE `contact` SET `success_update` = '%s', `last-item` = '%s' WHERE `id` = %d", dbesc($arr['received']), dbesc($arr['received']), intval($arr['contact-id']) ); - + } // Now do the same for the system wide contacts with uid=0 if (!$arr['private']) { q("UPDATE `contact` SET `success_update` = '%s', `last-item` = '%s' WHERE `id` = %d", @@ -950,12 +942,13 @@ function item_set_last_item($arr) { intval($arr['owner-id']) ); - if ($arr['owner-id'] != $arr['author-id']) + if ($arr['owner-id'] != $arr['author-id']) { q("UPDATE `contact` SET `success_update` = '%s', `last-item` = '%s' WHERE `id` = %d", dbesc($arr['received']), dbesc($arr['received']), intval($arr['author-id']) ); + } } } @@ -964,7 +957,7 @@ function item_body_set_hashtags(&$item) { $tags = get_tags($item["body"]); // No hashtags? - if(!count($tags)) + if (!count($tags)) return(false); // This sorting is important when there are hashtags that are part of other hashtags @@ -1004,10 +997,10 @@ function item_body_set_hashtags(&$item) { foreach($tags as $tag) { - if(strpos($tag,'#') !== 0) + if (strpos($tag,'#') !== 0) continue; - if(strpos($tag,'[url=')) + if (strpos($tag,'[url=')) continue; $basetag = str_replace('_',' ',substr($tag,1)); @@ -1016,8 +1009,8 @@ function item_body_set_hashtags(&$item) { $item["body"] = str_replace($tag, $newtag, $item["body"]); - if(!stristr($item["tag"],"/search?tag=".$basetag."]".$basetag."[/url]")) { - if(strlen($item["tag"])) + if (!stristr($item["tag"],"/search?tag=".$basetag."]".$basetag."[/url]")) { + if (strlen($item["tag"])) $item["tag"] = ','.$item["tag"]; $item["tag"] = $newtag.$item["tag"]; } @@ -1072,10 +1065,10 @@ function get_item_id($guid, $uid = 0) { // return - test function get_item_contact($item,$contacts) { - if(! count($contacts) || (! is_array($item))) + if (! count($contacts) || (! is_array($item))) return false; foreach($contacts as $contact) { - if($contact['id'] == $item['contact-id']) { + if ($contact['id'] == $item['contact-id']) { return $contact; break; // NOTREACHED } @@ -1100,7 +1093,7 @@ function tag_deliver($uid,$item_id) { $u = q("select * from user where uid = %d limit 1", intval($uid) ); - if(! count($u)) + if (! count($u)) return; $community_page = (($u[0]['page-flags'] == PAGE_COMMUNITY) ? true : false); @@ -1111,7 +1104,7 @@ function tag_deliver($uid,$item_id) { intval($item_id), intval($uid) ); - if(! count($i)) + if (! count($i)) return; $item = $i[0]; @@ -1124,16 +1117,16 @@ function tag_deliver($uid,$item_id) { $dlink = normalise_link($a->get_baseurl() . '/u/' . $u[0]['nickname']); $cnt = preg_match_all('/[\@\!]\[url\=(.*?)\](.*?)\[\/url\]/ism',$item['body'],$matches,PREG_SET_ORDER); - if($cnt) { + if ($cnt) { foreach($matches as $mtch) { - if(link_compare($link,$mtch[1]) || link_compare($dlink,$mtch[1])) { + if (link_compare($link,$mtch[1]) || link_compare($dlink,$mtch[1])) { $mention = true; logger('tag_deliver: mention found: ' . $mtch[2]); } } } - if(! $mention){ + if (! $mention){ if ( ($community_page || $prvgroup) && (!$item['wall']) && (!$item['origin']) && ($item['id'] == $item['parent'])){ // mmh.. no mention.. community page or private group... no wall.. no origin.. top-post (not a comment) @@ -1152,7 +1145,7 @@ function tag_deliver($uid,$item_id) { call_hooks('tagged', $arr); - if((! $community_page) && (! $prvgroup)) + if ((! $community_page) && (! $prvgroup)) return; @@ -1160,7 +1153,7 @@ function tag_deliver($uid,$item_id) { // prevent delivery looping - only proceed // if the message originated elsewhere and is a top-level post - if(($item['wall']) || ($item['origin']) || ($item['id'] != $item['parent'])) + if (($item['wall']) || ($item['origin']) || ($item['id'] != $item['parent'])) return; // now change this copy of the post to a forum head message and deliver to all the tgroup members @@ -1169,7 +1162,7 @@ function tag_deliver($uid,$item_id) { $c = q("select name, url, thumb from contact where self = 1 and uid = %d limit 1", intval($u[0]['uid']) ); - if(! count($c)) + if (! count($c)) return; // also reset all the privacy bits to the forum default permissions @@ -1207,14 +1200,14 @@ function tgroup_check($uid,$item) { // check that the message originated elsewhere and is a top-level post - if(($item['wall']) || ($item['origin']) || ($item['uri'] != $item['parent-uri'])) + if (($item['wall']) || ($item['origin']) || ($item['uri'] != $item['parent-uri'])) return false; $u = q("select * from user where uid = %d limit 1", intval($uid) ); - if(! count($u)) + if (! count($u)) return false; $community_page = (($u[0]['page-flags'] == PAGE_COMMUNITY) ? true : false); @@ -1229,19 +1222,19 @@ function tgroup_check($uid,$item) { $dlink = normalise_link($a->get_baseurl() . '/u/' . $u[0]['nickname']); $cnt = preg_match_all('/[\@\!]\[url\=(.*?)\](.*?)\[\/url\]/ism',$item['body'],$matches,PREG_SET_ORDER); - if($cnt) { + if ($cnt) { foreach($matches as $mtch) { - if(link_compare($link,$mtch[1]) || link_compare($dlink,$mtch[1])) { + if (link_compare($link,$mtch[1]) || link_compare($dlink,$mtch[1])) { $mention = true; logger('tgroup_check: mention found: ' . $mtch[2]); } } } - if(! $mention) + if (! $mention) return false; - if((! $community_page) && (! $prvgroup)) + if ((! $community_page) && (! $prvgroup)) return false; return true; @@ -1404,13 +1397,13 @@ function new_follower($importer,$contact,$datarray,$item,$sharing = false) { if (is_object($item)) { $rawtag = $item->get_item_tags(NAMESPACE_ACTIVITY,'actor'); - if($rawtag && $rawtag[0]['child'][NAMESPACE_POCO]['preferredUsername'][0]['data']) + if ($rawtag && $rawtag[0]['child'][NAMESPACE_POCO]['preferredUsername'][0]['data']) $nick = $rawtag[0]['child'][NAMESPACE_POCO]['preferredUsername'][0]['data']; } else $nick = $item; - if(is_array($contact)) { - if(($contact['network'] == NETWORK_OSTATUS && $contact['rel'] == CONTACT_IS_SHARING) + if (is_array($contact)) { + if (($contact['network'] == NETWORK_OSTATUS && $contact['rel'] == CONTACT_IS_SHARING) || ($sharing && $contact['rel'] == CONTACT_IS_FOLLOWER)) { $r = q("UPDATE `contact` SET `rel` = %d, `writable` = 1 WHERE `id` = %d AND `uid` = %d", intval(CONTACT_IS_FRIEND), @@ -1440,7 +1433,7 @@ function new_follower($importer,$contact,$datarray,$item,$sharing = false) { intval($importer['uid']), dbesc($url) ); - if(count($r)) { + if (count($r)) { $contact_record = $r[0]; update_contact_avatar($photo, $importer["uid"], $contact_record["id"], true); } @@ -1450,12 +1443,12 @@ function new_follower($importer,$contact,$datarray,$item,$sharing = false) { intval($importer['uid']) ); $a = get_app(); - if(count($r) AND !in_array($r[0]['page-flags'], array(PAGE_SOAPBOX, PAGE_FREELOVE))) { + if (count($r) AND !in_array($r[0]['page-flags'], array(PAGE_SOAPBOX, PAGE_FREELOVE))) { // create notification $hash = random_string(); - if(is_array($contact_record)) { + if (is_array($contact_record)) { $ret = q("INSERT INTO `intro` ( `uid`, `contact-id`, `blocked`, `knowyou`, `hash`, `datetime`) VALUES ( %d, %d, 0, 0, '%s', '%s' )", intval($importer['uid']), @@ -1467,10 +1460,10 @@ function new_follower($importer,$contact,$datarray,$item,$sharing = false) { $def_gid = get_default_group($importer['uid'], $contact_record["network"]); - if(intval($def_gid)) + if (intval($def_gid)) group_add_member($importer['uid'],'',$contact_record['id'],$def_gid); - if(($r[0]['notify-flags'] & NOTIFY_INTRO) && + if (($r[0]['notify-flags'] & NOTIFY_INTRO) && in_array($r[0]['page-flags'], array(PAGE_NORMAL))) { notification(array( @@ -1501,26 +1494,24 @@ function new_follower($importer,$contact,$datarray,$item,$sharing = false) { function lose_follower($importer,$contact,$datarray = array(),$item = "") { - if(($contact['rel'] == CONTACT_IS_FRIEND) || ($contact['rel'] == CONTACT_IS_SHARING)) { + if (($contact['rel'] == CONTACT_IS_FRIEND) || ($contact['rel'] == CONTACT_IS_SHARING)) { q("UPDATE `contact` SET `rel` = %d WHERE `id` = %d", intval(CONTACT_IS_SHARING), intval($contact['id']) ); - } - else { + } else { contact_remove($contact['id']); } } function lose_sharer($importer,$contact,$datarray = array(),$item = "") { - if(($contact['rel'] == CONTACT_IS_FRIEND) || ($contact['rel'] == CONTACT_IS_FOLLOWER)) { + if (($contact['rel'] == CONTACT_IS_FRIEND) || ($contact['rel'] == CONTACT_IS_FOLLOWER)) { q("UPDATE `contact` SET `rel` = %d WHERE `id` = %d", intval(CONTACT_IS_FOLLOWER), intval($contact['id']) ); - } - else { + } else { contact_remove($contact['id']); } } @@ -1529,7 +1520,7 @@ function subscribe_to_hub($url,$importer,$contact,$hubmode = 'subscribe') { $a = get_app(); - if(is_array($importer)) { + if (is_array($importer)) { $r = q("SELECT `nickname` FROM `user` WHERE `uid` = %d LIMIT 1", intval($importer['uid']) ); @@ -1539,7 +1530,7 @@ function subscribe_to_hub($url,$importer,$contact,$hubmode = 'subscribe') { // through the direct Diaspora protocol. If we try and use // the feed, we'll get duplicates. So don't. - if((! count($r)) || $contact['network'] === NETWORK_DIASPORA) + if ((! count($r)) || $contact['network'] === NETWORK_DIASPORA) return; $push_url = get_config('system','url') . '/pubsub/' . $r[0]['nickname'] . '/' . $contact['id']; @@ -1552,7 +1543,7 @@ function subscribe_to_hub($url,$importer,$contact,$hubmode = 'subscribe') { logger('subscribe_to_hub: ' . $hubmode . ' ' . $contact['name'] . ' to hub ' . $url . ' endpoint: ' . $push_url . ' with verifier ' . $verify_token); - if(!strlen($contact['hub-verify']) OR ($contact['hub-verify'] != $verify_token)) { + if (!strlen($contact['hub-verify']) OR ($contact['hub-verify'] != $verify_token)) { $r = q("UPDATE `contact` SET `hub-verify` = '%s' WHERE `id` = %d", dbesc($verify_token), intval($contact['id']) @@ -1569,7 +1560,7 @@ function subscribe_to_hub($url,$importer,$contact,$hubmode = 'subscribe') { function fix_private_photos($s, $uid, $item = null, $cid = 0) { - if(get_config('system','disable_embedded')) + if (get_config('system','disable_embedded')) return $s; $a = get_app(); @@ -1591,14 +1582,14 @@ function fix_private_photos($s, $uid, $item = null, $cid = 0) { logger('fix_private_photos: found photo ' . $image, LOGGER_DEBUG); - if(stristr($image , $site . '/photo/')) { + if (stristr($image , $site . '/photo/')) { // Only embed locally hosted photos $replace = false; $i = basename($image); $i = str_replace(array('.jpg','.png','.gif'),array('','',''),$i); $x = strpos($i,'-'); - if($x) { + if ($x) { $res = substr($i,$x+1); $i = substr($i,0,$x); $r = q("SELECT * FROM `photo` WHERE `resource-id` = '%s' AND `scale` = %d AND `uid` = %d", @@ -1606,7 +1597,7 @@ function fix_private_photos($s, $uid, $item = null, $cid = 0) { intval($res), intval($uid) ); - if($r) { + if ($r) { // Check to see if we should replace this photo link with an embedded image // 1. No need to do so if the photo is public @@ -1616,31 +1607,30 @@ function fix_private_photos($s, $uid, $item = null, $cid = 0) { // permissions, regardless of order but first check to see if they're an exact // match to save some processing overhead. - if(has_permissions($r[0])) { - if($cid) { + if (has_permissions($r[0])) { + if ($cid) { $recips = enumerate_permissions($r[0]); - if(in_array($cid, $recips)) { + if (in_array($cid, $recips)) { $replace = true; } - } - elseif($item) { - if(compare_permissions($item,$r[0])) + } elseif ($item) { + if (compare_permissions($item,$r[0])) $replace = true; } } - if($replace) { + if ($replace) { $data = $r[0]['data']; $type = $r[0]['type']; // If a custom width and height were specified, apply before embedding - if(preg_match("/\[img\=([0-9]*)x([0-9]*)\]/is", substr($orig_body, $img_start, $img_st_close), $match)) { + if (preg_match("/\[img\=([0-9]*)x([0-9]*)\]/is", substr($orig_body, $img_start, $img_st_close), $match)) { logger('fix_private_photos: scaling photo', LOGGER_DEBUG); $width = intval($match[1]); $height = intval($match[2]); $ph = new Photo($data, $type); - if($ph->is_valid()) { + if ($ph->is_valid()) { $ph->scaleImage(max($width, $height)); $data = $ph->imageString(); $type = $ph->getType(); @@ -1657,7 +1647,7 @@ function fix_private_photos($s, $uid, $item = null, $cid = 0) { $new_body = $new_body . substr($orig_body, 0, $img_start + $img_st_close) . $image . '[/img]'; $orig_body = substr($orig_body, $img_start + $img_st_close + $img_len + strlen('[/img]')); - if($orig_body === false) + if ($orig_body === false) $orig_body = ''; $img_start = strpos($orig_body, '[img'); @@ -1671,14 +1661,14 @@ function fix_private_photos($s, $uid, $item = null, $cid = 0) { } function has_permissions($obj) { - if(($obj['allow_cid'] != '') || ($obj['allow_gid'] != '') || ($obj['deny_cid'] != '') || ($obj['deny_gid'] != '')) + if (($obj['allow_cid'] != '') || ($obj['allow_gid'] != '') || ($obj['deny_cid'] != '') || ($obj['deny_gid'] != '')) return true; return false; } function compare_permissions($obj1,$obj2) { // first part is easy. Check that these are exactly the same. - if(($obj1['allow_cid'] == $obj2['allow_cid']) + if (($obj1['allow_cid'] == $obj2['allow_cid']) && ($obj1['allow_gid'] == $obj2['allow_gid']) && ($obj1['deny_cid'] == $obj2['deny_cid']) && ($obj1['deny_gid'] == $obj2['deny_gid'])) @@ -1690,7 +1680,7 @@ function compare_permissions($obj1,$obj2) { $recipients2 = enumerate_permissions($obj2); sort($recipients1); sort($recipients2); - if($recipients1 == $recipients2) + if ($recipients1 == $recipients2) return true; return false; } @@ -1712,17 +1702,17 @@ function item_getfeedtags($item) { $ret = array(); $matches = false; $cnt = preg_match_all('|\#\[url\=(.*?)\](.*?)\[\/url\]|',$item['tag'],$matches); - if($cnt) { + if ($cnt) { for($x = 0; $x < $cnt; $x ++) { - if($matches[1][$x]) + if ($matches[1][$x]) $ret[$matches[2][$x]] = array('#',$matches[1][$x], $matches[2][$x]); } } $matches = false; $cnt = preg_match_all('|\@\[url\=(.*?)\](.*?)\[\/url\]|',$item['tag'],$matches); - if($cnt) { + if ($cnt) { for($x = 0; $x < $cnt; $x ++) { - if($matches[1][$x]) + if ($matches[1][$x]) $ret[] = array('@',$matches[1][$x], $matches[2][$x]); } } @@ -1731,7 +1721,7 @@ function item_getfeedtags($item) { function item_expire($uid, $days, $network = "", $force = false) { - if((! $uid) || ($days < 1)) + if ((! $uid) || ($days < 1)) return; // $expire_network_only = save your own wall posts @@ -1758,7 +1748,7 @@ function item_expire($uid, $days, $network = "", $force = false) { intval($days) ); - if(! count($r)) + if (! count($r)) return; $expire_items = get_pconfig($uid, 'expire','items'); @@ -1783,18 +1773,18 @@ function item_expire($uid, $days, $network = "", $force = false) { // don't expire filed items - if(strpos($item['file'],'[') !== false) + if (strpos($item['file'],'[') !== false) continue; // Only expire posts, not photos and photo comments - if($expire_photos==0 && strlen($item['resource-id'])) + if ($expire_photos==0 && strlen($item['resource-id'])) continue; - if($expire_starred==0 && intval($item['starred'])) + if ($expire_starred==0 && intval($item['starred'])) continue; - if($expire_notes==0 && $item['type']=='note') + if ($expire_notes==0 && $item['type']=='note') continue; - if($expire_items==0 && $item['type']!='note') + if ($expire_items==0 && $item['type']!='note') continue; drop_item($item['id'],false); @@ -1808,20 +1798,20 @@ function item_expire($uid, $days, $network = "", $force = false) { function drop_items($items) { $uid = 0; - if(! local_user() && ! remote_user()) + if (! local_user() && ! remote_user()) return; - if(count($items)) { + if (count($items)) { foreach($items as $item) { $owner = drop_item($item,false); - if($owner && ! $uid) + if ($owner && ! $uid) $uid = $owner; } } // multiple threads may have been deleted, send an expire notification - if($uid) + if ($uid) proc_run(PRIORITY_HIGH,"include/notifier.php", "expire", $uid); } @@ -1836,8 +1826,8 @@ function drop_item($id,$interactive = true) { intval($id) ); - if(! count($r)) { - if(! $interactive) + if (! count($r)) { + if (! $interactive) return 0; notice( t('Item not found.') . EOL); goaway($a->get_baseurl() . '/' . $_SESSION['return_url']); @@ -1851,9 +1841,9 @@ function drop_item($id,$interactive = true) { // check if logged in user is either the author or owner of this item - if(is_array($_SESSION['remote'])) { + if (is_array($_SESSION['remote'])) { foreach($_SESSION['remote'] as $visitor) { - if($visitor['uid'] == $item['uid'] && $visitor['cid'] == $item['contact-id']) { + if ($visitor['uid'] == $item['uid'] && $visitor['cid'] == $item['contact-id']) { $cid = $visitor['cid']; break; } @@ -1861,16 +1851,16 @@ function drop_item($id,$interactive = true) { } - if((local_user() == $item['uid']) || ($cid) || (! $interactive)) { + if ((local_user() == $item['uid']) || ($cid) || (! $interactive)) { // Check if we should do HTML-based delete confirmation - if($_REQUEST['confirm']) { + if ($_REQUEST['confirm']) { //