diff --git a/boot.php b/boot.php index 2dce765ca..8ecd2f76e 100644 --- a/boot.php +++ b/boot.php @@ -1539,7 +1539,7 @@ function check_db() { * Sets the base url for use in cmdline programs which don't have * $_SERVER variables */ -function check_url(&$a) { +function check_url(App &$a) { $url = get_config('system','url'); @@ -1561,7 +1561,7 @@ function check_url(&$a) { /** * @brief Automatic database updates */ -function update_db(&$a) { +function update_db(App &$a) { $build = get_config('system','build'); if(! x($build)) $build = set_config('system','build',DB_UPDATE_VERSION); @@ -1677,7 +1677,7 @@ function run_update_function($x) { * @param App $a * */ -function check_plugins(&$a) { +function check_plugins(App &$a) { $r = q("SELECT * FROM `addon` WHERE `installed` = 1"); if (dbm::is_result($r)) @@ -2412,7 +2412,8 @@ function get_temppath() { return(""); } -function set_template_engine(&$a, $engine = 'internal') { +/// @deprecated +function set_template_engine(App &$a, $engine = 'internal') { /// @note This function is no longer necessary, but keep it as a wrapper to the class method /// to avoid breaking themes again unnecessarily diff --git a/doc/Plugins.md b/doc/Plugins.md index 49d0665fe..6460fd5a0 100644 --- a/doc/Plugins.md +++ b/doc/Plugins.md @@ -77,9 +77,9 @@ This will include: $a->argc = 3 $a->argv = array(0 => 'plugin', 1 => 'arg1', 2 => 'arg2'); -Your module functions will often contain the function plugin_name_content(&$a), which defines and returns the page body content. -They may also contain plugin_name_post(&$a) which is called before the _content function and typically handles the results of POST forms. -You may also have plugin_name_init(&$a) which is called very early on and often does module initialisation. +Your module functions will often contain the function plugin_name_content(App &$a), which defines and returns the page body content. +They may also contain plugin_name_post(App &$a) which is called before the _content function and typically handles the results of POST forms. +You may also have plugin_name_init(App &$a) which is called very early on and often does module initialisation. Templates --- diff --git a/doc/SSL.md b/doc/SSL.md index 5b3511d30..95de83305 100644 --- a/doc/SSL.md +++ b/doc/SSL.md @@ -3,15 +3,15 @@ Using SSL with Friendica * [Home](help) -Disclaimer ---- +## Disclaimer + **This document has been updated in November 2016. SSL encryption is relevant for security. This means that recommended settings change fast. Keep your setup up to date and do not rely on this document being updated as fast as technologies change!** -Intro ---- +## Intro + If you are running your own Friendica site, you may want to use SSL (https) to encrypt communication between servers and between yourself and your server. There are basically two sorts of SSL certificates: Self-signed certificates and certificates signed by a certificate authority (CA). @@ -26,15 +26,13 @@ Normally, you have to pay for them - and they are valid for a limited period of There are ways to get a trusted certificate for free. -Chose your domain name ---- +## Choose your domain name Your SSL certificate will be valid for a domain or even only for a subdomain. Make your final decision about your domain resp. subdomain *before* ordering the certificate. Once you have it, changing the domain name means getting a new certificate. -Shared hosts ---- +### Shared hosts If your Friendica instance is running on a shared hosting platform, you should first check with your hosting provider. They have instructions for you on how to do it there. @@ -45,8 +43,7 @@ They need the certificate, the key and the CA's intermediate certificate. To be sure, send those three files. **You should send them to your provider via an encrypted channel!** -Own server ---- +### Own server If you run your own server, we recommend to check out the ["Let's Encrypt" initiative](https://letsencrypt.org/). Not only do they offer free SSL certificates, but also a way to automate their renewal. @@ -54,14 +51,48 @@ You need to install a client software on your server to use it. Instructions for the official client are [here](https://certbot.eff.org/). Depending on your needs, you might want to look at the [list of alternative letsencrypt clients](https://letsencrypt.org/docs/client-options/). - -Web server settings ---- +## Web server settings Visit the [Mozilla's wiki](https://wiki.mozilla.org/Security/Server_Side_TLS) for instructions on how to configure a secure webserver. They provide recommendations for [different web servers](https://mozilla.github.io/server-side-tls/ssl-config-generator/). -Test your SSL settings ---- +## Test your SSL settings When you are done, visit the test site [SSL Labs](https://www.ssllabs.com/ssltest/) to have them check if you succeeded. + +## Configure Friendica + +If you can successfully access your Friendica instance through https, there are a number of steps you can take to ensure your users will use SSL to access your instance. + +### Web server redirection + +This is the simplest way to enforce site-wide secure access. +Every time a user tries to access any Friendica page by any mean (manual address bar entry or link), the web server issues a Permanent Redirect response with the secure protocol prepended to the requested URL. + +With Apache, simply add the following lines to the [code].htaccess[/code] file in the root folder of your Friendica instance (thanks to [url=https://github.com/AlfredSK]AlfredSK[/url]): + +[code] +#Force SSL connections + +RewriteEngine On +RewriteCond %{SERVER_PORT} 80 +RewriteRule ^(.*)$ https://your.friendica.domain/$1 [R=301,L] +[/code] + +With nginx, configure your [code]server[/code] directive this way (thanks to [url=https://bjornjohansen.no/redirect-to-https-with-nginx/]Bjørn Johansen[/url]): + +[code] +server { + listen 80; + listen [::]:80; + server_name your.friendica.domain; + return 301 https://$server_name$request_uri; +} +[/code] + +### SSL Settings + +In the Admin Settings, there are three SSL-related settings: +- **SSL link policy**: this affects how Friendica generates internal links. If your SSL installation was successful, we recommend "Force all links to SSL" just in case your web server configuration can't be altered like described above. +- **Force SSL**: This forces all external links to HTTPS, which may solve Mixed-Content issues, but not all websites support HTTPS yet. Use at your own risk. +- **Verify SSL**: Enabling this will prevent Friendica to interact with self-signed SSL sites. We recommend you leave it on as a self-signed SSL certificate can be a vectorfor a man-in-the-middle attack. \ No newline at end of file diff --git a/doc/autoloader.md b/doc/autoloader.md index 947eade23..25ffd7fe4 100644 --- a/doc/autoloader.md +++ b/doc/autoloader.md @@ -68,7 +68,7 @@ The code will be something like: file: mod/network.php getAll(); diff --git a/doc/de/Plugins.md b/doc/de/Plugins.md index 40be4a069..b2c3f849f 100644 --- a/doc/de/Plugins.md +++ b/doc/de/Plugins.md @@ -67,9 +67,9 @@ So würde http://example.com/plugin/arg1/arg2 nach einem Modul "plugin" suchen u $a->argc = 3 $a->argv = array(0 => 'plugin', 1 => 'arg1', 2 => 'arg2'); -Deine Modulfunktionen umfassen oft die Funktion plugin_name_content(&$a), welche den Seiteninhalt definiert und zurückgibt. -Sie können auch plugin_name_post(&$a) umfassen, welches vor der content-Funktion aufgerufen wird und normalerweise die Resultate der POST-Formulare handhabt. -Du kannst ebenso plugin_name_init(&$a) nutzen, was oft frühzeitig aufgerufen wird und das Modul initialisert. +Deine Modulfunktionen umfassen oft die Funktion plugin_name_content(App &$a), welche den Seiteninhalt definiert und zurückgibt. +Sie können auch plugin_name_post(App &$a) umfassen, welches vor der content-Funktion aufgerufen wird und normalerweise die Resultate der POST-Formulare handhabt. +Du kannst ebenso plugin_name_init(App &$a) nutzen, was oft frühzeitig aufgerufen wird und das Modul initialisert. Derzeitige Hooks diff --git a/doc/themes.md b/doc/themes.md index 0d3c6eb3d..0b8f6cb83 100644 --- a/doc/themes.md +++ b/doc/themes.md @@ -122,7 +122,7 @@ the 1st part of the line is the name of the CSS file (without the .css) the 2nd Calling the t() function with the common name makes the string translateable. The selected 1st part will be saved in the database by the theme_post function. - function theme_post(&$a){ + function theme_post(App &$a){ // non local users shall not pass if (! local_user()) { return; @@ -168,7 +168,7 @@ The content of this file should be something like theme_info = array( 'extends' => 'duepuntozero'. ); @@ -251,7 +251,7 @@ Next crucial part of the theme.php file is a definition of an init function. The name of the function is _init. So in the case of quattro it is - function quattro_init(&$a) { + function quattro_init(App &$a) { $a->theme_info = array(); set_template_engine($a, 'smarty3'); } diff --git a/include/Contact.php b/include/Contact.php index b1f63cbdf..5d8ccc452 100644 --- a/include/Contact.php +++ b/include/Contact.php @@ -85,7 +85,7 @@ function contact_remove($id) { function terminate_friendship($user,$self,$contact) { - /// @TODO Get rid of this, include/datetime.php should care about by itself + /// @TODO Get rid of this, include/datetime.php should care about it by itself $a = get_app(); require_once('include/datetime.php'); @@ -226,14 +226,14 @@ function get_contact_details_by_url($url, $uid = -1, $default = array()) { dbesc(normalise_link($url)), intval($uid)); // Fetch the data from the contact table with "uid=0" (which is filled automatically) - if (!$r) + if (!dbm::is_result($r)) $r = q("SELECT `id`, 0 AS `cid`, `id` AS `zid`, 0 AS `gid`, `uid`, `url`, `nurl`, `alias`, `network`, `name`, `nick`, `addr`, `location`, `about`, `xmpp`, `keywords`, `gender`, `photo`, `thumb`, `micro`, `forum`, `prv`, (`forum` | `prv`) AS `community`, `contact-type`, `bd` AS `birthday`, 0 AS `self` FROM `contact` WHERE `nurl` = '%s' AND `uid` = 0", dbesc(normalise_link($url))); // Fetch the data from the gcontact table - if (!$r) + if (!dbm::is_result($r)) $r = q("SELECT 0 AS `id`, 0 AS `cid`, `id` AS `gid`, 0 AS `zid`, 0 AS `uid`, `url`, `nurl`, `alias`, `network`, `name`, `nick`, `addr`, `location`, `about`, '' AS `xmpp`, `keywords`, `gender`, `photo`, `photo` AS `thumb`, `photo` AS `micro`, `community` AS `forum`, 0 AS `prv`, `community`, `contact-type`, `birthday`, 0 AS `self` FROM `gcontact` WHERE `nurl` = '%s'", diff --git a/include/acl_selectors.php b/include/acl_selectors.php index a20775379..f6c4f947e 100644 --- a/include/acl_selectors.php +++ b/include/acl_selectors.php @@ -272,7 +272,7 @@ function prune_deadguys($arr) { $r = q("SELECT `id` FROM `contact` WHERE `id` IN ( " . $str . ") AND `blocked` = 0 AND `pending` = 0 AND `archive` = 0 "); - if ($r) { + if (dbm::is_result($r)) { $ret = array(); foreach ($r as $rr) { $ret[] = intval($rr['id']); @@ -585,9 +585,9 @@ function acl_lookup(&$a, $out_type = 'json') { ); echo json_encode($o); killme(); - } - else + } else { $r = array(); + } if (dbm::is_result($r)) { @@ -691,7 +691,7 @@ function acl_lookup(&$a, $out_type = 'json') { * @param App $a * @return array with the search results */ -function navbar_complete(&$a) { +function navbar_complete(App &$a) { // logger('navbar_complete'); diff --git a/include/api.php b/include/api.php index 678c0ca33..3543a3836 100644 --- a/include/api.php +++ b/include/api.php @@ -133,7 +133,7 @@ * @hook 'logged_in' * array $user logged user record */ - function api_login(&$a){ + function api_login(App &$a){ // login with oauth try{ $oauth = new FKOAuth1(); @@ -251,8 +251,8 @@ * @param App $a * @return string API call result */ - function api_call(&$a){ - GLOBAL $API, $called_api; + function api_call(App &$a){ + global $API, $called_api; $type="json"; if (strpos($a->query_string, ".xml")>0) $type="xml"; @@ -3590,7 +3590,7 @@ intval($gid), dbesc($name)); // error message if specified gid is not in database - if (count($rname) == 0) + if (!dbm::is_result($rname)) throw new BadRequestException('wrong group name'); // delete group @@ -3629,7 +3629,7 @@ intval($uid), dbesc($name)); // error message if specified group name already exists - if (count($rname) != 0) + if (dbm::is_result($rname)) throw new BadRequestException('group name already exists'); // check if specified group name is a deleted group @@ -3637,7 +3637,7 @@ intval($uid), dbesc($name)); // error message if specified group name already exists - if (count($rname) != 0) + if (dbm::is_result($rname)) $reactivate_group = true; // create group diff --git a/include/contact_widgets.php b/include/contact_widgets.php index 36675da87..fee569e94 100644 --- a/include/contact_widgets.php +++ b/include/contact_widgets.php @@ -135,8 +135,8 @@ function fileas_widget($baseurl,$selected = '') { $matches = false; $terms = array(); - $cnt = preg_match_all('/\[(.*?)\]/',$saved,$matches,PREG_SET_ORDER); - if($cnt) { + $cnt = preg_match_all('/\[(.*?)\]/',$saved,$matches,PREG_SET_ORDER); + if ($cnt) { foreach($matches as $mtch) { $unescaped = xmlify(file_tag_decode($mtch[1])); $terms[] = array('name' => $unescaped,'selected' => (($selected == $unescaped) ? 'selected' : '')); @@ -158,12 +158,14 @@ function categories_widget($baseurl,$selected = '') { $a = get_app(); - if(! feature_enabled($a->profile['profile_uid'],'categories')) + if (! feature_enabled($a->profile['profile_uid'],'categories')) { return ''; + } $saved = get_pconfig($a->profile['profile_uid'],'system','filetags'); - if(! strlen($saved)) + if (! strlen($saved)) { return; + } $matches = false; $terms = array(); diff --git a/include/cron.php b/include/cron.php index 77332dcec..e98239b82 100644 --- a/include/cron.php +++ b/include/cron.php @@ -264,7 +264,7 @@ function cron_poll_contacts($argc, $argv) { intval($c['id']) ); - if((! $res) || (! count($res))) + if (dbm::is_result($res)) continue; foreach($res as $contact) { @@ -343,7 +343,7 @@ function cron_poll_contacts($argc, $argv) { * * @param App $a */ -function cron_clear_cache(&$a) { +function cron_clear_cache(App &$a) { $last = get_config('system','cache_last_cleared'); @@ -430,7 +430,7 @@ function cron_clear_cache(&$a) { * * @param App $a */ -function cron_repair_diaspora(&$a) { +function cron_repair_diaspora(App &$a) { $r = q("SELECT `id`, `url` FROM `contact` WHERE `network` = '%s' AND (`batch` = '' OR `notify` = '' OR `poll` = '' OR pubkey = '') ORDER BY RAND() LIMIT 50", dbesc(NETWORK_DIASPORA)); diff --git a/include/dfrn.php b/include/dfrn.php index fef9ae2fe..5e4f03779 100644 --- a/include/dfrn.php +++ b/include/dfrn.php @@ -2355,7 +2355,7 @@ class dfrn { dbesc($xt->id), intval($importer["importer_uid"]) ); - if(count($i)) { + if (dbm::is_result($i)) { // For tags, the owner cannot remove the tag on the author's copy of the post. diff --git a/include/diaspora.php b/include/diaspora.php index fbfc497b5..db2cca471 100644 --- a/include/diaspora.php +++ b/include/diaspora.php @@ -2283,8 +2283,9 @@ class Diaspora { dbesc($target_guid), intval($importer["uid"]) ); - if (!$r) + if (!$r) { return false; + } // Check if the sender is the thread owner $p = q("SELECT `id`, `author-link`, `origin` FROM `item` WHERE `id` = %d", @@ -2307,7 +2308,7 @@ class Diaspora { logger("Deleted target ".$target_guid." (".$r[0]["id"].") from user ".$importer["uid"]." parent: ".$p[0]["id"], LOGGER_DEBUG); // Now check if the retraction needs to be relayed by us - if($p[0]["origin"]) { + if ($p[0]["origin"]) { // notify others proc_run(PRIORITY_HIGH, "include/notifier.php", "drop", $r[0]["id"]); } @@ -2478,15 +2479,17 @@ class Diaspora { * @return string the handle in the format user@domain.tld */ private static function my_handle($contact) { - if ($contact["addr"] != "") + if ($contact["addr"] != "") { return $contact["addr"]; + } // Normally we should have a filled "addr" field - but in the past this wasn't the case // So - just in case - we build the the address here. - if ($contact["nickname"] != "") + if ($contact["nickname"] != "") { $nick = $contact["nickname"]; - else + } else { $nick = $contact["nick"]; + } return $nick."@".substr(App::get_baseurl(), strpos(App::get_baseurl(),"://") + 3); } diff --git a/include/event.php b/include/event.php index 791c331bb..a1ff9bb33 100644 --- a/include/event.php +++ b/include/event.php @@ -206,7 +206,7 @@ function bbtoevent($s) { } -function sort_by_date($a) { +function sort_by_date(App &$a) { usort($a,'ev_compare'); return $a; diff --git a/include/follow.php b/include/follow.php index e7693822a..304519107 100644 --- a/include/follow.php +++ b/include/follow.php @@ -102,8 +102,7 @@ function new_contact($uid,$url,$interactive = false) { if ($interactive) { if (strlen($a->path)) { $myaddr = bin2hex(App::get_baseurl() . '/profile/' . $a->user['nickname']); - } - else { + } else { $myaddr = bin2hex($a->user['nickname'] . '@' . $a->get_hostname()); } @@ -111,53 +110,43 @@ function new_contact($uid,$url,$interactive = false) { // NOTREACHED } + } elseif (get_config('system','dfrn_only')) { + $result['message'] = t('This site is not configured to allow communications with other networks.') . EOL; + $result['message'] != t('No compatible communication protocols or feeds were discovered.') . EOL; + return $result; } - else { - if(get_config('system','dfrn_only')) { - $result['message'] = t('This site is not configured to allow communications with other networks.') . EOL; - $result['message'] != t('No compatible communication protocols or feeds were discovered.') . EOL; - return $result; - } - } - - - - - // This extra param just confuses things, remove it - if($ret['network'] === NETWORK_DIASPORA) + if ($ret['network'] === NETWORK_DIASPORA) { $ret['url'] = str_replace('?absolute=true','',$ret['url']); - + } // do we have enough information? - if(! ((x($ret,'name')) && (x($ret,'poll')) && ((x($ret,'url')) || (x($ret,'addr'))))) { + if (! ((x($ret,'name')) && (x($ret,'poll')) && ((x($ret,'url')) || (x($ret,'addr'))))) { $result['message'] .= t('The profile address specified does not provide adequate information.') . EOL; - if(! x($ret,'poll')) + if (! x($ret,'poll')) { $result['message'] .= t('No compatible communication protocols or feeds were discovered.') . EOL; - if(! x($ret,'name')) + } + if (! x($ret,'name')) { $result['message'] .= t('An author or name was not found.') . EOL; - if(! x($ret,'url')) + } + if (! x($ret,'url')) { $result['message'] .= t('No browser URL could be matched to this address.') . EOL; - if(strpos($url,'@') !== false) { + } + if (strpos($url,'@') !== false) { $result['message'] .= t('Unable to match @-style Identity Address with a known protocol or email contact.') . EOL; $result['message'] .= t('Use mailto: in front of address to force email check.') . EOL; } return $result; } - if($ret['network'] === NETWORK_OSTATUS && get_config('system','ostatus_disabled')) { + if ($ret['network'] === NETWORK_OSTATUS && get_config('system','ostatus_disabled')) { $result['message'] .= t('The profile address specified belongs to a network which has been disabled on this site.') . EOL; $ret['notify'] = ''; } - - - - - - if(! $ret['notify']) { + if (! $ret['notify']) { $result['message'] .= t('Limited profile. This person will be unable to receive direct/personal notifications from you.') . EOL; } @@ -167,8 +156,9 @@ function new_contact($uid,$url,$interactive = false) { $hidden = (($ret['network'] === NETWORK_MAIL) ? 1 : 0); - if(in_array($ret['network'], array(NETWORK_MAIL, NETWORK_DIASPORA))) + if (in_array($ret['network'], array(NETWORK_MAIL, NETWORK_DIASPORA))) { $writeable = 1; + } // check if we already have a contact // the poll url is more reliable than the profile url, as we may have @@ -188,7 +178,7 @@ function new_contact($uid,$url,$interactive = false) { if (dbm::is_result($r)) { // update contact - if($r[0]['rel'] == CONTACT_IS_FOLLOWER || ($network === NETWORK_DIASPORA && $r[0]['rel'] == CONTACT_IS_SHARING)) { + if ($r[0]['rel'] == CONTACT_IS_FOLLOWER || ($network === NETWORK_DIASPORA && $r[0]['rel'] == CONTACT_IS_SHARING)) { q("UPDATE `contact` SET `rel` = %d , `subhub` = %d, `readonly` = 0 WHERE `id` = %d AND `uid` = %d", intval(CONTACT_IS_FRIEND), intval($subhub), @@ -197,29 +187,28 @@ function new_contact($uid,$url,$interactive = false) { ); } } else { - - // check service class limits - $r = q("select count(*) as total from contact where uid = %d and pending = 0 and self = 0", + $r = q("SELECT COUNT(*) AS `total` FROM `contact` WHERE `uid` = %d AND `pending` = 0 AND `self` = 0", intval($uid) ); if (dbm::is_result($r)) $total_contacts = $r[0]['total']; - if(! service_class_allows($uid,'total_contacts',$total_contacts)) { + if (! service_class_allows($uid,'total_contacts',$total_contacts)) { $result['message'] .= upgrade_message(); return $result; } - $r = q("select count(network) as total from contact where uid = %d and network = '%s' and pending = 0 and self = 0", + $r = q("SELECT COUNT(`network`) AS `total` FROM `contact` WHERE `uid` = %d AND `network` = '%s' AND `pending` = 0 AND `self` = 0", intval($uid), dbesc($network) ); - if (dbm::is_result($r)) + if (dbm::is_result($r)) { $total_network = $r[0]['total']; + } - if(! service_class_allows($uid,'total_contacts_' . $network,$total_network)) { + if (! service_class_allows($uid,'total_contacts_' . $network,$total_network)) { $result['message'] .= upgrade_message(); return $result; } @@ -268,8 +257,9 @@ function new_contact($uid,$url,$interactive = false) { $result['cid'] = $contact_id; $def_gid = get_default_group($uid, $contact["network"]); - if (intval($def_gid)) + if (intval($def_gid)) { group_add_member($uid, '', $contact_id, $def_gid); + } // Update the avatar update_contact_avatar($ret['photo'],$uid,$contact_id); @@ -285,7 +275,6 @@ function new_contact($uid,$url,$interactive = false) { if (dbm::is_result($r)) { if (($contact['network'] == NETWORK_OSTATUS) && (strlen($contact['notify']))) { - // create a follow slap $item = array(); $item['verb'] = ACTIVITY_FOLLOW; diff --git a/include/identity.php b/include/identity.php index 70ff7f00a..a302dc34c 100644 --- a/include/identity.php +++ b/include/identity.php @@ -231,8 +231,7 @@ function profile_sidebar($profile, $block = 0) { if ($connect AND local_user()) { if (isset($profile["url"])) { $profile_url = normalise_link($profile["url"]); - } - else { + } else { $profile_url = normalise_link(App::get_baseurl()."/profile/".$profile["nickname"]); } @@ -599,7 +598,7 @@ function get_events() { )); } -function advanced_profile(&$a) { +function advanced_profile(App &$a) { $o = ''; $uid = $a->profile['uid']; @@ -638,50 +637,87 @@ function advanced_profile(&$a) { if($a->profile['marital']) $profile['marital'] = array( t('Status:'), $a->profile['marital']); - - if($a->profile['with']) $profile['marital']['with'] = $a->profile['with']; - - if(strlen($a->profile['howlong']) && $a->profile['howlong'] !== '0000-00-00 00:00:00') { - $profile['howlong'] = relative_date($a->profile['howlong'], t('for %1$d %2$s')); + /// @TODO Maybe use x() here, plus below? + if ($a->profile['with']) { + $profile['marital']['with'] = $a->profile['with']; } - if($a->profile['sexual']) $profile['sexual'] = array( t('Sexual Preference:'), $a->profile['sexual'] ); + if (strlen($a->profile['howlong']) && $a->profile['howlong'] !== '0000-00-00 00:00:00') { + $profile['howlong'] = relative_date($a->profile['howlong'], t('for %1$d %2$s')); + } - if($a->profile['homepage']) $profile['homepage'] = array( t('Homepage:'), linkify($a->profile['homepage']) ); + if ($a->profile['sexual']) { + $profile['sexual'] = array( t('Sexual Preference:'), $a->profile['sexual'] ); + } - if($a->profile['hometown']) $profile['hometown'] = array( t('Hometown:'), linkify($a->profile['hometown']) ); + if ($a->profile['homepage']) { + $profile['homepage'] = array( t('Homepage:'), linkify($a->profile['homepage']) ); + } - if($a->profile['pub_keywords']) $profile['pub_keywords'] = array( t('Tags:'), $a->profile['pub_keywords']); + if ($a->profile['hometown']) { + $profile['hometown'] = array( t('Hometown:'), linkify($a->profile['hometown']) ); + } - if($a->profile['politic']) $profile['politic'] = array( t('Political Views:'), $a->profile['politic']); + if ($a->profile['pub_keywords']) { + $profile['pub_keywords'] = array( t('Tags:'), $a->profile['pub_keywords']); + } - if($a->profile['religion']) $profile['religion'] = array( t('Religion:'), $a->profile['religion']); + if ($a->profile['politic']) { + $profile['politic'] = array( t('Political Views:'), $a->profile['politic']); + } - if($txt = prepare_text($a->profile['about'])) $profile['about'] = array( t('About:'), $txt ); + if ($a->profile['religion']) { + $profile['religion'] = array( t('Religion:'), $a->profile['religion']); + } - if($txt = prepare_text($a->profile['interest'])) $profile['interest'] = array( t('Hobbies/Interests:'), $txt); + if ($txt = prepare_text($a->profile['about'])) { + $profile['about'] = array( t('About:'), $txt ); + } - if($txt = prepare_text($a->profile['likes'])) $profile['likes'] = array( t('Likes:'), $txt); + if ($txt = prepare_text($a->profile['interest'])) { + $profile['interest'] = array( t('Hobbies/Interests:'), $txt); + } - if($txt = prepare_text($a->profile['dislikes'])) $profile['dislikes'] = array( t('Dislikes:'), $txt); + if ($txt = prepare_text($a->profile['likes'])) { + $profile['likes'] = array( t('Likes:'), $txt); + } + if ($txt = prepare_text($a->profile['dislikes'])) { + $profile['dislikes'] = array( t('Dislikes:'), $txt); + } - if($txt = prepare_text($a->profile['contact'])) $profile['contact'] = array( t('Contact information and Social Networks:'), $txt); + if ($txt = prepare_text($a->profile['contact'])) { + $profile['contact'] = array( t('Contact information and Social Networks:'), $txt); + } - if($txt = prepare_text($a->profile['music'])) $profile['music'] = array( t('Musical interests:'), $txt); + if ($txt = prepare_text($a->profile['music'])) { + $profile['music'] = array( t('Musical interests:'), $txt); + } - if($txt = prepare_text($a->profile['book'])) $profile['book'] = array( t('Books, literature:'), $txt); + if ($txt = prepare_text($a->profile['book'])) { + $profile['book'] = array( t('Books, literature:'), $txt); + } - if($txt = prepare_text($a->profile['tv'])) $profile['tv'] = array( t('Television:'), $txt); + if ($txt = prepare_text($a->profile['tv'])) { + $profile['tv'] = array( t('Television:'), $txt); + } - if($txt = prepare_text($a->profile['film'])) $profile['film'] = array( t('Film/dance/culture/entertainment:'), $txt); + if ($txt = prepare_text($a->profile['film'])) { + $profile['film'] = array( t('Film/dance/culture/entertainment:'), $txt); + } - if($txt = prepare_text($a->profile['romance'])) $profile['romance'] = array( t('Love/Romance:'), $txt); + if ($txt = prepare_text($a->profile['romance'])) { + $profile['romance'] = array( t('Love/Romance:'), $txt); + } - if($txt = prepare_text($a->profile['work'])) $profile['work'] = array( t('Work/employment:'), $txt); + if ($txt = prepare_text($a->profile['work'])) { + $profile['work'] = array( t('Work/employment:'), $txt); + } + + if ($txt = prepare_text($a->profile['education'])) { + $profile['education'] = array( t('School/education:'), $txt ); + } - if($txt = prepare_text($a->profile['education'])) $profile['education'] = array( t('School/education:'), $txt ); - //show subcribed forum if it is enabled in the usersettings if (feature_enabled($uid,'forumlist_profile')) { $profile['forumlist'] = array( t('Forums:'), ForumManager::profile_advanced($uid)); @@ -705,11 +741,13 @@ function advanced_profile(&$a) { function profile_tabs($a, $is_owner=False, $nickname=Null){ //echo "
"; var_dump($a->user); killme();
 
-	if (is_null($nickname))
+	if (is_null($nickname)) {
 		$nickname  = $a->user['nickname'];
+	}
 
-	if(x($_GET,'tab'))
+	if (x($_GET,'tab')) {
 		$tab = notags(trim($_GET['tab']));
+	}
 
 	$url = App::get_baseurl() . '/profile/' . $nickname;
 
@@ -807,7 +845,7 @@ function get_my_url() {
 	return false;
 }
 
-function zrl_init(&$a) {
+function zrl_init(App &$a) {
 	$tmp_str = get_my_url();
 	if(validate_url($tmp_str)) {
 
diff --git a/include/items.php b/include/items.php
index 10afc28c0..fa4f3290b 100644
--- a/include/items.php
+++ b/include/items.php
@@ -704,7 +704,7 @@ function item_store($arr,$force_parent = false, $notify = false, $dontcache = fa
 			// 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 (dbm::is_result($u)) {
 				$a = get_app();
 				$self = normalise_link(App::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);
@@ -953,14 +953,16 @@ function item_store($arr,$force_parent = false, $notify = false, $dontcache = fa
 	// in it.
 	if (!$deleted AND !$dontcache) {
 
-		$r = q('SELECT * FROM `item` WHERE id = %d', intval($current_post));
-		if (count($r) == 1) {
-			if ($notify)
+		$r = q('SELECT * FROM `item` WHERE `id` = %d', intval($current_post));
+		if ((dbm::is_result($r)) && (count($r) == 1)) {
+			if ($notify) {
 				call_hooks('post_local_end', $r[0]);
-			else
+			} else {
 				call_hooks('post_remote_end', $r[0]);
-		} else
+			}
+		} else {
 			logger('item_store: new item not found in DB, id ' . $current_post);
+		}
 	}
 
 	if ($arr['parent-uri'] === $arr['uri']) {
@@ -994,8 +996,9 @@ function item_store($arr,$force_parent = false, $notify = false, $dontcache = fa
 
 	check_item_notification($current_post, $uid);
 
-	if ($notify)
+	if ($notify) {
 		proc_run(PRIORITY_HIGH, "include/notifier.php", $notify_type, $current_post);
+	}
 
 	return $current_post;
 }
@@ -1188,19 +1191,22 @@ function tag_deliver($uid,$item_id) {
 	$u = q("select * from user where uid = %d limit 1",
 		intval($uid)
 	);
-	if (! count($u))
+
+	if (! dbm::is_result($u)) {
 		return;
+	}
 
 	$community_page = (($u[0]['page-flags'] == PAGE_COMMUNITY) ? true : false);
 	$prvgroup = (($u[0]['page-flags'] == PAGE_PRVGROUP) ? true : false);
 
 
-	$i = q("select * from item where id = %d and uid = %d limit 1",
+	$i = q("SELECT * FROM `item` WHERE `id` = %d AND `uid` = %d LIMIT 1",
 		intval($item_id),
 		intval($uid)
 	);
-	if (! count($i))
+	if (! dbm::is_result($i)) {
 		return;
+	}
 
 	$item = $i[0];
 
@@ -1257,7 +1263,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 (! dbm::is_result($c)) {
 		return;
 	}
 
@@ -1290,8 +1296,6 @@ function tag_deliver($uid,$item_id) {
 
 function tgroup_check($uid,$item) {
 
-	$a = get_app();
-
 	$mention = false;
 
 	// check that the message originated elsewhere and is a top-level post
@@ -1299,12 +1303,13 @@ function tgroup_check($uid,$item) {
 	if (($item['wall']) || ($item['origin']) || ($item['uri'] != $item['parent-uri']))
 		return false;
 
-
-	$u = q("select * from user where uid = %d limit 1",
+	/// @TODO Encapsulate this or find it encapsulated and replace all occurrances
+	$u = q("SELECT * FROM `user` WHERE `uid` = %d LIMIT 1",
 		intval($uid)
 	);
-	if (! count($u))
+	if (! dbm::is_result($u)) {
 		return false;
+	}
 
 	$community_page = (($u[0]['page-flags'] == PAGE_COMMUNITY) ? true : false);
 	$prvgroup = (($u[0]['page-flags'] == PAGE_PRVGROUP) ? true : false);
@@ -2228,7 +2233,7 @@ function posted_date_widget($url,$uid,$wall) {
 
 	$ret = list_post_dates($uid,$wall);
 
-	if (! count($ret))
+	if (! dbm::is_result($ret))
 		return $o;
 
 	$cutoff_year = intval(datetime_convert('',date_default_timezone_get(),'now','Y')) - $visible_years;
diff --git a/include/like.php b/include/like.php
index 893047da3..210bde690 100644
--- a/include/like.php
+++ b/include/like.php
@@ -112,8 +112,9 @@ function do_like($item_id, $verb) {
 			intval($_SESSION['visitor_id']),
 			intval($owner_uid)
 		);
-		if (dbm::is_result($r))
+		if (dbm::is_result($r)) {
 			$contact = $r[0];
+		}
 	}
 	if (! $contact) {
 		return false;
diff --git a/include/nav.php b/include/nav.php
index f71272f3b..bd933929d 100644
--- a/include/nav.php
+++ b/include/nav.php
@@ -1,6 +1,6 @@
 code." at ".$err->line.":".$err->column." : ".$err->message, LOGGER_DATA);
+		}
 		libxml_clear_errors();
 	}
 	return $x;
@@ -553,8 +554,9 @@ function parse_xml_string($s,$strict = true) {
 function scale_external_images($srctext, $include_link = true, $scale_replace = false) {
 
 	// Suppress "view full size"
-	if (intval(get_config('system','no_view_full_size')))
+	if (intval(get_config('system','no_view_full_size'))) {
 		$include_link = false;
+	}
 
 	$a = get_app();
 
@@ -563,38 +565,41 @@ function scale_external_images($srctext, $include_link = true, $scale_replace =
 
 	$matches = null;
 	$c = preg_match_all('/\[img.*?\](.*?)\[\/img\]/ism',$s,$matches,PREG_SET_ORDER);
-	if($c) {
+	if ($c) {
 		require_once('include/Photo.php');
-		foreach($matches as $mtch) {
+		foreach ($matches as $mtch) {
 			logger('scale_external_image: ' . $mtch[1]);
 
 			$hostname = str_replace('www.','',substr(App::get_baseurl(),strpos(App::get_baseurl(),'://')+3));
-			if(stristr($mtch[1],$hostname))
+			if (stristr($mtch[1],$hostname)) {
 				continue;
+			}
 
 			// $scale_replace, if passed, is an array of two elements. The
 			// first is the name of the full-size image. The second is the
 			// name of a remote, scaled-down version of the full size image.
 			// This allows Friendica to display the smaller remote image if
 			// one exists, while still linking to the full-size image
-			if($scale_replace)
+			if ($scale_replace) {
 				$scaled = str_replace($scale_replace[0], $scale_replace[1], $mtch[1]);
-			else
+			} else {
 				$scaled = $mtch[1];
-			$i = @fetch_url($scaled);
-			if(! $i)
+			}
+			$i = fetch_url($scaled);
+			if (! $i) {
 				return $srctext;
+			}
 
 			// guess mimetype from headers or filename
 			$type = guess_image_type($mtch[1],true);
 
-			if($i) {
+			if ($i) {
 				$ph = new Photo($i, $type);
-				if($ph->is_valid()) {
+				if ($ph->is_valid()) {
 					$orig_width = $ph->getWidth();
 					$orig_height = $ph->getHeight();
 
-					if($orig_width > 640 || $orig_height > 640) {
+					if ($orig_width > 640 || $orig_height > 640) {
 
 						$ph->scaleImage(640);
 						$new_width = $ph->getWidth();
@@ -620,7 +625,7 @@ function scale_external_images($srctext, $include_link = true, $scale_replace =
 function fix_contact_ssl_policy(&$contact,$new_policy) {
 
 	$ssl_changed = false;
-	if((intval($new_policy) == SSL_POLICY_SELFSIGN || $new_policy === 'self') && strstr($contact['url'],'https:')) {
+	if ((intval($new_policy) == SSL_POLICY_SELFSIGN || $new_policy === 'self') && strstr($contact['url'],'https:')) {
 		$ssl_changed = true;
 		$contact['url']     = 	str_replace('https:','http:',$contact['url']);
 		$contact['request'] = 	str_replace('https:','http:',$contact['request']);
@@ -630,7 +635,7 @@ function fix_contact_ssl_policy(&$contact,$new_policy) {
 		$contact['poco']    = 	str_replace('https:','http:',$contact['poco']);
 	}
 
-	if((intval($new_policy) == SSL_POLICY_FULL || $new_policy === 'full') && strstr($contact['url'],'http:')) {
+	if ((intval($new_policy) == SSL_POLICY_FULL || $new_policy === 'full') && strstr($contact['url'],'http:')) {
 		$ssl_changed = true;
 		$contact['url']     = 	str_replace('http:','https:',$contact['url']);
 		$contact['request'] = 	str_replace('http:','https:',$contact['request']);
@@ -640,15 +645,15 @@ function fix_contact_ssl_policy(&$contact,$new_policy) {
 		$contact['poco']    = 	str_replace('http:','https:',$contact['poco']);
 	}
 
-	if($ssl_changed) {
-		q("update contact set
-			url = '%s',
-			request = '%s',
-			notify = '%s',
-			poll = '%s',
-			confirm = '%s',
-			poco = '%s'
-			where id = %d limit 1",
+	if ($ssl_changed) {
+		q("UPDATE `contact` SET
+			`url` = '%s',
+			`request` = '%s',
+			`notify` = '%s',
+			`poll` = '%s',
+			`confirm` = '%s',
+			`poco` = '%s'
+			WHERE `id` = %d LIMIT 1",
 			dbesc($contact['url']),
 			dbesc($contact['request']),
 			dbesc($contact['notify']),
diff --git a/include/plugin.php b/include/plugin.php
index 39cb5d523..83f6f1ab9 100644
--- a/include/plugin.php
+++ b/include/plugin.php
@@ -129,7 +129,7 @@ function reload_plugins() {
  */
 function plugin_enabled($plugin) {
 	$r = q("SELECT * FROM `addon` WHERE `installed` = 1 AND `name` = '%s'", $plugin);
-	return((bool)(count($r) > 0));
+	return ((dbm::is_result($r)) && (count($r) > 0));
 }
 
 
@@ -413,7 +413,7 @@ function get_theme_info($theme){
 function get_theme_screenshot($theme) {
 	$exts = array('.png','.jpg');
 	foreach($exts as $ext) {
-		if(file_exists('view/theme/' . $theme . '/screenshot' . $ext)) {
+		if (file_exists('view/theme/' . $theme . '/screenshot' . $ext)) {
 			return(App::get_baseurl() . '/view/theme/' . $theme . '/screenshot' . $ext);
 		}
 	}
@@ -425,8 +425,8 @@ if (! function_exists('uninstall_theme')){
 function uninstall_theme($theme){
 	logger("Addons: uninstalling theme " . $theme);
 
-	@include_once("view/theme/$theme/theme.php");
-	if(function_exists("{$theme}_uninstall")) {
+	include_once("view/theme/$theme/theme.php");
+	if (function_exists("{$theme}_uninstall")) {
 		$func = "{$theme}_uninstall";
 		$func();
 	}
@@ -436,19 +436,19 @@ if (! function_exists('install_theme')){
 function install_theme($theme) {
 	// silently fail if theme was removed
 
-	if(! file_exists("view/theme/$theme/theme.php"))
+	if (! file_exists("view/theme/$theme/theme.php")) {
 		return false;
+	}
 
 	logger("Addons: installing theme $theme");
 
-	@include_once("view/theme/$theme/theme.php");
+	include_once("view/theme/$theme/theme.php");
 
-	if(function_exists("{$theme}_install")) {
+	if (function_exists("{$theme}_install")) {
 		$func = "{$theme}_install";
 		$func();
 		return true;
-	}
-	else {
+	} else {
 		logger("Addons: FAILED installing theme $theme");
 		return false;
 	}
@@ -467,10 +467,9 @@ function install_theme($theme) {
 
 function service_class_allows($uid,$property,$usage = false) {
 
-	if($uid == local_user()) {
+	if ($uid == local_user()) {
 		$service_class = $a->user['service_class'];
-	}
-	else {
+	} else {
 		$r = q("SELECT `service_class` FROM `user` WHERE `uid` = %d LIMIT 1",
 			intval($uid)
 		);
@@ -478,18 +477,23 @@ function service_class_allows($uid,$property,$usage = false) {
 			$service_class = $r[0]['service_class'];
 		}
 	}
-	if(! x($service_class))
-		return true; // everything is allowed
+
+	if (! x($service_class)) {
+		// everything is allowed
+		return true;
+	}
 
 	$arr = get_config('service_class',$service_class);
-	if(! is_array($arr) || (! count($arr)))
+	if (! is_array($arr) || (! count($arr))) {
 		return true;
+	}
 
-	if($usage === false)
+	if ($usage === false) {
 		return ((x($arr[$property])) ? (bool) $arr['property'] : true);
-	else {
-		if(! array_key_exists($property,$arr))
+	} else {
+		if (! array_key_exists($property,$arr)) {
 			return true;
+		}
 		return (((intval($usage)) < intval($arr[$property])) ? true : false);
 	}
 }
@@ -497,10 +501,9 @@ function service_class_allows($uid,$property,$usage = false) {
 
 function service_class_fetch($uid,$property) {
 
-	if($uid == local_user()) {
+	if ($uid == local_user()) {
 		$service_class = $a->user['service_class'];
-	}
-	else {
+	} else {
 		$r = q("SELECT `service_class` FROM `user` WHERE `uid` = %d LIMIT 1",
 			intval($uid)
 		);
diff --git a/include/poller.php b/include/poller.php
index a6671f5ae..b631d2acd 100644
--- a/include/poller.php
+++ b/include/poller.php
@@ -213,7 +213,7 @@ function poller_max_connections_reached() {
 	// The processlist only shows entries of the current user
 	if ($max != 0) {
 		$r = q("SHOW PROCESSLIST");
-		if (!$r)
+		if (!dbm::is_result($r))
 			return false;
 
 		$used = count($r);
diff --git a/include/queue.php b/include/queue.php
index 2e0b19bfa..f36e7723c 100644
--- a/include/queue.php
+++ b/include/queue.php
@@ -127,7 +127,7 @@ function queue_run(&$argv, &$argc){
 		$c = q("SELECT * FROM `contact` WHERE `id` = %d LIMIT 1",
 			intval($qi[0]['cid'])
 		);
-		if(! count($c)) {
+		if (! dbm::is_result($c)) {
 			remove_queue_item($q_item['id']);
 			continue;
 		}
@@ -157,7 +157,7 @@ function queue_run(&$argv, &$argc){
 			FROM `user` WHERE `uid` = %d LIMIT 1",
 			intval($c[0]['uid'])
 		);
-		if(! count($u)) {
+		if (! dbm::is_result($u)) {
 			remove_queue_item($q_item['id']);
 			continue;
 		}
diff --git a/include/socgraph.php b/include/socgraph.php
index 64f78b458..6249f189e 100644
--- a/include/socgraph.php
+++ b/include/socgraph.php
@@ -220,8 +220,9 @@ function poco_check($profile_url, $name, $network, $profile_photo, $about, $loca
 	$r = q("SELECT `network` FROM `contact` WHERE `nurl` = '%s' AND `network` != '' AND `network` != '%s' LIMIT 1",
 		dbesc(normalise_link($profile_url)), dbesc(NETWORK_STATUSNET)
 	);
-	if (dbm::is_result($r))
+	if (dbm::is_result($r)) {
 		$network = $r[0]["network"];
+	}
 
 	if (($network == "") OR ($network == NETWORK_OSTATUS)) {
 		$r = q("SELECT `network`, `url` FROM `contact` WHERE `alias` IN ('%s', '%s') AND `network` != '' AND `network` != '%s' LIMIT 1",
@@ -1575,7 +1576,7 @@ function get_gcontact_id($contact) {
 		proc_run(PRIORITY_LOW, 'include/gprobe.php', bin2hex($contact["url"]));
 	}
 
-	if ((count($r) > 1) AND ($gcontact_id > 0) AND ($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));
diff --git a/include/text.php b/include/text.php
index 4f71ab8e6..6672b0d32 100644
--- a/include/text.php
+++ b/include/text.php
@@ -369,7 +369,7 @@ if(! function_exists('paginate')) {
  * @param App $a App instance
  * @return string html for pagination #FIXME remove html
  */
-function paginate(&$a) {
+function paginate(App &$a) {
 
 	$data = paginate_data($a);
 	$tpl = get_markup_template("paginate.tpl");
diff --git a/include/user.php b/include/user.php
index 983c4a416..df871c546 100644
--- a/include/user.php
+++ b/include/user.php
@@ -241,7 +241,7 @@ function create_user($arr) {
 		WHERE `nickname` = '%s' ",
 		dbesc($nickname)
 	);
-	if((count($r) > 1) && $newuid) {
+	if ((dbm::is_result($r)) && (count($r) > 1) && $newuid) {
 		$result['message'] .= t('Nickname is already registered. Please choose another.') . EOL;
 		q("DELETE FROM `user` WHERE `uid` = %d",
 			intval($newuid)
@@ -262,7 +262,7 @@ function create_user($arr) {
 			intval($netpublish)
 
 		);
-		if($r === false) {
+		if ($r === false) {
 			$result['message'] .=  t('An error occurred creating your default profile. Please try again.') . EOL;
 			// Start fresh next time.
 			$r = q("DELETE FROM `user` WHERE `uid` = %d",
@@ -325,24 +325,27 @@ function create_user($arr) {
 
 			$r = $img->store($newuid, 0, $hash, $filename, t('Profile Photos'), 4 );
 
-			if($r === false)
+			if ($r === false) {
 				$photo_failure = true;
+			}
 
 			$img->scaleImage(80);
 
 			$r = $img->store($newuid, 0, $hash, $filename, t('Profile Photos'), 5 );
 
-			if($r === false)
+			if ($r === false) {
 				$photo_failure = true;
+			}
 
 			$img->scaleImage(48);
 
 			$r = $img->store($newuid, 0, $hash, $filename, t('Profile Photos'), 6 );
 
-			if($r === false)
+			if ($r === false) {
 				$photo_failure = true;
+			}
 
-			if(! $photo_failure) {
+			if (! $photo_failure) {
 				q("UPDATE `photo` SET `profile` = 1 WHERE `resource-id` = '%s' ",
 					dbesc($hash)
 				);
diff --git a/library/spam/b8/storage/storage_frndc.php b/library/spam/b8/storage/storage_frndc.php
index 62909d471..e01e652ae 100644
--- a/library/spam/b8/storage/storage_frndc.php
+++ b/library/spam/b8/storage/storage_frndc.php
@@ -123,15 +123,17 @@ class b8_storage_frndc extends b8_storage_base
 	function __destruct()
 	{
 
-		if($this->_connection === NULL)
+		if ($this->_connection === NULL) {
 			return;
+		}
 
-		# Commit any changes before closing
+		// Commit any changes before closing
 		$this->_commit();
 
-		# Just close the connection if no link-resource was passed and b8 created it's own connection
-		if($this->config['connection'] === NULL)
+		// Just close the connection if no link-resource was passed and b8 created it's own connection
+		if ($this->config['connection'] === NULL) {
 			mysql_close($this->_connection);
+		}
 
 		$this->connected = FALSE;
 
@@ -163,9 +165,8 @@ class b8_storage_frndc extends b8_storage_base
 	protected function _get_query($tokens, $uid)
 	{
 
-		# Construct the query ...
-
-		if(count($tokens) > 0) {
+		// Construct the query ...
+		if (count($tokens) > 0) {
 
 			$where = array();
 
@@ -175,42 +176,42 @@ class b8_storage_frndc extends b8_storage_base
 			}
 
 			$where = 'term IN ("' . implode('", "', $where) . '")';
-		}
-
-		else {
+		} else {
 			$token = dbesc($token);
 			$where = 'term = "' . $token . '"';
 		}
 
-		# ... and fetch the data
+		// ... and fetch the data
 
-		$result = q('
-			SELECT * FROM spam WHERE ' . $where . ' AND uid = ' . $uid );
+		$result = q('SELECT * FROM `spam` WHERE ' . $where . ' AND `uid` = ' . $uid );
 
 
 		$returned_tokens = array();
-		if(count($result)) {
-			foreach($result as $rr)
+		if (dbm::is_result($result)) {
+			foreach ($result as $rr) {
 				$returned_tokens[] = $rr['term'];
+			}
 		}
 		$to_create = array();
 
-		if(count($tokens) > 0) {
+		if (count($tokens) > 0) {
 			foreach($tokens as $token)
 				if(! in_array($token,$returned_tokens))
 					$to_create[] = str_tolower($token); 
 		}
-		if(count($to_create)) {
+		if (count($to_create)) {
 			$sql = '';
-			foreach($to_create as $term) {
-				if(strlen($sql))
+			foreach ($to_create as $term) {
+				if (strlen($sql)) {
 					$sql .= ',';
-				$sql .= sprintf("(term,datetime,uid) values('%s','%s',%d)",
-					dbesc(str_tolower($term))
+				}
+				$sql .= sprintf("(`term`,`datetime`,`uid`) VALUES('%s','%s',%d)",
+					dbesc(str_tolower($term)),
 					dbesc(datetime_convert()),
 					intval($uid)
 				);
-			q("insert into spam " . $sql);
+			}
+			q("INSERT INTO `spam` " . $sql);
 		}
 
 		return $result;
@@ -225,7 +226,6 @@ class b8_storage_frndc extends b8_storage_base
 	 * @param string $count
 	 * @return void
 	 */
-
 	protected function _put($token, $count, $uid) {
 		$token = dbesc($token);
 		$count = dbesc($count);
@@ -241,7 +241,6 @@ class b8_storage_frndc extends b8_storage_base
 	 * @param string $count
 	 * @return void
 	 */
-
 	protected function _update($token, $count, $uid)
 	{
 		$token = dbesc($token);
@@ -257,7 +256,6 @@ class b8_storage_frndc extends b8_storage_base
 	 * @param string $token
 	 * @return void
 	 */
-
 	protected function _del($token, $uid)
 	{
 		$token = dbesc($token);
@@ -272,7 +270,6 @@ class b8_storage_frndc extends b8_storage_base
 	 * @access protected
 	 * @return void
 	 */
-
 	protected function _commit($uid)
 	{
 
@@ -314,5 +311,3 @@ class b8_storage_frndc extends b8_storage_base
 	}
 
 }
-
-?>
\ No newline at end of file
diff --git a/mod/_well_known.php b/mod/_well_known.php
index 33070a1ec..eedddf1e5 100644
--- a/mod/_well_known.php
+++ b/mod/_well_known.php
@@ -1,8 +1,9 @@
 argc > 1) {
 		switch($a->argv[1]) {
 			case "host-meta":
@@ -20,7 +21,7 @@ function _well_known_init(&$a){
 	killme();
 }
 
-function wk_social_relay(&$a) {
+function wk_social_relay(App &$a) {
 
 	define('SR_SCOPE_ALL', 'all');
 	define('SR_SCOPE_TAGS', 'tags');
diff --git a/mod/acctlink.php b/mod/acctlink.php
index a2365803a..29f17d6e4 100644
--- a/mod/acctlink.php
+++ b/mod/acctlink.php
@@ -2,7 +2,7 @@
 
 require_once('include/Scrape.php');
 
-function acctlink_init(&$a) {
+function acctlink_init(App &$a) {
 
 	if(x($_GET,'addr')) {
 		$addr = trim($_GET['addr']);
diff --git a/mod/acl.php b/mod/acl.php
index f5e04b96a..802b0a399 100644
--- a/mod/acl.php
+++ b/mod/acl.php
@@ -3,7 +3,7 @@
 
 require_once("include/acl_selectors.php");
 
-function acl_init(&$a){
+function acl_init(App &$a){
 	acl_lookup($a);
 }
 
diff --git a/mod/admin.php b/mod/admin.php
index 841aaa787..fd57f92d5 100644
--- a/mod/admin.php
+++ b/mod/admin.php
@@ -23,7 +23,7 @@ require_once("include/text.php");
  * @param App $a
  *
  */
-function admin_post(&$a){
+function admin_post(App &$a){
 
 
 	if(!is_site_admin()) {
@@ -127,7 +127,7 @@ function admin_post(&$a){
  * @param App $a
  * @return string
  */
-function admin_content(&$a) {
+function admin_content(App &$a) {
 
 	if(!is_site_admin()) {
 		return login(false);
@@ -260,7 +260,7 @@ function admin_content(&$a) {
  * @param App $a
  * @return string
  */
-function admin_page_federation(&$a) {
+function admin_page_federation(App &$a) {
 	// get counts on active friendica, diaspora, redmatrix, hubzilla, gnu
 	// social and statusnet nodes this node is knowing
 	//
@@ -393,7 +393,7 @@ function admin_page_federation(&$a) {
  * @param App $a
  * @return string
  */
-function admin_page_queue(&$a) {
+function admin_page_queue(App &$a) {
 	// get content from the queue table
 	$r = q("SELECT `c`.`name`, `c`.`nurl`, `q`.`id`, `q`.`network`, `q`.`created`, `q`.`last`
 			FROM `queue` AS `q`, `contact` AS `c`
@@ -427,7 +427,7 @@ function admin_page_queue(&$a) {
  * @param App $a
  * @return string
  */
-function admin_page_summary(&$a) {
+function admin_page_summary(App &$a) {
 	global $db;
 	// are there MyISAM tables in the DB? If so, trigger a warning message
 	$r = q("SELECT `engine` FROM `information_schema`.`tables` WHERE `engine` = 'myisam' AND `table_schema` = '%s' LIMIT 1",
@@ -504,7 +504,7 @@ function admin_page_summary(&$a) {
  * 
  * @param App $a
  */
-function admin_page_site_post(&$a) {
+function admin_page_site_post(App &$a) {
 	if(!x($_POST,"page_site")) {
 		return;
 	}
@@ -845,7 +845,7 @@ function admin_page_site_post(&$a) {
  * @param  App $a
  * @return string
  */
-function admin_page_site(&$a) {
+function admin_page_site(App &$a) {
 
 	/* Installed langs */
 	$lang_choices = get_available_languages();
@@ -1072,7 +1072,7 @@ function admin_page_site(&$a) {
  * @param App $a
  * @return string
  **/
-function admin_page_dbsync(&$a) {
+function admin_page_dbsync(App &$a) {
 
 	$o = '';
 
@@ -1155,22 +1155,22 @@ function admin_page_dbsync(&$a) {
  * 
  * @param App $a
  */
-function admin_page_users_post(&$a){
-	$pending     =	(x($_POST, 'pending')           ? $_POST['pending']           : array());
-	$users       =	(x($_POST, 'user')              ? $_POST['user']		      : array());
-	$nu_name     =	(x($_POST, 'new_user_name')     ? $_POST['new_user_name']     : '');
-	$nu_nickname =	(x($_POST, 'new_user_nickname') ? $_POST['new_user_nickname'] : '');
-	$nu_email    =	(x($_POST, 'new_user_email')    ? $_POST['new_user_email']    : '');
+function admin_page_users_post(App &$a){
+	$pending     = (x($_POST, 'pending')           ? $_POST['pending']           : array());
+	$users       = (x($_POST, 'user')              ? $_POST['user']		      : array());
+	$nu_name     = (x($_POST, 'new_user_name')     ? $_POST['new_user_name']     : '');
+	$nu_nickname = (x($_POST, 'new_user_nickname') ? $_POST['new_user_nickname'] : '');
+	$nu_email    = (x($_POST, 'new_user_email')    ? $_POST['new_user_email']    : '');
 	$nu_language = get_config('system', 'language');
 
 	check_form_security_token_redirectOnErr('/admin/users', 'admin_users');
 
-	if(!($nu_name==="") && !($nu_email==="") && !($nu_nickname==="")) {
+	if (!($nu_name==="") && !($nu_email==="") && !($nu_nickname==="")) {
 		require_once('include/user.php');
 
 		$result = create_user(array('username'=>$nu_name, 'email'=>$nu_email, 
 			'nickname'=>$nu_nickname, 'verified'=>1, 'language'=>$nu_language));
-		if(! $result['success']) {
+		if (! $result['success']) {
 			notice($result['message']);
 			return;
 		}
@@ -1260,7 +1260,7 @@ function admin_page_users_post(&$a){
  * @param App $a
  * @return string
  */
-function admin_page_users(&$a){
+function admin_page_users(App &$a){
 	if($a->argc>2) {
 		$uid = $a->argv[3];
 		$user = q("SELECT `username`, `blocked` FROM `user` WHERE `uid` = %d", intval($uid));
@@ -1460,7 +1460,7 @@ function admin_page_users(&$a){
  * @param App $a
  * @return string
  */
-function admin_page_plugins(&$a){
+function admin_page_plugins(App &$a){
 
 	/*
 	 * Single plugin
@@ -1669,7 +1669,7 @@ function rebuild_theme_table($themes) {
  * @param App $a
  * @return string
  */
-function admin_page_themes(&$a){
+function admin_page_themes(App &$a){
 
 	$allowed_themes_str = get_config('system','allowed_themes');
 	$allowed_themes_raw = explode(',',$allowed_themes_str);
@@ -1850,13 +1850,13 @@ function admin_page_themes(&$a){
  * 
  * @param App $a
  */
-function admin_page_logs_post(&$a) {
-	if(x($_POST,"page_logs")) {
+function admin_page_logs_post(App &$a) {
+	if (x($_POST,"page_logs")) {
 		check_form_security_token_redirectOnErr('/admin/logs', 'admin_logs');
 
-		$logfile 	=	((x($_POST,'logfile'))		? notags(trim($_POST['logfile']))	: '');
-		$debugging	=	((x($_POST,'debugging'))	? true					: false);
-		$loglevel 	=	((x($_POST,'loglevel'))		? intval(trim($_POST['loglevel']))	: 0);
+		$logfile   = ((x($_POST,'logfile'))   ? notags(trim($_POST['logfile']))  : '');
+		$debugging = ((x($_POST,'debugging')) ? true                             : false);
+		$loglevel  = ((x($_POST,'loglevel'))  ? intval(trim($_POST['loglevel'])) : 0);
 
 		set_config('system','logfile', $logfile);
 		set_config('system','debugging',  $debugging);
@@ -1884,7 +1884,7 @@ function admin_page_logs_post(&$a) {
  * @param App $a
  * @return string
  */
-function admin_page_logs(&$a){
+function admin_page_logs(App &$a){
 
 	$log_choices = array(
 		LOGGER_NORMAL	=> 'Normal',
@@ -1941,7 +1941,7 @@ function admin_page_logs(&$a){
  * @param App $a
  * @return string
  */
-function admin_page_viewlogs(&$a){
+function admin_page_viewlogs(App &$a){
 	$t = get_markup_template("admin_viewlogs.tpl");
 	$f = get_config('system','logfile');
 	$data = '';
@@ -1983,7 +1983,7 @@ function admin_page_viewlogs(&$a){
  * 
  * @param App $a
  */
-function admin_page_features_post(&$a) {
+function admin_page_features_post(App &$a) {
 
 	check_form_security_token_redirectOnErr('/admin/features', 'admin_manage_features');
 
@@ -2029,7 +2029,7 @@ function admin_page_features_post(&$a) {
  * @param App $a
  * @return string
  */
-function admin_page_features(&$a) {
+function admin_page_features(App &$a) {
 	
 	if((argc() > 1) && (argv(1) === 'features')) {
 		$arr = array();
diff --git a/mod/allfriends.php b/mod/allfriends.php
index d7f4073b7..7a134a7be 100644
--- a/mod/allfriends.php
+++ b/mod/allfriends.php
@@ -5,7 +5,7 @@ require_once('include/Contact.php');
 require_once('include/contact_selectors.php');
 require_once('mod/contacts.php');
 
-function allfriends_content(&$a) {
+function allfriends_content(App &$a) {
 
 	$o = '';
 	if (! local_user()) {
@@ -21,14 +21,14 @@ function allfriends_content(&$a) {
 		return;
 	}
 
-	$uid = $a->user[uid];
+	$uid = $a->user['uid'];
 
 	$c = q("SELECT `name`, `url`, `photo` FROM `contact` WHERE `id` = %d AND `uid` = %d LIMIT 1",
 		intval($cid),
 		intval(local_user())
 	);
 
-	if (! count($c)) {
+	if (! dbm::is_result($c)) {
 		return;
 	}
 
@@ -71,20 +71,20 @@ function allfriends_content(&$a) {
 		}
 
 		$entry = array(
-			'url'		=> $rr['url'],
-			'itemurl'	=> (($contact_details['addr'] != "") ? $contact_details['addr'] : $rr['url']),
-			'name'		=> htmlentities($contact_details['name']),
-			'thumb'		=> proxy_url($contact_details['thumb'], false, PROXY_SIZE_THUMB),
-			'img_hover'	=> htmlentities($contact_details['name']),
-			'details'	=> $contact_details['location'],
-			'tags'		=> $contact_details['keywords'],
-			'about'		=> $contact_details['about'],
-			'account_type'	=> account_type($contact_details),
-			'network'	=> network_to_name($contact_details['network'], $contact_details['url']),
-			'photo_menu'	=> $photo_menu,
-			'conntxt'	=> t('Connect'),
-			'connlnk'	=> $connlnk,
-			'id'		=> ++$id,
+			'url'          => $rr['url'],
+			'itemurl'      => (($contact_details['addr'] != "") ? $contact_details['addr'] : $rr['url']),
+			'name'         => htmlentities($contact_details['name']),
+			'thumb'        => proxy_url($contact_details['thumb'], false, PROXY_SIZE_THUMB),
+			'img_hover'    => htmlentities($contact_details['name']),
+			'details'      => $contact_details['location'],
+			'tags'         => $contact_details['keywords'],
+			'about'        => $contact_details['about'],
+			'account_type' => account_type($contact_details),
+			'network'      => network_to_name($contact_details['network'], $contact_details['url']),
+			'photo_menu'   => $photo_menu,
+			'conntxt'      => t('Connect'),
+			'connlnk'      => $connlnk,
+			'id'           => ++$id,
 		);
 		$entries[] = $entry;
 	}
diff --git a/mod/amcd.php b/mod/amcd.php
index a2a1327e6..3fcdb42c8 100644
--- a/mod/amcd.php
+++ b/mod/amcd.php
@@ -1,6 +1,6 @@
 cmd=='api/oauth/authorize'){
 		/*
 		 * api/oauth/authorize interact with the user. return a standard page
diff --git a/mod/apps.php b/mod/apps.php
index a821ef5d5..4d6395e4e 100644
--- a/mod/apps.php
+++ b/mod/apps.php
@@ -1,6 +1,6 @@
 argc != 2) {
 		notice( t('Item not available.') . EOL);
diff --git a/mod/babel.php b/mod/babel.php
index d31e090c5..5129f5bf5 100644
--- a/mod/babel.php
+++ b/mod/babel.php
@@ -9,7 +9,7 @@ function visible_lf($s) {
 	return str_replace("\n",'
', $s); } -function babel_content(&$a) { +function babel_content(App &$a) { $o .= '

Babel Diagnostic

'; diff --git a/mod/bookmarklet.php b/mod/bookmarklet.php index 86a73a788..9bc8c3353 100644 --- a/mod/bookmarklet.php +++ b/mod/bookmarklet.php @@ -3,11 +3,11 @@ require_once('include/conversation.php'); require_once('include/items.php'); -function bookmarklet_init(&$a) { +function bookmarklet_init(App &$a) { $_GET["mode"] = "minimal"; } -function bookmarklet_content(&$a) { +function bookmarklet_content(App &$a) { if (!local_user()) { $o = '

'.t('Login').'

'; $o .= login(($a->config['register_policy'] == REGISTER_CLOSED) ? false : true); diff --git a/mod/cal.php b/mod/cal.php index d49e8f764..7cb36e7a5 100644 --- a/mod/cal.php +++ b/mod/cal.php @@ -9,7 +9,7 @@ require_once('include/event.php'); require_once('include/redir.php'); -function cal_init(&$a) { +function cal_init(App &$a) { if($a->argc > 1) auto_redir($a, $a->argv[1]); @@ -64,7 +64,7 @@ function cal_init(&$a) { return; } -function cal_content(&$a) { +function cal_content(App &$a) { nav_set_selected('events'); $editselect = 'none'; diff --git a/mod/cb.php b/mod/cb.php index 6375d2398..90e41fb6d 100644 --- a/mod/cb.php +++ b/mod/cb.php @@ -5,19 +5,19 @@ */ -function cb_init(&$a) { +function cb_init(App &$a) { call_hooks('cb_init'); } -function cb_post(&$a) { +function cb_post(App &$a) { call_hooks('cb_post', $_POST); } -function cb_afterpost(&$a) { +function cb_afterpost(App &$a) { call_hooks('cb_afterpost'); } -function cb_content(&$a) { +function cb_content(App &$a) { $o = ''; call_hooks('cb_content', $o); return $o; diff --git a/mod/common.php b/mod/common.php index 9657ac36d..26ef7e48b 100644 --- a/mod/common.php +++ b/mod/common.php @@ -5,7 +5,7 @@ require_once('include/Contact.php'); require_once('include/contact_selectors.php'); require_once('mod/contacts.php'); -function common_content(&$a) { +function common_content(App &$a) { $o = ''; @@ -53,8 +53,9 @@ function common_content(&$a) { $a->page['aside'] .= $vcard_widget; } - if(! count($c)) + if (! dbm::is_result($c)) { return; + } if(! $cid) { if(get_my_url()) { diff --git a/mod/community.php b/mod/community.php index d7fd2bb93..2c2ea32b3 100644 --- a/mod/community.php +++ b/mod/community.php @@ -1,6 +1,6 @@ page,'aside')) - $a->page['aside'] = ''; - - if($contact_id) { - $a->data['contact'] = $r[0]; - - if (($a->data['contact']['network'] != "") AND ($a->data['contact']['network'] != NETWORK_DFRN)) { - $networkname = format_network_name($a->data['contact']['network'],$a->data['contact']['url']); - } else - $networkname = ''; - - $vcard_widget = replace_macros(get_markup_template("vcard-widget.tpl"),array( - '$name' => htmlentities($a->data['contact']['name']), - '$photo' => $a->data['contact']['photo'], - '$url' => ($a->data['contact']['network'] == NETWORK_DFRN) ? "redir/".$a->data['contact']['id'] : $a->data['contact']['url'], - '$addr' => (($a->data['contact']['addr'] != "") ? ($a->data['contact']['addr']) : ""), - '$network_name' => $networkname, - '$network' => t('Network:'), - '$account_type' => account_type($a->data['contact']) - )); - $finpeople_widget = ''; - $follow_widget = ''; - $networks_widget = ''; + if ($_GET['nets'] == "all") { + $_GET['nets'] = ""; } - else { + + if (! x($a->page,'aside')) { + $a->page['aside'] = ''; + } + + if ($contact_id) { + $a->data['contact'] = $r[0]; + + if (($a->data['contact']['network'] != "") AND ($a->data['contact']['network'] != NETWORK_DFRN)) { + $networkname = format_network_name($a->data['contact']['network'],$a->data['contact']['url']); + } else { + $networkname = ''; + } + + /// @TODO Add nice spaces + $vcard_widget = replace_macros(get_markup_template("vcard-widget.tpl"),array( + '$name' => htmlentities($a->data['contact']['name']), + '$photo' => $a->data['contact']['photo'], + '$url' => ($a->data['contact']['network'] == NETWORK_DFRN) ? "redir/".$a->data['contact']['id'] : $a->data['contact']['url'], + '$addr' => (($a->data['contact']['addr'] != "") ? ($a->data['contact']['addr']) : ""), + '$network_name' => $networkname, + '$network' => t('Network:'), + '$account_type' => account_type($a->data['contact']) + )); + + $finpeople_widget = ''; + $follow_widget = ''; + $networks_widget = ''; + } else { $vcard_widget = ''; $networks_widget .= networks_widget('contacts',$_GET['nets']); - if (isset($_GET['add'])) + if (isset($_GET['add'])) { $follow_widget = follow_widget($_GET['add']); - else + } else { $follow_widget = follow_widget(); + } $findpeople_widget .= findpeople_widget(); } @@ -92,7 +97,7 @@ function contacts_init(&$a) { } -function contacts_batch_actions(&$a){ +function contacts_batch_actions(App &$a){ $contacts_id = $_POST['contact_batch']; if (!is_array($contacts_id)) return; @@ -139,7 +144,7 @@ function contacts_batch_actions(&$a){ } -function contacts_post(&$a) { +function contacts_post(App &$a) { if (! local_user()) { return; @@ -344,7 +349,7 @@ function _contact_drop($contact_id, $orig_record) { } -function contacts_content(&$a) { +function contacts_content(App &$a) { $sort_type = 0; $o = ''; diff --git a/mod/credits.php b/mod/credits.php index f8cfb03f3..84e32b83d 100644 --- a/mod/credits.php +++ b/mod/credits.php @@ -5,7 +5,7 @@ * addons repository will be listed though ATM) */ -function credits_content (&$a) { +function credits_content (App &$a) { /* fill the page with credits */ $f = fopen('util/credits.txt','r'); $names = fread($f, filesize('util/credits.txt')); diff --git a/mod/crepair.php b/mod/crepair.php index 59b92df0a..c141958e8 100644 --- a/mod/crepair.php +++ b/mod/crepair.php @@ -2,7 +2,7 @@ require_once("include/contact_selectors.php"); require_once("mod/contacts.php"); -function crepair_init(&$a) { +function crepair_init(App &$a) { if (! local_user()) { return; } @@ -30,7 +30,7 @@ function crepair_init(&$a) { } } -function crepair_post(&$a) { +function crepair_post(App &$a) { if (! local_user()) { return; } @@ -96,7 +96,7 @@ function crepair_post(&$a) { -function crepair_content(&$a) { +function crepair_content(App &$a) { if (! local_user()) { notice( t('Permission denied.') . EOL); diff --git a/mod/delegate.php b/mod/delegate.php index 1a3f13c76..6930a5943 100644 --- a/mod/delegate.php +++ b/mod/delegate.php @@ -1,12 +1,12 @@ argv[2]; $r = q("select `nickname` from user where uid = %d limit 1", @@ -45,12 +44,11 @@ function delegate_content(&$a) { if ($a->argc > 2 && $a->argv[1] === 'remove' && intval($a->argv[2])) { // delegated admins can view but not change delegation permissions - if (x($_SESSION,'submanage') && intval($_SESSION['submanage'])) { goaway(App::get_baseurl() . '/delegate'); } - q("delete from manage where uid = %d and mid = %d limit 1", + q("DELETE FROM `manage` WHERE `uid` = %d AND `mid` = %d LIMIT 1", intval($a->argv[2]), intval(local_user()) ); diff --git a/mod/dfrn_confirm.php b/mod/dfrn_confirm.php index 684cd341e..dc54b912d 100644 --- a/mod/dfrn_confirm.php +++ b/mod/dfrn_confirm.php @@ -415,23 +415,26 @@ function dfrn_confirm_post(&$a,$handsfree = null) { ); } - if($r === false) - notice( t('Unable to set contact photo.') . EOL); + /// @TODO is dbm::is_result() working here? + if ($r === false) { + notice( t('Unable to set contact photo.') . EOL); + } // reload contact info $r = q("SELECT * FROM `contact` WHERE `id` = %d LIMIT 1", intval($contact_id) ); - if (dbm::is_result($r)) + if (dbm::is_result($r)) { $contact = $r[0]; - else + } else { $contact = null; + } - if((isset($new_relation) && $new_relation == CONTACT_IS_FRIEND)) { + if ((isset($new_relation) && $new_relation == CONTACT_IS_FRIEND)) { - if(($contact) && ($contact['network'] === NETWORK_DIASPORA)) { + if (($contact) && ($contact['network'] === NETWORK_DIASPORA)) { require_once('include/diaspora.php'); $ret = Diaspora::send_share($user[0],$r[0]); logger('share returns: ' . $ret); diff --git a/mod/dfrn_notify.php b/mod/dfrn_notify.php index ca1221158..eebaa076d 100644 --- a/mod/dfrn_notify.php +++ b/mod/dfrn_notify.php @@ -11,7 +11,7 @@ require_once('include/event.php'); require_once('library/defuse/php-encryption-1.2.1/Crypto.php'); -function dfrn_notify_post(&$a) { +function dfrn_notify_post(App &$a) { logger(__function__, LOGGER_TRACE); $dfrn_id = ((x($_POST,'dfrn_id')) ? notags(trim($_POST['dfrn_id'])) : ''); $dfrn_version = ((x($_POST,'dfrn_version')) ? (float) $_POST['dfrn_version'] : 2.0); @@ -221,7 +221,7 @@ function dfrn_notify_post(&$a) { } -function dfrn_notify_content(&$a) { +function dfrn_notify_content(App &$a) { if(x($_GET,'dfrn_id')) { diff --git a/mod/dfrn_poll.php b/mod/dfrn_poll.php index 0c55af2a8..a31a50ad2 100644 --- a/mod/dfrn_poll.php +++ b/mod/dfrn_poll.php @@ -4,7 +4,7 @@ require_once('include/auth.php'); require_once('include/dfrn.php'); -function dfrn_poll_init(&$a) { +function dfrn_poll_init(App &$a) { $dfrn_id = ((x($_GET,'dfrn_id')) ? $_GET['dfrn_id'] : ''); @@ -137,7 +137,7 @@ function dfrn_poll_init(&$a) { $c = q("SELECT * FROM `contact` WHERE `id` = %d LIMIT 1", intval($r[0]['cid']) ); - if(! count($c)) { + if (! dbm::is_result($c)) { xml_status(3, 'No profile'); } $contact = $c[0]; @@ -203,7 +203,7 @@ function dfrn_poll_init(&$a) { -function dfrn_poll_post(&$a) { +function dfrn_poll_post(App &$a) { $dfrn_id = ((x($_POST,'dfrn_id')) ? $_POST['dfrn_id'] : ''); $challenge = ((x($_POST,'challenge')) ? $_POST['challenge'] : ''); @@ -234,7 +234,7 @@ function dfrn_poll_post(&$a) { $c = q("SELECT * FROM `contact` WHERE `id` = %d LIMIT 1", intval($r[0]['cid']) ); - if(! count($c)) { + if (! dbm::is_result($c)) { xml_status(3, 'No profile'); } $contact = $c[0]; @@ -383,7 +383,7 @@ function dfrn_poll_post(&$a) { } } -function dfrn_poll_content(&$a) { +function dfrn_poll_content(App &$a) { $dfrn_id = ((x($_GET,'dfrn_id')) ? $_GET['dfrn_id'] : ''); $type = ((x($_GET,'type')) ? $_GET['type'] : 'data'); diff --git a/mod/dfrn_request.php b/mod/dfrn_request.php index 68ef4971b..353f8fdc9 100644 --- a/mod/dfrn_request.php +++ b/mod/dfrn_request.php @@ -17,7 +17,7 @@ require_once('include/Scrape.php'); require_once('include/Probe.php'); require_once('include/group.php'); -function dfrn_request_init(&$a) { +function dfrn_request_init(App &$a) { if($a->argc > 1) $which = $a->argv[1]; @@ -42,7 +42,7 @@ function dfrn_request_init(&$a) { * After logging in, we click 'submit' to approve the linkage. * */ -function dfrn_request_post(&$a) { +function dfrn_request_post(App &$a) { if(($a->argc != 2) || (! count($a->profile))) { logger('Wrong count of argc or profiles: argc=' . $a->argc . ',profile()=' . count($a->profile)); @@ -658,7 +658,7 @@ function dfrn_request_post(&$a) { } -function dfrn_request_content(&$a) { +function dfrn_request_content(App &$a) { if (($a->argc != 2) || (! count($a->profile))) { return ""; @@ -810,19 +810,17 @@ function dfrn_request_content(&$a) { // At first look if an address was provided // Otherwise take the local address - if (x($_GET,'addr') AND ($_GET['addr'] != "")) + if (x($_GET,'addr') AND ($_GET['addr'] != "")) { $myaddr = hex2bin($_GET['addr']); - elseif (x($_GET,'address') AND ($_GET['address'] != "")) + } elseif (x($_GET,'address') AND ($_GET['address'] != "")) { $myaddr = $_GET['address']; - elseif (local_user()) { + } elseif (local_user()) { if (strlen($a->path)) { $myaddr = App::get_baseurl() . '/profile/' . $a->user['nickname']; - } - else { + } else { $myaddr = $a->user['nickname'] . '@' . substr(z_root(), strpos(z_root(),'://') + 3 ); } - } - else { + } else { // last, try a zrl $myaddr = get_my_url(); } @@ -840,8 +838,7 @@ function dfrn_request_content(&$a) { if ($a->profile['page-flags'] == PAGE_NORMAL) { $tpl = get_markup_template('dfrn_request.tpl'); - } - else { + } else { $tpl = get_markup_template('auto_request.tpl'); } @@ -850,10 +847,12 @@ function dfrn_request_content(&$a) { // see if we are allowed to have NETWORK_MAIL2 contacts $mail_disabled = ((function_exists('imap_open') && (! get_config('system','imap_disabled'))) ? 0 : 1); - if(get_config('system','dfrn_only')) - $mail_disabled = 1; - if(! $mail_disabled) { + if (get_config('system','dfrn_only')) { + $mail_disabled = 1; + } + + if (! $mail_disabled) { $r = q("SELECT * FROM `mailacct` WHERE `uid` = %d LIMIT 1", intval($a->profile['uid']) ); diff --git a/mod/directory.php b/mod/directory.php index 50a0a93b9..f3fbb9eb7 100644 --- a/mod/directory.php +++ b/mod/directory.php @@ -1,6 +1,6 @@ set_pager_itemspage(60); if(local_user()) { @@ -20,14 +20,14 @@ function directory_init(&$a) { } -function directory_post(&$a) { +function directory_post(App &$a) { if(x($_POST,'search')) $a->data['search'] = $_POST['search']; } -function directory_content(&$a) { +function directory_content(App &$a) { global $db; require_once("mod/proxy.php"); diff --git a/mod/dirfind.php b/mod/dirfind.php index 0ac82f281..7eb830bb6 100644 --- a/mod/dirfind.php +++ b/mod/dirfind.php @@ -5,7 +5,7 @@ require_once('include/Contact.php'); require_once('include/contact_selectors.php'); require_once('mod/contacts.php'); -function dirfind_init(&$a) { +function dirfind_init(App &$a) { if (! local_user()) { notice( t('Permission denied.') . EOL ); diff --git a/mod/display.php b/mod/display.php index 6ebe16ae8..c98d936a0 100644 --- a/mod/display.php +++ b/mod/display.php @@ -1,6 +1,6 @@ page,'aside')) + if (! x($a->page,'aside')) { $a->page['aside'] = ''; + } $a->page['aside'] .= $cal_widget; } @@ -30,7 +31,7 @@ function events_init(&$a) { return; } -function events_post(&$a) { +function events_post(App &$a) { logger('post: ' . print_r($_REQUEST,true)); @@ -188,7 +189,7 @@ function events_post(&$a) { -function events_content(&$a) { +function events_content(App &$a) { if (! local_user()) { notice( t('Permission denied.') . EOL); @@ -353,7 +354,7 @@ function events_content(&$a) { } } - $events=array(); + $events = array(); // transform the event in a usable array if (dbm::is_result($r)) { diff --git a/mod/fbrowser.php b/mod/fbrowser.php index 9c1d43cd8..9c8d2169b 100644 --- a/mod/fbrowser.php +++ b/mod/fbrowser.php @@ -10,8 +10,7 @@ require_once('include/Photo.php'); /** * @param App $a */ -/// @TODO & is missing or App ? -function fbrowser_content($a){ +function fbrowser_content(App &$a){ if (!local_user()) killme(); diff --git a/mod/fetch.php b/mod/fetch.php index afb5b88af..64eac174a 100644 --- a/mod/fetch.php +++ b/mod/fetch.php @@ -8,7 +8,7 @@ require_once("include/xml.php"); /// @TODO You always make it like this: function foo(&$a) /// @TODO This means that the value of $a can be changed in anything, remove & and use App as type-hint -function fetch_init(&$a){ +function fetch_init(App &$a){ if (($a->argc != 3) OR (!in_array($a->argv[1], array("post", "status_message", "reshare")))) { header($_SERVER["SERVER_PROTOCOL"].' 404 '.t('Not Found')); diff --git a/mod/filer.php b/mod/filer.php index eac326059..1b5589380 100644 --- a/mod/filer.php +++ b/mod/filer.php @@ -5,7 +5,7 @@ require_once('include/bbcode.php'); require_once('include/items.php'); -function filer_content(&$a) { +function filer_content(App &$a) { if (! local_user()) { killme(); diff --git a/mod/filerm.php b/mod/filerm.php index d3d74a4c2..7dbfe2947 100644 --- a/mod/filerm.php +++ b/mod/filerm.php @@ -1,6 +1,6 @@ argv[1]=="json"){ $register_policy = Array('REGISTER_CLOSED', 'REGISTER_APPROVE', 'REGISTER_OPEN'); @@ -59,7 +59,7 @@ function friendica_init(&$a) { -function friendica_content(&$a) { +function friendica_content(App &$a) { $o = ''; $o .= '

Friendica

'; diff --git a/mod/fsuggest.php b/mod/fsuggest.php index 66871653d..fcbadcc9b 100644 --- a/mod/fsuggest.php +++ b/mod/fsuggest.php @@ -1,7 +1,7 @@ page['aside'] = group_side('contacts','group','extended',(($a->argc > 1) ? intval($a->argv[1]) : 0)); @@ -13,7 +13,7 @@ function group_init(&$a) { -function group_post(&$a) { +function group_post(App &$a) { if (! local_user()) { notice( t('Permission denied.') . EOL); @@ -31,8 +31,7 @@ function group_post(&$a) { if ($r) { goaway(App::get_baseurl() . '/group/' . $r); } - } - else { + } else { notice( t('Could not create group.') . EOL ); } goaway(App::get_baseurl() . '/group'); @@ -70,7 +69,7 @@ function group_post(&$a) { return; } -function group_content(&$a) { +function group_content(App &$a) { $change = false; if (! local_user()) { @@ -92,7 +91,7 @@ function group_content(&$a) { '$submit' => t('Save Group'), ); - if(($a->argc == 2) && ($a->argv[1] === 'new')) { + if (($a->argc == 2) && ($a->argv[1] === 'new')) { return replace_macros($tpl, $context + array( '$title' => t('Create a group of contacts/friends.'), diff --git a/mod/hcard.php b/mod/hcard.php index 512949f1a..d53405009 100644 --- a/mod/hcard.php +++ b/mod/hcard.php @@ -1,6 +1,6 @@ argc==2 && $a->argv[1]=="testrewrite") { @@ -24,7 +24,7 @@ function install_init(&$a){ } -function install_post(&$a) { +function install_post(App &$a) { global $install_wizard_pass, $db; switch($install_wizard_pass) { @@ -132,7 +132,7 @@ function get_db_errno() { } } -function install_content(&$a) { +function install_content(App &$a) { global $install_wizard_pass, $db; $o = ''; @@ -565,7 +565,7 @@ function check_imagik(&$checks) { } } -function manual_config(&$a) { +function manual_config(App &$a) { $data = htmlentities($a->data['txt'],ENT_COMPAT,'UTF-8'); $o = t('The database configuration file ".htconfig.php" could not be written. Please use the enclosed text to create a configuration file in your web server root.'); $o .= ""; @@ -581,7 +581,6 @@ function load_database_rem($v, $i){ } } - function load_database($db) { require_once("include/dbstructure.php"); diff --git a/mod/invite.php b/mod/invite.php index 441d39e6e..a7739fc77 100644 --- a/mod/invite.php +++ b/mod/invite.php @@ -9,7 +9,7 @@ require_once('include/email.php'); -function invite_post(&$a) { +function invite_post(App &$a) { if (! local_user()) { notice( t('Permission denied.') . EOL); @@ -97,7 +97,7 @@ function invite_post(&$a) { } -function invite_content(&$a) { +function invite_content(App &$a) { if (! local_user()) { notice( t('Permission denied.') . EOL); @@ -120,7 +120,7 @@ function invite_content(&$a) { if (strlen($dirloc)) { if ($a->config['register_policy'] == REGISTER_CLOSED) { $linktxt = sprintf( t('Visit %s for a list of public sites that you can join. Friendica members on other sites can all connect with each other, as well as with members of many other social networks.'), $dirloc . '/siteinfo'); - } elseif($a->config['register_policy'] != REGISTER_CLOSED) { + } elseif ($a->config['register_policy'] != REGISTER_CLOSED) { $linktxt = sprintf( t('To accept this invitation, please visit and register at %s or any other public Friendica website.'), App::get_baseurl()) . "\r\n" . "\r\n" . sprintf( t('Friendica sites all inter-connect to create a huge privacy-enhanced social web that is owned and controlled by its members. They can also connect with many traditional social networks. See %s for a list of alternate Friendica sites you can join.'),$dirloc . '/siteinfo'); } diff --git a/mod/item.php b/mod/item.php index 9e38382cc..1c7a970c2 100644 --- a/mod/item.php +++ b/mod/item.php @@ -27,7 +27,7 @@ require_once('include/Scrape.php'); require_once('include/diaspora.php'); require_once('include/Contact.php'); -function item_post(&$a) { +function item_post(App &$a) { if((! local_user()) && (! remote_user()) && (! x($_REQUEST,'commenter'))) return; @@ -138,7 +138,7 @@ function item_post(&$a) { // If the contact id doesn't fit with the contact, then set the contact to null $thrparent = q("SELECT `author-link`, `network` FROM `item` WHERE `uri` = '%s' LIMIT 1", dbesc($thr_parent)); - if (count($thrparent) AND ($thrparent[0]["network"] === NETWORK_OSTATUS) + if (dbm::is_result($thrparent) AND ($thrparent[0]["network"] === NETWORK_OSTATUS) AND (normalise_link($parent_contact["url"]) != normalise_link($thrparent[0]["author-link"]))) { $parent_contact = get_contact_details_by_url($thrparent[0]["author-link"]); @@ -218,8 +218,9 @@ function item_post(&$a) { intval($profile_uid), intval($post_id) ); - if(! count($i)) + if (! dbm::is_result($i)) { killme(); + } $orig_post = $i[0]; } @@ -605,16 +606,17 @@ function item_post(&$a) { continue; $success = handle_tag($a, $body, $inform, $str_tags, (local_user()) ? local_user() : $profile_uid , $tag, $network); - if($success['replaced']) + if ($success['replaced']) { $tagged[] = $tag; - if(is_array($success['contact']) && intval($success['contact']['prv'])) { + } + if (is_array($success['contact']) && intval($success['contact']['prv'])) { $private_forum = true; $private_id = $success['contact']['id']; } } } - if(($private_forum) && (! $parent) && (! $private)) { + if (($private_forum) && (! $parent) && (! $private)) { // we tagged a private forum in a top level post and the message was public. // Restrict it. $private = 1; @@ -624,8 +626,8 @@ function item_post(&$a) { $attachments = ''; $match = false; - if(preg_match_all('/(\[attachment\]([0-9]+)\[\/attachment\])/',$body,$match)) { - foreach($match[2] as $mtch) { + if (preg_match_all('/(\[attachment\]([0-9]+)\[\/attachment\])/',$body,$match)) { + foreach ($match[2] as $mtch) { $r = q("SELECT `id`,`filename`,`filesize`,`filetype` FROM `attach` WHERE `uid` = %d AND `id` = %d LIMIT 1", intval($profile_uid), intval($mtch) @@ -1064,7 +1066,7 @@ function item_post_return($baseurl, $api_source, $return_path) { -function item_content(&$a) { +function item_content(App &$a) { if ((! local_user()) && (! remote_user())) { return; diff --git a/mod/like.php b/mod/like.php index cbab9185e..ff1e238ac 100755 --- a/mod/like.php +++ b/mod/like.php @@ -5,7 +5,7 @@ require_once('include/bbcode.php'); require_once('include/items.php'); require_once('include/like.php'); -function like_content(&$a) { +function like_content(App &$a) { if(! local_user() && ! remote_user()) { return false; } diff --git a/mod/localtime.php b/mod/localtime.php index ce6bf84a1..00a7c5909 100644 --- a/mod/localtime.php +++ b/mod/localtime.php @@ -3,7 +3,7 @@ require_once('include/datetime.php'); -function localtime_post(&$a) { +function localtime_post(App &$a) { $t = $_REQUEST['time']; if(! $t) @@ -16,7 +16,7 @@ function localtime_post(&$a) { } -function localtime_content(&$a) { +function localtime_content(App &$a) { $t = $_REQUEST['time']; if(! $t) $t = 'now'; diff --git a/mod/lockview.php b/mod/lockview.php index 68b5d30cf..746df28cd 100644 --- a/mod/lockview.php +++ b/mod/lockview.php @@ -1,7 +1,7 @@ argc > 1) ? $a->argv[1] : 0); if (is_numeric($type)) { diff --git a/mod/login.php b/mod/login.php index d09fc1868..db49ba20a 100644 --- a/mod/login.php +++ b/mod/login.php @@ -1,6 +1,6 @@ query_string; - if($a->argc == 1) { + if ($a->argc == 1) { // List messages diff --git a/mod/modexp.php b/mod/modexp.php index 3729e3236..5fc701290 100644 --- a/mod/modexp.php +++ b/mod/modexp.php @@ -2,7 +2,7 @@ require_once('library/asn1.php'); -function modexp_init(&$a) { +function modexp_init(App &$a) { if($a->argc != 2) killme(); diff --git a/mod/mood.php b/mod/mood.php index ec318f85f..0e603c869 100644 --- a/mod/mood.php +++ b/mod/mood.php @@ -5,7 +5,7 @@ require_once('include/bbcode.php'); require_once('include/items.php'); -function mood_init(&$a) { +function mood_init(App &$a) { if (! local_user()) { return; @@ -109,7 +109,7 @@ function mood_init(&$a) { -function mood_content(&$a) { +function mood_content(App &$a) { if (! local_user()) { notice( t('Permission denied.') . EOL); diff --git a/mod/msearch.php b/mod/msearch.php index ba7a92d64..4b5205ac0 100644 --- a/mod/msearch.php +++ b/mod/msearch.php @@ -1,6 +1,6 @@ argc > 1) { - for($x = 1; $x < $a->argc; $x ++) { - if(is_a_date_arg($a->argv[$x])) { + if ($a->argc > 1) { + for ($x = 1; $x < $a->argc; $x ++) { + if (is_a_date_arg($a->argv[$x])) { $is_a_date_query = true; break; } @@ -24,9 +25,8 @@ function network_init(&$a) { parse_str($query_string, $query_array); array_shift($query_array); - // fetch last used network view and redirect if needed - if(! $is_a_date_query) { + if (! $is_a_date_query) { $sel_tabs = network_query_get_sel_tab($a); $sel_nets = network_query_get_sel_net(); $sel_groups = network_query_get_sel_group($a); @@ -41,10 +41,9 @@ function network_init(&$a) { $net_baseurl = '/network'; $net_args = array(); - if($remember_group) { + if ($remember_group) { $net_baseurl .= '/' . $last_sel_groups; // Note that the group number must come before the "/new" tab selection - } - else if($sel_groups !== false) { + } elseif($sel_groups !== false) { $net_baseurl .= '/' . $sel_groups; } @@ -222,7 +221,7 @@ function saved_searches($search) { * * @return Array ( $no_active, $comment_active, $postord_active, $conv_active, $new_active, $starred_active, $bookmarked_active, $spam_active ); */ -function network_query_get_sel_tab($a) { +function network_query_get_sel_tab(App &$a) { $no_active=''; $starred_active = ''; $new_active = ''; @@ -293,7 +292,7 @@ function network_query_get_sel_net() { return $network; } -function network_query_get_sel_group($a) { +function network_query_get_sel_group(App &$a) { $group = false; if($a->argc >= 2 && is_numeric($a->argv[1])) { @@ -810,7 +809,7 @@ function network_content(&$a, $update = 0) { * @param app $a The global App * @return string Html of the networktab */ -function network_tabs($a) { +function network_tabs(App &$a) { // item filter tabs /// @TODO fix this logic, reduce duplication /// $a->page['content'] .= '
'; diff --git a/mod/newmember.php b/mod/newmember.php index aa55c3a09..1ef098506 100644 --- a/mod/newmember.php +++ b/mod/newmember.php @@ -1,6 +1,6 @@ ' . t('Welcome to Friendica') . ''; diff --git a/mod/nodeinfo.php b/mod/nodeinfo.php index e55dba128..104fecb75 100644 --- a/mod/nodeinfo.php +++ b/mod/nodeinfo.php @@ -7,7 +7,7 @@ require_once("include/plugin.php"); -function nodeinfo_wellknown(&$a) { +function nodeinfo_wellknown(App &$a) { if (!get_config("system", "nodeinfo")) { http_status_exit(404); killme(); @@ -20,7 +20,7 @@ function nodeinfo_wellknown(&$a) { exit; } -function nodeinfo_init(&$a){ +function nodeinfo_init(App &$a){ if (!get_config("system", "nodeinfo")) { http_status_exit(404); killme(); diff --git a/mod/nogroup.php b/mod/nogroup.php index c75b595c3..c44840627 100644 --- a/mod/nogroup.php +++ b/mod/nogroup.php @@ -4,7 +4,7 @@ require_once('include/Contact.php'); require_once('include/socgraph.php'); require_once('include/contact_selectors.php'); -function nogroup_init(&$a) { +function nogroup_init(App &$a) { if (! local_user()) { return; @@ -21,7 +21,7 @@ function nogroup_init(&$a) { } -function nogroup_content(&$a) { +function nogroup_content(App &$a) { if (! local_user()) { notice( t('Permission denied.') . EOL); diff --git a/mod/noscrape.php b/mod/noscrape.php index 3d298cfe3..758ce8ba5 100644 --- a/mod/noscrape.php +++ b/mod/noscrape.php @@ -1,6 +1,6 @@ argc > 1) $which = $a->argv[1]; diff --git a/mod/notes.php b/mod/notes.php index d9222dca5..b2aa5487a 100644 --- a/mod/notes.php +++ b/mod/notes.php @@ -1,6 +1,6 @@ friendica items permanent-url compatibility */ - function notice_init(&$a){ + function notice_init(App &$a){ $id = $a->argv[1]; $r = q("SELECT user.nickname FROM user LEFT JOIN item ON item.uid=user.uid WHERE item.id=%d", intval($id) diff --git a/mod/notifications.php b/mod/notifications.php index ed15f1417..47e4cd034 100644 --- a/mod/notifications.php +++ b/mod/notifications.php @@ -9,7 +9,7 @@ require_once("include/NotificationsManager.php"); require_once("include/contact_selectors.php"); require_once("include/network.php"); -function notifications_post(&$a) { +function notifications_post(App &$a) { if (! local_user()) { goaway(z_root()); @@ -65,7 +65,7 @@ function notifications_post(&$a) { } } -function notifications_content(&$a) { +function notifications_content(App &$a) { if (! local_user()) { notice( t('Permission denied.') . EOL); diff --git a/mod/notify.php b/mod/notify.php index 88f5fa542..bd7a7faf4 100644 --- a/mod/notify.php +++ b/mod/notify.php @@ -1,8 +1,7 @@ query_string, LOGGER_ALL); if ($a->argv[1]=='b2h'){ diff --git a/mod/oexchange.php b/mod/oexchange.php index 6eb380dff..49c5d01f4 100644 --- a/mod/oexchange.php +++ b/mod/oexchange.php @@ -1,7 +1,7 @@ argc > 1) && ($a->argv[1] === 'xrd')) { $tpl = get_markup_template('oexchange_xrd.tpl'); @@ -14,7 +14,7 @@ function oexchange_init(&$a) { } -function oexchange_content(&$a) { +function oexchange_content(App &$a) { if (! local_user()) { $o = login(false); diff --git a/mod/openid.php b/mod/openid.php index 09905198c..ce707c415 100644 --- a/mod/openid.php +++ b/mod/openid.php @@ -4,7 +4,7 @@ require_once('library/openid.php'); -function openid_content(&$a) { +function openid_content(App &$a) { $noid = get_config('system','no_openid'); if($noid) diff --git a/mod/opensearch.php b/mod/opensearch.php index 50ecc4e69..1a7d4cd30 100644 --- a/mod/opensearch.php +++ b/mod/opensearch.php @@ -1,5 +1,5 @@ argc > 1) auto_redir($a, $a->argv[1]); @@ -112,7 +112,7 @@ function photos_init(&$a) { -function photos_post(&$a) { +function photos_post(App &$a) { logger('mod-photos: photos_post: begin' , LOGGER_DEBUG); @@ -353,7 +353,7 @@ function photos_post(&$a) { dbesc($r[0]['resource-id']), intval($page_owner_uid) ); - if (count($i)) { + if (dbm::is_result($i)) { q("UPDATE `item` SET `deleted` = 1, `edited` = '%s', `changed` = '%s' WHERE `parent-uri` = '%s' AND `uid` = %d", dbesc(datetime_convert()), dbesc(datetime_convert()), @@ -945,7 +945,7 @@ function photos_post(&$a) { -function photos_content(&$a) { +function photos_content(App &$a) { // URLs: // photos/name diff --git a/mod/poco.php b/mod/poco.php index a97ca64e3..0415e1a2c 100644 --- a/mod/poco.php +++ b/mod/poco.php @@ -2,7 +2,7 @@ // See here for a documentation for portable contacts: // https://web.archive.org/web/20160405005550/http://portablecontacts.net/draft-spec.html -function poco_init(&$a) { +function poco_init(App &$a) { require_once("include/bbcode.php"); $system_mode = false; @@ -16,8 +16,9 @@ function poco_init(&$a) { } if(! x($user)) { $c = q("SELECT * FROM `pconfig` WHERE `cat` = 'system' AND `k` = 'suggestme' AND `v` = 1"); - if(! count($c)) + if (! dbm::is_result($c)) { http_status_exit(401); + } $system_mode = true; } diff --git a/mod/poke.php b/mod/poke.php index af8eed35a..2e15ed853 100644 --- a/mod/poke.php +++ b/mod/poke.php @@ -19,7 +19,7 @@ require_once('include/bbcode.php'); require_once('include/items.php'); -function poke_init(&$a) { +function poke_init(App &$a) { if (! local_user()) { return; @@ -148,7 +148,7 @@ function poke_init(&$a) { -function poke_content(&$a) { +function poke_content(App &$a) { if (! local_user()) { notice( t('Permission denied.') . EOL); diff --git a/mod/post.php b/mod/post.php index a8d345ecb..076587839 100644 --- a/mod/post.php +++ b/mod/post.php @@ -10,11 +10,11 @@ require_once('include/crypto.php'); // not yet ready for prime time //require_once('include/zot.php'); -function post_post(&$a) { +function post_post(App &$a) { $bulk_delivery = false; - if($a->argc == 1) { + if ($a->argc == 1) { $bulk_delivery = true; } else { diff --git a/mod/pretheme.php b/mod/pretheme.php index 4584cb29e..694fd5ba2 100644 --- a/mod/pretheme.php +++ b/mod/pretheme.php @@ -1,6 +1,6 @@ Probe Diagnostic'; diff --git a/mod/profile.php b/mod/profile.php index ae8f2fa72..32d3985b7 100644 --- a/mod/profile.php +++ b/mod/profile.php @@ -4,7 +4,7 @@ require_once('include/contact_widgets.php'); require_once('include/redir.php'); -function profile_init(&$a) { +function profile_init(App &$a) { if(! x($a->page,'aside')) $a->page['aside'] = ''; @@ -41,14 +41,15 @@ function profile_init(&$a) { if((x($a->profile,'page-flags')) && ($a->profile['page-flags'] == PAGE_COMMUNITY)) { $a->page['htmlhead'] .= ''; } - if(x($a->profile,'openidserver')) + if (x($a->profile,'openidserver')) { $a->page['htmlhead'] .= '' . "\r\n"; - if(x($a->profile,'openid')) { + } + if (x($a->profile,'openid')) { $delegate = ((strstr($a->profile['openid'],'://')) ? $a->profile['openid'] : 'https://' . $a->profile['openid']); $a->page['htmlhead'] .= '' . "\r\n"; } // site block - if((! $blocked) && (! $userblock)) { + if ((! $blocked) && (! $userblock)) { $keywords = ((x($a->profile,'pub_keywords')) ? $a->profile['pub_keywords'] : ''); $keywords = str_replace(array('#',',',' ',',,'),array('',' ',',',','),$keywords); if(strlen($keywords)) @@ -74,24 +75,25 @@ function profile_content(&$a, $update = 0) { $category = $datequery = $datequery2 = ''; - if($a->argc > 2) { - for($x = 2; $x < $a->argc; $x ++) { - if(is_a_date_arg($a->argv[$x])) { - if($datequery) + if ($a->argc > 2) { + for ($x = 2; $x < $a->argc; $x ++) { + if (is_a_date_arg($a->argv[$x])) { + if ($datequery) { $datequery2 = escape_tags($a->argv[$x]); - else + } else { $datequery = escape_tags($a->argv[$x]); - } - else + } + } else { $category = $a->argv[$x]; + } } } - if(! x($category)) { + if (! x($category)) { $category = ((x($_GET,'category')) ? $_GET['category'] : ''); } - if(get_config('system','block_public') && (! local_user()) && (! remote_user())) { + if (get_config('system','block_public') && (! local_user()) && (! remote_user())) { return login(); } @@ -106,32 +108,28 @@ function profile_content(&$a, $update = 0) { $tab = 'posts'; $o = ''; - if($update) { + if ($update) { // Ensure we've got a profile owner if updating. $a->profile['profile_uid'] = $update; + } elseif ($a->profile['profile_uid'] == local_user()) { + nav_set_selected('home'); } - else { - if($a->profile['profile_uid'] == local_user()) { - nav_set_selected('home'); - } - } - $contact = null; $remote_contact = false; $contact_id = 0; - if(is_array($_SESSION['remote'])) { - foreach($_SESSION['remote'] as $v) { - if($v['uid'] == $a->profile['profile_uid']) { + if (is_array($_SESSION['remote'])) { + foreach ($_SESSION['remote'] as $v) { + if ($v['uid'] == $a->profile['profile_uid']) { $contact_id = $v['cid']; break; } } } - if($contact_id) { + if ($contact_id) { $groups = init_groups_visitor($contact_id); $r = q("SELECT * FROM `contact` WHERE `id` = %d AND `uid` = %d LIMIT 1", intval($contact_id), @@ -143,8 +141,8 @@ function profile_content(&$a, $update = 0) { } } - if(! $remote_contact) { - if(local_user()) { + if (! $remote_contact) { + if (local_user()) { $contact_id = $_SESSION['cid']; $contact = $a->contact; } @@ -152,32 +150,29 @@ function profile_content(&$a, $update = 0) { $is_owner = ((local_user()) && (local_user() == $a->profile['profile_uid']) ? true : false); - if($a->profile['hidewall'] && (! $is_owner) && (! $remote_contact)) { + if ($a->profile['hidewall'] && (! $is_owner) && (! $remote_contact)) { notice( t('Access to this profile has been restricted.') . EOL); return; } - if(! $update) { - - - if(x($_GET,'tab')) + if (! $update) { + if (x($_GET,'tab')) { $tab = notags(trim($_GET['tab'])); + } $o.=profile_tabs($a, $is_owner, $a->profile['nickname']); - - if($tab === 'profile') { + if ($tab === 'profile') { $o .= advanced_profile($a); call_hooks('profile_advanced',$o); return $o; } - $o .= common_friends_visitor_widget($a->profile['profile_uid']); - - if(x($_SESSION,'new_member') && $_SESSION['new_member'] && $is_owner) + if (x($_SESSION,'new_member') && $_SESSION['new_member'] && $is_owner) { $o .= '' . t('Tips for New Members') . '' . EOL; + } $commpage = (($a->profile['page-flags'] == PAGE_COMMUNITY) ? true : false); $commvisitor = (($commpage && $remote_contact == true) ? true : false); @@ -185,7 +180,7 @@ function profile_content(&$a, $update = 0) { $a->page['aside'] .= posted_date_widget(App::get_baseurl(true) . '/profile/' . $a->profile['nickname'],$a->profile['profile_uid'],true); $a->page['aside'] .= categories_widget(App::get_baseurl(true) . '/profile/' . $a->profile['nickname'],(x($category) ? xmlify($category) : '')); - if(can_write_wall($a,$a->profile['profile_uid'])) { + if (can_write_wall($a,$a->profile['profile_uid'])) { $x = array( 'is_owner' => $is_owner, @@ -204,18 +199,16 @@ function profile_content(&$a, $update = 0) { $o .= status_editor($a,$x); } - } /** * Get permissions SQL - if $remote_contact is true, our remote user has been pre-verified and we already have fetched his/her groups */ - $sql_extra = item_permissions_sql($a->profile['profile_uid'],$remote_contact,$groups); - if($update) { + if ($update) { $r = q("SELECT distinct(parent) AS `item_id`, `item`.`network` AS `item_network` FROM `item` INNER JOIN `contact` ON `contact`.`id` = `item`.`contact-id` @@ -234,16 +227,16 @@ function profile_content(&$a, $update = 0) { } else { $sql_post_table = ""; - if(x($category)) { + if (x($category)) { $sql_post_table = sprintf("INNER JOIN (SELECT `oid` FROM `term` WHERE `term` = '%s' AND `otype` = %d AND `type` = %d AND `uid` = %d ORDER BY `tid` DESC) AS `term` ON `item`.`id` = `term`.`oid` ", dbesc(protect_sprintf($category)), intval(TERM_OBJ_POST), intval(TERM_CATEGORY), intval($a->profile['profile_uid'])); //$sql_extra .= protect_sprintf(file_tag_file_query('item',$category,'category')); } - if($datequery) { + if ($datequery) { $sql_extra2 .= protect_sprintf(sprintf(" AND `thread`.`created` <= '%s' ", dbesc(datetime_convert(date_default_timezone_get(),'',$datequery)))); } - if($datequery2) { + if ($datequery2) { $sql_extra2 .= protect_sprintf(sprintf(" AND `thread`.`created` >= '%s' ", dbesc(datetime_convert(date_default_timezone_get(),'',$datequery2)))); } diff --git a/mod/profile_photo.php b/mod/profile_photo.php index eee15c2af..c600dd1f8 100644 --- a/mod/profile_photo.php +++ b/mod/profile_photo.php @@ -2,7 +2,7 @@ require_once("include/Photo.php"); -function profile_photo_init(&$a) { +function profile_photo_init(App &$a) { if (! local_user()) { return; @@ -13,7 +13,7 @@ function profile_photo_init(&$a) { } -function profile_photo_post(&$a) { +function profile_photo_post(App &$a) { if (! local_user()) { notice ( t('Permission denied.') . EOL ); @@ -73,22 +73,25 @@ function profile_photo_post(&$a) { $r = $im->store(local_user(), 0, $base_image['resource-id'],$base_image['filename'], t('Profile Photos'), 4, $is_default_profile); - if($r === false) + if ($r === false) { notice ( sprintf(t('Image size reduction [%s] failed.'),"175") . EOL ); + } $im->scaleImage(80); $r = $im->store(local_user(), 0, $base_image['resource-id'],$base_image['filename'], t('Profile Photos'), 5, $is_default_profile); - if($r === false) + if ($r === false) { notice( sprintf(t('Image size reduction [%s] failed.'),"80") . EOL ); + } $im->scaleImage(48); $r = $im->store(local_user(), 0, $base_image['resource-id'],$base_image['filename'], t('Profile Photos'), 6, $is_default_profile); - if($r === false) + if ($r === false) { notice( sprintf(t('Image size reduction [%s] failed.'),"48") . EOL ); + } // If setting for the default profile, unset the profile photo flag from any other photos I own @@ -130,9 +133,9 @@ function profile_photo_post(&$a) { require_once('include/profile_update.php'); profile_change(); - } - else + } else { notice( t('Unable to process image') . EOL); + } } goaway(App::get_baseurl() . '/profiles'); @@ -143,11 +146,13 @@ function profile_photo_post(&$a) { $filename = basename($_FILES['userfile']['name']); $filesize = intval($_FILES['userfile']['size']); $filetype = $_FILES['userfile']['type']; - if ($filetype=="") $filetype=guess_image_type($filename); - + if ($filetype == "") { + $filetype = guess_image_type($filename); + } + $maximagesize = get_config('system','maximagesize'); - if(($maximagesize) && ($filesize > $maximagesize)) { + if (($maximagesize) && ($filesize > $maximagesize)) { notice( sprintf(t('Image exceeds size limit of %s'), formatBytes($maximagesize)) . EOL); @unlink($src); return; @@ -156,7 +161,7 @@ function profile_photo_post(&$a) { $imagedata = @file_get_contents($src); $ph = new Photo($imagedata, $filetype); - if(! $ph->is_valid()) { + if (! $ph->is_valid()) { notice( t('Unable to process image.') . EOL ); @unlink($src); return; @@ -165,12 +170,11 @@ function profile_photo_post(&$a) { $ph->orient($src); @unlink($src); return profile_photo_crop_ui_head($a, $ph); - } if(! function_exists('profile_photo_content')) { -function profile_photo_content(&$a) { +function profile_photo_content(App &$a) { if (! local_user()) { notice( t('Permission denied.') . EOL ); @@ -282,15 +286,17 @@ function profile_photo_content(&$a) { if(! function_exists('profile_photo_crop_ui_head')) { function profile_photo_crop_ui_head(&$a, $ph){ $max_length = get_config('system','max_image_length'); - if(! $max_length) + if (! $max_length) { $max_length = MAX_IMAGE_LENGTH; - if($max_length > 0) + } + if ($max_length > 0) { $ph->scaleImage($max_length); + } $width = $ph->getWidth(); $height = $ph->getHeight(); - if($width < 175 || $height < 175) { + if ($width < 175 || $height < 175) { $ph->scaleImageUp(200); $width = $ph->getWidth(); $height = $ph->getHeight(); @@ -303,19 +309,21 @@ function profile_photo_crop_ui_head(&$a, $ph){ $r = $ph->store(local_user(), 0 , $hash, $filename, t('Profile Photos'), 0 ); - if($r) + if ($r) { info( t('Image uploaded successfully.') . EOL ); - else + } else { notice( t('Image upload failed.') . EOL ); + } - if($width > 640 || $height > 640) { + if ($width > 640 || $height > 640) { $ph->scaleImage(640); $r = $ph->store(local_user(), 0 , $hash, $filename, t('Profile Photos'), 1 ); - - if($r === false) + + if ($r === false) { notice( sprintf(t('Image size reduction [%s] failed.'),"640") . EOL ); - else + } else { $smallest = 1; + } } $a->config['imagecrop'] = $hash; diff --git a/mod/profiles.php b/mod/profiles.php index 9321aacb5..bf2f20d2a 100644 --- a/mod/profiles.php +++ b/mod/profiles.php @@ -2,7 +2,7 @@ require_once("include/Contact.php"); require_once('include/Probe.php'); -function profiles_init(&$a) { +function profiles_init(App &$a) { nav_set_selected('profiles'); @@ -92,7 +92,7 @@ function profiles_init(&$a) { intval(local_user()), intval($a->argv[2]) ); - if(! count($r1)) { + if(! dbm::is_result($r1)) { notice( t('Profile unavailable to clone.') . EOL); killme(); return; @@ -116,7 +116,7 @@ function profiles_init(&$a) { dbesc($name) ); info( t('New profile created.') . EOL); - if(count($r3) == 1) + if ((dbm::is_result($r3)) && (count($r3) == 1)) goaway('profiles/'.$r3[0]['id']); goaway('profiles'); @@ -160,7 +160,7 @@ function profile_clean_keywords($keywords) { return $keywords; } -function profiles_post(&$a) { +function profiles_post(App &$a) { if (! local_user()) { notice( t('Permission denied.') . EOL); @@ -601,7 +601,7 @@ function profile_activity($changed, $value) { } -function profiles_content(&$a) { +function profiles_content(App &$a) { if (! local_user()) { notice( t('Permission denied.') . EOL); diff --git a/mod/profperm.php b/mod/profperm.php index 0a4b3e9a4..bbb055b02 100644 --- a/mod/profperm.php +++ b/mod/profperm.php @@ -1,6 +1,6 @@ argc > 1) ? notags(trim($a->argv[1])) : ''); $contact_id = (($a->argc > 2) ? intval($a->argv[2]) : 0 ); @@ -98,7 +98,7 @@ function pubsub_init(&$a) { require_once('include/security.php'); -function pubsub_post(&$a) { +function pubsub_post(App &$a) { $xml = file_get_contents('php://input'); diff --git a/mod/pubsubhubbub.php b/mod/pubsubhubbub.php index bfe553c44..a6c36631a 100644 --- a/mod/pubsubhubbub.php +++ b/mod/pubsubhubbub.php @@ -4,7 +4,7 @@ function post_var($name) { return (x($_POST, $name)) ? notags(trim($_POST[$name])) : ''; } -function pubsubhubbub_init(&$a) { +function pubsubhubbub_init(App &$a) { // PuSH subscription must be considered "public" so just block it // if public access isn't enabled. if (get_config('system', 'block_public')) { diff --git a/mod/qsearch.php b/mod/qsearch.php index b976e1a58..118c93d9f 100644 --- a/mod/qsearch.php +++ b/mod/qsearch.php @@ -1,6 +1,6 @@ diff --git a/mod/salmon.php b/mod/salmon.php index ff5856a94..6c3aea211 100644 --- a/mod/salmon.php +++ b/mod/salmon.php @@ -19,7 +19,7 @@ function salmon_return($val) { } -function salmon_post(&$a) { +function salmon_post(App &$a) { $xml = file_get_contents('php://input'); diff --git a/mod/search.php b/mod/search.php index 3de77a85c..22879f7f9 100644 --- a/mod/search.php +++ b/mod/search.php @@ -43,7 +43,7 @@ function search_saved_searches() { } -function search_init(&$a) { +function search_init(App &$a) { $search = ((x($_GET,'search')) ? notags(trim(rawurldecode($_GET['search']))) : ''); @@ -81,13 +81,13 @@ function search_init(&$a) { -function search_post(&$a) { +function search_post(App &$a) { if(x($_POST,'search')) $a->data['search'] = $_POST['search']; } -function search_content(&$a) { +function search_content(App &$a) { if((get_config('system','block_public')) && (! local_user()) && (! remote_user())) { notice( t('Public access denied.') . EOL); diff --git a/mod/settings.php b/mod/settings.php index 298b5025c..1fbd24325 100644 --- a/mod/settings.php +++ b/mod/settings.php @@ -16,7 +16,7 @@ function get_theme_config_file($theme){ return null; } -function settings_init(&$a) { +function settings_init(App &$a) { if (! local_user()) { notice( t('Permission denied.') . EOL ); @@ -116,7 +116,7 @@ function settings_init(&$a) { } -function settings_post(&$a) { +function settings_post(App &$a) { if (! local_user()) { return; @@ -654,7 +654,7 @@ function settings_post(&$a) { } -function settings_content(&$a) { +function settings_content(App &$a) { $o = ''; nav_set_selected('settings'); diff --git a/mod/share.php b/mod/share.php index 0a34c6fc5..f2e016708 100644 --- a/mod/share.php +++ b/mod/share.php @@ -1,5 +1,5 @@ argc > 1) ? intval($a->argv[1]) : 0); if((! $post_id) || (! local_user())) diff --git a/mod/smilies.php b/mod/smilies.php index 573cf17c8..8e04d5d05 100644 --- a/mod/smilies.php +++ b/mod/smilies.php @@ -6,7 +6,7 @@ require_once("include/Smilies.php"); -function smilies_content(&$a) { +function smilies_content(App &$a) { if ($a->argv[1]==="json"){ $tmp = Smilies::get_list(); $results = array(); diff --git a/mod/starred.php b/mod/starred.php index 84baa82ce..c23b07b8b 100644 --- a/mod/starred.php +++ b/mod/starred.php @@ -1,7 +1,7 @@ query_string); $inputs = array(); - foreach($query['args'] as $arg) { - if(strpos($arg, 'confirm=') === false) { + foreach ($query['args'] as $arg) { + if (strpos($arg, 'confirm=') === false) { $arg_parts = explode('=', $arg); $inputs[] = array('name' => $arg_parts[0], 'value' => $arg_parts[1]); } @@ -50,7 +49,7 @@ function suggest_init(&$a) { -function suggest_content(&$a) { +function suggest_content(App &$a) { require_once("mod/proxy.php"); diff --git a/mod/tagger.php b/mod/tagger.php index e53bc5eaf..da5c4700f 100644 --- a/mod/tagger.php +++ b/mod/tagger.php @@ -5,7 +5,7 @@ require_once('include/bbcode.php'); require_once('include/items.php'); -function tagger_content(&$a) { +function tagger_content(App &$a) { if(! local_user() && ! remote_user()) { return; diff --git a/mod/tagrm.php b/mod/tagrm.php index 7a18d65d0..2a9a26e37 100644 --- a/mod/tagrm.php +++ b/mod/tagrm.php @@ -2,7 +2,7 @@ require_once('include/bbcode.php'); -function tagrm_post(&$a) { +function tagrm_post(App &$a) { if (! local_user()) { goaway(App::get_baseurl() . '/' . $_SESSION['photo_return']); @@ -49,7 +49,7 @@ function tagrm_post(&$a) { -function tagrm_content(&$a) { +function tagrm_content(App &$a) { $o = ''; diff --git a/mod/toggle_mobile.php b/mod/toggle_mobile.php index 8ef2b9fc4..89b73cd44 100644 --- a/mod/toggle_mobile.php +++ b/mod/toggle_mobile.php @@ -1,6 +1,6 @@ tab where wanted +function uexport_content(App &$a){ if ($a->argc > 1) { header("Content-type: application/json"); @@ -123,7 +124,7 @@ function uexport_account($a){ /** * echoes account data and items as separated json, one per line */ -function uexport_all(&$a) { +function uexport_all(App &$a) { uexport_account($a); echo "\n"; diff --git a/mod/uimport.php b/mod/uimport.php index 7ed5648d9..15bc8322b 100644 --- a/mod/uimport.php +++ b/mod/uimport.php @@ -1,11 +1,12 @@ config['register_policy']) { case REGISTER_OPEN: $blocked = 0; @@ -35,7 +36,7 @@ function uimport_post(&$a) { } } -function uimport_content(&$a) { +function uimport_content(App &$a) { if((! local_user()) && ($a->config['register_policy'] == REGISTER_CLOSED)) { notice("Permission denied." . EOL); diff --git a/mod/update_community.php b/mod/update_community.php index d5df7ba3b..179e9c61c 100644 --- a/mod/update_community.php +++ b/mod/update_community.php @@ -4,7 +4,7 @@ require_once("mod/community.php"); -function update_community_content(&$a) { +function update_community_content(App &$a) { header("Content-type: text/html"); echo "\r\n"; diff --git a/mod/update_display.php b/mod/update_display.php index bd2a52934..230bbaa0b 100644 --- a/mod/update_display.php +++ b/mod/update_display.php @@ -5,7 +5,7 @@ require_once("mod/display.php"); require_once("include/group.php"); -function update_display_content(&$a) { +function update_display_content(App &$a) { $profile_uid = intval($_GET["p"]); diff --git a/mod/update_network.php b/mod/update_network.php index 258d03e32..c6d33132c 100644 --- a/mod/update_network.php +++ b/mod/update_network.php @@ -5,7 +5,7 @@ require_once("mod/network.php"); require_once("include/group.php"); -function update_network_content(&$a) { +function update_network_content(App &$a) { $profile_uid = intval($_GET["p"]); diff --git a/mod/update_notes.php b/mod/update_notes.php index ee9d1d71f..b21f69805 100644 --- a/mod/update_notes.php +++ b/mod/update_notes.php @@ -7,7 +7,7 @@ require_once("mod/notes.php"); -function update_notes_content(&$a) { +function update_notes_content(App &$a) { $profile_uid = intval($_GET["p"]); diff --git a/mod/update_profile.php b/mod/update_profile.php index 1bc29d82c..e16b0b5cc 100644 --- a/mod/update_profile.php +++ b/mod/update_profile.php @@ -7,7 +7,7 @@ require_once("mod/profile.php"); -function update_profile_content(&$a) { +function update_profile_content(App &$a) { $profile_uid = intval($_GET["p"]); diff --git a/mod/videos.php b/mod/videos.php index dbfc044ea..433ce5fc6 100644 --- a/mod/videos.php +++ b/mod/videos.php @@ -6,7 +6,7 @@ require_once('include/security.php'); require_once('include/redir.php'); -function videos_init(&$a) { +function videos_init(App &$a) { if($a->argc > 1) auto_redir($a, $a->argv[1]); @@ -102,7 +102,7 @@ function videos_init(&$a) { -function videos_post(&$a) { +function videos_post(App &$a) { $owner_uid = $a->data['user']['uid']; @@ -113,7 +113,7 @@ function videos_post(&$a) { if (($a->argc == 2) && x($_POST,'delete') && x($_POST, 'id')) { // Check if we should do HTML-based delete confirmation - if(!x($_REQUEST,'confirm')) { + if (!x($_REQUEST,'confirm')) { if (x($_REQUEST,'canceled')) { goaway(App::get_baseurl() . '/videos/' . $a->data['user']['nickname']); } @@ -138,7 +138,6 @@ function videos_post(&$a) { $video_id = $_POST['id']; - $r = q("SELECT `id` FROM `attach` WHERE `uid` = %d AND `id` = '%s' LIMIT 1", intval(local_user()), dbesc($video_id) @@ -154,7 +153,7 @@ function videos_post(&$a) { intval(local_user()) ); //echo "
"; var_dump($i); killme();
-			if(count($i)) {
+			if (dbm::is_result($i)) {
 				q("UPDATE `item` SET `deleted` = 1, `edited` = '%s', `changed` = '%s' WHERE `parent-uri` = '%s' AND `uid` = %d",
 					dbesc(datetime_convert()),
 					dbesc(datetime_convert()),
@@ -167,8 +166,9 @@ function videos_post(&$a) {
 				$url = App::get_baseurl();
 				$drop_id = intval($i[0]['id']);
 
-				if($i[0]['visible'])
+				if ($i[0]['visible']) {
 					proc_run(PRIORITY_HIGH, "include/notifier.php", "drop", $drop_id);
+				}
 			}
 		}
 
@@ -182,7 +182,7 @@ function videos_post(&$a) {
 
 
 
-function videos_content(&$a) {
+function videos_content(App &$a) {
 
 	// URLs (most aren't currently implemented):
 	// videos/name
@@ -408,4 +408,3 @@ function videos_content(&$a) {
 	$o .= paginate($a);
 	return $o;
 }
-
diff --git a/mod/viewcontacts.php b/mod/viewcontacts.php
index ffb715442..9c72a46e9 100644
--- a/mod/viewcontacts.php
+++ b/mod/viewcontacts.php
@@ -2,7 +2,7 @@
 require_once('include/Contact.php');
 require_once('include/contact_selectors.php');
 
-function viewcontacts_init(&$a) {
+function viewcontacts_init(App &$a) {
 
 	if((get_config('system','block_public')) && (! local_user()) && (! remote_user())) {
 		return;
@@ -29,7 +29,7 @@ function viewcontacts_init(&$a) {
 }
 
 
-function viewcontacts_content(&$a) {
+function viewcontacts_content(App &$a) {
 	require_once("mod/proxy.php");
 
 	if((get_config('system','block_public')) && (! local_user()) && (! remote_user())) {
diff --git a/mod/viewsrc.php b/mod/viewsrc.php
index 94ed9b5dc..8510bd539 100644
--- a/mod/viewsrc.php
+++ b/mod/viewsrc.php
@@ -1,7 +1,7 @@
 Webfinger Diagnostic';
 
diff --git a/mod/xrd.php b/mod/xrd.php
index e4641f5a3..a56c7fbdf 100644
--- a/mod/xrd.php
+++ b/mod/xrd.php
@@ -2,7 +2,7 @@
 
 require_once('include/crypto.php');
 
-function xrd_init(&$a) {
+function xrd_init(App &$a) {
 
 	$uri = urldecode(notags(trim($_GET['uri'])));
 
diff --git a/object/Item.php b/object/Item.php
index 8340009a9..d95af3419 100644
--- a/object/Item.php
+++ b/object/Item.php
@@ -38,9 +38,9 @@ class Item extends BaseObject {
 		$this->set_template('wall');
 		$this->toplevel = ($this->get_id() == $this->get_data_value('parent'));
 
-		if(is_array($_SESSION['remote'])) {
-			foreach($_SESSION['remote'] as $visitor) {
-				if($visitor['cid'] == $this->get_data_value('contact-id')) {
+		if (is_array($_SESSION['remote'])) {
+			foreach ($_SESSION['remote'] as $visitor) {
+				if ($visitor['cid'] == $this->get_data_value('contact-id')) {
 					$this->visiting = true;
 					break;
 				}
diff --git a/view/theme/duepuntozero/config.php b/view/theme/duepuntozero/config.php
index 749a377fc..48c9c8709 100644
--- a/view/theme/duepuntozero/config.php
+++ b/view/theme/duepuntozero/config.php
@@ -3,9 +3,7 @@
  * Theme settings
  */
 
-
-
-function theme_content(&$a){
+function theme_content(App &$a){
 	if (!local_user()) {
 		return;
 	}
@@ -16,8 +14,7 @@ function theme_content(&$a){
 	return clean_form($a, $colorset, $user);
 }
 
-function theme_post(&$a){
-
+function theme_post(App &$a){
 	if (! local_user()) {
 		return;
 	}
@@ -27,15 +24,14 @@ function theme_post(&$a){
 	}
 }
 
-
-function theme_admin(&$a){
+function theme_admin(App &$a){
 	$colorset = get_config( 'duepuntozero', 'colorset');
 	$user = false;
 
 	return clean_form($a, $colorset, $user);
 }
 
-function theme_admin_post(&$a){
+function theme_admin_post(App &$a){
 	if (isset($_POST['duepuntozero-settings-submit'])){
 		set_config('duepuntozero', 'colorset', $_POST['duepuntozero_colorset']);
 	}
@@ -44,13 +40,13 @@ function theme_admin_post(&$a){
 /// @TODO $a is no longer used
 function clean_form(&$a, &$colorset, $user){
 	$colorset = array(
-		'default'=>t('default'), 
-		'greenzero'=>t('greenzero'),
-		'purplezero'=>t('purplezero'),
-		'easterbunny'=>t('easterbunny'),
-		'darkzero'=>t('darkzero'),
-		'comix'=>t('comix'),
-		'slackr'=>t('slackr'),
+		'default'     =>t('default'), 
+		'greenzero'   =>t('greenzero'),
+		'purplezero'  =>t('purplezero'),
+		'easterbunny' =>t('easterbunny'),
+		'darkzero'    =>t('darkzero'),
+		'comix'       =>t('comix'),
+		'slackr'      =>t('slackr'),
 	);
 
 	if ($user) {
@@ -64,7 +60,7 @@ function clean_form(&$a, &$colorset, $user){
 	$o .= replace_macros($t, array(
 		'$submit'   => t('Submit'),
 		'$baseurl'  => App::get_baseurl(),
-		'$title'=> t("Theme settings"),
+		'$title'    => t("Theme settings"),
 		'$colorset' => array('duepuntozero_colorset', t('Variations'), $color, '', $colorset),
 	));
 
diff --git a/view/theme/duepuntozero/theme.php b/view/theme/duepuntozero/theme.php
index c1a1321ae..d4c11f22a 100644
--- a/view/theme/duepuntozero/theme.php
+++ b/view/theme/duepuntozero/theme.php
@@ -1,6 +1,6 @@
 theme_events_in_profile = false;
diff --git a/view/theme/frost-mobile/theme.php b/view/theme/frost-mobile/theme.php
index ceb28c2d6..4ca592f4c 100644
--- a/view/theme/frost-mobile/theme.php
+++ b/view/theme/frost-mobile/theme.php
@@ -9,7 +9,7 @@
  * Maintainer: Zach P 
  */
 
-function frost_mobile_init(&$a) {
+function frost_mobile_init(App &$a) {
 	$a->sourcename = 'Friendica mobile web';
 	$a->videowidth = 250;
 	$a->videoheight = 200;
@@ -18,7 +18,7 @@ function frost_mobile_init(&$a) {
 	set_template_engine($a, 'smarty3');
 }
 
-function frost_mobile_content_loaded(&$a) {
+function frost_mobile_content_loaded(App &$a) {
 
 	// I could do this in style.php, but by having the CSS in a file the browser will cache it,
 	// making pages load faster
diff --git a/view/theme/frost/theme.php b/view/theme/frost/theme.php
index b93123b3d..7746109e5 100644
--- a/view/theme/frost/theme.php
+++ b/view/theme/frost/theme.php
@@ -9,14 +9,14 @@
  * Maintainer: Zach P 
  */
 
-function frost_init(&$a) {
+function frost_init(App &$a) {
 	$a->videowidth = 400;
 	$a->videoheight = 330;
 	$a->theme_thread_allow = false;
 	set_template_engine($a, 'smarty3');
 }
 
-function frost_content_loaded(&$a) {
+function frost_content_loaded(App &$a) {
 
 	// I could do this in style.php, but by having the CSS in a file the browser will cache it,
 	// making pages load faster
diff --git a/view/theme/quattro/config.php b/view/theme/quattro/config.php
index 9a08adbaf..6c80afdc2 100644
--- a/view/theme/quattro/config.php
+++ b/view/theme/quattro/config.php
@@ -3,9 +3,7 @@
  * Theme settings
  */
 
-
-
-function theme_content(&$a){
+function theme_content(App &$a){
 	if (!local_user()) {
 		return;
 	}
@@ -18,7 +16,7 @@ function theme_content(&$a){
 	return quattro_form($a,$align, $color, $tfs, $pfs);
 }
 
-function theme_post(&$a){
+function theme_post(App &$a){
 	if (! local_user()) {
 		return;
 	}
@@ -31,45 +29,48 @@ function theme_post(&$a){
 	}
 }
 
-
-function theme_admin(&$a){
+function theme_admin(App &$a){
 	$align = get_config('quattro', 'align' );
 	$color = get_config('quattro', 'color' );
-    $tfs = get_config("quattro","tfs");
-    $pfs = get_config("quattro","pfs");    
+	$tfs = get_config("quattro","tfs");
+	$pfs = get_config("quattro","pfs");
 
 	return quattro_form($a,$align, $color, $tfs, $pfs);
 }
 
-function theme_admin_post(&$a){
+function theme_admin_post(App &$a){
 	if (isset($_POST['quattro-settings-submit'])){
 		set_config('quattro', 'align', $_POST['quattro_align']);
 		set_config('quattro', 'color', $_POST['quattro_color']);
-        set_config('quattro', 'tfs', $_POST['quattro_tfs']);
+		set_config('quattro', 'tfs', $_POST['quattro_tfs']);
 		set_config('quattro', 'pfs', $_POST['quattro_pfs']);
 	}
 }
 
 /// @TODO $a is no longer used here
-function quattro_form(&$a, $align, $color, $tfs, $pfs){
+function quattro_form(App &$a, $align, $color, $tfs, $pfs){
 	$colors = array(
-		"dark"=>"Quattro", 
-		"lilac"=>"Lilac", 
-		"green"=>"Green"
+		"dark"  => "Quattro",
+		"lilac" => "Lilac",
+		"green" => "Green",
 	);
-    
-    if ($tfs===false) $tfs="20";
-    if ($pfs===false) $pfs="12";
-    
+
+	if ($tfs === false) {
+		$tfs = "20";
+	}
+	if ($pfs === false) {
+		$pfs = "12";
+	}
+
 	$t = get_markup_template("theme_settings.tpl" );
 	$o .= replace_macros($t, array(
-		'$submit' => t('Submit'),
+		'$submit'  => t('Submit'),
 		'$baseurl' => App::get_baseurl(),
-		'$title' => t("Theme settings"),
-		'$align' => array('quattro_align', t('Alignment'), $align, '', array('left'=>t('Left'), 'center'=>t('Center'))),
-		'$color' => array('quattro_color', t('Color scheme'), $color, '', $colors),
-        '$pfs' => array('quattro_pfs', t('Posts font size'), $pfs),
-        '$tfs' => array('quattro_tfs',t('Textareas font size'), $tfs),
+		'$title'   => t("Theme settings"),
+		'$align'   => array('quattro_align', t('Alignment'), $align, '', array('left'=>t('Left'), 'center'=>t('Center'))),
+		'$color'   => array('quattro_color', t('Color scheme'), $color, '', $colors),
+		'$pfs'     => array('quattro_pfs', t('Posts font size'), $pfs),
+		'$tfs'     => array('quattro_tfs',t('Textareas font size'), $tfs),
 	));
 	return $o;
 }
diff --git a/view/theme/quattro/theme.php b/view/theme/quattro/theme.php
index f316323fd..ae8f4f906 100644
--- a/view/theme/quattro/theme.php
+++ b/view/theme/quattro/theme.php
@@ -7,7 +7,7 @@
  * Maintainer: Tobias 
  */
 
-function quattro_init(&$a) {
+function quattro_init(App &$a) {
 	$a->page['htmlhead'] .= '';
 	$a->page['htmlhead'] .= '';;
 }
diff --git a/view/theme/smoothly/theme.php b/view/theme/smoothly/theme.php
index a10a07139..fcc4f9925 100644
--- a/view/theme/smoothly/theme.php
+++ b/view/theme/smoothly/theme.php
@@ -10,7 +10,7 @@
  * Screenshot: Screenshot
  */
 
-function smoothly_init(&$a) {
+function smoothly_init(App &$a) {
 	set_template_engine($a, 'smarty3');
 
 	$cssFile = null;
diff --git a/view/theme/vier/config.php b/view/theme/vier/config.php
index 2989f6c5c..532649890 100644
--- a/view/theme/vier/config.php
+++ b/view/theme/vier/config.php
@@ -5,7 +5,7 @@
 
 
 
-function theme_content(&$a){
+function theme_content(App &$a){
 	if (!local_user()) {
 		return;
 	}
@@ -35,7 +35,7 @@ function theme_content(&$a){
 			$show_services, $show_friends, $show_lastusers);
 }
 
-function theme_post(&$a){
+function theme_post(App &$a){
 	if (! local_user()) {
 		return;
 	}
@@ -52,7 +52,7 @@ function theme_post(&$a){
 }
 
 
-function theme_admin(&$a){
+function theme_admin(App &$a){
 
 	if (!function_exists('get_vier_config'))
 		return;
@@ -81,7 +81,7 @@ function theme_admin(&$a){
 	return $o;
 }
 
-function theme_admin_post(&$a){
+function theme_admin_post(App &$a){
 	if (isset($_POST['vier-settings-submit'])){
 		set_config('vier', 'style', $_POST['vier_style']);
 		set_config('vier', 'show_pages', $_POST['vier_show_pages']);
diff --git a/view/theme/vier/theme.php b/view/theme/vier/theme.php
index bc8706352..96aae5711 100644
--- a/view/theme/vier/theme.php
+++ b/view/theme/vier/theme.php
@@ -13,7 +13,7 @@ require_once("include/plugin.php");
 require_once("include/socgraph.php");
 require_once("mod/proxy.php");
 
-function vier_init(&$a) {
+function vier_init(App &$a) {
 
 	$a->theme_events_in_profile = false;