]> git.mxchange.org Git - friendica.git/blobdiff - mod/dfrn_confirm.php
Again, static *OR* object-referencing calls? Blue or red pill?
[friendica.git] / mod / dfrn_confirm.php
index 9c70ba21ab4c19c4721d7b8d345d489af4eb350f..df663f7cd4e285a5c33ccf7cb54016b8b89eff56 100644 (file)
@@ -1,27 +1,32 @@
 <?php
 
-/*
- * Module: dfrn_confirm
+/**
+ * @file mod/dfrn_confirm.php
+ * @brief Module: dfrn_confirm
  * Purpose: Friendship acceptance for DFRN contacts
- *
+ *.
  * There are two possible entry points and three scenarios.
- *
+ *.
  *   1. A form was submitted by our user approving a friendship that originated elsewhere.
  *      This may also be called from dfrn_request to automatically approve a friendship.
  *
  *   2. We may be the target or other side of the conversation to scenario 1, and will
  *      interact with that process on our own user's behalf.
- *
+ *.
+ *  @see PDF with dfrn specs: https://github.com/friendica/friendica/blob/master/spec/dfrn2.pdf
+ *    You also find a graphic which describes the confirmation process at
+ *    https://github.com/friendica/friendica/blob/master/spec/dfrn2_contact_confirmation.png
  */
 
 require_once('include/enotify.php');
 require_once('include/group.php');
