• 3642阅读
  • 77回复

关于帖子收藏排行Top50 [复制链接] [手机版]

上一主题 下一主题
离线zhangjingyu

只看该作者 17楼 发表于: 2018-08-10 16:27:03 星期五  点亮(0)
然后,,,,热榜就没有下文了(memberShareThread没找到相关的)。
尊重每位祺师,做有价值的祺文化社区!欢迎光临,并感谢您的支持与陪伴!
我希望能通过这个论坛让更多的朋友更多的关爱自己的家人和朋友,不要等到有一天失去后才知道没有好好的珍惜,才知道
拥有的珍贵!亲爱的们,如果你懂得,请把这份关爱传递,让更多的人加入到爱心接力当中,让每个人的心中都洋溢着爱的温馨!

我们应该知道:岁月如梭!其实生命,是很短暂,也是很脆弱的东西…… 设置自己的帖子签名请点这里!
离线zhangjingyu

只看该作者 18楼 发表于: 2018-08-10 16:31:43 星期五  点亮(0)
关于热榜就到此为止吧,不研究它了。
尊重每位祺师,做有价值的祺文化社区!欢迎光临,并感谢您的支持与陪伴!
我希望能通过这个论坛让更多的朋友更多的关爱自己的家人和朋友,不要等到有一天失去后才知道没有好好的珍惜,才知道
拥有的珍贵!亲爱的们,如果你懂得,请把这份关爱传递,让更多的人加入到爱心接力当中,让每个人的心中都洋溢着爱的温馨!

我们应该知道:岁月如梭!其实生命,是很短暂,也是很脆弱的东西…… 设置自己的帖子签名请点这里!
离线zhangjingyu

只看该作者 19楼 发表于: 2018-08-10 16:33:50 星期五  点亮(0)
下一页,继续统计信息里的收藏排行top50。
尊重每位祺师,做有价值的祺文化社区!欢迎光临,并感谢您的支持与陪伴!
我希望能通过这个论坛让更多的朋友更多的关爱自己的家人和朋友,不要等到有一天失去后才知道没有好好的珍惜,才知道
拥有的珍贵!亲爱的们,如果你懂得,请把这份关爱传递,让更多的人加入到爱心接力当中,让每个人的心中都洋溢着爱的温馨!

我们应该知道:岁月如梭!其实生命,是很短暂,也是很脆弱的东西…… 设置自己的帖子签名请点这里!
离线zhangjingyu

只看该作者 20楼 发表于: 2018-08-10 16:35:40 星期五  点亮(0)
虽然收藏排行top50数据很少(在缓存信息表里),但起码在统计信息页调用出来的数据是完全正确的,而热榜就根本找不着北了。
尊重每位祺师,做有价值的祺文化社区!欢迎光临,并感谢您的支持与陪伴!
我希望能通过这个论坛让更多的朋友更多的关爱自己的家人和朋友,不要等到有一天失去后才知道没有好好的珍惜,才知道
拥有的珍贵!亲爱的们,如果你懂得,请把这份关爱传递,让更多的人加入到爱心接力当中,让每个人的心中都洋溢着爱的温馨!

我们应该知道:岁月如梭!其实生命,是很短暂,也是很脆弱的东西…… 设置自己的帖子签名请点这里!
离线zhangjingyu

只看该作者 21楼 发表于: 2018-08-10 16:45:54 星期五  点亮(0)
当点击“收藏排行top50”这个标签进行查看收藏排行时,右上角的下次更新时间会在现有时间上再增加一个缓存更新时间$cachetime(下面代码第15行。文件里定义是一天,即$per=24,所以是24*3600)。

