From f66c5c6823fea5847c8adf420ea26bf6f6e8c210 Mon Sep 17 00:00:00 2001 From: Roland Haeder Date: Tue, 4 Apr 2017 19:47:32 +0200 Subject: [PATCH 01/19] added spaces + some curly braces + some usage of dbm::is_result() Signed-off-by: Roland Haeder --- include/dba_pdo.php | 78 ++++++++++++++++++++--------------------- include/dbstructure.php | 9 ++--- include/diaspora.php | 14 ++++---- include/event.php | 20 ++++++----- 4 files changed, 63 insertions(+), 58 deletions(-) diff --git a/include/dba_pdo.php b/include/dba_pdo.php index 63f35739a3..40ff09acf0 100644 --- a/include/dba_pdo.php +++ b/include/dba_pdo.php @@ -14,18 +14,19 @@ $objDDDBLResultHandler = new DataObjectPool('Result-Handler'); * **/ $cloPDOStatementResultHandler = function(Queue $objQueue) { + $objPDO = $objQueue->getState()->get('PDOStatement'); + $objQueue->getState()->update(array('result' => $objPDO)); - $objPDO = $objQueue->getState()->get('PDOStatement'); - $objQueue->getState()->update(array('result' => $objPDO)); - - # delete handler which closes the PDOStatement-cursor - # this will be done manual if using this handler - $objQueue->deleteHandler(QUEUE_CLOSE_CURSOR_POSITION); - + /* + * delete handler which closes the PDOStatement-cursor + * this will be done manual if using this handler + */ + $objQueue->deleteHandler(QUEUE_CLOSE_CURSOR_POSITION); }; $objDDDBLResultHandler->add('PDOStatement', array('HANDLER' => $cloPDOStatementResultHandler)); +if (! class_exists('dba')) { /** * * MySQL database class @@ -36,8 +37,6 @@ $objDDDBLResultHandler->add('PDOStatement', array('HANDLER' => $cloPDOStatementR * the debugging stream is safe to view within both terminals and web pages. * */ - -if (! class_exists('dba')) { class dba { private $debug = 0; @@ -147,15 +146,13 @@ class dba { $a->save_timestamp($stamp1, "database"); /// @TODO really check $a->config for 'system'? it is very generic and should be there - 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); - @file_put_contents($a->config["system"]["db_log"], datetime_convert()."\t".$duration."\t". - basename($backtrace[1]["file"])."\t". - $backtrace[1]["line"]."\t".$backtrace[2]["function"]."\t". - substr($sql, 0, 2000)."\n", FILE_APPEND); - } + if (x($a->config, 'system') && x($a->config['system'], 'db_log') && ($duration > $a->config["system"]["db_loglimit"])) { + $duration = round($duration, 3); + $backtrace = debug_backtrace(DEBUG_BACKTRACE_IGNORE_ARGS); + @file_put_contents($a->config["system"]["db_log"], datetime_convert()."\t".$duration."\t". + basename($backtrace[1]["file"])."\t". + $backtrace[1]["line"]."\t".$backtrace[2]["function"]."\t". + substr($sql, 0, 2000)."\n", FILE_APPEND); } if ($intErrorCode) { @@ -202,8 +199,11 @@ class dba { } if ($onlyquery) { - $this->result = $r; # this will store an PDOStatement Object in result - $this->result->execute(); # execute the Statement, to get its result + // this will store an PDOStatement Object in result + $this->result = $r; + + // execute the Statement, to get its result + $this->result->execute(); return true; } @@ -262,7 +262,8 @@ function printable($s) { return $s; }} -// Procedural functions +// --- Procedural functions --- + if (! function_exists('dbg')) { function dbg($state) { global $db; @@ -273,18 +274,20 @@ function dbg($state) { if (! function_exists('dbesc')) { function dbesc($str) { global $db; - if ($db && $db->connected) - return($db->escape($str)); - else - return(str_replace("'","\\'",$str)); + + if ($db && $db->connected) { + return $db->escape($str); + } else { + return str_replace("'","\\'",$str); + } }} if (! function_exists('q')) { -/** +/* * Function: q($sql,$args); * Description: execute SQL query with printf style args. * Example: $r = q("SELECT * FROM `%s` WHERE `uid` = %d", - * 'user', 1); + * 'user', 1); */ function q($sql) { @@ -301,23 +304,19 @@ function q($sql) { return $db->q($stmt); } - /** - * + /* * This will happen occasionally trying to store the * session data after abnormal program termination - * */ logger('dba: no database: ' . print_r($args,true)); return false; - }} if (! function_exists('dbq')) { -/** +/* * Raw db query, no arguments */ function dbq($sql) { - global $db; if ($db && $db->connected) { $ret = $db->q($sql); @@ -327,15 +326,14 @@ function dbq($sql) { return $ret; }} - -/* - * Caller is responsible for ensuring that any integer arguments to - * dbesc_array are actually integers and not malformed strings containing - * SQL injection vectors. All integer array elements should be specifically - * cast to int to avoid trouble. - */ if (! function_exists('dbesc_array_cb')) { function dbesc_array_cb(&$item, $key) { + /* + * Caller is responsible for ensuring that any integer arguments to + * dbesc_array are actually integers and not malformed strings containing + * SQL injection vectors. All integer array elements should be specifically + * cast to int to avoid trouble. + */ if (is_string($item)) { $item = dbesc($item); } diff --git a/include/dbstructure.php b/include/dbstructure.php index 3aebef0ad8..0bfac6669b 100644 --- a/include/dbstructure.php +++ b/include/dbstructure.php @@ -26,7 +26,7 @@ function convert_to_innodb() { $sql = sprintf("ALTER TABLE `%s` engine=InnoDB;", dbesc($table['TABLE_NAME'])); echo $sql."\n"; - $result = @$db->q($sql); + $result = $db->q($sql); if (!dbm::is_result($result)) { print_update_error($db, $sql); } @@ -81,6 +81,7 @@ function update_fail($update_id, $error_message) { /* + @TODO deprecated code? $email_tpl = get_intltext_template("update_fail_eml.tpl"); $email_msg = replace_macros($email_tpl, array( '$sitename' => $a->config['sitename'], @@ -1750,10 +1751,10 @@ function dbstructure_run(&$argv, &$argc) { } if (is_null($db)) { - @include(".htconfig.php"); - require_once("include/dba.php"); + @include ".htconfig.php"; + require_once "include/dba.php"; $db = new dba($db_host, $db_user, $db_pass, $db_data); - unset($db_host, $db_user, $db_pass, $db_data); + unset($db_host, $db_user, $db_pass, $db_data); } if ($argc == 2) { diff --git a/include/diaspora.php b/include/diaspora.php index f0d1a8ca31..7241607742 100644 --- a/include/diaspora.php +++ b/include/diaspora.php @@ -932,18 +932,20 @@ class Diaspora { logger("defining user ".$contact["nick"]." as friend"); } - // We don't seem to like that person + // Is this contact wanted? if ($contact["blocked"] || $contact["readonly"] || $contact["archive"]) { + // Maybe blocked, don't accept. return false; - // We are following this person? Then it is okay + // Is this person being followed? } elseif (($contact["rel"] == CONTACT_IS_SHARING) || ($contact["rel"] == CONTACT_IS_FRIEND)) { + // Yes, then it is fine. return true; - // Is it a post to a community? That's good + // Is it a post to a community? } elseif (($contact["rel"] == CONTACT_IS_FOLLOWER) && ($importer["page-flags"] == PAGE_COMMUNITY)) { + // That's good return true; - } - // Messages for the global users and comments are always accepted - if (($importer["uid"] == 0) || $is_comment) { + } elseif (($importer["uid"] == 0) || $is_comment) { + // Messages for the global users and comments are always accepted return true; } diff --git a/include/event.php b/include/event.php index 089fe705db..e5f19deda0 100644 --- a/include/event.php +++ b/include/event.php @@ -853,18 +853,22 @@ function widget_events() { return; } - // Cal logged in user (test permission at foreign profile page) - // If the $owner uid is available we know it is part of one of the profile pages (like /cal) - // So we have to test if if it's the own profile page of the logged in user - // or a foreign one. For foreign profile pages we need to check if the feature - // for exporting the cal is enabled (otherwise the widget would appear for logged in users - // on foreigen profile pages even if the widget is disabled) + /* + * Cal logged in user (test permission at foreign profile page) + * If the $owner uid is available we know it is part of one of the profile pages (like /cal) + * So we have to test if if it's the own profile page of the logged in user + * or a foreign one. For foreign profile pages we need to check if the feature + * for exporting the cal is enabled (otherwise the widget would appear for logged in users + * on foreigen profile pages even if the widget is disabled) + */ if (intval($owner_uid) && local_user() !== $owner_uid && ! feature_enabled($owner_uid, "export_calendar")) { return; } - // If it's a kind of profile page (intval($owner_uid)) return if the user not logged in and - // export feature isn't enabled + /* + * If it's a kind of profile page (intval($owner_uid)) return if the user not logged in and + * export feature isn't enabled + */ if (intval($owner_uid) && ! local_user() && ! feature_enabled($owner_uid, "export_calendar")) { return; } From 347803fd5c0b7ceb910535ac99dbfe1a88844fc1 Mon Sep 17 00:00:00 2001 From: Roland Haeder Date: Tue, 4 Apr 2017 19:48:13 +0200 Subject: [PATCH 02/19] added spaces + some curly braces + some usage of dbm::is_result() Signed-off-by: Roland Haeder --- include/pgettext.php | 1 - include/queue.php | 39 +++++++++++++++++++++++++++++---------- 2 files changed, 29 insertions(+), 11 deletions(-) diff --git a/include/pgettext.php b/include/pgettext.php index 756905a43a..f6f26a8cc4 100644 --- a/include/pgettext.php +++ b/include/pgettext.php @@ -91,7 +91,6 @@ function pop_lang() { $lang = $a->langsave; } - // l if (! function_exists('load_translation_table')) { diff --git a/include/queue.php b/include/queue.php index dbed460473..3b34ada7f4 100644 --- a/include/queue.php +++ b/include/queue.php @@ -2,15 +2,15 @@ use Friendica\Core\Config; -require_once('include/queue_fn.php'); -require_once('include/dfrn.php'); -require_once("include/datetime.php"); -require_once('include/items.php'); -require_once('include/bbcode.php'); -require_once('include/socgraph.php'); -require_once('include/cache.php'); +require_once 'include/queue_fn.php'; +require_once 'include/dfrn.php'; +require_once 'include/datetime.php'; +require_once 'include/items.php'; +require_once 'include/bbcode.php'; +require_once 'include/socgraph.php'; +require_once 'include/cache.php'; -function queue_run(&$argv, &$argc){ +function queue_run(&$argv, &$argc) { global $a; if ($argc > 1) { @@ -29,6 +29,25 @@ function queue_run(&$argv, &$argc){ // Handling the pubsubhubbub requests proc_run(PRIORITY_HIGH,'include/pubsubpublish.php'); + $interval = ((get_config('system','delivery_interval') === false) ? 2 : intval(get_config('system','delivery_interval'))); + + // If we are using the worker we don't need a delivery interval + /// @TODO To much get_config() here + if (get_config("system", "worker")) { + $interval = false; + } + + $r = q("select * from deliverq where 1"); + if ($r) { + foreach ($r as $rr) { + logger('queue: deliverq'); + proc_run(PRIORITY_HIGH,'include/delivery.php',$rr['cmd'],$rr['item'],$rr['contact']); + if ($interval) { + time_sleep_until(microtime(true) + (float) $interval); + } + } + } + $r = q("SELECT `queue`.*, `contact`.`name`, `contact`.`uid` FROM `queue` INNER JOIN `contact` ON `queue`.`cid` = `contact`.`id` WHERE `queue`.`created` < UTC_TIMESTAMP() - INTERVAL 3 DAY"); @@ -60,8 +79,8 @@ function queue_run(&$argv, &$argc){ // delivering - require_once('include/salmon.php'); - require_once('include/diaspora.php'); + require_once 'include/salmon.php'; + require_once 'include/diaspora.php'; $r = q("SELECT * FROM `queue` WHERE `id` = %d LIMIT 1", intval($queue_id)); From 635b26353cf263c6b5073d9bb4605b481b0e85ba Mon Sep 17 00:00:00 2001 From: Roland Haeder Date: Tue, 4 Apr 2017 19:48:25 +0200 Subject: [PATCH 03/19] added spaces + some curly braces + some usage of dbm::is_result() Signed-off-by: Roland Haeder --- include/redir.php | 14 +- include/salmon.php | 7 +- include/security.php | 72 +++++---- include/socgraph.php | 187 ++++++++++++++--------- include/tags.php | 9 +- include/template_processor.php | 10 +- include/text.php | 271 ++++++++++++++++----------------- include/threads.php | 24 ++- 8 files changed, 329 insertions(+), 265 deletions(-) diff --git a/include/redir.php b/include/redir.php index 36f982b12c..d6b8285cfc 100644 --- a/include/redir.php +++ b/include/redir.php @@ -6,13 +6,13 @@ function auto_redir(App $a, $contact_nick) { // prevent looping - if(x($_REQUEST,'redir') && intval($_REQUEST['redir'])) + if (x($_REQUEST,'redir') && intval($_REQUEST['redir'])) return; - if((! $contact_nick) || ($contact_nick === $a->user['nickname'])) + if ((! $contact_nick) || ($contact_nick === $a->user['nickname'])) return; - if(local_user()) { + if (local_user()) { // We need to find out if $contact_nick is a user on this hub, and if so, if I // am a contact of that user. However, that user may have other contacts with the @@ -24,7 +24,7 @@ function auto_redir(App $a, $contact_nick) { $baseurl = App::get_baseurl(); $domain_st = strpos($baseurl, "://"); - if($domain_st === false) + if ($domain_st === false) return; $baseurl = substr($baseurl, $domain_st + 3); $nurl = normalise_link($baseurl); @@ -58,11 +58,11 @@ function auto_redir(App $a, $contact_nick) { $dfrn_id = $orig_id = (($r[0]['issued-id']) ? $r[0]['issued-id'] : $r[0]['dfrn-id']); - if($r[0]['duplex'] && $r[0]['issued-id']) { + if ($r[0]['duplex'] && $r[0]['issued-id']) { $orig_id = $r[0]['issued-id']; $dfrn_id = '1:' . $orig_id; } - if($r[0]['duplex'] && $r[0]['dfrn-id']) { + if ($r[0]['duplex'] && $r[0]['dfrn-id']) { $orig_id = $r[0]['dfrn-id']; $dfrn_id = '0:' . $orig_id; } @@ -70,7 +70,7 @@ function auto_redir(App $a, $contact_nick) { // ensure that we've got a valid ID. There may be some edge cases with forums and non-duplex mode // that may have triggered some of the "went to {profile/intro} and got an RSS feed" issues - if(strlen($dfrn_id) < 3) + if (strlen($dfrn_id) < 3) return; $sec = random_string(); diff --git a/include/salmon.php b/include/salmon.php index 6e08d0aaf2..6675849ce4 100644 --- a/include/salmon.php +++ b/include/salmon.php @@ -170,11 +170,14 @@ function slapper($owner, $url, $slap) { } logger('slapper for '.$url.' returned ' . $return_code); + if (! $return_code) { - return(-1); + return -1; } + if (($return_code == 503) && (stristr($a->get_curl_headers(), 'retry-after'))) { - return(-1); + return -1; } + return ((($return_code >= 200) && ($return_code < 300)) ? 0 : 1); } diff --git a/include/security.php b/include/security.php index 09ac03c35e..ac462d1df1 100644 --- a/include/security.php +++ b/include/security.php @@ -56,58 +56,65 @@ function authenticate_success($user_record, $login_initial = false, $interactive $a->user = $user_record; - if($interactive) { + if ($interactive) { if ($a->user['login_date'] <= NULL_DATE) { $_SESSION['return_url'] = 'profile_photo/new'; $a->module = 'profile_photo'; info( t("Welcome ") . $a->user['username'] . EOL); info( t('Please upload a profile photo.') . EOL); - } - else + } else { info( t("Welcome back ") . $a->user['username'] . EOL); + } } $member_since = strtotime($a->user['register_date']); - if(time() < ($member_since + ( 60 * 60 * 24 * 14))) + if (time() < ($member_since + ( 60 * 60 * 24 * 14))) { $_SESSION['new_member'] = true; - else + } else { $_SESSION['new_member'] = false; - if(strlen($a->user['timezone'])) { + } + if (strlen($a->user['timezone'])) { date_default_timezone_set($a->user['timezone']); $a->timezone = $a->user['timezone']; } $master_record = $a->user; - if((x($_SESSION,'submanage')) && intval($_SESSION['submanage'])) { - $r = q("select * from user where uid = %d limit 1", + if ((x($_SESSION,'submanage')) && intval($_SESSION['submanage'])) { + $r = q("SELECT * FROM `user` WHERE `uid` = %d LIMIT 1", intval($_SESSION['submanage']) ); - if (dbm::is_result($r)) + if (dbm::is_result($r)) { $master_record = $r[0]; + } } $r = q("SELECT `uid`,`username`,`nickname` FROM `user` WHERE `password` = '%s' AND `email` = '%s' AND `account_removed` = 0 ", dbesc($master_record['password']), dbesc($master_record['email']) ); - if (dbm::is_result($r)) + if (dbm::is_result($r)) { $a->identities = $r; - else + } else { $a->identities = array(); + } - $r = q("select `user`.`uid`, `user`.`username`, `user`.`nickname` - from manage INNER JOIN user on manage.mid = user.uid where `user`.`account_removed` = 0 - and `manage`.`uid` = %d", + $r = q("SELECT `user`.`uid`, `user`.`username`, `user`.`nickname` + FROM `manage` + INNER JOIN `user` ON `manage`.`mid` = `user`.`uid` + WHERE `user`.`account_removed` = 0 AND `manage`.`uid` = %d", intval($master_record['uid']) ); - if (dbm::is_result($r)) + if (dbm::is_result($r)) { $a->identities = array_merge($a->identities,$r); + } - if($login_initial) + if ($login_initial) { logger('auth_identities: ' . print_r($a->identities,true), LOGGER_DEBUG); - if($login_refresh) + } + if ($login_refresh) { logger('auth_identities refresh: ' . print_r($a->identities,true), LOGGER_DEBUG); + } $r = q("SELECT * FROM `contact` WHERE `uid` = %d AND `self` = 1 LIMIT 1", intval($_SESSION['uid'])); @@ -119,7 +126,7 @@ function authenticate_success($user_record, $login_initial = false, $interactive header('X-Account-Management-Status: active; name="' . $a->user['username'] . '"; id="' . $a->user['nickname'] .'"'); - if($login_initial || $login_refresh) { + if ($login_initial || $login_refresh) { q("UPDATE `user` SET `login_date` = '%s' WHERE `uid` = %d", dbesc(datetime_convert()), @@ -249,7 +256,7 @@ function permissions_sql($owner_id,$remote_verified = false,$groups = null) { * Profile owner - everything is visible */ - if(($local_user) && ($local_user == $owner_id)) { + if (($local_user) && ($local_user == $owner_id)) { $sql = ''; } @@ -261,9 +268,9 @@ function permissions_sql($owner_id,$remote_verified = false,$groups = null) { * done this and passed the groups into this function. */ - elseif($remote_user) { + elseif ($remote_user) { - if(! $remote_verified) { + if (! $remote_verified) { $r = q("SELECT id FROM contact WHERE id = %d AND uid = %d AND blocked = 0 LIMIT 1", intval($remote_user), intval($owner_id) @@ -273,12 +280,12 @@ function permissions_sql($owner_id,$remote_verified = false,$groups = null) { $groups = init_groups_visitor($remote_user); } } - if($remote_verified) { + if ($remote_verified) { $gs = '<<>>'; // should be impossible to match - if(is_array($groups) && count($groups)) { - foreach($groups as $g) + if (is_array($groups) && count($groups)) { + foreach ($groups as $g) $gs .= '|<' . intval($g) . '>'; } @@ -331,7 +338,7 @@ function item_permissions_sql($owner_id,$remote_verified = false,$groups = null) * Profile owner - everything is visible */ - if($local_user && ($local_user == $owner_id)) { + if ($local_user && ($local_user == $owner_id)) { $sql = ''; } @@ -343,9 +350,9 @@ function item_permissions_sql($owner_id,$remote_verified = false,$groups = null) * done this and passed the groups into this function. */ - elseif($remote_user) { + elseif ($remote_user) { - if(! $remote_verified) { + if (! $remote_verified) { $r = q("SELECT id FROM contact WHERE id = %d AND uid = %d AND blocked = 0 LIMIT 1", intval($remote_user), intval($owner_id) @@ -355,12 +362,12 @@ function item_permissions_sql($owner_id,$remote_verified = false,$groups = null) $groups = init_groups_visitor($remote_user); } } - if($remote_verified) { + if ($remote_verified) { $gs = '<<>>'; // should be impossible to match - if(is_array($groups) && count($groups)) { - foreach($groups as $g) + if (is_array($groups) && count($groups)) { + foreach ($groups as $g) $gs .= '|<' . intval($g) . '>'; } @@ -454,7 +461,7 @@ function check_form_security_token_ForbiddenOnErr($typename = '', $formname = 'f // DFRN contact. They are *not* neccessarily unique across the entire site. -if(! function_exists('init_groups_visitor')) { +if (! function_exists('init_groups_visitor')) { function init_groups_visitor($contact_id) { $groups = array(); $r = q("SELECT `gid` FROM `group_member` @@ -462,9 +469,8 @@ function init_groups_visitor($contact_id) { intval($contact_id) ); if (dbm::is_result($r)) { - foreach($r as $rr) + foreach ($r as $rr) $groups[] = $rr['gid']; } return $groups; }} - diff --git a/include/socgraph.php b/include/socgraph.php index fbac08cc97..ec78310769 100644 --- a/include/socgraph.php +++ b/include/socgraph.php @@ -53,8 +53,8 @@ function poco_load($cid, $uid = 0, $zcid = 0, $url = null) { function poco_load_worker($cid, $uid, $zcid, $url) { $a = get_app(); - if($cid) { - if((! $url) || (! $uid)) { + if ($cid) { + if ((! $url) || (! $uid)) { $r = q("select `poco`, `uid` from `contact` where `id` = %d limit 1", intval($cid) ); @@ -63,11 +63,11 @@ function poco_load_worker($cid, $uid, $zcid, $url) { $uid = $r[0]['uid']; } } - if(! $uid) + if (! $uid) return; } - if(! $url) + if (! $url) return; $url = $url . (($uid) ? '/@me/@all?fields=displayName,urls,photos,updated,network,aboutMe,currentLocation,tags,gender,contactType,generation' : '?fields=displayName,urls,photos,updated,network,aboutMe,currentLocation,tags,gender,contactType,generation') ; @@ -80,18 +80,18 @@ function poco_load_worker($cid, $uid, $zcid, $url) { logger('poco_load: return code: ' . $a->get_curl_code(), LOGGER_DEBUG); - if(($a->get_curl_code() > 299) || (! $s)) + if (($a->get_curl_code() > 299) || (! $s)) return; $j = json_decode($s); logger('poco_load: json: ' . print_r($j,true),LOGGER_DATA); - if(! isset($j->entry)) + if (! isset($j->entry)) return; $total = 0; - foreach($j->entry as $entry) { + foreach ($j->entry as $entry) { $total ++; $profile_url = ''; @@ -155,7 +155,7 @@ function poco_load_worker($cid, $uid, $zcid, $url) { } if (isset($entry->tags)) { - foreach($entry->tags as $tag) { + foreach ($entry->tags as $tag) { $keywords = implode(", ", $tag); } } @@ -374,11 +374,13 @@ function link_gcontact($gcid, $uid = 0, $cid = 0, $zcid = 0) { function poco_reachable($profile, $server = "", $network = "", $force = false) { - if ($server == "") + if ($server == "") { $server = poco_detect_server($profile); + } - if ($server == "") + if ($server == "") { return true; + } return poco_check_server($server, $network, $force); } @@ -1083,10 +1085,10 @@ function poco_check_server($server_url, $network = "", $force = false) { } $lines = explode("\n",$serverret["header"]); - if(count($lines)) { + if (count($lines)) { foreach($lines as $line) { $line = trim($line); - if(stristr($line,'X-Diaspora-Version:')) { + if (stristr($line,'X-Diaspora-Version:')) { $platform = "Diaspora"; $version = trim(str_replace("X-Diaspora-Version:", "", $line)); $version = trim(str_replace("x-diaspora-version:", "", $version)); @@ -1095,7 +1097,7 @@ function poco_check_server($server_url, $network = "", $force = false) { $version = $versionparts[0]; } - if(stristr($line,'Server: Mastodon')) { + if (stristr($line,'Server: Mastodon')) { $platform = "Mastodon"; $network = NETWORK_OSTATUS; } @@ -1165,10 +1167,11 @@ function poco_check_server($server_url, $network = "", $force = false) { $network = NETWORK_DIASPORA; } if (isset($data->site->redmatrix)) { - if (isset($data->site->redmatrix->PLATFORM_NAME)) + if (isset($data->site->redmatrix->PLATFORM_NAME)) { $platform = $data->site->redmatrix->PLATFORM_NAME; - elseif (isset($data->site->redmatrix->RED_PLATFORM)) + } elseif (isset($data->site->redmatrix->RED_PLATFORM)) { $platform = $data->site->redmatrix->RED_PLATFORM; + } $version = $data->site->redmatrix->RED_VERSION; $network = NETWORK_DIASPORA; @@ -1185,12 +1188,13 @@ function poco_check_server($server_url, $network = "", $force = false) { $data->site->private = poco_to_boolean($data->site->private); $data->site->inviteonly = poco_to_boolean($data->site->inviteonly); - if (!$data->site->closed AND !$data->site->private and $data->site->inviteonly) + if (!$data->site->closed AND !$data->site->private and $data->site->inviteonly) { $register_policy = REGISTER_APPROVE; - elseif (!$data->site->closed AND !$data->site->private) + } elseif (!$data->site->closed AND !$data->site->private) { $register_policy = REGISTER_OPEN; - else + } else { $register_policy = REGISTER_CLOSED; + } } } } @@ -1254,8 +1258,9 @@ function poco_check_server($server_url, $network = "", $force = false) { if (!$failure AND in_array($network, array(NETWORK_DFRN, NETWORK_OSTATUS))) { $serverret = z_fetch_url($server_url."/friendica/json"); - if (!$serverret["success"]) + if (!$serverret["success"]) { $serverret = z_fetch_url($server_url."/friendika/json"); + } if ($serverret["success"]) { $data = json_decode($serverret["body"]); @@ -1299,7 +1304,7 @@ function poco_check_server($server_url, $network = "", $force = false) { if (($last_contact <= $last_failure) AND !$failure) { logger("Server ".$server_url." seems to be alive, but last contact wasn't set - could be a bug", LOGGER_DEBUG); - } else if (($last_contact >= $last_failure) AND $failure) { + } elseif (($last_contact >= $last_failure) AND $failure) { logger("Server ".$server_url." seems to be dead, but last failure wasn't set - could be a bug", LOGGER_DEBUG); } @@ -1374,10 +1379,11 @@ function count_common_friends($uid,$cid) { function common_friends($uid,$cid,$start = 0,$limit=9999,$shuffle = false) { - if($shuffle) + if ($shuffle) { $sql_extra = " order by rand() "; - else + } else { $sql_extra = " order by `gcontact`.`name` asc "; + } $r = q("SELECT `gcontact`.*, `contact`.`id` AS `cid` FROM `glink` @@ -1396,6 +1402,7 @@ function common_friends($uid,$cid,$start = 0,$limit=9999,$shuffle = false) { intval($limit) ); + /// @TODO Check all calling-findings of this function if they properly use dbm::is_result() return $r; } @@ -1419,7 +1426,7 @@ function count_common_friends_zcid($uid,$zcid) { function common_friends_zcid($uid,$zcid,$start = 0, $limit = 9999,$shuffle = false) { - if($shuffle) + if ($shuffle) $sql_extra = " order by rand() "; else $sql_extra = " order by `gcontact`.`name` asc "; @@ -1435,6 +1442,7 @@ function common_friends_zcid($uid,$zcid,$start = 0, $limit = 9999,$shuffle = fal intval($limit) ); + /// @TODO Check all calling-findings of this function if they properly use dbm::is_result() return $r; } @@ -1450,8 +1458,9 @@ function count_all_friends($uid,$cid) { intval($uid) ); - if (dbm::is_result($r)) + if (dbm::is_result($r)) { return $r[0]['total']; + } return 0; } @@ -1473,6 +1482,7 @@ function all_friends($uid,$cid,$start = 0, $limit = 80) { intval($limit) ); + /// @TODO Check all calling-findings of this function if they properly use dbm::is_result() return $r; } @@ -1493,11 +1503,13 @@ function suggestion_query($uid, $start = 0, $limit = 80) { $network = array(NETWORK_DFRN); - if (get_config('system','diaspora_enabled')) + if (get_config('system','diaspora_enabled')) { $network[] = NETWORK_DIASPORA; + } - if (!get_config('system','ostatus_disabled')) + if (!get_config('system','ostatus_disabled')) { $network[] = NETWORK_OSTATUS; + } $sql_network = implode("', '", $network); $sql_network = "'".$sql_network."'"; @@ -1550,14 +1562,17 @@ function suggestion_query($uid, $start = 0, $limit = 80) { ); $list = array(); - foreach ($r2 AS $suggestion) + foreach ($r2 AS $suggestion) { $list[$suggestion["nurl"]] = $suggestion; + } - foreach ($r AS $suggestion) + foreach ($r AS $suggestion) { $list[$suggestion["nurl"]] = $suggestion; + } - while (sizeof($list) > ($limit)) + while (sizeof($list) > ($limit)) { array_pop($list); + } // Uncommented because the result of the queries are to big to store it in the cache. // We need to decide if we want to change the db column type or if we want to delete it. @@ -1602,8 +1617,9 @@ function update_suggestions() { if (dbm::is_result($r)) { foreach ($r as $rr) { $base = substr($rr['poco'],0,strrpos($rr['poco'],'/')); - if(! in_array($base,$done)) + if (! in_array($base,$done)) { poco_load(0,0,0,$base); + } } } } @@ -1640,8 +1656,9 @@ function poco_discover_federation() { if ($last) { $next = $last + (24 * 60 * 60); - if($next > time()) + if ($next > time()) { return; + } } // Discover Friendica, Hubzilla and Diaspora servers @@ -1785,18 +1802,20 @@ function poco_discover($complete = false) { function poco_discover_server_users($data, $server) { - if (!isset($data->entry)) + if (!isset($data->entry)) { return; + } foreach ($data->entry AS $entry) { $username = ""; if (isset($entry->urls)) { - foreach($entry->urls as $url) + foreach ($entry->urls as $url) { if ($url->type == 'profile') { $profile_url = $url->value; $urlparts = parse_url($profile_url); $username = end(explode("/", $urlparts["path"])); } + } } if ($username != "") { logger("Fetch contacts for the user ".$username." from the server ".$server["nurl"], LOGGER_DEBUG); @@ -1805,16 +1824,18 @@ function poco_discover_server_users($data, $server) { $url = $server["poco"]."/".$username."/?fields=displayName,urls,photos,updated,network,aboutMe,currentLocation,tags,gender,contactType,generation"; $retdata = z_fetch_url($url); - if ($retdata["success"]) + if ($retdata["success"]) { poco_discover_server(json_decode($retdata["body"]), 3); + } } } } function poco_discover_server($data, $default_generation = 0) { - if (!isset($data->entry) OR !count($data->entry)) + if (!isset($data->entry) OR !count($data->entry)) { return false; + } $success = false; @@ -1835,7 +1856,7 @@ function poco_discover_server($data, $default_generation = 0) { $name = $entry->displayName; if (isset($entry->urls)) { - foreach($entry->urls as $url) { + foreach ($entry->urls as $url) { if ($url->type == 'profile') { $profile_url = $url->value; continue; @@ -1860,31 +1881,31 @@ function poco_discover_server($data, $default_generation = 0) { $updated = date("Y-m-d H:i:s", strtotime($entry->updated)); } - if(isset($entry->network)) { + if (isset($entry->network)) { $network = $entry->network; } - if(isset($entry->currentLocation)) { + if (isset($entry->currentLocation)) { $location = $entry->currentLocation; } - if(isset($entry->aboutMe)) { + if (isset($entry->aboutMe)) { $about = html2bbcode($entry->aboutMe); } - if(isset($entry->gender)) { + if (isset($entry->gender)) { $gender = $entry->gender; } - if(isset($entry->generation) AND ($entry->generation > 0)) { + if (isset($entry->generation) AND ($entry->generation > 0)) { $generation = ++$entry->generation; } - if(isset($entry->contactType) AND ($entry->contactType >= 0)) { + if (isset($entry->contactType) AND ($entry->contactType >= 0)) { $contact_type = $entry->contactType; } - if(isset($entry->tags)) { + if (isset($entry->tags)) { foreach ($entry->tags as $tag) { $keywords = implode(", ", $tag); } @@ -1930,19 +1951,23 @@ function poco_discover_server($data, $default_generation = 0) { function clean_contact_url($url) { $parts = parse_url($url); - if (!isset($parts["scheme"]) OR !isset($parts["host"])) + if (!isset($parts["scheme"]) OR !isset($parts["host"])) { return $url; + } $new_url = $parts["scheme"]."://".$parts["host"]; - if (isset($parts["port"])) + if (isset($parts["port"])) { $new_url .= ":".$parts["port"]; + } - if (isset($parts["path"])) + if (isset($parts["path"])) { $new_url .= $parts["path"]; + } - if ($new_url != $url) + if ($new_url != $url) { logger("Cleaned contact url ".$url." to ".$new_url." - Called by: ".App::callstack(), LOGGER_DEBUG); + } return $new_url; } @@ -1981,24 +2006,28 @@ function get_gcontact_id($contact) { return false; } - if ($contact["network"] == NETWORK_STATUSNET) + /// @TODO backward-compatibility or old-lost code? + if ($contact["network"] == NETWORK_STATUSNET) { $contact["network"] = NETWORK_OSTATUS; + } // All new contacts are hidden by default - if (!isset($contact["hide"])) + if (!isset($contact["hide"])) { $contact["hide"] = true; + } // Replace alternate OStatus user format with the primary one fix_alternate_contact_address($contact); // Remove unwanted parts from the contact url (e.g. "?zrl=...") - if (in_array($contact["network"], array(NETWORK_DFRN, NETWORK_DIASPORA, NETWORK_OSTATUS))) + if (in_array($contact["network"], array(NETWORK_DFRN, NETWORK_DIASPORA, NETWORK_OSTATUS))) { $contact["url"] = clean_contact_url($contact["url"]); + } $r = q("SELECT `id`, `last_contact`, `last_failure`, `network` FROM `gcontact` WHERE `nurl` = '%s' LIMIT 2", dbesc(normalise_link($contact["url"]))); - if ($r) { + if (dbm::is_result($r)) { $gcontact_id = $r[0]["id"]; // Update every 90 days @@ -2030,7 +2059,7 @@ function get_gcontact_id($contact) { $r = q("SELECT `id`, `network` FROM `gcontact` WHERE `nurl` = '%s' ORDER BY `id` LIMIT 2", dbesc(normalise_link($contact["url"]))); - if ($r) { + if (dbm::is_result($r)) { $gcontact_id = $r[0]["id"]; $doprobing = in_array($r[0]["network"], array(NETWORK_DFRN, NETWORK_DIASPORA, NETWORK_OSTATUS, "")); @@ -2042,10 +2071,11 @@ function get_gcontact_id($contact) { proc_run(PRIORITY_LOW, 'include/gprobe.php', bin2hex($contact["url"])); } - if ((dbm::is_result($r)) AND (count($r) > 1) AND ($gcontact_id > 0) AND ($contact["url"] != "")) - q("DELETE FROM `gcontact` WHERE `nurl` = '%s' AND `id` != %d", - dbesc(normalise_link($contact["url"])), - intval($gcontact_id)); + if ((dbm::is_result($r)) AND (count($r) > 1) AND ($gcontact_id > 0) AND ($contact["url"] != "")) { + q("DELETE FROM `gcontact` WHERE `nurl` = '%s' AND `id` != %d", + dbesc(normalise_link($contact["url"])), + intval($gcontact_id)); + } return $gcontact_id; } @@ -2067,8 +2097,9 @@ function update_gcontact($contact) { $gcontact_id = get_gcontact_id($contact); - if (!$gcontact_id) + if (!$gcontact_id) { return false; + } $r = q("SELECT `name`, `nick`, `photo`, `location`, `about`, `addr`, `generation`, `birthday`, `gender`, `keywords`, `contact-type`, `hide`, `nsfw`, `network`, `alias`, `notify`, `server_url`, `connect`, `updated`, `url` @@ -2077,8 +2108,9 @@ function update_gcontact($contact) { // Get all field names $fields = array(); - foreach ($r[0] AS $field => $data) + foreach ($r[0] AS $field => $data) { $fields[$field] = $data; + } unset($fields["url"]); unset($fields["updated"]); @@ -2086,47 +2118,59 @@ function update_gcontact($contact) { // Bugfix: We had an error in the storing of keywords which lead to the "0" // This value is still transmitted via poco. - if ($contact["keywords"] == "0") + if ($contact["keywords"] == "0") { unset($contact["keywords"]); + } - if ($r[0]["keywords"] == "0") + if ($r[0]["keywords"] == "0") { $r[0]["keywords"] = ""; + } // assign all unassigned fields from the database entry - foreach ($fields AS $field => $data) - if (!isset($contact[$field]) OR ($contact[$field] == "")) + foreach ($fields AS $field => $data) { + if (!isset($contact[$field]) OR ($contact[$field] == "")) { $contact[$field] = $r[0][$field]; + } + } - if (!isset($contact["hide"])) + if (!isset($contact["hide"])) { $contact["hide"] = $r[0]["hide"]; + } $fields["hide"] = $r[0]["hide"]; - if ($contact["network"] == NETWORK_STATUSNET) + /// @TODO backward-compatibility or old-lost code? + if ($contact["network"] == NETWORK_STATUSNET) { $contact["network"] = NETWORK_OSTATUS; + } // Replace alternate OStatus user format with the primary one fix_alternate_contact_address($contact); - if (!isset($contact["updated"])) + if (!isset($contact["updated"])) { $contact["updated"] = dbm::date(); + } if ($contact["server_url"] == "") { $server_url = $contact["url"]; $server_url = matching_url($server_url, $contact["alias"]); - if ($server_url != "") + if ($server_url != "") { $contact["server_url"] = $server_url; + } $server_url = matching_url($server_url, $contact["photo"]); - if ($server_url != "") + if ($server_url != "") { $contact["server_url"] = $server_url; + } $server_url = matching_url($server_url, $contact["notify"]); - if ($server_url != "") + if ($server_url != "") { $contact["server_url"] = $server_url; - } else + } + } else { $contact["server_url"] = normalise_link($contact["server_url"]); + } if (($contact["addr"] == "") AND ($contact["server_url"] != "") AND ($contact["nick"] != "")) { $hostname = str_replace("http://", "", $contact["server_url"]); @@ -2138,11 +2182,12 @@ function update_gcontact($contact) { unset($fields["generation"]); if ((($contact["generation"] > 0) AND ($contact["generation"] <= $r[0]["generation"])) OR ($r[0]["generation"] == 0)) { - foreach ($fields AS $field => $data) + foreach ($fields AS $field => $data) { if ($contact[$field] != $r[0][$field]) { logger("Difference for contact ".$contact["url"]." in field '".$field."'. New value: '".$contact[$field]."', old value '".$r[0][$field]."'", LOGGER_DEBUG); $update = true; } + } if ($contact["generation"] < $r[0]["generation"]) { logger("Difference for contact ".$contact["url"]." in field 'generation'. new value: '".$contact["generation"]."', old value '".$r[0]["generation"]."'", LOGGER_DEBUG); @@ -2174,7 +2219,7 @@ function update_gcontact($contact) { $r = q("SELECT `id` FROM `contact` WHERE `nurl` = '%s' AND `uid` = 0 ORDER BY `id` LIMIT 1", dbesc(normalise_link($contact["url"]))); - if ($r) { + if (dbm::is_result($r)) { logger("Update shadow contact ".$r[0]["id"], LOGGER_DEBUG); update_contact_avatar($contact["photo"], 0, $r[0]["id"]); diff --git a/include/tags.php b/include/tags.php index 6067f3f4b9..c82c6a09b4 100644 --- a/include/tags.php +++ b/include/tags.php @@ -58,10 +58,10 @@ function create_tags_from_item($itemid) { if (substr(trim($tag), 0, 1) == "#") { // try to ignore #039 or #1 or anything like that - if(ctype_digit(substr(trim($tag),1))) + if (ctype_digit(substr(trim($tag),1))) continue; // try to ignore html hex escapes, e.g. #x2317 - if((substr(trim($tag),1,1) == 'x' || substr(trim($tag),1,1) == 'X') && ctype_digit(substr(trim($tag),2))) + if ((substr(trim($tag),1,1) == 'x' || substr(trim($tag),1,1) == 'X') && ctype_digit(substr(trim($tag),2))) continue; $type = TERM_HASHTAG; $term = substr($tag, 1); @@ -107,9 +107,10 @@ function create_tags_from_item($itemid) { function create_tags_from_itemuri($itemuri, $uid) { $messages = q("SELECT `id` FROM `item` WHERE uri ='%s' AND uid=%d", dbesc($itemuri), intval($uid)); - if(count($messages)) { - foreach ($messages as $message) + if (count($messages)) { + foreach ($messages as $message) { create_tags_from_item($message["id"]); + } } } diff --git a/include/template_processor.php b/include/template_processor.php index 27271e2edb..252375a060 100644 --- a/include/template_processor.php +++ b/include/template_processor.php @@ -69,7 +69,7 @@ class Template implements ITemplateEngine { * {{ if <$var>== }}...[{{ else }} ...]{{ endif }} * {{ if <$var>!= }}...[{{ else }} ...]{{ endif }} */ - private function _replcb_if($args) { + private function _replcb_if ($args) { if (strpos($args[2], "==") > 0) { list($a, $b) = array_map("trim", explode("==", $args[2])); $a = $this->_get_var($a); @@ -95,7 +95,7 @@ class Template implements ITemplateEngine { * {{ for <$var> as $name }}...{{ endfor }} * {{ for <$var> as $key=>$name }}...{{ endfor }} */ - private function _replcb_for($args) { + private function _replcb_for ($args) { $m = array_map('trim', explode(" as ", $args[2])); $x = explode("=>", $m[1]); if (count($x) == 1) { @@ -109,14 +109,16 @@ class Template implements ITemplateEngine { //$vals = $this->r[$m[0]]; $vals = $this->_get_var($m[0]); $ret = ""; - if (!is_array($vals)) + if (!is_array($vals)) { return $ret; + } foreach ($vals as $k => $v) { $this->_push_stack(); $r = $this->r; $r[$varname] = $v; - if ($keyname != '') + if ($keyname != '') { $r[$keyname] = (($k === 0) ? '0' : $k); + } $ret .= $this->replace($args[3], $r); $this->_pop_stack(); } diff --git a/include/text.php b/include/text.php index c9babba940..d904f7cbaa 100644 --- a/include/text.php +++ b/include/text.php @@ -8,7 +8,7 @@ require_once("include/Smilies.php"); require_once("include/map.php"); require_once("mod/proxy.php"); -if(! function_exists('replace_macros')) { +if (! function_exists('replace_macros')) { /** * This is our template processor * @@ -46,7 +46,7 @@ function replace_macros($s,$r) { define('RANDOM_STRING_HEX', 0x00 ); define('RANDOM_STRING_TEXT', 0x01 ); -if(! function_exists('random_string')) { +if (! function_exists('random_string')) { function random_string($size = 64,$type = RANDOM_STRING_HEX) { // generate a bit of entropy and run it through the whirlpool $s = hash('whirlpool', (string) rand() . uniqid(rand(),true) . (string) rand(),(($type == RANDOM_STRING_TEXT) ? true : false)); @@ -54,7 +54,7 @@ function random_string($size = 64,$type = RANDOM_STRING_HEX) { return(substr($s,0,$size)); }} -if(! function_exists('notags')) { +if (! function_exists('notags')) { /** * This is our primary input filter. * @@ -82,7 +82,7 @@ function notags($string) { -if(! function_exists('escape_tags')) { +if (! function_exists('escape_tags')) { /** * use this on "body" or "content" input where angle chars shouldn't be removed, * and allow them to be safely displayed. @@ -98,7 +98,7 @@ function escape_tags($string) { // generate a string that's random, but usually pronounceable. // used to generate initial passwords -if(! function_exists('autoname')) { +if (! function_exists('autoname')) { /** * generate a string that's random, but usually pronounceable. * used to generate initial passwords @@ -107,11 +107,11 @@ if(! function_exists('autoname')) { */ function autoname($len) { - if($len <= 0) + if ($len <= 0) return ''; $vowels = array('a','a','ai','au','e','e','e','ee','ea','i','ie','o','ou','u'); - if(mt_rand(0,5) == 4) + if (mt_rand(0,5) == 4) $vowels[] = 'y'; $cons = array( @@ -144,7 +144,7 @@ function autoname($len) { 'kh', 'kl','kr','mn','pl','pr','rh','tr','qu','wh'); $start = mt_rand(0,2); - if($start == 0) + if ($start == 0) $table = $vowels; else $table = $cons; @@ -155,7 +155,7 @@ function autoname($len) { $r = mt_rand(0,count($table) - 1); $word .= $table[$r]; - if($table == $vowels) + if ($table == $vowels) $table = array_merge($cons,$midcons); else $table = $vowels; @@ -164,13 +164,13 @@ function autoname($len) { $word = substr($word,0,$len); - foreach($noend as $noe) { - if((strlen($word) > 2) && (substr($word,-2) == $noe)) { + foreach ($noend as $noe) { + if ((strlen($word) > 2) && (substr($word,-2) == $noe)) { $word = substr($word,0,-1); break; } } - if(substr($word,-1) == 'q') + if (substr($word,-1) == 'q') $word = substr($word,0,-1); return $word; }} @@ -179,7 +179,7 @@ function autoname($len) { // escape text ($str) for XML transport // returns escaped text. -if(! function_exists('xmlify')) { +if (! function_exists('xmlify')) { /** * escape text ($str) for XML transport * @param string $str @@ -189,7 +189,7 @@ function xmlify($str) { /* $buffer = ''; $len = mb_strlen($str); - for($x = 0; $x < $len; $x ++) { + for ($x = 0; $x < $len; $x ++) { $char = mb_substr($str,$x,1); switch( $char ) { @@ -232,7 +232,7 @@ function xmlify($str) { return($buffer); }} -if(! function_exists('unxmlify')) { +if (! function_exists('unxmlify')) { /** * undo an xmlify * @param string $s xml escaped text @@ -251,17 +251,17 @@ function unxmlify($s) { return $ret; }} -if(! function_exists('hex2bin')) { +if (! function_exists('hex2bin')) { /** * convenience wrapper, reverse the operation "bin2hex" * @param string $s * @return number */ function hex2bin($s) { - if(! (is_string($s) && strlen($s))) + if (! (is_string($s) && strlen($s))) return ''; - if(! ctype_xdigit($s)) { + if (! ctype_xdigit($s)) { return($s); } @@ -354,7 +354,7 @@ function paginate_data(App $a, $count = null) { return $data; } -if(! function_exists('paginate')) { +if (! function_exists('paginate')) { /** * Automatic pagination. * @@ -378,7 +378,7 @@ function paginate(App $a) { }} -if(! function_exists('alt_pager')) { +if (! function_exists('alt_pager')) { /** * Alternative pager * @param App $a App instance @@ -393,7 +393,7 @@ function alt_pager(App $a, $i) { }} -if(! function_exists('scroll_loader')) { +if (! function_exists('scroll_loader')) { /** * Loader for infinite scrolling * @return string html for loader @@ -406,7 +406,7 @@ function scroll_loader() { )); }} -if(! function_exists('expand_acl')) { +if (! function_exists('expand_acl')) { /** * Turn user/group ACLs stored as angle bracketed text into arrays * @@ -418,31 +418,31 @@ function expand_acl($s) { // e.g. "<1><2><3>" => array(1,2,3); $ret = array(); - if(strlen($s)) { + if (strlen($s)) { $t = str_replace('<','',$s); $a = explode('>',$t); - foreach($a as $aa) { - if(intval($aa)) + foreach ($a as $aa) { + if (intval($aa)) $ret[] = intval($aa); } } return $ret; }} -if(! function_exists('sanitise_acl')) { +if (! function_exists('sanitise_acl')) { /** * Wrap ACL elements in angle brackets for storage * @param string $item */ function sanitise_acl(&$item) { - if(intval($item)) + if (intval($item)) $item = '<' . intval(notags(trim($item))) . '>'; else unset($item); }} -if(! function_exists('perms2str')) { +if (! function_exists('perms2str')) { /** * Convert an ACL array to a storable string * @@ -454,12 +454,12 @@ if(! function_exists('perms2str')) { */ function perms2str($p) { $ret = ''; - if(is_array($p)) + if (is_array($p)) $tmp = $p; else $tmp = explode(',',$p); - if(is_array($tmp)) { + if (is_array($tmp)) { array_walk($tmp,'sanitise_acl'); $ret = implode('',$tmp); } @@ -467,7 +467,7 @@ function perms2str($p) { }} -if(! function_exists('item_new_uri')) { +if (! function_exists('item_new_uri')) { /** * generate a guaranteed unique (for this domain) item ID for ATOM * safe from birthday paradox @@ -494,14 +494,14 @@ function item_new_uri($hostname,$uid, $guid = "") { dbesc($uri)); if (dbm::is_result($r)) $dups = true; - } while($dups == true); + } while ($dups == true); return $uri; }} // Generate a guaranteed unique photo ID. // safe from birthday paradox -if(! function_exists('photo_new_resource')) { +if (! function_exists('photo_new_resource')) { /** * Generate a guaranteed unique photo ID. * safe from birthday paradox @@ -518,12 +518,12 @@ function photo_new_resource() { ); if (dbm::is_result($r)) $found = true; - } while($found == true); + } while ($found == true); return $resource; }} -if(! function_exists('load_view_file')) { +if (! function_exists('load_view_file')) { /** * @deprecated * wrapper to load a view template, checking for alternate @@ -536,11 +536,11 @@ if(! function_exists('load_view_file')) { */ function load_view_file($s) { global $lang, $a; - if(! isset($lang)) + if (! isset($lang)) $lang = 'en'; $b = basename($s); $d = dirname($s); - if(file_exists("$d/$lang/$b")) { + if (file_exists("$d/$lang/$b")) { $stamp1 = microtime(true); $content = file_get_contents("$d/$lang/$b"); $a->save_timestamp($stamp1, "file"); @@ -549,7 +549,7 @@ function load_view_file($s) { $theme = current_theme(); - if(file_exists("$d/theme/$theme/$b")) { + if (file_exists("$d/theme/$theme/$b")) { $stamp1 = microtime(true); $content = file_get_contents("$d/theme/$theme/$b"); $a->save_timestamp($stamp1, "file"); @@ -562,7 +562,7 @@ function load_view_file($s) { return $content; }} -if(! function_exists('get_intltext_template')) { +if (! function_exists('get_intltext_template')) { /** * load a view template, checking for alternate * languages before falling back to the default @@ -576,18 +576,18 @@ function get_intltext_template($s) { $a = get_app(); $engine = ''; - if($a->theme['template_engine'] === 'smarty3') + if ($a->theme['template_engine'] === 'smarty3') $engine = "/smarty3"; - if(! isset($lang)) + if (! isset($lang)) $lang = 'en'; - if(file_exists("view/lang/$lang$engine/$s")) { + if (file_exists("view/lang/$lang$engine/$s")) { $stamp1 = microtime(true); $content = file_get_contents("view/lang/$lang$engine/$s"); $a->save_timestamp($stamp1, "file"); return $content; - } elseif(file_exists("view/lang/en$engine/$s")) { + } elseif (file_exists("view/lang/en$engine/$s")) { $stamp1 = microtime(true); $content = file_get_contents("view/lang/en$engine/$s"); $a->save_timestamp($stamp1, "file"); @@ -600,7 +600,7 @@ function get_intltext_template($s) { } }} -if(! function_exists('get_markup_template')) { +if (! function_exists('get_markup_template')) { /** * load template $s * @@ -624,7 +624,7 @@ function get_markup_template($s, $root = '') { return $template; }} -if(! function_exists("get_template_file")) { +if (! function_exists("get_template_file")) { /** * * @param App $a @@ -636,10 +636,10 @@ function get_template_file($a, $filename, $root = '') { $theme = current_theme(); // Make sure $root ends with a slash / - if($root !== '' && $root[strlen($root)-1] !== '/') + if ($root !== '' && $root[strlen($root)-1] !== '/') $root = $root . '/'; - if(file_exists("{$root}view/theme/$theme/$filename")) + if (file_exists("{$root}view/theme/$theme/$filename")) $template_file = "{$root}view/theme/$theme/$filename"; elseif (x($a->theme_info,"extends") && file_exists("{$root}view/theme/{$a->theme_info["extends"]}/$filename")) $template_file = "{$root}view/theme/{$a->theme_info["extends"]}/$filename"; @@ -657,7 +657,7 @@ function get_template_file($a, $filename, $root = '') { -if(! function_exists('attribute_contains')) { +if (! function_exists('attribute_contains')) { /** * for html,xml parsing - let's say you've got * an attribute foobar="class1 class2 class3" @@ -674,7 +674,7 @@ if(! function_exists('attribute_contains')) { */ function attribute_contains($attr,$s) { $a = explode(' ', $attr); - if(count($a) && in_array($s,$a)) + if (count($a) && in_array($s,$a)) return true; return false; }} @@ -821,7 +821,7 @@ function dlogger($msg, $level = 0) { $a->save_timestamp($stamp1, "file"); } -if(! function_exists('activity_match')) { +if (! function_exists('activity_match')) { /** * Compare activity uri. Knows about activity namespace. * @@ -830,7 +830,7 @@ if(! function_exists('activity_match')) { * @return boolean */ function activity_match($haystack,$needle) { - if(($haystack === $needle) || ((basename($needle) === $haystack) && strstr($needle,NAMESPACE_ACTIVITY_SCHEMA))) + if (($haystack === $needle) || ((basename($needle) === $haystack) && strstr($needle,NAMESPACE_ACTIVITY_SCHEMA))) return true; return false; }} @@ -884,7 +884,7 @@ function get_tags($string) { // and #hash tags. if (preg_match_all('/([!#@][^\^ \x0D\x0A,;:?]+)([ \x0D\x0A,;:?]|$)/', $string, $matches)) { - foreach($matches[1] as $match) { + foreach ($matches[1] as $match) { if (strstr($match, ']')) { // we might be inside a bbcode color tag - leave it alone continue; @@ -909,7 +909,7 @@ function get_tags($string) { // -if(! function_exists('qp')) { +if (! function_exists('qp')) { /** * quick and dirty quoted_printable encoding * @@ -920,7 +920,7 @@ function qp($s) { return str_replace ("%","=",rawurlencode($s)); }} -if(! function_exists('contact_block')) { +if (! function_exists('contact_block')) { /** * Get html for contact block. * @@ -933,12 +933,12 @@ function contact_block() { $a = get_app(); $shown = get_pconfig($a->profile['uid'],'system','display_friend_count'); - if($shown === false) + if ($shown === false) $shown = 24; - if($shown == 0) + if ($shown == 0) return; - if((! is_array($a->profile)) || ($a->profile['hide-friends'])) + if ((! is_array($a->profile)) || ($a->profile['hide-friends'])) return $o; $r = q("SELECT COUNT(*) AS `total` FROM `contact` WHERE `uid` = %d AND NOT `self` AND NOT `blocked` @@ -952,7 +952,7 @@ function contact_block() { if (dbm::is_result($r)) { $total = intval($r[0]['total']); } - if(! $total) { + if (! $total) { $contacts = t('No contacts'); $micropro = Null; @@ -1031,10 +1031,10 @@ function micropro($contact, $redirect = false, $class = '', $textmode = false) { $sparkle = ''; $redir = false; - if($redirect) { + if ($redirect) { $a = get_app(); $redirect_url = 'redir/' . $contact['id']; - if(local_user() && ($contact['uid'] == local_user()) && ($contact['network'] === NETWORK_DFRN)) { + if (local_user() && ($contact['uid'] == local_user()) && ($contact['network'] === NETWORK_DFRN)) { $redir = true; $url = $redirect_url; $sparkle = ' sparkle'; @@ -1044,7 +1044,7 @@ function micropro($contact, $redirect = false, $class = '', $textmode = false) { } // If there is some js available we don't need the url - if(x($contact,'click')) + if (x($contact,'click')) $url = ''; return replace_macros(get_markup_template(($textmode)?'micropro_txt.tpl':'micropro_img.tpl'),array( @@ -1062,7 +1062,7 @@ function micropro($contact, $redirect = false, $class = '', $textmode = false) { -if(! function_exists('search')) { +if (! function_exists('search')) { /** * search box * @@ -1097,7 +1097,7 @@ function search($s,$id='search-box',$url='search',$save = false, $aside = true) return replace_macros(get_markup_template('searchbox.tpl'), $values); }} -if(! function_exists('valid_email')) { +if (! function_exists('valid_email')) { /** * Check if $x is a valid email string * @@ -1107,16 +1107,16 @@ if(! function_exists('valid_email')) { function valid_email($x){ // Removed because Fabio told me so. - //if(get_config('system','disable_email_validation')) + //if (get_config('system','disable_email_validation')) // return true; - if(preg_match('/^[_a-zA-Z0-9\-\+]+(\.[_a-zA-Z0-9\-\+]+)*@[a-zA-Z0-9-]+(\.[a-zA-Z0-9-]+)+$/',$x)) + if (preg_match('/^[_a-zA-Z0-9\-\+]+(\.[_a-zA-Z0-9\-\+]+)*@[a-zA-Z0-9-]+(\.[a-zA-Z0-9-]+)+$/',$x)) return true; return false; }} -if(! function_exists('linkify')) { +if (! function_exists('linkify')) { /** * Replace naked text hyperlink with HTML formatted hyperlink * @@ -1187,7 +1187,7 @@ function get_mood_verbs() { return $arr; } -if(! function_exists('day_translate')) { +if (! function_exists('day_translate')) { /** * Translate days and months names * @@ -1207,7 +1207,7 @@ function day_translate($s) { }} -if(! function_exists('normalise_link')) { +if (! function_exists('normalise_link')) { /** * Normalize url * @@ -1221,7 +1221,7 @@ function normalise_link($url) { -if(! function_exists('link_compare')) { +if (! function_exists('link_compare')) { /** * Compare two URLs to see if they are the same, but ignore * slight but hopefully insignificant differences such as if one @@ -1234,7 +1234,7 @@ if(! function_exists('link_compare')) { * */ function link_compare($a,$b) { - if(strcasecmp(normalise_link($a),normalise_link($b)) === 0) + if (strcasecmp(normalise_link($a),normalise_link($b)) === 0) return true; return false; }} @@ -1289,7 +1289,7 @@ function put_item_in_cache(&$item, $update = false) { // Given an item array, convert the body element from bbcode to html and add smilie icons. // If attach is true, also add icons for item attachments -if(! function_exists('prepare_body')) { +if (! function_exists('prepare_body')) { /** * Given an item array, convert the body element from bbcode to html and add smilie icons. * If attach is true, also add icons for item attachments @@ -1316,7 +1316,7 @@ function prepare_body(&$item,$attach = false, $preview = false) { $taglist = q("SELECT `type`, `term`, `url` FROM `term` WHERE `otype` = %d AND `oid` = %d AND `type` IN (%d, %d) ORDER BY `tid`", intval(TERM_OBJ_POST), intval($item['id']), intval(TERM_HASHTAG), intval(TERM_MENTION)); - foreach($taglist as $tag) { + foreach ($taglist as $tag) { if ($tag["url"] == "") $tag["url"] = $searchpath.strtolower($tag["term"]); @@ -1350,7 +1350,7 @@ function prepare_body(&$item,$attach = false, $preview = false) { call_hooks('prepare_body', $prep_arr); $s = $prep_arr['html']; - if(! $attach) { + if (! $attach) { // Replace the blockquotes with quotes that are used in mails $mailquote = '
'; $s = str_replace(array('
', '
', '
'), array($mailquote, $mailquote, $mailquote), $s); @@ -1360,23 +1360,23 @@ function prepare_body(&$item,$attach = false, $preview = false) { $as = ''; $vhead = false; $arr = explode('[/attach],',$item['attach']); - if(count($arr)) { + if (count($arr)) { $as .= '
'; - foreach($arr as $r) { + foreach ($arr as $r) { $matches = false; $icon = ''; $cnt = preg_match_all('|\[attach\]href=\"(.*?)\" length=\"(.*?)\" type=\"(.*?)\" title=\"(.*?)\"|',$r,$matches, PREG_SET_ORDER); - if($cnt) { - foreach($matches as $mtch) { + if ($cnt) { + foreach ($matches as $mtch) { $mime = $mtch[3]; - if((local_user() == $item['uid']) && ($item['contact-id'] != $a->contact['id']) && ($item['network'] == NETWORK_DFRN)) + if ((local_user() == $item['uid']) && ($item['contact-id'] != $a->contact['id']) && ($item['network'] == NETWORK_DFRN)) $the_url = 'redir/' . $item['contact-id'] . '?f=1&url=' . $mtch[1]; else $the_url = $mtch[1]; - if(strpos($mime, 'video') !== false) { - if(!$vhead) { + if (strpos($mime, 'video') !== false) { + if (!$vhead) { $vhead = true; $a->page['htmlhead'] .= replace_macros(get_markup_template('videos_head.tpl'), array( '$baseurl' => z_root(), @@ -1398,7 +1398,7 @@ function prepare_body(&$item,$attach = false, $preview = false) { } $filetype = strtolower(substr( $mime, 0, strpos($mime,'/') )); - if($filetype) { + if ($filetype) { $filesubtype = strtolower(substr( $mime, strpos($mime,'/') + 1 )); $filesubtype = str_replace('.', '-', $filesubtype); } @@ -1433,7 +1433,7 @@ function prepare_body(&$item,$attach = false, $preview = false) { $s = $s . $as; // map - if(strpos($s,'
') !== false && $item['coord']) { + if (strpos($s,'
') !== false && $item['coord']) { $x = generate_map(trim($item['coord'])); if ($x) { $s = preg_replace('/\
/','$0' . $x,$s); @@ -1485,7 +1485,7 @@ function prepare_body(&$item,$attach = false, $preview = false) { }} -if(! function_exists('prepare_text')) { +if (! function_exists('prepare_text')) { /** * Given a text string, convert from bbcode to html and add smilie icons. * @@ -1496,7 +1496,7 @@ function prepare_text($text) { require_once('include/bbcode.php'); - if(stristr($text,'[nosmile]')) + if (stristr($text,'[nosmile]')) $s = bbcode($text); else $s = Smilies::replace(bbcode($text)); @@ -1541,8 +1541,8 @@ function get_cats_and_terms($item) { $matches = false; $first = true; $cnt = preg_match_all('/<(.*?)>/',$item['file'],$matches,PREG_SET_ORDER); - if($cnt) { - foreach($matches as $mtch) { + if ($cnt) { + foreach ($matches as $mtch) { $categories[] = array( 'name' => xmlify(file_tag_decode($mtch[1])), 'url' => "#", @@ -1556,11 +1556,11 @@ function get_cats_and_terms($item) { if (count($categories)) $categories[count($categories)-1]['last'] = true; - if(local_user() == $item['uid']) { + if (local_user() == $item['uid']) { $matches = false; $first = true; $cnt = preg_match_all('/\[(.*?)\]/',$item['file'],$matches,PREG_SET_ORDER); - if($cnt) { - foreach($matches as $mtch) { + if ($cnt) { + foreach ($matches as $mtch) { $folders[] = array( 'name' => xmlify(file_tag_decode($mtch[1])), 'url' => "#", @@ -1578,7 +1578,7 @@ function get_cats_and_terms($item) { return array($categories, $folders); } -if(! function_exists('get_plink')) { +if (! function_exists('get_plink')) { /** * get private link for item * @param array $item @@ -1615,7 +1615,7 @@ function get_plink($item) { return($ret); }} -if(! function_exists('unamp')) { +if (! function_exists('unamp')) { /** * replace html amp entity with amp char * @param string $s @@ -1626,7 +1626,7 @@ function unamp($s) { }} -if(! function_exists('return_bytes')) { +if (! function_exists('return_bytes')) { /** * return number of bytes in size (K, M, G) * @param string $size_str @@ -1651,7 +1651,7 @@ function generate_user_guid() { $x = q("SELECT `uid` FROM `user` WHERE `guid` = '%s' LIMIT 1", dbesc($guid) ); - if(! count($x)) + if (! count($x)) $found = false; } while ($found == true ); return $guid; @@ -1667,7 +1667,7 @@ function base64url_encode($s, $strip_padding = false) { $s = strtr(base64_encode($s),'+/','-_'); - if($strip_padding) + if ($strip_padding) $s = str_replace('=','',$s); return $s; @@ -1679,7 +1679,7 @@ function base64url_encode($s, $strip_padding = false) { */ function base64url_decode($s) { - if(is_array($s)) { + if (is_array($s)) { logger('base64url_decode: illegal input: ' . print_r(debug_backtrace(), true)); return $s; } @@ -1690,11 +1690,11 @@ function base64url_decode($s) { * // Uncomment if you find you need it. * * $l = strlen($s); - * if(! strpos($s,'=')) { + * if (! strpos($s,'=')) { * $m = $l % 4; - * if($m == 2) + * if ($m == 2) * $s .= '=='; - * if($m == 3) + * if ($m == 3) * $s .= '='; * } * @@ -1786,10 +1786,10 @@ function bb_translate_video($s) { $matches = null; $r = preg_match_all("/\[video\](.*?)\[\/video\]/ism",$s,$matches,PREG_SET_ORDER); if ($r) { - foreach($matches as $mtch) { - if((stristr($mtch[1],'youtube')) || (stristr($mtch[1],'youtu.be'))) + foreach ($matches as $mtch) { + if ((stristr($mtch[1],'youtube')) || (stristr($mtch[1],'youtu.be'))) $s = str_replace($mtch[0],'[youtube]' . $mtch[1] . '[/youtube]',$s); - elseif(stristr($mtch[1],'vimeo')) + elseif (stristr($mtch[1],'vimeo')) $s = str_replace($mtch[0],'[vimeo]' . $mtch[1] . '[/vimeo]',$s); } } @@ -1867,13 +1867,13 @@ function reltoabs($text, $base) { * @return string */ function item_post_type($item) { - if(intval($item['event-id'])) + if (intval($item['event-id'])) return t('event'); - if(strlen($item['resource-id'])) + if (strlen($item['resource-id'])) return t('photo'); - if(strlen($item['verb']) && $item['verb'] !== ACTIVITY_POST) + if (strlen($item['verb']) && $item['verb'] !== ACTIVITY_POST) return t('activity'); - if($item['id'] != $item['parent']) + if ($item['id'] != $item['parent']) return t('comment'); return t('post'); } @@ -1893,7 +1893,7 @@ function file_tag_decode($s) { function file_tag_file_query($table,$s,$type = 'file') { - if($type == 'file') + if ($type == 'file') $str = preg_quote( '[' . str_replace('%','%%',file_tag_encode($s)) . ']' ); else $str = preg_quote( '<' . str_replace('%','%%',file_tag_encode($s)) . '>' ); @@ -1903,9 +1903,9 @@ function file_tag_file_query($table,$s,$type = 'file') { // ex. given music,video return