]> git.mxchange.org Git - friendica.git/commitdiff
refactor updates
authorfriendica <info@friendica.com>
Mon, 12 Dec 2011 22:39:25 +0000 (14:39 -0800)
committerfriendica <info@friendica.com>
Mon, 12 Dec 2011 22:39:25 +0000 (14:39 -0800)
js/main.js
mod/network.php
mod/profile.php

index 3428886e70cc59072d40d3fdd283f5040eb22c5e..2cbd985b26ebb537b7d35e33156791eea6e31c01 100644 (file)
 
                        $('.tread-wrapper',data).each(function() {
                                var ident = $(this).attr('id');
-                               if($('#' + ident).length == 0) {
+                               if($('#' + ident).length == 0 && profile_page == 1) {
                                        $('img',this).each(function() {
                                                $(this).attr('src',$(this).attr('dst'));
                                        });
index 3df8a210597fcec65d17aad193fb6d81676706b2..3a2d3cb8c343051715c8d913f4fc051a3ec5688b 100644 (file)
@@ -266,16 +266,6 @@ function network_content(&$a, $update = 0) {
 
        }
 
-       // We aren't going to try and figure out at the item, group, and page
-       // level which items you've seen and which you haven't. If you're looking
-       // at the top level network page just mark everything seen. 
-       
-       if((! $group) && (! $cid) && (! $star)) {
-               $r = q("UPDATE `item` SET `unseen` = 0 
-                       WHERE `unseen` = 1 AND `uid` = %d",
-                       intval($_SESSION['uid'])
-               );
-       }
 
        // We don't have to deal with ACL's on this page. You're looking at everything
        // that belongs to you, hence you can see all of it. We will filter by group if
@@ -382,21 +372,31 @@ function network_content(&$a, $update = 0) {
        }
 
 
+       if($update) {
 
-       $r = q("SELECT COUNT(*) AS `total`
-               FROM `item` LEFT JOIN `contact` ON `contact`.`id` = `item`.`contact-id`
-               WHERE `item`.`uid` = %d AND `item`.`visible` = 1 AND `item`.`deleted` = 0
-               AND `contact`.`blocked` = 0 AND `contact`.`pending` = 0
-               $sql_extra2
-               $sql_extra ",
-               intval($_SESSION['uid'])
-       );
+               // only setup pagination on initial page view
+               $pager_sql = '';
+               $update_sql = " AND unseen = 1 ";
 
-       if(count($r)) {
-               $a->set_pager_total($r[0]['total']);
-               $a->set_pager_itemspage(40);
        }
+       else {
+               $r = q("SELECT COUNT(*) AS `total`
+                       FROM `item` LEFT JOIN `contact` ON `contact`.`id` = `item`.`contact-id`
+                       WHERE `item`.`uid` = %d AND `item`.`visible` = 1 AND `item`.`deleted` = 0
+                       AND `contact`.`blocked` = 0 AND `contact`.`pending` = 0
+                       $sql_extra2
+                       $sql_extra ",
+                       intval($_SESSION['uid'])
+               );
 
+               if(count($r)) {
+                       $a->set_pager_total($r[0]['total']);
+                       $a->set_pager_itemspage(40);
+               }
+
+               $pager_sql = sprintf(" LIMIT %d, %d ",intval($a->pager['start']), intval($a->pager['itemspage']));
+               $update_sql = '';
+       }
 
        if($nouveau) {
 
@@ -408,13 +408,12 @@ function network_content(&$a, $update = 0) {
                        `contact`.`id` AS `cid`, `contact`.`uid` AS `contact-uid`
                        FROM `item`, `contact`
                        WHERE `item`.`uid` = %d AND `item`.`visible` = 1 AND `item`.`deleted` = 0
+                       $update_sql
                        AND `contact`.`id` = `item`.`contact-id`
                        AND `contact`.`blocked` = 0 AND `contact`.`pending` = 0
                        $sql_extra
-                       ORDER BY `item`.`received` DESC LIMIT %d ,%d ",
-                       intval($_SESSION['uid']),
-                       intval($a->pager['start']),
-                       intval($a->pager['itemspage'])
+                       ORDER BY `item`.`received` DESC $pager_sql ",
+                       intval($_SESSION['uid'])
                );
                
        }
@@ -433,13 +432,12 @@ function network_content(&$a, $update = 0) {
                $r = q("SELECT `item`.`id` AS `item_id`, `contact`.`uid` AS `contact_uid`
                        FROM `item` LEFT JOIN `contact` ON `contact`.`id` = `item`.`contact-id`
                        WHERE `item`.`uid` = %d AND `item`.`visible` = 1 AND `item`.`deleted` = 0
+                       $update_sql
                        AND `contact`.`blocked` = 0 AND `contact`.`pending` = 0
                        AND `item`.`parent` = `item`.`id`
                        $sql_extra
-                       ORDER BY `item`.$ordering DESC LIMIT %d ,%d ",
-                       intval(local_user()),
-                       intval($a->pager['start']),
-                       intval($a->pager['itemspage'])
+                       ORDER BY `item`.$ordering DESC $pager_sql ",
+                       intval(local_user())
                );
 
                // Then fetch all the children of the parents that are on this page
@@ -452,7 +450,7 @@ function network_content(&$a, $update = 0) {
                                $parents_arr[] = $rr['item_id'];
                        $parents_str = implode(', ', $parents_arr);
 
-                       $r = q("SELECT `item`.*, `item`.`id` AS `item_id`,
+                       $items = q("SELECT `item`.*, `item`.`id` AS `item_id`,
                                `contact`.`name`, `contact`.`photo`, `contact`.`url`, `contact`.`rel`, `contact`.`writable`,
                                `contact`.`network`, `contact`.`thumb`, `contact`.`dfrn-id`, `contact`.`self`,
                                `contact`.`id` AS `cid`, `contact`.`uid` AS `contact-uid`
@@ -469,12 +467,24 @@ function network_content(&$a, $update = 0) {
                }       
        }
 
+
+       // We aren't going to try and figure out at the item, group, and page
+       // level which items you've seen and which you haven't. If you're looking
+       // at the top level network page just mark everything seen. 
+       
+       if((! $group) && (! $cid) && (! $star)) {
+               $r = q("UPDATE `item` SET `unseen` = 0 
+                       WHERE `unseen` = 1 AND `uid` = %d",
+                       intval(local_user())
+               );
+       }
+
        // Set this so that the conversation function can find out contact info for our wall-wall items
        $a->page_contact = $a->contact;
 
        $mode = (($nouveau) ? 'network-new' : 'network');
 
-       $o .= conversation($a,$r,$mode,$update);
+       $o .= conversation($a,$items,$mode,$update);
 
        if(! $update) {
                $o .= paginate($a);
index e7cac7959881bc38944cab835a691f5878015af2..be608e3e90f5368e21fd9591953db962a4ad8ab6 100644 (file)
@@ -148,12 +148,6 @@ function profile_content(&$a, $update = 0) {
 
        }
 
-       if($is_owner) {
-               $r = q("UPDATE `item` SET `unseen` = 0 
-                       WHERE `wall` = 1 AND `unseen` = 1 AND `uid` = %d",
-                       intval(local_user())
-               );
-       }
 
        /**
         * Get permissions SQL - if $remote_contact is true, our remote user has been pre-verified and we already have fetched his/her groups
@@ -162,31 +156,44 @@ function profile_content(&$a, $update = 0) {
        $sql_extra = permissions_sql($a->profile['profile_uid'],$remote_contact,$groups);
 
 
-       $r = q("SELECT COUNT(*) AS `total`
-               FROM `item` LEFT JOIN `contact` ON `contact`.`id` = `item`.`contact-id`
-               WHERE `item`.`uid` = %d AND `item`.`visible` = 1 AND `item`.`deleted` = 0
-               AND `contact`.`blocked` = 0 AND `contact`.`pending` = 0 
-               AND `item`.`id` = `item`.`parent` AND `item`.`wall` = 1
-               $sql_extra ",
-               intval($a->profile['profile_uid'])
+       if($update) {
 
-       );
+               // only setup pagination on initial page view
+               $pager_sql = '';
+               $update_sql = " AND unseen = 1 ";
+
+       }
+       else {
+
+               $r = q("SELECT COUNT(*) AS `total`
+                       FROM `item` LEFT JOIN `contact` ON `contact`.`id` = `item`.`contact-id`
+                       WHERE `item`.`uid` = %d AND `item`.`visible` = 1 AND `item`.`deleted` = 0
+                       AND `contact`.`blocked` = 0 AND `contact`.`pending` = 0 
+                       AND `item`.`id` = `item`.`parent` AND `item`.`wall` = 1
+                       $sql_extra ",
+                       intval($a->profile['profile_uid'])
+               );
+
+               if(count($r)) {
+                       $a->set_pager_total($r[0]['total']);
+                       $a->set_pager_itemspage(40);
+               }
+
+               $pager_sql = sprintf(" LIMIT %d, %d ",intval($a->pager['start']), intval($a->pager['itemspage']));
+               $update_sql = '';
 
-       if(count($r)) {
-               $a->set_pager_total($r[0]['total']);
-               $a->set_pager_itemspage(40);
        }
 
+
        $r = q("SELECT `item`.`id` AS `item_id`, `contact`.`uid` AS `contact-uid`
                FROM `item` LEFT JOIN `contact` ON `contact`.`id` = `item`.`contact-id`
                WHERE `item`.`uid` = %d AND `item`.`visible` = 1 AND `item`.`deleted` = 0
+               $update_sql
                AND `contact`.`blocked` = 0 AND `contact`.`pending` = 0
                AND `item`.`id` = `item`.`parent` AND `item`.`wall` = 1
                $sql_extra
-               ORDER BY `item`.`created` DESC LIMIT %d ,%d ",
-               intval($a->profile['profile_uid']),
-               intval($a->pager['start']),
-               intval($a->pager['itemspage'])
+               ORDER BY `item`.`created` DESC $pager_sql ",
+               intval($a->profile['profile_uid'])
 
        );
 
@@ -198,7 +205,7 @@ function profile_content(&$a, $update = 0) {
                        $parents_arr[] = $rr['item_id'];
                $parents_str = implode(', ', $parents_arr);
  
-               $r = q("SELECT `item`.*, `item`.`id` AS `item_id`, 
+               $items = q("SELECT `item`.*, `item`.`id` AS `item_id`, 
                        `contact`.`name`, `contact`.`photo`, `contact`.`url`, `contact`.`network`, `contact`.`rel`, 
                        `contact`.`thumb`, `contact`.`self`, `contact`.`writable`, 
                        `contact`.`id` AS `cid`, `contact`.`uid` AS `contact-uid`
@@ -229,7 +236,15 @@ function profile_content(&$a, $update = 0) {
                        . "; var netargs = '/?f='; var profile_page = " . $a->pager['page'] . "; </script>\r\n";
        }
 
-       $o .= conversation($a,$r,'profile',$update);
+
+       if($is_owner) {
+               $r = q("UPDATE `item` SET `unseen` = 0 
+                       WHERE `wall` = 1 AND `unseen` = 1 AND `uid` = %d",
+                       intval(local_user())
+               );
+       }
+
+       $o .= conversation($a,$items,'profile',$update);
 
        if(! $update) {
                $o .= paginate($a);