phpcms v9 会员投稿功能,编辑文章以后,siteid字段丢失

现象:
会员投稿的内容,进行二次编辑以后,从已投稿列表里消失,后来发现是siteid参数丢失

bug定位
member/content.php 211行

$this->content_db->edit_content($_POST['info'],$id);

content_model.class.php

		//更新审核列表
		$this->content_check_db = pc_base::load_model('content_check_model');
		$check_data = array(
			'catid'=>$systeminfo['catid'],
			'siteid'=>$this->siteid,
			'title'=>$systeminfo['title'],
			'status'=>$systeminfo['status'],
			);

再看

$this->siteid = get_siteid();
/**
 * 获取当前的站点ID
 */
function get_siteid() {
	static $siteid;
	if (!empty($siteid)) return $siteid;
	if (defined('IN_ADMIN')) {
		if ($d = param::get_cookie('siteid')) {
			$siteid = $d;
		} else {
			return '';
		}
	} else {
		$data = getcache('sitelist', 'commons');
		if(!is_array($data)) return '1';
		$site_url = SITE_PROTOCOL.SITE_URL;
		foreach ($data as $v) {
			if ($v['url'] == $site_url.'/') $siteid = $v['siteid'];
		}
	}
	if (empty($siteid)) $siteid = 1;
	return $siteid;
}

可以看出,siteid在模块间传递时出现了丢失。

解决办法是在编辑文章之间对siteid进行更新

				/*
				 * fix by vus520会员编辑文章以后,消失的bug
				 * www.4wei.cn
				 * */
				$this->content_db->siteid = $siteid;
				$this->content_db->edit_content($_POST['info'],$id);


发表评论

电子邮件地址不会被公开。