📄 setcache.php
字号:
<?php!function_exists('adminmsg') && exit('Forbidden');$limitnum = GetGP('limitnum');if ($job == 'all') { updatecache(); adminmsg('operate_success');} elseif ($job == 'bloginfo') { $count = $db->get_value("SELECT COUNT(*) FROM pw_user WHERE 1"); $newmember = addslashes($db->get_value("SELECT username FROM pw_user ORDER BY regdate DESC LIMIT 1")); $db->update("UPDATE pw_bloginfo SET newmember='$newmember',totalmember='$count' WHERE id='1'"); adminmsg('operate_success');} elseif ($job == 'group') { $start = GetGP('start','G'); !$start && $start = 0; $times = 0; !$limitnum && $limitnum = 30; $temparray = array(); $query = $db->query("SELECT uid,blogs FROM pw_user ORDER BY uid DESC LIMIT $start,$limitnum"); while ($rt = $db->fetch_array($query)) { $temparray[$rt['uid']] = $rt['blogs']; $times++; } $db->free_result(); foreach ($temparray as $key => $value) { $value = getmemberid($value); $db->update("UPDATE pw_user SET memberid='$value' WHERE uid='$key'"); } if ($times < $limitnum) { adminmsg('operate_success'); } else { $end = $start + $limitnum; $basename = "$basename&job=group&start=$end&limitnum=$limitnum"; adminmsg('updatecache_job'); }} elseif ($job == 'itemtype') { $start = GetGP('start','G'); !$start && $start = 0; $times = 0; !$limitnum && $limitnum = 30; $userdb = array(); $query = $db->query("SELECT typeid,uid,type,name FROM pw_itemtype ORDER BY typeid DESC LIMIT $start,$limitnum"); while ($rt = $db->fetch_array($query)) { $userdb[$rt['uid']][$rt['type']][$rt['typeid']] = array('typeid' => $rt['typeid'],'type' => $rt['type'],'name' => $rt['name']); $times++; } $db->free_result(); foreach ($userdb as $key => $value) { Strip_S($value); $dirdb = addslashes(serialize($value)); $db->update("UPDATE pw_userinfo SET dirdb='$dirdb' WHERE uid='$key'"); } if ($times < $limitnum) { updatecache_cate(); adminmsg('operate_success'); } else { $end = $start + $limitnum; $basename = "$basename&job=itemtype&start=$end&limitnum=$limitnum"; adminmsg('updatecache_job'); }} elseif ($job == 'categories') { $start = GetGP('start','G'); !$start && $start = 0; $times = 0; !$limitnum && $limitnum = 30; $temparray = array(); $query = $db->query("SELECT cid,catetype FROM pw_categories ORDER BY cid DESC LIMIT $start,$limitnum"); while ($rt = $db->fetch_array($query)) { P_unlink(D_P."data/cache/cate_cid_$rt[cid].php"); if ($rt['catetype']!='team') { $rt['catetype'] = $rt['catetype']=='user' ? 'userinfo' : 'items'; } $temparray[] = $rt; $times++; } $db->free_result(); foreach ($temparray as $value) { $sqlwhere = $value['catetype'] == 'items' ? " AND ifcheck='1' AND ifhide='0'" : ''; $count = $db->get_value("SELECT COUNT(*) FROM pw_{$value[catetype]} WHERE cid='$value[cid]'$sqlwhere"); $db->update("UPDATE pw_categories SET counts='$count' WHERE cid='$value[cid]'"); } if ($times < $limitnum) { updatecache_cate(); adminmsg('operate_success'); } else { $end = $start + $limitnum; $basename = "$basename&job=categories&start=$end&limitnum=$limitnum"; adminmsg('updatecache_job'); }} elseif ($job == 'usernum') { $start = GetGP('start','G'); if (!$start) { $db->update("UPDATE pw_user SET blogs='0',comments='0',views='0',photos='0',bookmarks='0',goodss='0',files='0',items='0',musics='0' WHERE 1"); $start = 0; } !$start && $start = 0; $times = 0; !$limitnum && $limitnum = 30; $temparray = array(); $query = $db->query("SELECT uid,type,COUNT(*) as count,SUM(replies) as comments,SUM(hits) as views FROM pw_items WHERE ifcheck='1' AND ifhide='0' GROUP BY uid,type LIMIT $start,$limitnum"); while ($rt = $db->fetch_array($query)) { $temparray[$rt['uid']][$rt['type'].'s'] = $rt['count']; $temparray[$rt['uid']]['items'] += $rt['count']; $temparray[$rt['uid']]['comments'] += $rt['comments']; $temparray[$rt['uid']]['views'] += $rt['views']; $times++; } $db->free_result($query); foreach ($temparray as $key => $value) { $updatesql = ''; foreach ($value as $k => $v) { $updatesql .= ($updatesql ? ',' : '')."$k='$v'"; } $updatesql && $db->update("UPDATE pw_user SET $updatesql WHERE uid='$key'"); } unset($temparray); if ($times < $limitnum) { adminmsg('operate_success'); } else { $end = $start + $limitnum; $basename = "$basename&job=usernum&start=$end&limitnum=$limitnum"; adminmsg('updatecache_job'); }} elseif ($job == 'cmtnum') { $start = $_GET['start']; if (!$start) { $db->update("UPDATE pw_items SET replies='0',lastreplies='0',cmttext='' WHERE 1"); $start = 0; } !$start && $start = 0; $times = 0; !$limitnum && $limitnum = 30; !$db_perpage && $db_perpage = 30; $itemdb = array(); $query = $db->query("SELECT c.id,c.itemid,c.author,c.authorid,c.postdate,c.ifwordsfb,c.ifconvert,c.content,i.lastreplies,i.cmttext,u.icon as picon FROM pw_comment c LEFT JOIN pw_items i ON c.itemid=i.itemid LEFT JOIN pw_user u ON c.authorid=u.uid WHERE c.ifcheck='1' ORDER BY postdate DESC LIMIT $start,$limitnum"); while ($rt = $db->fetch_array($query)) { $itemdb[$rt['itemid']]['replies']++; $itemdb[$rt['itemid']]['lastreplies'] = $rt['postdate'] > $rt['lastreplies'] ? $rt['postdate'] : $rt['lastreplies']; if (count($rt['cmttext']) < $db_perpage) { $itemdb[$rt['itemid']]['cmttext'][] = array('id' => $rt['id'],'author' => $rt['author'],'authorid' => $rt['authorid'],'picon' => $rt['picon'],'postdate' => $rt['postdate'],'ifwordsfb' => $rt['ifwordsfb'],'ifconvert' => $rt['ifconvert'],'content' => $rt['content']); } $times++; } $db->free_result($query); foreach ($itemdb as $key => $value) { $value['cmttext'] = (array)$value['cmttext']; if (!empty($value['cmttext'])) { Strip_S($value['cmttext']); $value['cmttext'] = serialize($value['cmttext']); } else { $value['cmttext'] = ''; } Add_S($value); $db->update("UPDATE pw_items SET replies=replies+'$value[replies]',lastreplies='$value[lastreplies]',cmttext='$value[cmttext]' WHERE itemid='$key'"); } if ($times < $limitnum) { adminmsg('operate_success'); } else { $end = $start + $limitnum; $basename = "$basename&job=cmtnum&start=$end&limitnum=$limitnum"; adminmsg('updatecache_job'); }} elseif ($job == 'tagnum') { $start = GetGP('start','G'); if (!$start) { $db->update("UPDATE pw_tags SET blognum='0',photonum='0',goodsnum='0',bookmarknum='0',filenum='0',musicnum='0',allnum='0' WHERE 1"); $db->update("UPDATE pw_blog SET tags='' WHERE 1"); $db->update("UPDATE pw_bookmark SET tags='' WHERE 1"); $db->update("UPDATE pw_goods SET tags='' WHERE 1"); $db->update("UPDATE pw_file SET tags='' WHERE 1"); $db->update("UPDATE pw_music SET tags='' WHERE 1"); $db->update("UPDATE pw_photo SET tags='' WHERE 1"); $start = 0; } !$start && $start = 0; $times = 0; !$limitnum && $limitnum = 30; $temparray = $tempsarray = array(); $query = $db->query("SELECT tagid,tagname,tagtype,COUNT(*) as count FROM pw_taginfo GROUP BY tagid,tagtype LIMIT $start,$limitnum"); while ($rt = $db->fetch_array($query)) { $taghash = substr(md5("{$db_hash}tags{$rt[tagname]}"),0,10); P_unlink(D_P."data/cache/tags_$taghash.php"); $temparray[$rt['tagid']][$rt['tagtype'].'num'] = $rt['count']; $temparray[$rt['tagid']]['allnum'] += $rt['count']; $times++; } $query = $db->query("SELECT ti.itemid,ti.tagtype,t.tagname FROM pw_taginfo ti LEFT JOIN pw_tags t ON ti.tagid=t.tagid GROUP BY ti.itemid,t.tagname LIMIT $start,$limitnum"); while ($rt = $db->fetch_array($query)) { $tempsarray[$rt['itemid'].'_'.$rt['tagtype']][] = $rt['tagname']; $times++; } $db->free_result($query); foreach ($temparray as $key => $value) { $updatesql = ''; foreach ($value as $k => $v) { $updatesql .= ($updatesql ? ',' : '')."$k='$v'"; } $updatesql && $db->update("UPDATE pw_tags SET $updatesql WHERE tagid='$key'"); } foreach ($tempsarray as $key => $value) { $vs = ''; list($itemid,$tagtype) = explode('_',$key); foreach ($value as $k => $v) { $vs .= ($vs ? ',' : '')."$v"; } $db->update("UPDATE pw_$tagtype SET tags='$vs' WHERE itemid='$itemid'"); } if ($times < $limitnum) { adminmsg('operate_success'); } else { $end = $start + $limitnum; $basename = "$basename&job=tagnum&start=$end&limitnum=$limitnum"; adminmsg('updatecache_job'); }} elseif ($job == 'teamnum') { $start = GetGP('start','G'); if (!$start) { $db->update("UPDATE pw_team SET blogs='0',bloggers='0' WHERE 1"); $start = 0; } !$start && $start = 0; $times = 0; !$limitnum && $limitnum = 30; $query = $db->query("SELECT teamid,COUNT(*) as count FROM pw_tblog GROUP BY teamid LIMIT $start,$limitnum"); while ($rt = $db->fetch_array($query)) { $db->update("UPDATE pw_team SET blogs='$rt[count]' WHERE teamid='$rt[teamid]'"); $times++; } $query = $db->query("SELECT teamid,COUNT(*) as count FROM pw_tuser GROUP BY teamid LIMIT $start,$limitnum"); while ($rt = $db->fetch_array($query)) { $db->update("UPDATE pw_team SET bloggers='$rt[count]' WHERE teamid='$rt[teamid]'"); $times++; } $db->free_result($query); if ($times < $limitnum) { adminmsg('operate_success'); } else { $end = $start + $limitnum; $basename = "$basename&job=tagnum&start=$end&limitnum=$limitnum"; adminmsg('updatecache_job'); }} else { include PrintEot('setcache');footer();}function getmemberid($nums){ global $_gmember; $gid = 0; foreach ($_gmember as $key => $value) { (int)$nums>=$value['creditneed'] && $gid = $key; } return $gid;}?>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -