zhangjingyu
继续楼上查看(以“hotfavor”搜索),果然是和第12行hotfavorUpdate有关,这里应该是重点。
lib/elementupdate.class.php
function hotfavorUpdate($tid, $fid) {
if (!($this->ifcache & 1024) || !$tid || !$fid) {
return false;
}
$eid = $this->db->get_value("SELECT eid FROM pw_elements WHERE type='hotfavor' AND mark=" . S::sqlEscape($fid) . " AND id=" . S::sqlEscape($tid));
if ($eid) {
$this->db->update("UPDATE pw_elements SET value=value+1 WHERE eid=" . S::sqlEscape($eid));
} else {
$rt = $this->db->get_one("SELECT favors FROM pw_threads WHERE tid=" . S::sqlEscape($tid));
$rs = $this->db->get_one("SELECT value,eid FROM pw_elements WHERE type='hotfavor' ORDER BY value ASC");
if ($rt['favors'] > $rs['value']) {
$this->db->update("DELETE FROM pw_elements WHERE eid=" . S::sqlEscape($rs['eid']));
$favors = array(
'id' => $tid,
'mark' => $fid,
'value' => $rt['favors'],
'type' => 'hotfavor'
);
$this->db->update("REPLACE INTO pw_elements SET" . S::sqlSingle($favors, false));
}
}
return true;
}
还有点没看明白,稍后再研究。继续。