sort.php文件里相关代码:
  1. } elseif ($action == 'favor') {
  2.     $cachetime = pwFilemtime(D_P."data/bbscache/favor_sort.php");
  3.     if (!$per || !file_exists(D_P."data/bbscache/favor_sort.php") || ($timestamp-$cachetime>60)) {//$per*3600
  4.         $element = L::loadClass('element');
  5.         $element->setDefaultNum(50);
  6.         $_sort = array();
  7.         $_SORTDB = $element->hotFavorsort();
  8.         pwCache::writeover(D_P.'data/bbscache/favor_sort.php',"<?php\r\n\$_FAVORS=".pw_var_export($_SORTDB).";\r\n?>");
  9.     } else {
  10.         include pwCache::getPath(D_P."data/bbscache/favor_sort.php");
  11.         $_SORTDB = $_FAVORS;
  12.         unset($_FAVORS);
  13.     }
  14.     //$cachetime=get_date($cachetime+$per*3600);
  15.     $cachetime=get_date($cachetime+60);
  16.     require PrintEot('sort');footer();
  17. }
尊重每位祺师,做有价值的祺文化社区!欢迎光临,并感谢您的支持与陪伴!
我希望能通过这个论坛让更多的朋友更多的关爱自己的家人和朋友,不要等到有一天失去后才知道没有好好的珍惜,才知道
拥有的珍贵!亲爱的们,如果你懂得,请把这份关爱传递,让更多的人加入到爱心接力当中,让每个人的心中都洋溢着爱的温馨!

我们应该知道:岁月如梭!其实生命,是很短暂,也是很脆弱的东西…… 设置自己的帖子签名请点这里!
离线zhangjingyu

只看该作者 22楼 发表于: 2018-08-10 16:57:22 星期五  点亮(0)
为方便测试,我把缓存更新时间改为60秒(见第3,16行,这两行的时间要一致,即修改成一样的)。
尊重每位祺师,做有价值的祺文化社区!欢迎光临,并感谢您的支持与陪伴!
我希望能通过这个论坛让更多的朋友更多的关爱自己的家人和朋友,不要等到有一天失去后才知道没有好好的珍惜,才知道
拥有的珍贵!亲爱的们,如果你懂得,请把这份关爱传递,让更多的人加入到爱心接力当中,让每个人的心中都洋溢着爱的温馨!

我们应该知道:岁月如梭!其实生命,是很短暂,也是很脆弱的东西…… 设置自己的帖子签名请点这里!
离线zhangjingyu

只看该作者 23楼 发表于: 2018-08-10 16:58:20 星期五  点亮(0)
sort.php文件上述地方做了修改,所以也在此备份下吧。
尊重每位祺师,做有价值的祺文化社区!欢迎光临,并感谢您的支持与陪伴!
我希望能通过这个论坛让更多的朋友更多的关爱自己的家人和朋友,不要等到有一天失去后才知道没有好好的珍惜,才知道
拥有的珍贵!亲爱的们,如果你懂得,请把这份关爱传递,让更多的人加入到爱心接力当中,让每个人的心中都洋溢着爱的温馨!

我们应该知道:岁月如梭!其实生命,是很短暂,也是很脆弱的东西…… 设置自己的帖子签名请点这里!
离线zhangjingyu

只看该作者 24楼 发表于: 2018-08-10 17:03:45 星期五  点亮(0)
往后研究什么?缓存数据表里就这一条数据,调用正确,更新时间正确。还研究什么?怎么写入数据的?这个做不到。
尊重每位祺师,做有价值的祺文化社区!欢迎光临,并感谢您的支持与陪伴!
我希望能通过这个论坛让更多的朋友更多的关爱自己的家人和朋友,不要等到有一天失去后才知道没有好好的珍惜,才知道
拥有的珍贵!亲爱的们,如果你懂得,请把这份关爱传递,让更多的人加入到爱心接力当中,让每个人的心中都洋溢着爱的温馨!

我们应该知道:岁月如梭!其实生命,是很短暂,也是很脆弱的东西…… 设置自己的帖子签名请点这里!
离线zhangjingyu

