本文整理汇总了PHP中updatetop函数的典型用法代码示例。如果您正苦于以下问题:PHP updatetop函数的具体用法?PHP updatetop怎么用?PHP updatetop使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了updatetop函数的13个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: pwSqlSingle
if ($forum[$fup]['type'] != 'category' && $ifsave[$key] == 1) {
$db->update("INSERT INTO pw_forums SET " . pwSqlSingle(array('fup' => $fup, 'type' => $forumtype, 'logo' => $logo[$key], 'name' => $value, 'descrip' => $descrip[$key], 'keywords' => $keywords[$key], 'vieworder' => $vieworder[$key], 'forumadmin' => $str_admin, 'style' => $style[$key], 'allowhide' => $allowhide, 'allowsell' => $allowsell, 'allowtype' => $allowtype, 'copyctrl' => $copyctrl, 'viewsub' => $viewsub, 'allowvisit' => $allowvisit, 'allowpost' => $allowpost, 'allowrp' => $allowrp, 'allowdownload' => $allowdownload, 'allowupload' => $allowupload, 'f_type' => $f_type, 'f_check' => $f_check, 'cms' => $cms, 'ifhide' => $ifhide)));
$fid = $db->insert_id();
if ($creditset || $forumset) {
$db->update("INSERT INTO pw_forumsextra SET " . pwSqlSingle(array('fid' => $fid, 'creditset' => $creditset, 'forumset' => $forumset)));
}
} else {
$f_type = $forum[$fup]['f_type'] == 'hidden' ? 'hidden' : 'forum';
$db->update("INSERT INTO pw_forums SET " . pwSqlSingle(array('fup' => $fup, 'type' => $forumtype, 'logo' => $logo[$key], 'name' => $value, 'descrip' => $descrip[$key], 'keywords' => $keywords[$key], 'vieworder' => $vieworder[$key], 'forumadmin' => $str_admin, 'style' => $style[$key], 'f_type' => $f_type, 'cms' => 0, 'ifhide' => 1, 'allowtype' => 3)));
$fid = $db->insert_id();
}
$db->update("INSERT INTO pw_forumdata SET fid=" . pwEscape($fid));
}
P_unlink(D_P . 'data/bbscache/c_cache.php');
updatecache_f();
$forumtype != 'category' && updatetop();
if ($addtype == 1) {
ObHeader("{$basename}&action=edit&fid={$fid}");
} else {
adminmsg('operate_success');
}
}
} elseif ($_POST['action'] == 'editforum') {
InitGP(array('forumadmin'), 'P', 0);
InitGP(array('order'), 'P', 2);
$errorname = array();
$forumdb = $db->query("SELECT fid,forumadmin,vieworder FROM pw_forums WHERE cms!='1'");
while ($foruminfo = $db->fetch_array($forumdb)) {
$pwSQL = $admin_a = $admin_n = $admin_d = array();
if ($foruminfo['forumadmin'] != $forumadmin[$foruminfo['fid']] && $foruminfo['forumadmin'] != ',' . $forumadmin[$foruminfo['fid']] . ',') {
$admin_a = explode(',', $forumadmin[$foruminfo['fid']]);
示例2: abs
$msg_delrvrc = abs($creditset['Deleterp']['rvrc']);
$msg_delmoney = abs($creditset['Deleterp']['money']);
$credit->addLog('topic_Deleterp', $creditset['Deleterp'], array('uid' => $authorid, 'username' => $author, 'ip' => $onlineip, 'fname' => strip_tags($forum[$fid]['name']), 'operator' => $windid));
$credit->sets($authorid, $creditset['Deleterp'], false);
}
$credit->setMdata($authorid, 'postnum', -1);
$credit->runsql();
if ($db_guestread) {
require_once R_P . 'require/guestfunc.php';
clearguestcache($tid, $rs['replies']);
}
P_unlink(D_P . 'data/bbscache/c_cache.php');
require_once R_P . 'require/updateforum.php';
updateforum($fid);
if ($rs['topped']) {
updatetop();
}
$msg_delrvrc = floor($msg_delrvrc / 10);
require_once R_P . 'require/writelog.php';
$log = array('type' => 'delete', 'username1' => $author, 'username2' => $windid, 'field1' => $fid, 'field2' => '', 'field3' => '', 'descrip' => $deltype . '_descrip', 'timestamp' => $timestamp, 'ip' => $onlineip, 'tid' => $tid, 'forum' => $pwforum->foruminfo['name'], 'subject' => $deltitle, 'affect' => "{$db_rvrcname}:-{$msg_delrvrc},{$db_moneyname}:-{$msg_delmoney}", 'reason' => 'edit delete article!');
writelog($log);
if ($pwforum->foruminfo['allowhtm'] && $article <= $db_readperpage) {
$StaticPage = L::loadClass('StaticPage');
$StaticPage->update($tid);
}
if ($deltype == 'delrp') {
refreshto("read.php?tid={$tid}", 'enter_thread');
} else {
refreshto("thread.php?fid={$fid}", 'enter_thread');
}
} elseif ($_POST['step'] == 2) {
示例3: delTopic
function delTopic($readdb, $recycle = false, $delCredit = true, $extra = array())
{
global $db, $db_htmdir, $db_guestread, $windid, $db_ifpwcache, $db_creditset, $timestamp, $onlineip, $credit;
if ($db_guestread) {
require_once R_P . 'require/guestfunc.php';
}
require_once R_P . 'require/credit.php';
$updatetop = 0;
$kmdTids = $specialdb = $tids = $fids = $ttable_a = $ptable_a = $recycledb = $deluids = $delutids = $cydb = $modeldb = $pcdb = $activityDb = array();
foreach ($readdb as $key => $read) {
$isInRecycle = $read['fid'] == 0 && $read['ifcheck'] == 1;
$msg_delrvrc = $msg_delmoney = 0;
if ($delCredit && !$isInRecycle) {
/* 删除积分 */
$creditset = $this->getcreditset($read['fid']);
$credit->addLog('topic_Delete', $creditset['Delete'], array('uid' => $read['authorid'], 'username' => $read['author'], 'ip' => $onlineip, 'fname' => strip_tags($this->getForumInfo($read['fid'], 'name')), 'operator' => $windid));
$credit->sets($read['authorid'], $creditset['Delete'], false);
$msg_delrvrc = abs($creditset['Delete']['rvrc']);
$msg_delmoney = abs($creditset['Delete']['money']);
}
/*记录日志 */
$logdb[] = array('type' => 'delete', 'username1' => $read['author'], 'username2' => $windid, 'field1' => $read['fid'], 'field2' => $read['tid'], 'field3' => '', 'descrip' => 'del_descrip', 'timestamp' => $timestamp, 'ip' => $onlineip, 'affect' => "{$GLOBALS[db_rvrcname]}:-{$msg_delrvrc},{$GLOBALS[db_moneyname]}:-{$msg_delmoney}", 'tid' => $read['tid'], 'subject' => substrs($read['subject'], 28), 'reason' => $extra['reason']);
if ($read['modelid']) {
$modeldb[$read['modelid']][] = $read['tid'];
} elseif ($read['special'] == 8) {
//活动
$activityDb[] = $read['tid'];
} elseif ($read['special'] > 20) {
$pcdb[$read['special']][] = $read['tid'];
} elseif ($read['special'] == 6) {
$robbuildTids[] = $read['tid'];
}
if ($read['special'] > 0 && $read['special'] < 5) {
$specialdb[$read['special']][] = $read['tid'];
}
if ($read['tpcstatus'] && getstatus($read['tpcstatus'], 1)) {
$cydb[] = $read['tid'];
}
$htmurl = R_P . $db_readdir . '/' . $read['fid'] . '/' . date('ym', $read['postdate']) . '/' . $read['tid'] . '.html';
if (file_exists($htmurl)) {
P_unlink($htmurl);
}
if ($db_guestread) {
clearguestcache($read['tid'], $read['replies']);
}
if ($recycle) {
$recycledb[] = array('pid' => 0, 'tid' => $read['tid'], 'fid' => $read['fid'], 'deltime' => $GLOBALS['timestamp'], 'admin' => $GLOBALS['windid']);
}
$read['specialsort'] > 0 && ($updatetop = 1);
$read['specialsort'] == PW_THREADSPECIALSORT_KMD && ($kmdTids[] = $read['tid']);
$ttable_a[GetTtable($read['tid'])] = 1;
$ptable_a[$read['ptable']] = 1;
$fids[$read['fid']]['tids'][] = $read['tid'];
!$isInRecycle && $deluids[$read['authorid']]++;
if ($read['fid'] > 0 && $read['ifcheck'] < 2) {
$fids[$read['fid']]['replies'] += $read['replies'];
if ($read['ifcheck']) {
$fids[$read['fid']]['topic']++;
$delutids[$read['authorid']][] = $read['tid'];
}
}
$tids[] = $read['tid'];
}
if (!$tids) {
return true;
}
require_once R_P . 'require/updateforum.php';
$deltids = S::sqlImplode($tids);
/*写操作日志 */
require_once R_P . 'require/writelog.php';
foreach ($logdb as $key => $val) {
writelog($val);
}
if ($cydb) {
$this->_reCountColony($cydb);
}
if ($recycle) {
//$this->db->update("UPDATE pw_threads SET fid='0',ifcheck='1',topped='0' WHERE tid IN($deltids)");
pwQuery::update('pw_threads', 'tid IN (:tid)', array($tids), array('fid' => '0', 'ifcheck' => '1', 'topped' => '0'));
//这里的$tid是还未过滤的$deltids
foreach ($ptable_a as $key => $val) {
$pw_posts = GetPtable($key);
//$this->db->update("UPDATE $pw_posts SET fid='0' WHERE tid IN($deltids)");
pwQuery::update($pw_posts, 'tid IN(:tid)', array($tids), array('fid' => '0'));
}
if ($recycledb) {
$this->db->update("REPLACE INTO pw_recycle (pid,tid,fid,deltime,admin) VALUES " . S::sqlMulti($recycledb));
}
// ThreadManager reflesh memcache
/*
$threadlist = L::loadClass("threadlist", 'forum');
foreach ($fids as $fid => $value) {
$threadlist->refreshThreadIdsByForumId($fid);
}
$threads = L::loadClass('Threads', 'forum');
$threads->delThreads($tids);
*/
Perf::gatherInfo('changeThreadWithForumIds', array('fid' => array_keys($fids)));
Perf::gatherInfo('changeThreadWithThreadIds', array('tid' => $tids));
//.........这里部分代码省略.........
示例4: downTopped
function downTopped($tid)
{
//取消置顶贴
$tid = $this->db->get_value('SELECT tid FROM pw_threads WHERE tid=' . pwEscape($tid));
if (!$tid) {
return new ApiResponse(false);
}
$this->db->update('UPDATE pw_threads SET topped=0 WHERE tid=' . pwEscape($tid));
require_once R_P . 'require/updateforum.php';
updatetop();
return new ApiResponse(true);
}
示例5: createForum
function createForum($name, $fup = 0, $descrip = '', $linkurl = '')
{
//创建版块
if (!$name) {
return new ApiResponse(false);
}
//* @include_once pwCache::getPath(D_P.'data/bbscache/forum_cache.php');
extract(pwCache::getData(D_P . 'data/bbscache/forum_cache.php', false));
$forumtype = $forum[$fup]['type'] == 'category' ? 'forum' : ($forum[$fup]['type'] == 'forum' ? 'sub' : 'sub2');
/*
$this->db->update("INSERT INTO pw_forums SET " . S::sqlSingle(array(
'fup' => $fup,
'type' => $forumtype,
'name' => $name,
'descrip' => $descrip,
'cms' => 0,
'ifhide' => 1,
'allowtype' => 3
)));
*/
pwQuery::insert('pw_forums', array('fup' => $fup, 'type' => $forumtype, 'name' => $name, 'descrip' => $descrip, 'cms' => 0, 'ifhide' => 1, 'allowtype' => 3));
$fid = $this->db->insert_id();
$this->db->update("INSERT INTO pw_forumdata SET fid=" . S::sqlEscape($fid));
$forumset = array('lock' => 0, 'cutnums' => 0, 'threadnum' => 0, 'readnum' => 0, 'newtime' => 0, 'orderway' => 'lastpost', 'asc' => 'DESC', 'allowencode' => 0, 'anonymous' => 0, 'rate' => 0, 'dig' => 0, 'inspect' => 0, 'watermark' => 0, 'commend' => 0, 'autocommend' => 0, 'commendlist' => '', 'commendnum' => 0, 'commendlength' => 0, 'commendtime' => 0, 'addtpctype' => 0, 'ifrelated' => 0, 'relatednums' => 0, 'relatedcon' => 'ownpost', 'relatedcustom' => array(), 'rvrcneed' => 0, 'moneyneed' => 0, 'creditneed' => 0, 'postnumneed' => 0, 'sellprice' => array(), 'uploadset' => 'money 0', 'rewarddb' => '', 'allowtime' => '');
$forumset['link'] = $linkurl;
$forumset = serialize($forumset);
$this->db->update("INSERT INTO pw_forumsextra SET " . S::sqlSingle(array('fid' => $fid, 'forumset' => $forumset)));
//* P_unlink(D_P.'data/bbscache/c_cache.php');
pwCache::deleteData(D_P . 'data/bbscache/c_cache.php');
require_once R_P . 'admin/cache.php';
updatecache_f();
require_once R_P . 'require/updateforum.php';
$forumtype != 'category' && updatetop();
return new ApiResponse($fid);
}
示例6: updateForumPostTop
function updateForumPostTop($fidArr)
{
global $db;
if (!is_array($fidArr)) {
return false;
}
$postTopData = array();
$query = $db->query("SELECT * FROM pw_poststopped WHERE floor = 3 GROUP BY tid ");
while ($row = $db->fetch_array($query)) {
$postTopData[] = $row;
}
foreach ($postTopData as $key => $value) {
foreach ($fidArr as $fid) {
pwQuery::insert('pw_poststopped', array('fid' => $fid, 'tid' => $value['tid'], 'pid' => $value['pid'], 'floor' => $value['floor'], 'uptime' => $value['uptime'], 'overtime' => $value['overtime']));
}
}
updatetop();
}
示例7: recycleAllKmds
/**
* 回收所有孔明灯(给开关关闭等操作服务)
*/
function recycleAllKmds($fid = 0)
{
$fid = intval($fid);
$kmdInfoDb = $this->_getKmdInfoDB();
$recycles = $kmdInfoDb->getAllValidKmds($fid);
foreach ($recycles as $v) {
if ($v['tid'] > 0) {
$this->updateKmdThread($v['kid']);
}
$this->initKmdInfoByKid($v['kid']);
}
require_once R_P . 'require/updateforum.php';
updatetop();
}
示例8: changeTopicToForum
/**
* 改变帖子归属版块
* @param int $cyid 群组id
* @param int $ifTopicShowInForum 帖子是否显示在版块中
* @param int $tocid 目标群组
* @param int $fromcid 来源群组
* void
*/
function changeTopicToForum($cyid, $ifTopicShowInForum, $tocid, $fromcid)
{
global $db_plist;
$tocid = intval($tocid);
$ifcheck = $tocid > 0 && $ifTopicShowInForum ? 1 : 2;
$this->_db->update("REPLACE INTO pw_poststopped \r\n\t\t\tSELECT {$tocid},p.tid,p.pid,p.floor,p.uptime,p.overtime \r\n\t\t\tFROM pw_poststopped p \r\n\t\t\tLEFT JOIN pw_argument a ON p.tid=a.tid \r\n\t\t\tWHERE p.fid=" . S::sqlEscape($fromcid) . " AND p.pid=0 AND a.cyid=" . S::sqlEscape($cyid));
$_sql_Where = $fromcid > 0 ? ' AND t.fid>0' : " AND t.ifcheck='2'";
/*$this->_db->update("UPDATE pw_argument a LEFT JOIN pw_threads t ON a.tid=t.tid
SET t.fid=" . S::sqlEscape($tocid) . ",t.ifcheck=" . S::sqlEscape($ifcheck) .
" WHERE a.cyid=" . S::sqlEscape($cyid) . $_sql_Where
);*/
$this->_db->update(pwQuery::buildClause("UPDATE :pw_table1 a LEFT JOIN :pw_table2 t ON a.tid=t.tid SET t.fid=:fid,t.ifcheck=:ifcheck WHERE a.cyid=:cyid {$_sql_Where}", array('pw_argument', 'pw_threads', $tocid, $ifcheck, $cyid)));
$this->_db->update("UPDATE pw_argument a LEFT JOIN pw_posts p ON a.tid=p.tid SET p.fid=" . S::sqlEscape($tocid) . " WHERE a.cyid=" . S::sqlEscape($cyid));
if ($db_plist && count($db_plist) > 1) {
foreach ($db_plist as $key => $value) {
if ($key == 0) {
continue;
}
$pw_posts = GetPtable($key);
$this->_db->update("UPDATE pw_argument a LEFT JOIN {$pw_posts} p ON a.tid=p.tid SET p.fid=" . S::sqlEscape($tocid) . " WHERE a.cyid=" . S::sqlEscape($cyid));
}
}
require_once R_P . 'require/updateforum.php';
if ($tocid > 0) {
$this->_db->update("UPDATE pw_cnclass SET cnsum=cnsum+1 WHERE fid=" . S::sqlEscape($tocid));
updateforum($tocid);
}
if ($fromcid > 0) {
$this->_db->update("UPDATE pw_cnclass SET cnsum=cnsum-1 WHERE fid=" . S::sqlEscape($fromcid) . " AND cnsum>0");
updateforum($fromcid);
}
updatetop();
}
示例9: delTopic
function delTopic($readdb, $recycle = false)
{
global $db_htmdir, $db_guestread;
if ($db_guestread) {
require_once R_P . 'require/guestfunc.php';
}
$updatetop = 0;
$specialdb = $tids = $fids = $ttable_a = $ptable_a = $recycledb = $deluids = $delutids = $cydb = $modeldb = $pcdb = array();
foreach ($readdb as $key => $read) {
if ($read['modelid']) {
$modeldb[$read['modelid']][] = $read['tid'];
} elseif ($read['special'] > 20) {
$pcdb[$read['special']][] = $read['tid'];
}
if ($read['special'] > 0 && $read['special'] < 5) {
$specialdb[$read['special']][] = $read['tid'];
}
if ($read['tpcstatus'] && getstatus($read['tpcstatus'], 1)) {
$cydb[] = $read['tid'];
}
$htmurl = R_P . $db_htmdir . '/' . $read['fid'] . '/' . date('ym', $read['postdate']) . '/' . $read['tid'] . '.html';
if (file_exists($htmurl)) {
P_unlink($htmurl);
}
if ($db_guestread) {
clearguestcache($read['tid'], $read['replies']);
}
if ($recycle) {
$recycledb[] = array('pid' => 0, 'tid' => $read['tid'], 'fid' => $read['fid'], 'deltime' => $GLOBALS['timestamp'], 'admin' => $GLOBALS['windid']);
}
$read['topped'] > 0 && ($updatetop = 1);
$ttable_a[GetTtable($read['tid'])] = 1;
$ptable_a[$read['ptable']] = 1;
$fids[$read['fid']]['tids'][] = $read['tid'];
if ($read['fid'] > 0) {
$fids[$read['fid']]['replies'] += $read['replies'];
$deluids[$read['authorid']]++;
if ($read['ifcheck']) {
$fids[$read['fid']]['topic']++;
$delutids[$read['authorid']][] = $read['tid'];
}
}
$tids[] = $read['tid'];
}
if (!$tids) {
return true;
}
require_once R_P . 'require/updateforum.php';
$deltids = pwImplode($tids);
if ($recycle) {
$this->db->update("UPDATE pw_threads SET fid='0',ifcheck='1',topped='0' WHERE tid IN({$deltids})");
foreach ($ptable_a as $key => $val) {
$pw_posts = GetPtable($key);
$this->db->update("UPDATE {$pw_posts} SET fid='0' WHERE tid IN({$deltids})");
}
if ($recycledb) {
$this->db->update("REPLACE INTO pw_recycle (pid,tid,fid,deltime,admin) VALUES " . pwSqlMulti($recycledb));
}
// ThreadManager reflesh memcache
$threadlist = L::loadClass("threadlist");
foreach ($fids as $fid => $value) {
$threadlist->refreshThreadIdsByForumId($fid);
}
$threads = L::loadClass('Threads');
$threads->delThreads($tids);
if ($modeldb) {
$this->_RecycleModelTopic($modeldb);
} elseif ($pcdb) {
$this->_RecyclePcTopic($pcdb);
}
} else {
$threadManager = L::loadClass("threadmanager");
foreach ($fids as $fid => $value) {
$threadManager->deleteByThreadIds($fid, $value['tids']);
}
foreach ($ttable_a as $pw_tmsgs => $val) {
$this->db->update("DELETE FROM {$pw_tmsgs} WHERE tid IN({$deltids})");
}
foreach ($ptable_a as $key => $val) {
$pw_posts = GetPtable($key);
$this->db->update("DELETE FROM {$pw_posts} WHERE tid IN({$deltids})");
}
if ($specialdb) {
$this->_delSpecialTopic($specialdb);
}
if ($modeldb) {
$this->_delModelTopic($modeldb);
} elseif ($pcdb) {
$this->_delPcTopic($pcdb);
}
delete_tag($deltids);
//TODO 这里不是完整的删贴业务,积分等业务未考虑
}
//更新置顶帖表
$this->db->update("DELETE FROM pw_poststopped WHERE tid IN ({$deltids}) AND pid = '0' AND fid != '0' ");
//删除动态
if ($deltids) {
$this->db->update("DELETE FROM pw_feed WHERE type='post' AND typeid IN(" . $deltids . ")");
}
if ($cydb) {
//.........这里部分代码省略.........
示例10: afterpost
function afterpost()
{
global $db_ifpwcache, $timestamp;
if ($this->data['ifcheck'] == 1) {
if ($this->forum->foruminfo['allowhtm'] && !$this->forum->foruminfo['cms']) {
$StaticPage = L::loadClass('StaticPage');
$StaticPage->update($this->tid);
}
$lastpost = array('subject' => substrs($this->data['title'], 26), 'author' => $this->data['lastposter'], 'lastpost' => $timestamp, 'tid' => $this->tid, 't_date' => $timestamp);
$this->forum->lastinfo('topic', '+', $lastpost);
if ($this->forum->isOpen() && !$this->data['anonymous']) {
pwAddFeed($this->post->uid, 'post', $this->tid, array('subject' => stripslashes($this->data['title']), 'tid' => $this->tid, 'fid' => $this->forum->fid));
//会员资讯缓存
$usercachedata = array();
$usercache = L::loadDB('Usercache');
$usercachedata['subject'] = substrs(stripWindCode($this->data['title']), 100, N);
$usercachedata['content'] = substrs(stripWindCode($this->data['content']), 100, N);
$usercachedata['postdate'] = $timestamp;
if ($this->att) {
$usercachedata['attimages'] = $this->att->getImages(4);
}
$usercache->update($this->data['authorid'], 'topic', $this->tid, $usercachedata);
}
//Start elementupdate
if ($db_ifpwcache & 128 || $db_ifpwcache & 512 && $this->att && $this->att->elementpic) {
require_once R_P . 'lib/elementupdate.class.php';
$elementupdate = new ElementUpdate($this->forum->fid);
if ($db_ifpwcache & 128) {
$elementupdate->newSubjectUpdate($this->tid, $this->forum->fid, $timestamp, $this->data['special']);
}
if ($db_ifpwcache & 512 && $this->att && $this->att->elementpic) {
$elementupdate->newPicUpdate($this->att->elementpic['aid'], $this->forum->fid, $this->tid, $this->att->elementpic['attachurl'], $this->att->elementpic['ifthumb'], $this->data['content']);
}
$elementupdate->updateSQL();
}
updateDatanalyse($this->data['authorid'], 'memberThread', 1);
//End elementupdate
}
if ($this->postdata->filter->filter_weight > 1) {
$this->postdata->filter->insert($this->tid, 0, implode(',', $this->postdata->filter->filter_word), $this->postdata->filter->filter_weight);
}
if ($this->data['topped'] > 0) {
require_once R_P . 'require/updateforum.php';
setForumsTopped($this->tid, $this->data['fid'], $this->data['topped']);
updatetop();
}
}
示例11: parseThread
function parseThread($tpcdb)
{
global $isGM, $pwSystem, $foruminfo, $forumset, $db_readdir, $viewbbs, $page, $managemode, $imgpath, $stylepath, $db_readperpage, $managecheck, $db_threademotion, $winduid, $db_anonymousname, $modelid, $pcid, $actmid, $timestamp;
$this->analyseDataToCache($tpcdb);
$pwAnonyHide = $isGM || $pwSystem['anonyhide'];
$updatetop = 0;
$threaddb = $rewids = $cyids = $replyReward = array();
$arrStatus = array(1 => 'vote', 2 => 'active', 3 => 'reward', 4 => 'trade', 5 => 'debate');
$attachtype = array('1' => 'img', '2' => 'txt', '3' => 'zip');
foreach ($tpcdb as $key => $thread) {
$foruminfo['allowhtm'] == 1 && ($htmurl = $db_readdir . '/' . $this->fid . '/' . date('ym', $thread['postdate']) . '/' . $thread['tid'] . '.html');
$thread['tpcurl'] = "read.php?tid={$thread[tid]}{$viewbbs}" . ($page > 1 ? "&fpage={$page}" : '');
if ($managemode == 1) {
$thread['tpcurl'] .= '&toread=1';
} elseif (!$foruminfo['cms'] && $foruminfo['allowhtm'] == 1 && file_exists(R_P . $htmurl)) {
$thread['tpcurl'] = "{$htmurl}";
}
if ($thread['toolfield']) {
list($t, $e, $m) = explode(',', $thread['toolfield']);
$sqladd = '';
if ($t && $t < $timestamp) {
$sqladd .= ",toolinfo='',specialsort=0,topped='0'";
$t = '';
$thread['topped'] > 0 && ($updatetop = 1);
}
if ($e && $e < $timestamp) {
$sqladd .= ",titlefont=''";
$thread['titlefont'] = '';
$e = '';
}
if ($m && $m < $timestamp) {
$sqladd .= ",specialsort=0";
$m = '';
$kmdService = L::loadClass('kmdservice', 'forum');
$kmdService->initKmdInfoByTid($thread['tid']);
}
if ($sqladd) {
$thread['toolfield'] = implode(',', array(0 => $t, 1 => $e, 2 => $m));
$this->db->update(pwQuery::buildClause("UPDATE :pw_table SET toolfield=:toolfield {$sqladd} WHERE tid=:tid", array('pw_threads', $thread['toolfield'], $thread['tid'])));
//* $threads = L::loadClass('Threads', 'forum');
//* $threads->delThreads($thread['tid']);
}
}
$forumset['cutnums'] && ($thread['subject'] = substrs($thread['subject'], $forumset['cutnums']));
$forumset['cutnums'] > 80 && ($thread['subject'] = substrs(str_replace(' ', ' ', $thread['subject']), 80));
if ($thread['titlefont']) {
$titledetail = explode("~", $thread['titlefont']);
if ($titledetail[0]) {
$thread['subject'] = "<font color={$titledetail['0']}>{$thread['subject']}</font>";
}
if ($titledetail[1]) {
$thread['subject'] = "<b>{$thread['subject']}</b>";
}
if ($titledetail[2]) {
$thread['subject'] = "<i>{$thread['subject']}</i>";
}
if ($titledetail[3]) {
$thread['subject'] = "<u>{$thread['subject']}</u>";
}
}
if ($thread['ifshield']) {
$thread['subject'] = threadShield('shield_title');
}
if ($thread['ifmark']) {
$thread['ifmark'] = $thread['ifmark'] > 0 ? "<span class='gray tpage w'>(+{$thread['ifmark']})</span>" : "<span class='gray tpage w'>({$thread['ifmark']})</span>";
} else {
unset($thread['ifmark']);
}
if (isset($arrStatus[$thread['special']])) {
$p_status = $thread['locked'] % 3 == 0 ? $arrStatus[$thread['special']] : $arrStatus[$thread['special']] . 'lock';
} elseif ($thread['locked'] % 3 != 0) {
$p_status = $thread['locked'] % 3 == 1 ? 'topiclock' : 'topicclose';
} else {
$p_status = $thread['ifmagic'] ? 'magic' : ($thread['replies'] >= 10 ? 'topichot' : 'topicnew');
}
if ($thread['special'] == 8 && $p_status == 'topicnew') {
//活动帖图标展示
$p_status = 'activity';
}
$thread['inspect'] && ($thread['inspect'] = explode("\t", $thread['inspect']));
if ($thread['inspect'] && $thread['inspect'][0] == 0) {
$thread['inspect'][0] = '主';
}
$thread['tooltip'] = $p_status;
$thread['status'] = "<img src=\"{$imgpath}/{$stylepath}/thread/" . $p_status . ".gif\" align=\"absmiddle\">";
if ($thread['special'] == 8 && $p_status == 'activity') {
//活动帖图标展示
$thread['status'] = "<img src=\"{$imgpath}/activity/" . $p_status . ".gif\" border=0 align=\"absmiddle\">";
}
$thread['topped'] && ($GLOBALS['ifsort'] = 1);
$thread['ispage'] = '';
if ($thread['topreplays'] + $thread['replies'] + 1 > $db_readperpage) {
$numofpage = ceil(($thread['topreplays'] + $thread['replies'] + 1) / $db_readperpage);
$fpage = $page > 1 ? "&fpage={$page}" : "";
$thread['ispage'] = ' ';
$thread['ispage'] .= " <img src=\"{$imgpath}/{$stylepath}/file/multipage.gif\" align=\"absmiddle\" alt=\"pages\"> <span class=\"tpage\">";
for ($j = 1; $j <= $numofpage; $j++) {
if ($j == 6 && $j + 1 < $numofpage) {
$thread['ispage'] .= " .. <a href=\"read.php?tid={$thread['tid']}{$fpage}&page={$numofpage}\">{$numofpage}</a>";
break;
//.........这里部分代码省略.........
示例12: afterpost
function afterpost()
{
global $db_ifpwcache, $timestamp;
if ($this->data['ifcheck'] == 1) {
if ($this->forum->foruminfo['allowhtm'] && !$this->forum->foruminfo['cms']) {
$StaticPage = L::loadClass('StaticPage');
$StaticPage->update($this->tid);
}
$lastpost = array('subject' => substrs($this->data['title'], 26), 'author' => $this->data['lastposter'], 'lastpost' => $timestamp, 'tid' => $this->tid, 't_date' => $timestamp);
$this->forum->lastinfo('topic', '+', $lastpost);
if ($this->forum->isOpen() && !$this->data['anonymous']) {
require_once R_P . 'require/functions.php';
if (!$this->extraBehavior) {
$weiboService = L::loadClass('weibo', 'sns');
/* @var $weiboService PW_Weibo */
$weiboContent = substrs(stripWindCode($weiboService->escapeStr(strip_tags($this->data['content']))), 125);
$weiboExtra = array('title' => stripslashes($this->data['title']), 'fid' => $this->forum->fid, 'fname' => $this->forum->name, 'atusers' => $this->data['atusers']);
$weiboService->send($this->post->uid, $weiboContent, 'article', $this->tid, $weiboExtra);
$threadService = L::loadClass('threads', 'forum');
$threadService->setAtUsers($this->tid, 0, $this->data['atusers']);
}
//会员资讯缓存
$userCache = L::loadClass('Usercache', 'user');
$userCache->delete($this->data['authorid'], array('article', 'cardtopic'));
/*
$usercachedata = array();
$usercachedata['subject'] = substrs(stripWindCode($this->data['title']), 100, N);
$usercachedata['content'] = substrs(stripWindCode($this->data['content']), 100, N);
$usercachedata['postdate'] = $timestamp;
if ($this->att) {
$usercachedata['attimages'] = $this->att->getImages(4);
}
$userCache->update($this->data['authorid'], 'topic', $this->tid, $usercachedata);
*/
}
//Start elementupdate
require_once D_P . 'data/bbscache/o_config.php';
if ($db_ifpwcache & 128 || $o_browseopen || $db_ifpwcache & 512 && $this->att && $this->att->elementpic) {
L::loadClass('elementupdate', '', false);
$elementupdate = new ElementUpdate($this->forum->fid);
if ($db_ifpwcache & 128) {
$elementupdate->newSubjectUpdate($this->tid, $this->forum->fid, $timestamp, $this->data['special']);
}
if ($db_ifpwcache & 512 && $this->att && $this->att->elementpic && $this->_checkIfHidden()) {
$elementupdate->newPicUpdate($this->att->elementpic['aid'], $this->forum->fid, $this->tid, $this->att->elementpic['attachurl'], $this->att->elementpic['ifthumb'], $this->data['content']);
}
if ($o_browseopen) {
$elementupdate->setCacheNum(100);
/*设置缓存100个*/
$elementupdate->lastPostUpdate($this->data['authorid'], $this->tid, $timestamp);
}
$elementupdate->updateSQL();
}
require_once R_P . 'require/functions.php';
updateDatanalyse($this->data['authorid'], 'memberThread', 1);
//End elementupdate
}
if ($this->postdata->filter->filter_weight > 1) {
$this->postdata->filter->insert($this->tid, 0, implode(',', $this->postdata->filter->filter_word), $this->postdata->filter->filter_weight);
}
if ($this->data['topped'] > 0) {
require_once R_P . 'require/updateforum.php';
setForumsTopped($this->tid, $this->data['fid'], $this->data['topped']);
updatetop();
}
}
示例13: downTopped
function downTopped($tid)
{
//取消置顶帖
$tid = $this->db->get_value('SELECT tid FROM pw_threads WHERE tid=' . S::sqlEscape($tid));
if (!$tid) {
return new ApiResponse(false);
}
//$this->db->update('UPDATE pw_threads SET topped=0 WHERE tid='.S::sqlEscape($tid));
pwQuery::update('pw_threads', 'tid=:tid', array($tid), array('topped' => 0));
require_once R_P . 'require/updateforum.php';
updatetop();
return new ApiResponse(true);
}