专注于高品质PHP技术等信息服务于一体 [STIEMAP] [RSS]

百度提供的广告:
PHP
当前位置:首页 > 技术文档 > PHP >  > 
PHPCMS2008定时发布功能无法分享|PHPCMS二次开发网

bug描述:
定时发布功能,在发布内容是若同时使用分享至其它栏目时,其它栏目无法自动定时发布。
修改文件:
include/common.inc.php
156~178行
修改为
if($PHPCMS['publish']) {
//修正定时发布分享多个栏目bug
    $content_publisharr = cache_read('publish.php');
    if(is_array($content_publisharr)) {
        foreach($content_publisharr as $k=>$v) {
            if($v < TIME) {
                $tmp_content_time[] = $v;
                unset($content_publisharr[$k]);
            }
        }
    }
    if(isset($tmp_content_time)) {
        require_once 'admin/content.class.php';
        require_once 'attachment.class.php';
        $attachment = new attachment($mod, 0);
        $c = new content();
        $res = $c->status(1, 99, 1,$tmp_content_time);
        cache_write('publish.php', $content_publisharr);   
        unset($c);
        unset($attachment);
    }
    unset($content_publisharr);
}
include/admin/content.class.php
482~505行
方法 status($contentid, $status, $is_admin = 0,$publish=0) 加重载
添加以下代码:
if($publish)
{
    $content_times= implodeids($publish);
    $is_update = $this->db->query("UPDATE `$this->table` SET `status`=$status WHERE `inputtime` IN ($content_times) $this->userid_sql");
    $result = $this->db->query("SELECT `contentid` FROM `$this->table` WHERE `inputtime` IN ($content_times)");
    unset($contentid);
    while($r = $this->db->fetch_array($result))
        {
            $contentid[] = $r['contentid'];
        }
        $this->db->free_result($result);
}