]> git.mxchange.org Git - friendica.git/blobdiff - mod/dfrn_confirm.php
Improve Console/Config display for array values
[friendica.git] / mod / dfrn_confirm.php
index a712e439f725e5ee72c5049040c29b2d6e739174..0bcf137857ab5a2ca6f3e8614e4327dfd4e7451a 100644 (file)
@@ -26,10 +26,14 @@ use Friendica\Core\Worker;
 use Friendica\Database\DBM;
 use Friendica\Model\Contact;
 use Friendica\Model\Group;
+use Friendica\Model\Item;
 use Friendica\Model\User;
 use Friendica\Network\Probe;
 use Friendica\Protocol\Diaspora;
 use Friendica\Util\Crypto;
+use Friendica\Util\DateTimeFormat;
+use Friendica\Util\Network;
+use Friendica\Util\XML;
 
 require_once 'include/enotify.php';
 require_once 'include/items.php';
@@ -79,14 +83,12 @@ function dfrn_confirm_post(App $a, $handsfree = null)
                        $duplex   = $handsfree['duplex'];
                        $cid      = 0;
                        $hidden   = intval(defaults($handsfree, 'hidden'  , 0));
-                       $activity = intval(defaults($handsfree, 'activity', 0));
                } else {
                        $dfrn_id  = notags(trim(defaults($_POST, 'dfrn_id'   , '')));
                        $intro_id =      intval(defaults($_POST, 'intro_id'  , 0));
                        $duplex   =      intval(defaults($_POST, 'duplex'    , 0));
                        $cid      =      intval(defaults($_POST, 'contact_id', 0));
                        $hidden   =      intval(defaults($_POST, 'hidden'    , 0));
-                       $activity =      intval(defaults($_POST, 'activity'  , 0));
                }
 
                /*
@@ -220,7 +222,7 @@ function dfrn_confirm_post(App $a, $handsfree = null)
                         *
                         */
 
-                       $res = post_url($dfrn_confirm, $params, null, $redirects, 120);
+                       $res = Network::post($dfrn_confirm, $params, null, $redirects, 120);
 
                        logger(' Confirm: received data: ' . $res, LOGGER_DATA);
 
@@ -251,7 +253,7 @@ function dfrn_confirm_post(App $a, $handsfree = null)
                                return;
                        }
 
-                       $xml = parse_xml_string($res);
+                       $xml = XML::parseString($res);
                        $status = (int) $xml->status;
                        $message = unxmlify($xml->message);   // human readable text of what may have gone wrong.
                        switch ($status) {
@@ -279,12 +281,14 @@ function dfrn_confirm_post(App $a, $handsfree = null)
                                notice(L10n::t('Remote site reported: ') . $message . EOL);
                        }
 
-                       if (($status == 0) && ($intro_id)) {
+                       if (($status == 0) && $intro_id) {
+                               $intro = dba::selectFirst('intro', ['note'], ['id' => $intro_id]);
+                               if (DBM::is_result($intro)) {
+                                       dba::update('contact', ['reason' => $intro['note']], ['id' => $contact_id]);
+                               }
+
                                // Success. Delete the notification.
-                               q("DELETE FROM `intro` WHERE `id` = %d AND `uid` = %d",
-                                       intval($intro_id),
-                                       intval($uid)
-                               );
+                               dba::delete('intro', ['id' => $intro_id]);
                        }
 
                        if ($status != 0) {
@@ -323,8 +327,8 @@ function dfrn_confirm_post(App $a, $handsfree = null)
                                `network` = '%s' WHERE `id` = %d
                        ",
                                intval($new_relation),
-                               dbesc(datetime_convert()),
-                               dbesc(datetime_convert()),
+                               dbesc(DateTimeFormat::utcNow()),
+                               dbesc(DateTimeFormat::utcNow()),
                                intval($duplex),
                                intval($hidden),
                                dbesc(NETWORK_DFRN),
@@ -356,10 +360,7 @@ function dfrn_confirm_post(App $a, $handsfree = null)
                                }
                        }
 
-                       q("DELETE FROM `intro` WHERE `id` = %d AND `uid` = %d",
-                               intval($intro_id),
-                               intval($uid)
-                       );
+                       dba::delete('intro', ['id' => $intro_id]);
 
                        $r = q("UPDATE `contact` SET `name-date` = '%s',
                                `uri-date` = '%s',
@@ -374,8 +375,8 @@ function dfrn_confirm_post(App $a, $handsfree = null)
                                `rel` = %d
                                WHERE `id` = %d
                        ",
-                               dbesc(datetime_convert()),
-                               dbesc(datetime_convert()),
+                               dbesc(DateTimeFormat::utcNow()),
+                               dbesc(DateTimeFormat::utcNow()),
                                dbesc($addr),
                                dbesc($notify),
                                dbesc($poll),
@@ -387,7 +388,6 @@ function dfrn_confirm_post(App $a, $handsfree = null)
                        );
                }
 
