]> git.mxchange.org Git - friendica.git/blobdiff - boot.php
little fix
[friendica.git] / boot.php
index f5c0e6f92c4caa8fe83e604df8bd3d4138f537c6..92741eaee840f84b826063c52deec3d62f692d91 100644 (file)
--- a/boot.php
+++ b/boot.php
@@ -2,9 +2,9 @@
 
 set_time_limit(0);
 
-define ( 'FRIENDIKA_VERSION',      '2.1.939' );
-define ( 'DFRN_PROTOCOL_VERSION',  '2.2'  );
-define ( 'DB_UPDATE_VERSION',      1046   );
+define ( 'FRIENDIKA_VERSION',      '2.1.945' );
+define ( 'DFRN_PROTOCOL_VERSION',  '2.21'    );
+define ( 'DB_UPDATE_VERSION',      1048      );
 
 define ( 'EOL',                    "<br />\r\n"     );
 define ( 'ATOM_TIME',              'Y-m-d\TH:i:s\Z' );
@@ -437,15 +437,18 @@ function check_config(&$a) {
 
        load_config('system');
 
-       if(! x($_SERVER,'SERVER_NAME'))
-               return;
-
        $build = get_config('system','build');
        if(! x($build))
                $build = set_config('system','build',DB_UPDATE_VERSION);
 
        $url = get_config('system','url');
-       if(! x($url))
+
+       // if the url isn't set or the stored url is radically different 
+       // than the currently visited url, store the current value accordingly.
+       // "Radically different" ignores common variations such as http vs https 
+       // and www.example.com vs example.com.
+
+       if((! x($url)) || (! link_compare($url,$a->get_baseurl())))
                $url = set_config('system','url',$a->get_baseurl());
 
        if($build != DB_UPDATE_VERSION) {
@@ -2659,14 +2662,19 @@ function extract_item_authors($arr,$uid) {
 
        // pre-quoted, don't put quotes on %s
        if(count($urls)) {
-               $r = q("SELECT `id`,`url` FROM `contact` WHERE `uid` = %d AND `url` IN ( %s ) AND `network` = 'dfrn' AND `self` = 0 AND `blocked` = 0 ",
+               $r = q("SELECT `id`,`network`,`url` FROM `contact` WHERE `uid` = %d AND `url` IN ( %s )  AND `self` = 0 AND `blocked` = 0 ",
                        intval($uid),
                        implode(',',$urls)
                );
                if(count($r)) {
                        $ret = array();
-                       foreach($r as $rr)
-                               $ret[$rr['url']] = $rr['id'];
+                       $authors = array();
+                       foreach($r as $rr){
+                               if ($rr['network']=='dfrn')
+                                       $ret[$rr['url']] = $rr['id'];
+                               $authors[$r['url']]= $rr;
+                       }
+                       $a->authors = $authors;
                        return $ret;
                }
        }
@@ -2678,7 +2686,7 @@ function item_photo_menu($item){
        $a = get_app();
        
        if (!isset($a->authors)){
-               $rr = q("SELECT id, network, url FROM contact WHERE uid=%d AND self!=1", intval(local_user()));
+               $rr = q("SELECT `id`, `network`, `url` FROM `contact` WHERE `uid`=%d AND `self`=0 AND `blocked`=0 ", intval(local_user()));
                $authors = array();
                foreach($rr as $r) $authors[$r['url']]= $r;
                $a->authors = $authors;
@@ -2701,27 +2709,24 @@ function item_photo_menu($item){
        // Then check if we can use a sparkle (redirect) link to the profile by virtue of it being our contact
        // or a friend's contact that we both have a connection to. 
 
-       if(((local_user() && ($profile_owner == 0)) 
-               || ($profile_owner && $profile_owner == local_user())) 
-               && strlen($item['author-link'])) {
-
-               if(link_compare($item['author-link'],$item['url']) && ($item['network'] === 'dfrn') && (! $item['self'])) {
-                       $status_link = $redirect_url."?url=status";
-                       $profile_link = $redirect_url."?url=profile";
-                       $photos_link = $redirect_url."?url=photos";
-                       $pm_url = $a->get_baseurl() . '/message/new/' . $item['cid'];
-                       $contact_url = $item['self']?"":$a->get_baseurl() . '/contacts/' . $item['cid'];
-               } 
+       if((local_user() && ($profile_owner == 0)) 
+               || ($profile_owner && $profile_owner == local_user())) {
+
+               if(strlen($item['author-link']) && link_compare($item['author-link'],$item['url']))
+                       $redir = $redirect_url;
                elseif(isset($a->authors[$item['author-link']])) {
-                       $redirect_url = $a->get_baseurl() . '/redir/' . $a->authors[$item['author-link']]['id'];
-                       $status_link = $redirect_url."?url=status";
-                       $profile_link = $redirect_url."?url=profile";
-                       $photos_link = $redirect_url."?url=photos";
-                       if ($a->authors[$item['author-link']]['network']==='dfrn'){
-                               $pm_url = $a->get_baseurl() . '/message/new/' . $a->authors[$item['author-link']]['id'];
-                       }
-                       $contact_url = $item['self']?"":$a->get_baseurl() . '/contacts/' . $a->authors[$item['author-link']]['id'] ;                                            
+                       $redir = $a->get_baseurl() . '/redir/' . $a->authors[$item['author-link']]['id'];
+                       $cid = $a->authors[$item['author-link']]['id'];
                }
+
+               if($item['network'] === 'dfrn' && (! $item['self'])) {
+                       $status_link = $redir . "?url=status";
+                       $profile_link = $redir . "?url=profile";
+                       $photos_link = $redir . "?url=photos";
+                       $pm_url = $a->get_baseurl() . '/message/new/' . $cid;
+               }
+
+               $contact_url = $item['self']?"":$a->get_baseurl() . '/contacts/' . (($item['cid']) ? $item['cid'] : $cid);
        }