+require_once('include/Probe.php');
 
 function dfrn_confirm_post(&$a,$handsfree = null) {
 
        if(is_array($handsfree)) {
 
-               /**
+               /*
                 * We were called directly from dfrn_request due to automatic friend acceptance.
                 * Any $_POST parameters we may require are supplied in the $handsfree array.
                 *
@@ -36,7 +41,7 @@ function dfrn_confirm_post(&$a,$handsfree = null) {
                        $node = $a->argv[1];
        }
 
-               /**
+               /*
                 *
                 * Main entry point. Scenario 1. Our user received a friend request notification (perhaps
                 * from another site) and clicked 'Approve'.
@@ -86,7 +91,7 @@ function dfrn_confirm_post(&$a,$handsfree = null) {
                        $activity = ((x($_POST,'activity'))   ? intval($_POST['activity'])      : 0 );
                }
 
-               /**
+               /*
                 *
                 * Ensure that dfrn_id has precedence when we go to find the contact record.
                 * We only want to search based on contact id if there is no dfrn_id,
@@ -102,7 +107,7 @@ function dfrn_confirm_post(&$a,$handsfree = null) {
                        logger('Confirming follower with contact_id: ' . $cid);
 
 
-               /**
+               /*
                 *
                 * The other person will have been issued an ID when they first requested friendship.
                 * Locate their record. At this time, their record will have both pending and blocked set to 1.
@@ -116,7 +121,7 @@ function dfrn_confirm_post(&$a,$handsfree = null) {
                        intval($uid)
                );
 
-               if(! count($r)) {
+               if(! dbm::is_result($r)) {
                        logger('Contact not found in DB.');
                        notice( t('Contact not found.') . EOL );
                        notice( t('This may occasionally happen if contact was requested by both persons and it has already been approved.') . EOL );
@@ -138,7 +143,7 @@ function dfrn_confirm_post(&$a,$handsfree = null) {
 
                if($network === NETWORK_DFRN) {
 
-                       /**
+                       /*
                         *
                         * Generate a key pair for all further communications with this person.
                         * We have a keypair for every contact, and a site key for unknown people.
@@ -165,7 +170,7 @@ function dfrn_confirm_post(&$a,$handsfree = null) {
 
                        $params = array();
 
-                       /**
+                       /*
                         *
                         * Per the DFRN protocol, we will verify both ends by encrypting the dfrn_id with our
                         * site private key (person on the other end can decrypt it with our site public key).
@@ -211,7 +216,7 @@ function dfrn_confirm_post(&$a,$handsfree = null) {
 
                        logger('Confirm: posting data to ' . $dfrn_confirm . ': ' . print_r($params,true), LOGGER_DATA);
 
-                       /**
+                       /*
                         *
                         * POST all this stuff to the other site.
                         * Temporarily raise the network timeout to 120 seconds because the default 60
@@ -356,7 +361,7 @@ function dfrn_confirm_post(&$a,$handsfree = null) {
                        $poll   = (($contact['poll']) ? $contact['poll'] : '');
 
                        if((! $contact['notify']) || (! $contact['poll'])) {
-                               $arr = lrdd($contact['url']);
+                               $arr = Probe::lrdd($contact['url']);
                                if(count($arr)) {
                                        foreach($arr as $link) {
                                                if($link['@attributes']['rel'] === 'salmon')
@@ -418,7 +423,7 @@ function dfrn_confirm_post(&$a,$handsfree = null) {
                $r = q("SELECT * FROM `contact` WHERE `id` = %d LIMIT 1",
                        intval($contact_id)
                );
-               if(count($r))
+               if (dbm::is_result($r))
                        $contact = $r[0];
                else
                        $contact = null;
@@ -438,7 +443,7 @@ function dfrn_confirm_post(&$a,$handsfree = null) {
                                intval($uid)
                        );
 
-                       if((count($r)) && ($r[0]['hide-friends'] == 0) && ($activity) && (! $hidden)) {
+                       if((dbm::is_result($r)) && ($r[0]['hide-friends'] == 0) && ($activity) && (! $hidden)) {
 
                                require_once('include/items.php');
 
@@ -486,7 +491,7 @@ function dfrn_confirm_post(&$a,$handsfree = null) {
 
                                        $i = item_store($arr);
                                        if($i)
-                                       proc_run('php',"include/notifier.php","activity","$i");
+                                               proc_run(PRIORITY_HIGH, "include/notifier.php", "activity", $i);
                                }
                        }
                }
@@ -505,7 +510,7 @@ function dfrn_confirm_post(&$a,$handsfree = null) {
                //NOTREACHED
        }
 
-       /**
+       /*
         *
         *
         * End of Scenario 1. [Local confirmation of remote friend request].
@@ -548,7 +553,7 @@ function dfrn_confirm_post(&$a,$handsfree = null) {
                $r = q("SELECT * FROM `user` WHERE `nickname` = '%s' LIMIT 1",
                        dbesc($node));
 
-               if(! count($r)) {
+               if(! dbm::is_result($r)) {
                        $message = sprintf(t('No user record found for \'%s\' '), $node);
                        xml_status(3,$message); // failure
                        // NOTREACHED
@@ -579,7 +584,7 @@ function dfrn_confirm_post(&$a,$handsfree = null) {
                        dbesc($decrypted_source_url),
                        intval($local_uid)
                );
-               if(! count($ret)) {
+               if(! dbm::is_result($ret)) {
                        if(strstr($decrypted_source_url,'http:'))
                                $newurl = str_replace('http:','https:',$decrypted_source_url);
                        else
@@ -589,7 +594,7 @@ function dfrn_confirm_post(&$a,$handsfree = null) {
                                dbesc($newurl),
                                intval($local_uid)
                        );
-                       if(! count($ret)) {
+                       if(! dbm::is_result($ret)) {
                                // this is either a bogus confirmation (?) or we deleted the original introduction.
                                $message = t('Contact record was not found for you on our site.');
                                xml_status(3,$message);
@@ -624,7 +629,7 @@ function dfrn_confirm_post(&$a,$handsfree = null) {
                $r = q("SELECT * FROM `contact` WHERE `dfrn-id` = '%s' LIMIT 1",
                        dbesc($decrypted_dfrn_id)
                );
-               if(count($r)) {
+               if (dbm::is_result($r)) {
                        $message = t('The ID provided by your system is a duplicate on our system. It should work if you try again.');
                        xml_status(1,$message); // Birthday paradox - duplicate dfrn-id
                        // NOTREACHED
@@ -635,7 +640,7 @@ function dfrn_confirm_post(&$a,$handsfree = null) {
                        dbesc($dfrn_pubkey),
                        intval($dfrn_record)
                );
-               if(! count($r)) {
+               if(! dbm::is_result($r)) {
                        $message = t('Unable to set your contact credentials on our system.');
                        xml_status(3,$message);
                }
@@ -656,7 +661,7 @@ function dfrn_confirm_post(&$a,$handsfree = null) {
                $r = q("SELECT `photo` FROM `contact` WHERE `id` = %d LIMIT 1",
                        intval($dfrn_record));
 
-               if(count($r))
+               if (dbm::is_result($r))
                        $photo = $r[0]['photo'];
                else
                        $photo = $a->get_baseurl() . '/images/person-175.jpg';
@@ -709,10 +714,10 @@ function dfrn_confirm_post(&$a,$handsfree = null) {
                        intval($dfrn_record)
                );
 
-               if(count($r))
+               if (dbm::is_result($r))
                        $combined = $r[0];
 
-               if((count($r)) && ($r[0]['notify-flags'] & NOTIFY_CONFIRM)) {
+               if((dbm::is_result($r)) && ($r[0]['notify-flags'] & NOTIFY_CONFIRM)) {
                        $mutual = ($new_relation == CONTACT_IS_FRIEND);
                        notification(array(
                                'type'         => NOTIFY_CONFIRM,
@@ -737,7 +742,7 @@ function dfrn_confirm_post(&$a,$handsfree = null) {
                                intval($local_uid)
                        );
 
-                       if((count($r)) && ($r[0]['hide-friends'] == 0)) {
+                       if((dbm::is_result($r)) && ($r[0]['hide-friends'] == 0)) {
 
                                require_once('include/items.php');
 
@@ -783,7 +788,7 @@ function dfrn_confirm_post(&$a,$handsfree = null) {
 
                                        $i = item_store($arr);
                                        if($i)
-                                       proc_run('php',"include/notifier.php","activity","$i");
+                                               proc_run(PRIORITY_HIGH, "include/notifier.php", "activity", $i);
 
                                }
                        }