]> git.mxchange.org Git - friendica.git/commitdiff
Merge remote-tracking branch 'upstream/develop' into rewrites/coding-convention
authorRoland Haeder <roland@mxchange.org>
Mon, 20 Mar 2017 19:51:32 +0000 (20:51 +0100)
committerRoland Haeder <roland@mxchange.org>
Mon, 20 Mar 2017 19:51:32 +0000 (20:51 +0100)
Signed-off-by: Roland Haeder <roland@mxchange.org>
18 files changed:
1  2 
boot.php
include/Contact.php
include/cron.php
include/datetime.php
include/dbstructure.php
include/dfrn.php
include/event.php
include/identity.php
include/lock.php
include/onepoll.php
include/poller.php
include/security.php
include/socgraph.php
mod/contacts.php
mod/events.php
mod/profiles.php
mod/settings.php
update.php

diff --cc boot.php
Simple merge
index de76789e8c68020b826fe388f235c9153faf01db,fc9f660f1377e81aba7ae63f274f9dff1a418302..dc29d38257a38a6cca4f0ae60c7f0df152215661
@@@ -122,12 -122,12 +122,14 @@@ function terminate_friendship($user,$se
  // This provides for the possibility that their database is temporarily messed
  // up or some other transient event and that there's a possibility we could recover from it.
  
--function mark_for_death($contact) {
++function mark_for_death(array $contact) {
  
-       if ($contact['archive'])
 -      if($contact['archive'])
++      if ($contact['archive']) {
                return;
++      }
  
-       if ($contact['term-date'] == '0000-00-00 00:00:00') {
++      /// @TODO Comparison of strings this way may lead to bugs/incompatibility, better switch to DateTime
+       if ($contact['term-date'] <= NULL_DATE) {
                q("UPDATE `contact` SET `term-date` = '%s' WHERE `id` = %d",
                                dbesc(datetime_convert()),
                                intval($contact['id'])
Simple merge
Simple merge
Simple merge
index 1240228f06f19bd55d67608499c393dba606835d,25f8c9358e2047bd324fe1081b72360bf151c3f4..9fa19bde6cf13743eb7ab78a8d81bf6c0fadaa6a
@@@ -1182,7 -1094,7 +1182,8 @@@ class dfrn 
                        return 3;
                }
  
-               if ($contact['term-date'] != '0000-00-00 00:00:00') {
++              /// @TODO Really compare with > here? Maybe DateTime (which allows such comparison again) is much safer/correcter
+               if ($contact['term-date'] > NULL_DATE) {
                        logger("dfrn_deliver: $url back from the dead - removing mark for death");
                        require_once('include/Contact.php');
                        unmark_for_death($contact);
index 44261b36910a7b81bba9acfc389cfc6437552c9e,ebd4885c91d3ee67809906fccaa0650d6ce79f98..7fffdd8a2861f9058f1a88c9cf7f6cd1385b84fd
@@@ -10,8 -10,9 +10,9 @@@ require_once 'include/datetime.php'
  
  function format_event_html($ev, $simple = false) {
  
-       if (! ((is_array($ev)) && count($ev)))
 -      if(! ((is_array($ev)) && count($ev))) {
++      if (! ((is_array($ev)) && count($ev))) {
                return '';
+       }
  
        $bd_format = t('l F d, Y \@ g:i A') ; // Friday January 18, 2011 @ 8 AM
  
@@@ -556,11 -594,12 +594,12 @@@ function event_by_id($owner_uid = 0, $e
   * @return array Query results
   */
  function events_by_date($owner_uid = 0, $event_params, $sql_extra = '') {
-       // ownly allow events if there is a valid owner_id
-       if ($owner_uid == 0)
+       // Only allow events if there is a valid owner_id
 -      if($owner_uid == 0) {
++      if ($owner_uid == 0) {
                return;
+       }
  
-       // query for the event by date
+       // Query for the event by date
        $r = q("SELECT `event`.*, `item`.`id` AS `itemid`,`item`.`plink`,
                                `item`.`author-name`, `item`.`author-avatar`, `item`.`author-link` FROM `event`
                        LEFT JOIN `item` ON `item`.`event-id` = `event`.`id` AND `item`.`uid` = `event`.`uid`
   * @return array Event array for the template
   */
  function process_events($arr) {
--      $events=array();
++      $events = array();
  
        $last_date = '';
        $fmt = t('l, F j');
Simple merge
index a9cd7d6437054b4191374d2d0caaa3848c853bb3,a48b0ad342e1353b1b3b816e50bf0d5fc4c4cffb..64f6319ef1990aba4f30e2a67b75e829f84cd8a3
@@@ -67,9 -66,10 +67,10 @@@ function block_on_function_lock($fn_nam
  }}
  
  
 -if(! function_exists('unlock_function')) {
 +if (! function_exists('unlock_function')) {
  function unlock_function($fn_name) {
-       $r = q("UPDATE `locks` SET `locked` = 0, `created` = '0000-00-00 00:00:00' WHERE `name` = '%s'",
+       $r = q("UPDATE `locks` SET `locked` = 0, `created` = '%s' WHERE `name` = '%s'",
+                       dbesc(NULL_DATE),
                        dbesc($fn_name)
             );
  
Simple merge
index 2f9e72611029fe9bb8ffa90bc488d468820594e0,5560b3340e6209fc4ab82c97ecd3619bc9840afc..27f8c7831a12657032cff3dbf8e2c91492a9a964
@@@ -364,16 -364,16 +364,17 @@@ function poller_kill_stale_workers() 
                return;
        }
  
 -      foreach ($r AS $pid) {
 +      foreach ($r AS $pid)
                if (!posix_kill($pid["pid"], 0)) {
-                       q("UPDATE `workerqueue` SET `executed` = '0000-00-00 00:00:00', `pid` = 0 WHERE `pid` = %d",
-                               intval($pid["pid"]));
+                       q("UPDATE `workerqueue` SET `executed` = '%s', `pid` = 0 WHERE `pid` = %d",
+                               dbesc(NULL_DATE), intval($pid["pid"]));
                } else {
                        // Kill long running processes
  
                        // Check if the priority is in a valid range
--                      if (!in_array($pid["priority"], array(PRIORITY_CRITICAL, PRIORITY_HIGH, PRIORITY_MEDIUM, PRIORITY_LOW, PRIORITY_NEGLIGIBLE)))
++                      if (!in_array($pid["priority"], array(PRIORITY_CRITICAL, PRIORITY_HIGH, PRIORITY_MEDIUM, PRIORITY_LOW, PRIORITY_NEGLIGIBLE))) {
                                $pid["priority"] = PRIORITY_MEDIUM;
++                      }
  
                        // Define the maximum durations
                        $max_duration_defaults = array(PRIORITY_CRITICAL => 360, PRIORITY_HIGH => 10, PRIORITY_MEDIUM => 60, PRIORITY_LOW => 180, PRIORITY_NEGLIGIBLE => 360);
index 63a6b9574f7d9cdc9f845725034460733354b7c3,05371f71ca55d1a44559480ffc2c350197cc3add..1c7813e74bb08078e24c86ae965e1203c3205510
@@@ -54,23 -54,23 +54,27 @@@ function authenticate_success($user_rec
  
        $a->user = $user_record;
  
 -      if($interactive) {
 +      if ($interactive) {
-               if ($a->user['login_date'] === '0000-00-00 00:00:00') {
++              /// @TODO Comparison of strings this way may lead to bugs/incompatiblities
+               if ($a->user['login_date'] <= NULL_DATE) {
                        $_SESSION['return_url'] = 'profile_photo/new';
                        $a->module = 'profile_photo';
                        info( t("Welcome ") . $a->user['username'] . EOL);
                        info( t('Please upload a profile photo.') . EOL);
--              }
--              else
++              } else {
                        info( t("Welcome back ") . $a->user['username'] . EOL);
++              }
        }
  
        $member_since = strtotime($a->user['register_date']);
-       if (time() < ($member_since + ( 60 * 60 * 24 * 14)))
 -      if(time() < ($member_since + ( 60 * 60 * 24 * 14)))
++
++      if (time() < ($member_since + ( 60 * 60 * 24 * 14))) {
                $_SESSION['new_member'] = true;
--      else
++      } else {
                $_SESSION['new_member'] = false;
 -      if(strlen($a->user['timezone'])) {
++      }
++
 +      if (strlen($a->user['timezone'])) {
                date_default_timezone_set($a->user['timezone']);
                $a->timezone = $a->user['timezone'];
        }
Simple merge
index 11a83f0a0429495ae72001886c6392a8a3b667f7,f2500099c3f44689b37f67b4faf3afb7320ce3dd..ebb355b8a3cbd089384fbc6729ef4f78f508f9b4
@@@ -99,15 -99,15 +99,24 @@@ function contacts_init(App $a) 
  
  function contacts_batch_actions(App $a) {
        $contacts_id = $_POST['contact_batch'];
--      if (!is_array($contacts_id)) return;
++      if (!is_array($contacts_id)) {
++              return;
++      }
  
        $orig_records = q("SELECT * FROM `contact` WHERE `id` IN (%s) AND `uid` = %d AND `self` = 0",
                implode(",", $contacts_id),
                intval(local_user())
        );
  
++      if (!dbm::is_result($orig_records)) {
++              /// @TODO EOL really needed?
++              notice( t('Could not access contact record(s).') . EOL);
++              goaway('contacts');
++              return; // NOTREACHED
++      }
++
        $count_actions=0;
 -      foreach($orig_records as $orig_record) {
 +      foreach ($orig_records as $orig_record) {
                $contact_id = $orig_record['id'];
                if (x($_POST, 'contacts_batch_update')) {
                        _contact_update($contact_id);
                        $count_actions++;
                }
        }
--      if ($count_actions>0) {
++
++      if ($count_actions > 0) {
                info ( sprintf( tt("%d contact edited.", "%d contacts edited.", $count_actions), $count_actions) );
        }
  
@@@ -164,7 -165,7 +174,8 @@@ function contacts_post(App $a) 
                intval(local_user())
        );
  
--      if (! count($orig_record)) {
++      if (! dbm::is_result($orig_record)) {
++              /// @TODO EOL really needed?
                notice( t('Could not access contact record.') . EOL);
                goaway('contacts');
                return; // NOTREACHED
                intval($contact_id),
                intval(local_user())
        );
 -      if($r)
++      /// @TODO Decide to use dbm::is_result() here, what does $r include?
 +      if ($r) {
                info( t('Contact updated.') . EOL);
 -      else
 +      } else {
                notice( t('Failed to update contact record.') . EOL);
 +      }
  
 -      $r = q("select * from contact where id = %d and uid = %d limit 1",
 +      $r = q("SELECT * FROM `contact` WHERE `id` = %d AND `uid` = %d LIMIT 1",
                intval($contact_id),
                intval(local_user())
        );
  /*contact actions*/
  function _contact_update($contact_id) {
        $r = q("SELECT `uid`, `url`, `network` FROM `contact` WHERE `id` = %d", intval($contact_id));
--      if (!$r)
++      if (!dbm::is_result($r)) {
                return;
++      }
  
        $uid = $r[0]["uid"];
  
--      if ($uid != local_user())
++      if ($uid != local_user()) {
                return;
++      }
  
        if ($r[0]["network"] == NETWORK_OSTATUS) {
                $result = new_contact($uid, $r[0]["url"], false);
  
--              if ($result['success'])
++              if ($result['success']) {
                        $r = q("UPDATE `contact` SET `subhub` = 1 WHERE `id` = %d",
                                intval($contact_id));
--      } else
++              }
++      } else {
                // pull feed and consume it, which should subscribe to the hub.
                proc_run(PRIORITY_HIGH, "include/onepoll.php", $contact_id, "force");
++      }
  }
  
  function _contact_update_profile($contact_id) {
        $r = q("SELECT `uid`, `url`, `network` FROM `contact` WHERE `id` = %d", intval($contact_id));
--      if (!$r)
++      if (!dbm::is_result($r)) {
                return;
++      }
  
        $uid = $r[0]["uid"];
  
--      if ($uid != local_user())
++      if ($uid != local_user()) {
                return;
++      }
  
        $data = probe_url($r[0]["url"]);
  
        // "Feed" or "Unknown" is mostly a sign of communication problems
--      if ((in_array($data["network"], array(NETWORK_FEED, NETWORK_PHANTOM))) AND ($data["network"] != $r[0]["network"]))
++      if ((in_array($data["network"], array(NETWORK_FEED, NETWORK_PHANTOM))) AND ($data["network"] != $r[0]["network"])) {
                return;
++      }
  
        $updatefields = array("name", "nick", "url", "addr", "batch", "notify", "poll", "request", "confirm",
                                "poco", "network", "alias");
        if ($data["network"] == NETWORK_OSTATUS) {
                $result = new_contact($uid, $data["url"], false);
  
--              if ($result['success'])
++              if ($result['success']) {
                        $update["subhub"] = true;
++              }
        }
  
-       foreach ($updatefields AS $field)
 -      foreach($updatefields AS $field)
--              if (isset($data[$field]) AND ($data[$field] != ""))
++      foreach ($updatefields AS $field) {
++              if (isset($data[$field]) AND ($data[$field] != "")) {
                        $update[$field] = $data[$field];
++              }
++      }
  
        $update["nurl"] = normalise_link($data["url"]);
  
        $query = "";
  
--      if (isset($data["priority"]) AND ($data["priority"] != 0))
++      if (isset($data["priority"]) AND ($data["priority"] != 0)) {
                $query = "`priority` = ".intval($data["priority"]);
++      }
  
 -      foreach($update AS $key => $value) {
 -              if ($query != "")
 +      foreach ($update AS $key => $value) {
-               if ($query != "")
++              if ($query != "") {
                        $query .= ", ";
++              }
  
                $query .= "`".$key."` = '".dbesc($value)."'";
        }
  
--      if ($query == "")
++      if ($query == "") {
                return;
++      }
  
        $r = q("UPDATE `contact` SET $query WHERE `id` = %d AND `uid` = %d",
                intval($contact_id),
@@@ -365,11 -361,11 +390,12 @@@ function contacts_content(App $a) 
                return;
        }
  
 -      if($a->argc == 3) {
 +      if ($a->argc == 3) {
  
                $contact_id = intval($a->argv[1]);
-               if (! $contact_id)
 -              if(! $contact_id)
++              if (! $contact_id) {
                        return;
++              }
  
                $cmd = $a->argv[2];
  
                        intval(local_user())
                );
  
-               if (! count($orig_record)) {
 -              if(! count($orig_record)) {
++              if (! dbm::is_result($orig_record)) {
                        notice( t('Could not access contact record.') . EOL);
                        goaway('contacts');
                        return; // NOTREACHED
                        // NOTREACHED
                }
  
 -              if($cmd === 'block') {
 +              if ($cmd === 'block') {
                        $r = _contact_block($contact_id, $orig_record[0]);
++                      /// @TODO is $r a database result?
                        if ($r) {
                                $blocked = (($orig_record[0]['blocked']) ? 0 : 1);
                                info((($blocked) ? t('Contact has been blocked') : t('Contact has been unblocked')).EOL);
                        return; // NOTREACHED
                }
  
 -              if($cmd === 'ignore') {
 +              if ($cmd === 'ignore') {
                        $r = _contact_ignore($contact_id, $orig_record[0]);
++                      /// @TODO is $r a database result?
                        if ($r) {
                                $readonly = (($orig_record[0]['readonly']) ? 0 : 1);
                                info((($readonly) ? t('Contact has been ignored') : t('Contact has been unignored')).EOL);
                }
  
  
 -              if($cmd === 'archive') {
 +              if ($cmd === 'archive') {
                        $r = _contact_archive($contact_id, $orig_record[0]);
++                      /// @TODO is $r a database result?
                        if ($r) {
                                $archived = (($orig_record[0]['archive']) ? 0 : 1);
                                info((($archived) ? t('Contact has been archived') : t('Contact has been unarchived')).EOL);
                        if ($_REQUEST['canceled']) {
                                if (x($_SESSION,'return_url')) {
                                        goaway('' . $_SESSION['return_url']);
--                              }
--                              else {
++                              } else {
                                        goaway('contacts');
                                }
                        }
                        info( t('Contact has been removed.') . EOL );
                        if (x($_SESSION,'return_url')) {
                                goaway('' . $_SESSION['return_url']);
--                      }
--                      else {
++                      } else {
                                goaway('contacts');
                        }
                        return; // NOTREACHED
                                ? t('Never')
                                : datetime_convert('UTC',date_default_timezone_get(),$contact['last-update'],'D, j M Y, g:i A'));
  
-               if ($contact['last-update'] !== '0000-00-00 00:00:00')
 -              if ($contact['last-update'] > NULL_DATE) {
++              if ($contact['last-update'] !== NULL_DATE) {
                        $last_update .= ' ' . (($contact['last-update'] <= $contact['success_update']) ? t("\x28Update was successful\x29") : t("\x28Update was not successful\x29"));
+               }
                $lblsuggest = (($contact['network'] === NETWORK_DFRN) ? t('Suggest friends') : '');
  
                $poll_enabled = in_array($contact['network'], array(NETWORK_DFRN, NETWORK_OSTATUS, NETWORK_FEED, NETWORK_MAIL, NETWORK_MAIL2));
                // tabs
                $tab_str = contacts_tab($a, $contact_id, 2);
  
-               $lost_contact = (($contact['archive'] && $contact['term-date'] != '0000-00-00 00:00:00' && $contact['term-date'] < datetime_convert('','','now')) ? t('Communications lost with this contact!') : '');
+               $lost_contact = (($contact['archive'] && $contact['term-date'] > NULL_DATE && $contact['term-date'] < datetime_convert('','','now')) ? t('Communications lost with this contact!') : '');
  
-               if ($contact['network'] == NETWORK_FEED)
+               if ($contact['network'] == NETWORK_FEED) {
                        $fetch_further_information = array('fetch_further_information', t('Fetch further information for feeds'), $contact['fetch_further_information'], t('Fetch further information for feeds'),
                                                                        array('0'=>t('Disabled'), '1'=>t('Fetch information'), '2'=>t('Fetch information and keywords')));
-               if (in_array($contact['network'], array(NETWORK_FEED, NETWORK_MAIL, NETWORK_MAIL2)))
+               }
 -              if (in_array($contact['network'], array(NETWORK_FEED, NETWORK_MAIL, NETWORK_MAIL2)))
++              if (in_array($contact['network'], array(NETWORK_FEED, NETWORK_MAIL, NETWORK_MAIL2))) {
                        $poll_interval = contact_poll_interval($contact['priority'],(! $poll_enabled));
++              }
  
--              if ($contact['network'] == NETWORK_DFRN)
++              if ($contact['network'] == NETWORK_DFRN) {
                        $profile_select = contact_profile_assign($contact['profile-id'],(($contact['network'] !== NETWORK_DFRN) ? true : false));
++              }
  
                if (in_array($contact['network'], array(NETWORK_DIASPORA, NETWORK_OSTATUS)) AND
--                      ($contact['rel'] == CONTACT_IS_FOLLOWER))
++                      ($contact['rel'] == CONTACT_IS_FOLLOWER)) {
                        $follow = App::get_baseurl(true)."/follow?url=".urlencode($contact["url"]);
++              }
  
                // Load contactact related actions like hide, suggest, delete and others
                $contact_actions = contact_actions($contact);
  
--
                $o .= replace_macros($tpl, array(
                        //'$header' => t('Contact Editor'),
                        '$header' => t("Contact"),
        $ignored = false;
        $all = false;
  
 -      if(($a->argc == 2) && ($a->argv[1] === 'all')) {
 +      if (($a->argc == 2) && ($a->argv[1] === 'all')) {
                $sql_extra = '';
                $all = true;
--      }
-       elseif (($a->argc == 2) && ($a->argv[1] === 'blocked')) {
 -      elseif(($a->argc == 2) && ($a->argv[1] === 'blocked')) {
++      } elseif (($a->argc == 2) && ($a->argv[1] === 'blocked')) {
                $sql_extra = " AND `blocked` = 1 ";
                $blocked = true;
--      }
-       elseif (($a->argc == 2) && ($a->argv[1] === 'hidden')) {
 -      elseif(($a->argc == 2) && ($a->argv[1] === 'hidden')) {
++      } elseif (($a->argc == 2) && ($a->argv[1] === 'hidden')) {
                $sql_extra = " AND `hidden` = 1 ";
                $hidden = true;
--      }
-       elseif (($a->argc == 2) && ($a->argv[1] === 'ignored')) {
 -      elseif(($a->argc == 2) && ($a->argv[1] === 'ignored')) {
++      } elseif (($a->argc == 2) && ($a->argv[1] === 'ignored')) {
                $sql_extra = " AND `readonly` = 1 ";
                $ignored = true;
--      }
-       elseif (($a->argc == 2) && ($a->argv[1] === 'archived')) {
 -      elseif(($a->argc == 2) && ($a->argv[1] === 'archived')) {
++      } elseif (($a->argc == 2) && ($a->argv[1] === 'archived')) {
                $sql_extra = " AND `archive` = 1 ";
                $archived = true;
--      }
--      else
++      } else {
                $sql_extra = " AND `blocked` = 0 ";
++      }
  
        $search = ((x($_GET,'search')) ? notags(trim($_GET['search'])) : '');
        $nets = ((x($_GET,'nets')) ? notags(trim($_GET['nets'])) : '');
        $tab_tpl = get_markup_template('common_tabs.tpl');
        $t = replace_macros($tab_tpl, array('$tabs'=>$tabs));
  
--
--
        $searching = false;
 -      if($search) {
 +      if ($search) {
                $search_hdr = $search;
                $search_txt = dbesc(protect_sprintf(preg_quote($search)));
                $searching = true;
        }
        $sql_extra .= (($searching) ? " AND (name REGEXP '$search_txt' OR url REGEXP '$search_txt'  OR nick REGEXP '$search_txt') " : "");
  
-       if ($nets)
 -      if($nets)
++      if ($nets) {
                $sql_extra .= sprintf(" AND network = '%s' ", dbesc($nets));
++      }
  
        $sql_extra2 = ((($sort_type > 0) && ($sort_type <= CONTACT_IS_FRIEND)) ? sprintf(" AND `rel` = %d ",intval($sort_type)) : '');
  
--
        $r = q("SELECT COUNT(*) AS `total` FROM `contact`
                WHERE `uid` = %d AND `self` = 0 AND `pending` = 0 $sql_extra $sql_extra2 ",
                intval($_SESSION['uid']));
@@@ -861,23 -857,23 +884,25 @@@ function contacts_tab($a, $contact_id, 
  
        // Show this tab only if there is visible friend list
        $x = count_all_friends(local_user(), $contact_id);
--      if ($x)
++      if ($x) {
                $tabs[] = array('label'=>t('Contacts'),
                                'url' => "allfriends/".$contact_id,
                                'sel' => (($active_tab == 3)?'active':''),
                                'title' => t('View all contacts'),
                                'id' => 'allfriends-tab',
                                'accesskey' => 't');
++      }
  
        // Show this tab only if there is visible common friend list
        $common = count_common_friends(local_user(),$contact_id);
--      if ($common)
++      if ($common) {
                $tabs[] = array('label'=>t('Common Friends'),
                                'url' => "common/loc/".local_user()."/".$contact_id,
                                'sel' => (($active_tab == 4)?'active':''),
                                'title' => t('View all common friends'),
                                'id' => 'common-loc-tab',
                                'accesskey' => 'd');
++      }
  
        $tabs[] = array('label' => t('Advanced'),
                        'url'   => 'crepair/' . $contact_id,
  function contact_posts($a, $contact_id) {
  
        $r = q("SELECT `url` FROM `contact` WHERE `id` = %d", intval($contact_id));
--      if ($r) {
++      if (dbm::is_result($r)) {
                $contact = $r[0];
                $a->page['aside'] = "";
                profile_load($a, "", 0, get_contact_details_by_url($contact["url"]));
--      } else
++      } else {
                $profile = "";
++      }
  
        $tab_str = contacts_tab($a, $contact_id, 1);
  
@@@ -929,11 -925,11 +955,10 @@@ function _contact_detail_for_template($
                default:
                        break;
        }
 -      if(($rr['network'] === NETWORK_DFRN) && ($rr['rel'])) {
 +      if (($rr['network'] === NETWORK_DFRN) && ($rr['rel'])) {
                $url = "redir/{$rr['id']}";
                $sparkle = ' class="sparkle" ';
--      }
--      else {
++      } else {
                $url = $rr['url'];
                $sparkle = '';
        }
diff --cc mod/events.php
index 2dd79a0296a16b29f23ace0757ac3695188df61d,60e7b9f39076bf40c7b361afc05ebe9e987b7d5b..19078ab26a9179b899d9ac8f12e6241c282d78a5
@@@ -116,13 -109,14 +109,14 @@@ function events_post(App $a) 
  
        $share = ((intval($_POST['share'])) ? intval($_POST['share']) : 0);
  
-       $c = q("select id from contact where uid = %d and self = 1 limit 1",
+       $c = q("SELECT `id` FROM `contact` WHERE `uid` = %d AND `self` LIMIT 1",
                intval(local_user())
        );
-       if (count($c))
 -      if (count($c)) {
++      if (dbm::is_result($c)) {
                $self = $c[0]['id'];
-       else
+       } else {
                $self = 0;
+       }
  
  
        if ($share) {
                $str_contact_deny  = perms2str($_POST['contact_deny']);
  
                // Undo the pseudo-contact of self, since there are real contacts now
-               if ( strpos($str_contact_allow, '<' . $self . '>') !== false )
-               {
 -              if (strpos($str_contact_allow, '<' . $self . '>') !== false ) {
++              if (strpos($str_contact_allow, '<' . $self . '>') !== false) {
                        $str_contact_allow = str_replace('<' . $self . '>', '', $str_contact_allow);
                }
                // Make sure to set the `private` field as true. This is necessary to
                $str_group_allow = $str_contact_deny = $str_group_deny = '';
        }
  
--
++      /// @TODO One-time array initialization, one large block
        $datarray = array();
-       $datarray['guid'] = get_guid(32);
-       $datarray['start'] = $start;
-       $datarray['finish'] = $finish;
-       $datarray['summary'] = $summary;
-       $datarray['desc'] = $desc;
-       $datarray['location'] = $location;
-       $datarray['type'] = $type;
-       $datarray['adjust'] = $adjust;
-       $datarray['nofinish'] = $nofinish;
-       $datarray['uid'] = $uid;
-       $datarray['cid'] = $cid;
+       $datarray['guid']      = get_guid(32);
+       $datarray['start']     = $start;
+       $datarray['finish']    = $finish;
+       $datarray['summary']   = $summary;
+       $datarray['desc']      = $desc;
+       $datarray['location']  = $location;
+       $datarray['type']      = $type;
+       $datarray['adjust']    = $adjust;
+       $datarray['nofinish']  = $nofinish;
+       $datarray['uid']       = $uid;
+       $datarray['cid']       = $cid;
        $datarray['allow_cid'] = $str_contact_allow;
        $datarray['allow_gid'] = $str_group_allow;
-       $datarray['deny_cid'] = $str_contact_deny;
-       $datarray['deny_gid'] = $str_group_deny;
-       $datarray['private'] = (($private_event) ? 1 : 0);
-       $datarray['id'] = $event_id;
-       $datarray['created'] = $created;
-       $datarray['edited'] = $edited;
+       $datarray['deny_cid']  = $str_contact_deny;
+       $datarray['deny_gid']  = $str_group_deny;
+       $datarray['private']   = (($private_event) ? 1 : 0);
+       $datarray['id']        = $event_id;
+       $datarray['created']   = $created;
+       $datarray['edited']    = $edited;
  
        if (intval($_REQUEST['preview'])) {
                $html = format_event_html($datarray);
@@@ -416,28 -407,25 +407,27 @@@ function events_content(App $a) 
  
        // Passed parameters overrides anything found in the DB
        if ($mode === 'edit' || $mode === 'new') {
-               if (!x($orig_event)) $orig_event = array();
 -              if (!x($orig_event)) {$orig_event = array();}
++              if (!x($orig_event)) {
++                      $orig_event = array();
++              }
                // In case of an error the browser is redirected back here, with these parameters filled in with the previous values
-               if (x($_REQUEST,'nofinish')) $orig_event['nofinish'] = $_REQUEST['nofinish'];
-               if (x($_REQUEST,'adjust')) $orig_event['adjust'] = $_REQUEST['adjust'];
-               if (x($_REQUEST,'summary')) $orig_event['summary'] = $_REQUEST['summary'];
-               if (x($_REQUEST,'description')) $orig_event['description'] = $_REQUEST['description'];
-               if (x($_REQUEST,'location')) $orig_event['location'] = $_REQUEST['location'];
-               if (x($_REQUEST,'start')) $orig_event['start'] = $_REQUEST['start'];
-               if (x($_REQUEST,'finish')) $orig_event['finish'] = $_REQUEST['finish'];
-       }
-       if ($mode === 'edit' || $mode === 'new') {
+               if (x($_REQUEST, 'nofinish'))    {$orig_event['nofinish']    = $_REQUEST['nofinish'];}
+               if (x($_REQUEST, 'adjust'))      {$orig_event['adjust']      = $_REQUEST['adjust'];}
+               if (x($_REQUEST, 'summary'))     {$orig_event['summary']     = $_REQUEST['summary'];}
+               if (x($_REQUEST, 'description')) {$orig_event['description'] = $_REQUEST['description'];}
+               if (x($_REQUEST, 'location'))    {$orig_event['location']    = $_REQUEST['location'];}
+               if (x($_REQUEST, 'start'))       {$orig_event['start']       = $_REQUEST['start'];}
+               if (x($_REQUEST, 'finish'))      {$orig_event['finish']      = $_REQUEST['finish'];}
  
                $n_checked = ((x($orig_event) && $orig_event['nofinish']) ? ' checked="checked" ' : '');
-               $a_checked = ((x($orig_event) && $orig_event['adjust']) ? ' checked="checked" ' : '');
-               $t_orig = ((x($orig_event)) ? $orig_event['summary'] : '');
-               $d_orig = ((x($orig_event)) ? $orig_event['desc'] : '');
-               $l_orig = ((x($orig_event)) ? $orig_event['location'] : '');
-               $eid = ((x($orig_event)) ? $orig_event['id'] : 0);
-               $cid = ((x($orig_event)) ? $orig_event['cid'] : 0);
-               $uri = ((x($orig_event)) ? $orig_event['uri'] : '');
+               $a_checked = ((x($orig_event) && $orig_event['adjust'])   ? ' checked="checked" ' : '');
  
+               $t_orig = ((x($orig_event)) ? $orig_event['summary']  : '');
+               $d_orig = ((x($orig_event)) ? $orig_event['desc']     : '');
+               $l_orig = ((x($orig_event)) ? $orig_event['location'] : '');
+               $eid    = ((x($orig_event)) ? $orig_event['id']       : 0);
+               $cid    = ((x($orig_event)) ? $orig_event['cid']      : 0);
+               $uri    = ((x($orig_event)) ? $orig_event['uri']      : '');
  
                if (! x($orig_event)) {
                        $sh_checked = '';
index d172febcfed8deba2208c4a50297e4a1465fd8c0,4e82ceaacd4632cdd1cb77d9263d5ed47c789c27..3d7e9fd96d3485f594de1e79f5c9abd7de2623fb
@@@ -234,11 -233,11 +234,11 @@@ function profiles_post(App $a) 
  
                $with = ((x($_POST,'with')) ? notags(trim($_POST['with'])) : '');
  
-               if (! strlen($howlong))
-                       $howlong = '0000-00-00 00:00:00';
-               else
 -              if(! strlen($howlong)) {
++              if (! strlen($howlong)) {
+                       $howlong = NULL_DATE;
+               } else {
                        $howlong = datetime_convert(date_default_timezone_get(),'UTC',$howlong);
+               }
                // linkify the relationship target if applicable
  
                $withchanged = false;
                                $withchanged = true;
                                $prf = '';
                                $lookup = $with;
-                               if (strpos($lookup,'@') === 0)
 -                              if(strpos($lookup,'@') === 0)
++                              if (strpos($lookup,'@') === 0) {
                                        $lookup = substr($lookup,1);
++                              }
                                $lookup = str_replace('_',' ', $lookup);
 -                              if(strpos($lookup,'@') || (strpos($lookup,'http://'))) {
 +                              if (strpos($lookup,'@') || (strpos($lookup,'http://'))) {
                                        $newname = $lookup;
++                                      /// @TODO Maybe kill those error/debugging-surpressing @ characters
                                        $links = @Probe::lrdd($lookup);
 -                                      if(count($links)) {
 -                                              foreach($links as $link) {
 -                                                      if($link['@attributes']['rel'] === 'http://webfinger.net/rel/profile-page') {
 +                                      if (count($links)) {
 +                                              foreach ($links as $link) {
 +                                                      if ($link['@attributes']['rel'] === 'http://webfinger.net/rel/profile-page') {
                                                                $prf = $link['@attributes']['href'];
                                                        }
                                                }
                                        }
--                              }
--                              else {
++                              } else {
                                        $newname = $lookup;
 -/*                                    if(strstr($lookup,' ')) {
 +/*                                    if (strstr($lookup,' ')) {
                                                $r = q("SELECT * FROM `contact` WHERE `name` = '%s' AND `uid` = %d LIMIT 1",
                                                        dbesc($newname),
                                                        intval(local_user())
Simple merge
diff --cc update.php
index 754ed77fc2bdd04f80665f09cf1f92608c766988,3bce492682d16b782863a379aa432111d74e3957..d54063ba74f98ca4816e65bd3bff52fcb8ee8007
@@@ -530,11 -531,9 +530,12 @@@ function update_1065() 
  }
  
  function update_1066() {
 -      $r = q("ALTER TABLE `item` ADD `received` DATETIME NOT NULL DEFAULT '0001-01-01 00:00:00' AFTER `edited` ");
 -      if($r)
 +      $r = q("ALTER TABLE `item` ADD `received` DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00' AFTER `edited` ");
 +
++      /// @TODO Decide to use dbm::is_result() here, what does $r include?
 +      if ($r) {
                q("ALTER TABLE `item` ADD INDEX ( `received` ) ");
 +      }
  
        $r = q("UPDATE `item` SET `received` = `edited` WHERE 1");
  }