-               /// @TODO is DBM::is_result() working here?
                if (!DBM::is_result($r)) {
                        notice(L10n::t('Unable to set contact photo.') . EOL);
                }
@@ -399,50 +399,6 @@ function dfrn_confirm_post(App $a, $handsfree = null)
                                $ret = Diaspora::sendShare($user, $contact);
                                logger('share returns: ' . $ret);
                        }
-
-                       // Send a new friend post if we are allowed to...
-                       $profile = dba::selectFirst('profile', ['hide-friends'], ['is-default' => true, 'uid' => $uid]);
-                       if (x($profile, 'hide-friends') === 0 && $activity && !$hidden) {
-                               $self = dba::selectFirst('contact', [], ['self' => true, 'uid' => $uid]);
-                               if (DBM::is_result($self)) {
-                                       $arr = [];
-                                       $arr['guid'] = get_guid(32);
-                                       $arr['uri'] = $arr['parent-uri'] = item_new_uri($a->get_hostname(), $uid);
-                                       $arr['uid'] = $uid;
-                                       $arr['contact-id'] = $self['id'];
-                                       $arr['wall'] = 1;
-                                       $arr['type'] = 'wall';
-                                       $arr['gravity'] = 0;
-                                       $arr['origin'] = 1;
-                                       $arr['author-name']   = $arr['owner-name']   = $self['name'];
-                                       $arr['author-link']   = $arr['owner-link']   = $self['url'];
-                                       $arr['author-avatar'] = $arr['owner-avatar'] = $self['thumb'];
-
-                                       $A = '[url=' . $self['url'] . ']' . $self['name'] . '[/url]';
-                                       $B = '[url=' . $contact['url'] . ']' . $contact['name'] . '[/url]';
-                                       $BPhoto = '[url=' . $contact['url'] . ']' . '[img]' . $contact['thumb'] . '[/img][/url]';
-
-                                       $arr['verb'] = ACTIVITY_FRIEND;
-                                       $arr['object-type'] = ACTIVITY_OBJ_PERSON;
-                                       $arr['body'] = L10n::t('%1$s is now friends with %2$s', $A, $B) . "\n\n\n" . $BPhoto;
-
-                                       $arr['object'] = '<object><type>' . ACTIVITY_OBJ_PERSON . '</type><title>' . $contact['name'] . '</title>'
-                                               . '<id>' . $contact['url'] . '/' . $contact['name'] . '</id>';
-                                       $arr['object'] .= '<link>' . xmlify('<link rel="alternate" type="text/html" href="' . $contact['url'] . '" />' . "\n");
-                                       $arr['object'] .= xmlify('<link rel="photo" type="image/jpeg" href="' . $contact['thumb'] . '" />' . "\n");
-                                       $arr['object'] .= '</link></object>' . "\n";
-
-                                       $arr['allow_cid'] = $user['allow_cid'];
-                                       $arr['allow_gid'] = $user['allow_gid'];
-                                       $arr['deny_cid']  = $user['deny_cid'];
-                                       $arr['deny_gid']  = $user['deny_gid'];
-
-                                       $i = item_store($arr);
-                                       if ($i) {
-                                               Worker::add(PRIORITY_HIGH, "Notifier", "activity", $i);
-                                       }
-                               }
-                       }
                }
 
                Group::addMember(User::getDefaultGroup($uid, $contact["network"]), $contact['id']);
@@ -492,7 +448,7 @@ function dfrn_confirm_post(App $a, $handsfree = null)
                $user = dba::selectFirst('user', [], ['nickname' => $node]);
                if (!DBM::is_result($user)) {
                        $message = L10n::t('No user record found for \'%s\' ', $node);
-                       xml_status(3, $message); // failure
+                       System::xmlExit(3, $message); // failure
                        // NOTREACHED
                }
 
@@ -502,7 +458,7 @@ function dfrn_confirm_post(App $a, $handsfree = null)
 
                if (!strstr($my_prvkey, 'PRIVATE KEY')) {
                        $message = L10n::t('Our site encryption key is apparently messed up.');
-                       xml_status(3, $message);
+                       System::xmlExit(3, $message);
                }
 
                // verify everything
@@ -513,7 +469,7 @@ function dfrn_confirm_post(App $a, $handsfree = null)
 
                if (!strlen($decrypted_source_url)) {
                        $message = L10n::t('Empty site URL was provided or URL could not be decrypted by us.');
-                       xml_status(3, $message);
+                       System::xmlExit(3, $message);
                        // NOTREACHED
                }
 
@@ -529,7 +485,7 @@ function dfrn_confirm_post(App $a, $handsfree = null)
                        if (!DBM::is_result($contact)) {
                                // this is either a bogus confirmation (?) or we deleted the original introduction.
                                $message = L10n::t('Contact record was not found for you on our site.');
-                               xml_status(3, $message);
+                               System::xmlExit(3, $message);
                                return; // NOTREACHED
                        }
                }
