]> git.mxchange.org Git - friendica.git/commitdiff
Merge remote-tracking branch 'upstream/develop' into 1504-contact-update
authorMichael Vogel <icarus@dabo.de>
Sun, 12 Apr 2015 07:59:28 +0000 (09:59 +0200)
committerMichael Vogel <icarus@dabo.de>
Sun, 12 Apr 2015 07:59:28 +0000 (09:59 +0200)
Conflicts:
mod/contacts.php

15 files changed:
boot.php
include/acl_selectors.php
include/conversation.php
include/follow.php
include/text.php
mod/contacts.php
mod/dfrn_confirm.php
mod/dfrn_request.php
mod/display.php
mod/follow.php [changed mode: 0644->0755]
mod/photos.php
mod/profperm.php
view/templates/auto_request.tpl
view/templates/dfrn_request.tpl
view/templates/follow.tpl

index 6da885117a344c4133d3cf2e1b9127553b3b9ae8..cb380ed99591932f7b22ec563d2eaf88ac8cac2f 100644 (file)
--- a/boot.php
+++ b/boot.php
@@ -1695,7 +1695,6 @@ if(! function_exists('profile_sidebar')) {
                if($a->theme['template_engine'] === 'internal')
                        $location = template_escape($location);
 
-
                $tpl = get_markup_template('profile_vcard.tpl');
                $o .= replace_macros($tpl, array(
                        '$profile' => $p,
index 668544b0bcf8df71afd51cc7628a466078157e4c..b2c4b31c8132e60161c63a747ac840586d566326 100644 (file)
@@ -78,19 +78,19 @@ function contact_selector($selname, $selclass, $preselected = false, $options) {
                if(x($options,'networks')) {
                        switch($options['networks']) {
                                case 'DFRN_ONLY':
-                                       $networks = array('dfrn');
+                                       $networks = array(NETWORK_DFRN);
                                        break;
                                case 'PRIVATE':
                                        if(is_array($a->user) && $a->user['prvnets'])
-                                               $networks = array('dfrn','mail','dspr');
+                                               $networks = array(NETWORK_DFRN,NETWORK_MAIL,NETWORK_DIASPORA);
                                        else
-                                               $networks = array('dfrn','face','mail', 'dspr');
+                                               $networks = array(NETWORK_DFRN,NETWORK_FACEBOOK,NETWORK_MAIL, NETWORK_DIASPORA);
                                        break;
                                case 'TWO_WAY':
                                        if(is_array($a->user) && $a->user['prvnets'])
-                                               $networks = array('dfrn','mail','dspr');
+                                               $networks = array(NETWORK_DFRN,NETWORK_MAIL,NETWORK_DIASPORA);
                                        else
-                                               $networks = array('dfrn','face','mail','dspr','stat');
+                                               $networks = array(NETWORK_DFRN,NETWORK_FACEBOOK,NETWORK_MAIL,NETWORK_DIASPORA,NETWORK_OSTATUS);
                                        break;
                                default:
                                        break;
@@ -181,12 +181,12 @@ function contact_select($selname, $selclass, $preselected = false, $size = 4, $p
                $sql_extra .= sprintf(" AND `rel` = %d ", intval(CONTACT_IS_FRIEND));
        }
 
-       if($privmail) {
-               $sql_extra .= " AND `network` IN ( 'dfrn', 'dspr' ) ";
-       }
-       elseif($privatenet) {
-               $sql_extra .= " AND `network` IN ( 'dfrn', 'mail', 'face', 'dspr' ) ";
-       }
+       if($privmail)
+               $sql_extra .= sprintf(" AND `network` IN ('%s' , '%s') ",
+                                       NETWORK_DFRN, NETWORK_DIASPORA);
+       elseif($privatenet)
+               $sql_extra .= sprintf(" AND `network` IN ('%s' , '%s', '%s', '%s') ",
+                                       NETWORK_DFRN, NETWORK_MAIL, NETWORK_FACEBOOK, NETWORK_DIASPORA);
 
        $tabindex = ($tabindex > 0 ? "tabindex=\"$tabindex\"" : "");
 
index 20b54728c9c5c7509f14cf01e9fe1b56c76b735f..a6ea4da810f634a03edd860cf7cb40d57fd57f3c 100644 (file)
@@ -908,7 +908,7 @@ function like_puller($a,$item,&$arr,$mode) {
 
        if((activity_match($item['verb'],$verb)) && ($item['id'] != $item['parent'])) {
                $url = $item['author-link'];
-               if((local_user()) && (local_user() == $item['uid']) && ($item['network'] === 'dfrn') && (! $item['self']) && (link_compare($item['author-link'],$item['url']))) {
+               if((local_user()) && (local_user() == $item['uid']) && ($item['network'] === NETWORK_DFRN) && (! $item['self']) && (link_compare($item['author-link'],$item['url']))) {
                        $url = $a->get_baseurl(true) . '/redir/' . $item['contact-id'];
                        $sparkle = ' class="sparkle" ';
                }
index ba036cd48d2dbf764c84399d6513f8a98250337a..287a38b6bffb03c33e81f5856da461661e3d6be0 100644 (file)
@@ -15,7 +15,7 @@
 
 function new_contact($uid,$url,$interactive = false) {
 
-       $result = array('success' => false,'message' => '');
+       $result = array('cid' => -1, 'success' => false,'message' => '');
 
        $a = get_app();
 
@@ -208,7 +208,7 @@ function new_contact($uid,$url,$interactive = false) {
 
        $contact = $r[0];
        $contact_id  = $r[0]['id'];
-
+       $result['cid'] = $contact_id;
 
        $g = q("select def_gid from user where uid = %d limit 1",
                intval($uid)
index 8ce54b3c6786c130a6c93e5e72402e855946418b..fd5ae0a2b67e646ca652465ce1449de51ba41625 100644 (file)
@@ -920,7 +920,7 @@ function micropro($contact, $redirect = false, $class = '', $textmode = false) {
        if($redirect) {
                $a = get_app();
                $redirect_url = $a->get_baseurl() . '/redir/' . $contact['id'];
-               if(local_user() && ($contact['uid'] == local_user()) && ($contact['network'] === 'dfrn')) {
+               if(local_user() && ($contact['uid'] == local_user()) && ($contact['network'] === NETWORK_DFRN)) {
                        $redir = true;
                        $url = $redirect_url;
                        $sparkle = ' sparkle';
index 05a84279b01270322583c36999ff71ed16060efa..2e70c9ab88eb10404b24dcc1a428efa3b1aedc25 100644 (file)
@@ -35,7 +35,7 @@ function contacts_init(&$a) {
                        $vcard_widget = replace_macros(get_markup_template("vcard-widget.tpl"),array(
                                '$name' => $a->data['contact']['name'],
                                '$photo' => $a->data['contact']['photo'],
-                               '$url' => ($a->data['contact']['network'] == 'dfrn') ? $a->get_baseurl()."/redir/".$a->data['contact']['id'] : $a->data['contact']['url']
+                               '$url' => ($a->data['contact']['network'] == NETWORK_DFRN) ? $a->get_baseurl()."/redir/".$a->data['contact']['id'] : $a->data['contact']['url']
                        ));
                        $follow_widget = '';
        }
@@ -745,7 +745,7 @@ function contacts_content(&$a) {
                                default:
                                        break;
                        }
-                       if(($rr['network'] === 'dfrn') && ($rr['rel'])) {
+                       if(($rr['network'] === NETWORK_DFRN) && ($rr['rel'])) {
                                $url = "redir/{$rr['id']}";
                                $sparkle = ' class="sparkle" ';
                        }
index f1ce296d901c727ca338040733b5284779641483..1cc258853b9b52e154cfc1b795d93bb089ebd2dc 100644 (file)
@@ -340,7 +340,7 @@ function dfrn_confirm_post(&$a,$handsfree = null) {
                                `pending` = 0,
                                `duplex` = %d,
                                `hidden` = %d,
-                               `network` = 'dfrn' WHERE `id` = %d
+                               `network` = '%s' WHERE `id` = %d
                        ",
                                dbesc($photos[0]),
                                dbesc($photos[1]),
@@ -351,6 +351,7 @@ function dfrn_confirm_post(&$a,$handsfree = null) {
                                dbesc(datetime_convert()),
                                intval($duplex),
                                intval($hidden),
+                               dbesc(NETWORK_DFRN),
                                intval($contact_id)
                        );
                }
index aee8c0306f28cfedeb9850f7a7387d2009d292d9..62b6f4bd700f80aaea4dc69729e57eeb238d2f1e 100644 (file)
@@ -664,6 +664,21 @@ function dfrn_request_content(&$a) {
                $dfrn_url = notags(trim(hex2bin($_GET['dfrn_url'])));
                $aes_allow = (((x($_GET,'aes_allow')) && ($_GET['aes_allow'] == 1)) ? 1 : 0);
                $confirm_key = (x($_GET,'confirm_key') ? $_GET['confirm_key'] : "");
+
+               // Checking fastlane for validity
+               if (x($_SESSION, "fastlane") AND (normalise_link($_SESSION["fastlane"]) == normalise_link($dfrn_url))) {
+                       $_POST["dfrn_url"] = $dfrn_url;
+                       $_POST["confirm_key"] = $confirm_key;
+                       $_POST["localconfirm"] = 1;
+                       $_POST["hidden-contact"] = 0;
+                       $_POST["submit"] = t('Confirm');
+
+                       dfrn_request_post($a);
+
+                       killme();
+                       return; // NOTREACHED
+               }
+
                $tpl = get_markup_template("dfrn_req_confirm.tpl");
                $o  = replace_macros($tpl,array(
                        '$dfrn_url' => $dfrn_url,
index f483977cd4f847aebc639bbe93a4f85a499b921d..02ff37bf8348cd2256dc99a298b351dde4f52de8 100644 (file)
@@ -193,11 +193,13 @@ function display_fetchauthor($a, $item) {
        }
 
        if (local_user()) {
-               if ($profiledata["network"] == NETWORK_DFRN) {
-                       $connect = str_replace("/profile/", "/dfrn_request/", $profiledata["url"])."&addr=".bin2hex($a->get_baseurl()."/profile/".$a->user["nickname"]);
-                       $profiledata["remoteconnect"] = $connect;
-               } elseif ($profiledata["network"] == NETWORK_DIASPORA)
-                       $profiledata["remoteconnect"] = $a->get_baseurl()."/contacts?add=".GetProfileUsername($profiledata["url"], "", true);
+               if (in_array($profiledata["network"], array(NETWORK_DFRN, NETWORK_DIASPORA, NETWORK_OSTATUS)))
+                       $profiledata["remoteconnect"] = $a->get_baseurl()."/follow?url=".urlencode($profiledata["url"]);
+               //if ($profiledata["network"] == NETWORK_DFRN) {
+               //      $connect = str_replace("/profile/", "/dfrn_request/", $profiledata["url"])."&addr=".bin2hex($a->get_baseurl()."/profile/".$a->user["nickname"]);
+               //      $profiledata["remoteconnect"] = $connect;
+               //} elseif ($profiledata["network"] == NETWORK_DIASPORA)
+               //      $profiledata["remoteconnect"] = $a->get_baseurl()."/contacts?add=".GetProfileUsername($profiledata["url"], "", true);
        } elseif ($profiledata["network"] == NETWORK_DFRN) {
                $connect = str_replace("/profile/", "/dfrn_request/", $profiledata["url"]);
                $profiledata["remoteconnect"] = $connect;
old mode 100644 (file)
new mode 100755 (executable)
index 5c2c764..b9401ee
@@ -3,7 +3,7 @@
 require_once('include/Scrape.php');
 require_once('include/follow.php');
 
-function follow_init(&$a) {
+function follow_content(&$a) {
 
        if(! local_user()) {
                notice( t('Permission denied.') . EOL);
@@ -11,10 +11,85 @@ function follow_init(&$a) {
                // NOTREACHED
        }
 
+       $uid = local_user();
+       $url = notags(trim($_REQUEST['url']));
+
+       $r = q("SELECT `url` FROM `contact` WHERE `uid` = %d AND (`nurl` = '%s' OR `alias` = '%s' OR `alias` = '%s') LIMIT 1",
+               intval(local_user()), dbesc(normalise_link($url)), dbesc(normalise_link($url)), dbesc($url));
+
+       if ($r) {
+               notice(t('You already added this contact.').EOL);
+               goaway($_SESSION['return_url']);
+               // NOTREACHED
+       }
+
+       $ret = probe_url($url);
+
+       if($ret['network'] === NETWORK_DFRN) {
+               $request = $ret["request"];
+               $tpl = get_markup_template('dfrn_request.tpl');
+       } else {
+               $request = $a->get_baseurl()."/follow";
+               $tpl = get_markup_template('auto_request.tpl');
+       }
+
+       $r = q("SELECT `url` FROM `contact` WHERE `uid` = %d AND `self` LIMIT 1", intval($uid));
+
+       if (!$r) {
+               notice( t('Permission denied.') . EOL);
+               goaway($_SESSION['return_url']);
+               // NOTREACHED
+       }
+
+       $myaddr = $r[0]["url"];
+
+       // Makes the connection request for friendica contacts easier
+       $_SESSION["fastlane"] = $ret["url"];
+
+       $o  = replace_macros($tpl,array(
+                       '$header' => $ret["name"]." (".$ret["addr"].")",
+                       '$photo' => $ret["photo"],
+                        '$desc' => "",
+                        '$pls_answer' => t('Please answer the following:'),
+                        '$does_know_you' => array('knowyou', sprintf(t('Does %s know you?'),$ret["name"]), false, '', array(t('No'),t('Yes'))),
+                        '$add_note' => t('Add a personal note:'),
+                        '$page_desc' => "",
+                        '$friendica' => "",
+                        '$statusnet' => "",
+                        '$diaspora' => "",
+                        '$diasnote' => "",
+                        '$your_address' => t('Your Identity Address:'),
+                        '$invite_desc' => "",
+                        '$emailnet' => "",
+                        '$submit' => t('Submit Request'),
+                        '$cancel' => t('Cancel'),
+                        '$nickname' => "",
+                        '$name' => $ret["name"],
+                        '$url' => $ret["url"],
+                        '$myaddr' => $myaddr,
+                       '$request' => $request
+       ));
+       return $o;
+}
+
+function follow_post(&$a) {
+
+       if(! local_user()) {
+               notice( t('Permission denied.') . EOL);
+               goaway($_SESSION['return_url']);
+               // NOTREACHED
+       }
+
+       if ($_REQUEST['cancel'])
+               goaway($_SESSION['return_url']);
+
        $uid = local_user();
        $url = notags(trim($_REQUEST['url']));
        $return_url = $_SESSION['return_url'];
 
+       // Makes the connection request for friendica contacts easier
+       // This is just a precaution if maybe this page is called somewhere directly via POST
+       $_SESSION["fastlane"] = $url;
 
        $result = new_contact($uid,$url,true);
 
@@ -22,12 +97,13 @@ function follow_init(&$a) {
                if($result['message'])
                        notice($result['message']);
                goaway($return_url);
-       }
+       } elseif ($result['cid'])
+               goaway($a->get_baseurl().'/contacts/'.$result['cid']);
 
-       info( t('Contact added') . EOL);
+       info( t('Contact added').EOL);
 
        if(strstr($return_url,'contacts'))
-               goaway($a->get_baseurl() . '/contacts/' . $contact_id);
+               goaway($a->get_baseurl().'/contacts/'.$contact_id);
 
        goaway($return_url);
        // NOTREACHED
index 003bcd915089175db61253bb7ef4d83a52e2fd64..f8bba01b00cd0de593986470127ed752e86c681d 100644 (file)
@@ -1628,7 +1628,7 @@ function photos_content(&$a) {
 
 
                                        if(local_user() && ($item['contact-uid'] == local_user())
-                                               && ($item['network'] == 'dfrn') && (! $item['self'] )) {
+                                               && ($item['network'] == NETWORK_DFRN) && (! $item['self'] )) {
                                                $profile_url = $redirect_url;
                                                $sparkle = ' sparkle';
                                        }
index 444f7a5eabf2a49003dff5c3eaf2447ea4e79ce5..077f695bea14c15be10f592258847bcd6e3d1198 100644 (file)
@@ -37,7 +37,8 @@ function profperm_content(&$a) {
 
        if(($a->argc > 2) && intval($a->argv[1]) && intval($a->argv[2])) {
                $r = q("SELECT `id` FROM `contact` WHERE `blocked` = 0 AND `pending` = 0 AND `self` = 0
-                       AND `network` = 'dfrn' AND `id` = %d AND `uid` = %d LIMIT 1",
+                       AND `network` = '%s' AND `id` = %d AND `uid` = %d LIMIT 1",
+                       dbesc(NETWORK_DFRN),
                        intval($a->argv[2]),
                        intval(local_user())
                );
@@ -130,10 +131,11 @@ function profperm_content(&$a) {
        $o .= '<h3>' . t("All Contacts \x28with secure profile access\x29") . '</h3>';
        $o .= '</div>';
        $o .= '<div id="prof-all-contacts">';
-               
-               $r = q("SELECT * FROM `contact` WHERE `uid` = %d AND `blocked` = 0 and `pending` = 0 and `self` = 0 
-                       AND `network` = 'dfrn' ORDER BY `name` ASC",
-                       intval(local_user())
+
+               $r = q("SELECT * FROM `contact` WHERE `uid` = %d AND `blocked` = 0 and `pending` = 0 and `self` = 0
+                       AND `network` = '%s' ORDER BY `name` ASC",
+                       intval(local_user()),
+                       dbesc(NETWORK_DFRN)
                );
 
                if(count($r)) {
index b987b7849cb6eb95ab5d25179b173a8860a5a422..56653c6550212ad565539f8ac73575200430fa60 100644 (file)
 </p>
 {{/if}}
 
+{{if $request}}
+<form action="{{$request}}" method="post" />
+{{else}}
 <form action="dfrn_request/{{$nickname}}" method="post" />
+{{/if}}
+
+{{if $photo}}
+<img src="{{$photo}}" alt="" id="dfrn-request-photo">
+{{/if}}
 
 <div id="dfrn-request-url-wrapper" >
        <label id="dfrn-url-label" for="dfrn-url" >{{$your_address}}</label>
         {{if $myaddr}}
                 {{$myaddr}}
-                <input type="hidden" name="dfrn_url" id="dfrn-url" size="32" value="{{$myaddr|escape:'html'}}" />
+                <input type="hidden" name="dfrn_url" id="dfrn-url" value="{{$myaddr|escape:'html'}}" />
         {{else}}
         <input type="text" name="dfrn_url" id="dfrn-url" size="32" value="{{$myaddr|escape:'html'}}" />
         {{/if}}
+        {{if $url}}
+                <input type="hidden" name="url" id="url" value="{{$url|escape:'html'}}" />
+        {{/if}}
        <div id="dfrn-request-url-end"></div>
 </div>
 
index 44c8ef1e6a180680955c66f6687693d005b34c2e..6c63c5331507d486c553a64c375af03e7f545697 100644 (file)
@@ -1,5 +1,3 @@
-
-
 <h1>{{$header}}</h1>
 
 {{if $myaddr}}
 </p>
 {{/if}}
 
+{{if $request}}
+<form action="{{$request}}" method="post" />
+{{else}}
 <form action="dfrn_request/{{$nickname}}" method="post" />
+{{/if}}
+
+{{if $photo}}
+<img src="{{$photo}}" alt="" id="dfrn-request-photo">
+{{/if}}
 
 <div id="dfrn-request-url-wrapper" >
        <label id="dfrn-url-label" for="dfrn-url" >{{$your_address}}</label>
@@ -29,6 +35,9 @@
        {{else}}
        <input type="text" name="dfrn_url" id="dfrn-url" size="32" value="{{$myaddr|escape:'html'}}" />
        {{/if}}
+       {{if $url}}
+               <input type="hidden" name="url" id="url" value="{{$url|escape:'html'}}" />
+       {{/if}}
        <div id="dfrn-request-url-end"></div>
 </div>
 
index c4d18876573aeddecdab4eb2e03d174e3d6dcc66..ece5ed17b860e6e6a1388507d501400c4c5b12ed 100644 (file)
@@ -2,7 +2,7 @@
 <div id="follow-sidebar" class="widget">
        <h3>{{$connect}}</h3>
        <div id="connect-desc">{{$desc}}</div>
-       <form action="follow" method="post" >
+       <form action="follow" method="get" >
                <input id="side-follow-url" type="text" name="url" value="{{$value|escape:'html'}}" size="24" placeholder="{{$hint|escape:'html'}}" title="{{$hint|escape:'html'}}" /><input id="side-follow-submit" type="submit" name="submit" value="{{$follow|escape:'html'}}" />
        </form>
 </div>