只看该作者 25楼 发表于: 2018-08-10 17:17:53 星期五  点亮(0)
备份一段相关代码(重点应该是12,14行):
apps/collection/action/ajax.php
  1.     if ($collectionService->insert($collectionDate)) {
  2.         if ($type == 'tucool' && $threads[tid]) {
  3.             $tucoolService = L::loadClass('tucool', 'forum');
  4.             $tucoolService->updateCollectNum($threads[tid]);
  5.         }
  6.     if($type == 'postfavor'){
  7.         $fid = $db->get_value('SELECT fid FROM pw_threads WHERE tid = '.S::sqlEscape($id));
  8.         L::loadClass('elementupdate', '', false);
  9.         $elementupdate = new ElementUpdate();
  10.         $elementupdate->newfavorUpdate($id, $fid);
  11.         if ($db_ifpwcache & 1024) {
  12.         $elementupdate->hotfavorUpdate($id, $fid);
  13.         }
  14.         updateDatanalyse($id, 'threadFav', 1);
  15.     }
  16.         Showmsg('job_favor_success');ajax_footer();
  17.     } else {
  18.         Showmsg('data_error');
  19.     }
  20. }
尊重每位祺师,做有价值的祺文化社区!欢迎光临,并感谢您的支持与陪伴!
我希望能通过这个论坛让更多的朋友更多的关爱自己的家人和朋友,不要等到有一天失去后才知道没有好好的珍惜,才知道
拥有的珍贵!亲爱的们,如果你懂得,请把这份关爱传递,让更多的人加入到爱心接力当中,让每个人的心中都洋溢着爱的温馨!

我们应该知道:岁月如梭!其实生命,是很短暂,也是很脆弱的东西…… 设置自己的帖子签名请点这里!
离线zhangjingyu

只看该作者 26楼 发表于: 2018-08-10 17:37:02 星期五  点亮(0)
继续楼上查看(以“hotfavor”搜索),果然是和第12行hotfavorUpdate有关,这里应该是重点。
lib/elementupdate.class.php
  1.     function hotfavorUpdate($tid, $fid) {
  2.         if (!($this->ifcache & 1024) || !$tid || !$fid) {
  3.             return false;
  4.         }
  5.         $eid = $this->db->get_value("SELECT eid FROM pw_elements WHERE type='hotfavor' AND mark=" . S::sqlEscape($fid) . " AND id=" . S::sqlEscape($tid));
  6.         if ($eid) {
  7.             $this->db->update("UPDATE pw_elements SET value=value+1 WHERE eid=" . S::sqlEscape($eid));
  8.         } else {
  9.             $rt = $this->db->get_one("SELECT favors FROM pw_threads WHERE tid=" . S::sqlEscape($tid));
  10.             $rs = $this->db->get_one("SELECT value,eid FROM pw_elements WHERE type='hotfavor' ORDER BY value ASC");
  11.             if ($rt['favors'] > $rs['value']) {
  12.                 $this->db->update("DELETE FROM pw_elements WHERE eid=" . S::sqlEscape($rs['eid']));
  13.                 $favors = array(
  14.                     'id' => $tid,
  15.                     'mark' => $fid,
  16.                     'value' => $rt['favors'],
  17.                     'type' => 'hotfavor'
  18.                 );
  19.                 $this->db->update("REPLACE INTO pw_elements SET" . S::sqlSingle($favors, false));
  20.             }
  21.         }
  22.         return true;
  23.     }

还有点没看明白,稍后再研究。继续。
尊重每位祺师,做有价值的祺文化社区!欢迎光临,并感谢您的支持与陪伴!
我希望能通过这个论坛让更多的朋友更多的关爱自己的家人和朋友,不要等到有一天失去后才知道没有好好的珍惜,才知道
拥有的珍贵!亲爱的们,如果你懂得,请把这份关爱传递,让更多的人加入到爱心接力当中,让每个人的心中都洋溢着爱的温馨!

我们应该知道:岁月如梭!其实生命,是很短暂,也是很脆弱的东西…… 设置自己的帖子签名请点这里!