@@ -543,7 +499,7 @@ function dfrn_confirm_post(App $a, $handsfree = null)
 
                if (!$foreign_pubkey) {
                        $message = L10n::t('Site public key not available in contact record for URL %s.', $decrypted_source_url);
-                       xml_status(3, $message);
+                       System::xmlExit(3, $message);
                }
 
                $decrypted_dfrn_id = "";
@@ -559,7 +515,7 @@ function dfrn_confirm_post(App $a, $handsfree = null)
 
                if (dba::exists('contact', ['dfrn-id' => $decrypted_dfrn_id])) {
                        $message = L10n::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
+                       System::xmlExit(1, $message); // Birthday paradox - duplicate dfrn-id
                        // NOTREACHED
                }
 
@@ -570,7 +526,7 @@ function dfrn_confirm_post(App $a, $handsfree = null)
                );
                if (!DBM::is_result($r)) {
                        $message = L10n::t('Unable to set your contact credentials on our system.');
-                       xml_status(3, $message);
+                       System::xmlExit(3, $message);
                }
 
                // It's possible that the other person also requested friendship.
@@ -615,8 +571,8 @@ function dfrn_confirm_post(App $a, $handsfree = null)
                        `network` = '%s' WHERE `id` = %d
                ",
                        intval($new_relation),
-                       dbesc(datetime_convert()),
-                       dbesc(datetime_convert()),
+                       dbesc(DateTimeFormat::utcNow()),
+                       dbesc(DateTimeFormat::utcNow()),
                        intval($duplex),
                        intval($forum),
                        intval($prv),
@@ -625,7 +581,7 @@ function dfrn_confirm_post(App $a, $handsfree = null)
                );
                if (!DBM::is_result($r)) {      // indicates schema is messed up or total db failure
                        $message = L10n::t('Unable to update your contact profile details on our system');
-                       xml_status(3, $message);
+                       System::xmlExit(3, $message);
                }
 
                // Otherwise everything seems to have worked and we are almost done. Yay!
@@ -663,50 +619,7 @@ function dfrn_confirm_post(App $a, $handsfree = null)
                        }
                }
 
-               // Send a new friend post if we are allowed to...
-               if ($page && intval(PConfig::get($local_uid, 'system', 'post_joingroup'))) {
-                       $profile = dba::selectFirst('profile', ['hide-friends'], ['is-default' => true, 'uid' => $local_uid]);
-                       if (x($profile, 'hide-friends') === 0) {
-                               $self = dba::selectFirst('contact', [], ['self' => true, 'uid' => $local_uid]);
-                               if (DBM::is_result($self)) {
-                                       $arr = [];
-                                       $arr['uri'] = $arr['parent-uri'] = item_new_uri($a->get_hostname(), $local_uid);
-                                       $arr['uid'] = $local_uid;
-                                       $arr['contact-id'] = $self['id'];
-                                       $arr['wall'] = 1;
-                                       $arr['type'] = 'wall';
-                                       $arr['gravity'] = 0;
-                                       $arr['origin'] = 1;
-                                       $arr['author-name']   = $arr['owner-name']   = $self['name'];
-                                       $arr['author-link']   = $arr['owner-link']   = $self['url'];
-                                       $arr['author-avatar'] = $arr['owner-avatar'] = $self['thumb'];
-
-                                       $A = '[url=' . $self['url'] . ']' . $self['name'] . '[/url]';
-                                       $B = '[url=' . $combined['url'] . ']' . $combined['name'] . '[/url]';
-                                       $BPhoto = '[url=' . $combined['url'] . ']' . '[img]' . $combined['thumb'] . '[/img][/url]';
-
-                                       $arr['verb'] = ACTIVITY_JOIN;
-                                       $arr['object-type'] = ACTIVITY_OBJ_GROUP;
-                                       $arr['body'] = L10n::t('%1$s has joined %2$s', $A, $B) . "\n\n\n" . $BPhoto;
-                                       $arr['object'] = '<object><type>' . ACTIVITY_OBJ_GROUP . '</type><title>' . $combined['name'] . '</title>'
-                                               . '<id>' . $combined['url'] . '/' . $combined['name'] . '</id>';
-                                       $arr['object'] .= '<link>' . xmlify('<link rel="alternate" type="text/html" href="' . $combined['url'] . '" />' . "\n");
-                                       $arr['object'] .= xmlify('<link rel="photo" type="image/jpeg" href="' . $combined['thumb'] . '" />' . "\n");
-                                       $arr['object'] .= '</link></object>' . "\n";
-
-                                       $arr['allow_cid'] = $user['allow_cid'];
-                                       $arr['allow_gid'] = $user['allow_gid'];
-                                       $arr['deny_cid']  = $user['deny_cid'];
-                                       $arr['deny_gid']  = $user['deny_gid'];
-
-                                       $i = item_store($arr);
-                                       if ($i) {
-                                               Worker::add(PRIORITY_HIGH, "Notifier", "activity", $i);
-                                       }
-                               }
-                       }
-               }
-               xml_status(0); // Success
+               System::xmlExit(0); // Success
                return; // NOTREACHED
                ////////////////////// End of this scenario ///////////////////////////////////////////////
        }