Phpcms V9.5.10 广告模块无法保存配置文件BUG修复

当PHPCMS广告模板的配置文件为空的时候,PHP5.4情况下会无法保存配置文件。

提示错误

Cannot use a scalar value as an array

这个原因是

space.php 文件

/**
	 * 广告模块配置
	 */
	public function setting() {
		if (isset($_POST['dosubmit'])) {
			$setting = getcache('poster', 'commons');
			if(!is_array($setting)) $setting = array();
			$setting[$this->get_siteid()] = $_POST['setting'];
			setcache('poster', $setting, 'commons'); //设置缓存
			$m_db = pc_base::load_model('module_model'); //调用模块数据模型
			$setting = array2string($_POST['setting']);  			
			$m_db->update(array('setting'=>$setting), array('module'=>ROUTE_M)); //将配置信息存入数据表中
			
			showmessage(L('setting_updates_successful'), HTTP_REFERER, '', 'setting');
		} else {
			@extract($this->M); 
    		include $this->admin_tpl('setting');
		}
	}
	

在执行 getcache 方法后得到了一个空值。起码不是一个数据。然后再将返回的$setting 当作数组来看待。肯定是会出错的。

解决办法就是判断一下,是否为数据。如果不是就给也初始一个即可。

顺便也就解决了,广告模板无法上传图片的问题。

提示“poster_edit.tpl.php" line 6 有错误!!

你可能感兴趣的:(bug,phpcms)