| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732 | <?php/** * 会员前台投稿操作类 */defined('IN_PHPCMS') or exit('No permission resources.');pc_base::load_app_class('foreground');pc_base::load_sys_class('format', '', 0);pc_base::load_sys_class('form', '', 0);pc_base::load_app_func('global', 'member');class content extends foreground {	private $times_db;	function __construct() {		parent::__construct();	}	public function publish() {		$memberinfo = $this->memberinfo;		$grouplist = getcache('grouplist');		$priv_db = pc_base::load_model('category_priv_model'); //加载栏目权限表数据模型				//判断会员组是否允许投稿		if(!$grouplist[$memberinfo['groupid']]['allowpost']) {			showmessage(L('member_group').L('publish_deny'), HTTP_REFERER);		}		//判断每日投稿数		$this->content_check_db = pc_base::load_model('content_check_model');		$todaytime = strtotime(date('y-m-d',SYS_TIME));		$_username = $this->memberinfo['username'];		$allowpostnum = $this->content_check_db->count("`inputtime` > $todaytime AND `username`='$_username'");		if($grouplist[$memberinfo['groupid']]['allowpostnum'] > 0 && $allowpostnum >= $grouplist[$memberinfo['groupid']]['allowpostnum']) {			showmessage(L('allowpostnum_deny').$grouplist[$memberinfo['groupid']]['allowpostnum'], HTTP_REFERER);		}		$siteids = getcache('category_content', 'commons');		header("Cache-control: private");		if(isset($_POST['dosubmit'])) {						$catid = intval($_POST['info']['catid']);			//判断此类型用户是否有权限在此栏目下提交投稿			if (!$priv_db->get_one(array('catid'=>$catid, 'roleid'=>$memberinfo['groupid'], 'is_admin'=>0, 'action'=>'add'))) showmessage(L('category').L('publish_deny'), APP_PATH.'index.php?m=member'); 									$siteid = $siteids[$catid];			$CATEGORYS = getcache('category_content_'.$siteid, 'commons');			$category = $CATEGORYS[$catid];			$modelid = $category['modelid'];			if(!$modelid) showmessage(L('illegal_parameters'), HTTP_REFERER);			$this->content_db = pc_base::load_model('content_model');			$this->content_db->set_model($modelid);			$table_name = $this->content_db->table_name;			$fields_sys = $this->content_db->get_fields();			$this->content_db->table_name = $table_name.'_data';						$fields_attr = $this->content_db->get_fields();			$fields = array_merge($fields_sys,$fields_attr);			$fields = array_keys($fields);			$info = array();			foreach($_POST['info'] as $_k=>$_v) {				if($_k == 'content') {					$info[$_k] = remove_xss(strip_tags($_v, '<p><a><br><img><ul><li><div>'));				} elseif(in_array($_k, $fields)) {					$info[$_k] = new_html_special_chars(trim_script($_v));				}			}			$_POST['linkurl'] = str_replace(array('"','(',')',",",' ','%'),'',new_html_special_chars(strip_tags($_POST['linkurl'])));			$post_fields = array_keys($_POST['info']);			$post_fields = array_intersect_assoc($fields,$post_fields);			$setting = string2array($category['setting']);			if($setting['presentpoint'] < 0 && $memberinfo['point'] < abs($setting['presentpoint']))			showmessage(L('points_less_than',array('point'=>$memberinfo['point'],'need_point'=>abs($setting['presentpoint']))),APP_PATH.'index.php?m=pay&c=deposit&a=pay&exchange=point',3000);						//判断会员组投稿是否需要审核			if($grouplist[$memberinfo['groupid']]['allowpostverify'] || !$setting['workflowid']) {				$info['status'] = 99;			} else {				$info['status'] = 1;			}			$info['username'] = $memberinfo['username'];			if(isset($info['title'])) $info['title'] = safe_replace($info['title']);			$this->content_db->siteid = $siteid;						$id = $this->content_db->add_content($info);			//检查投稿奖励或扣除积分			if ($info['status']==99) {				$flag = $catid.'_'.$id;				if($setting['presentpoint']>0) {					pc_base::load_app_class('receipts','pay',0);					receipts::point($setting['presentpoint'],$memberinfo['userid'], $memberinfo['username'], $flag,'selfincome',L('contribute_add_point'),$memberinfo['username']);				} else {					pc_base::load_app_class('spend','pay',0);					spend::point($setting['presentpoint'], L('contribute_del_point'), $memberinfo['userid'], $memberinfo['username'], '', '', $flag);				}			}			//缓存结果			$model_cache = getcache('model','commons');			$infos = array();			foreach ($model_cache as $modelid=>$model) {				if($model['siteid']==$siteid) {					$datas = array();					$this->content_db->set_model($modelid);					$datas = $this->content_db->select(array('username'=>$memberinfo['username'],'sysadd'=>0),'id,catid,title,url,username,sysadd,inputtime,status',100,'id DESC');					if($datas) $infos = array_merge($infos,$datas);				}			}			setcache('member_'.$memberinfo['userid'].'_'.$siteid, $infos,'content');			//缓存结果 END			if($info['status']==99) {				showmessage(L('contributors_success'), APP_PATH.'index.php?m=member&c=content&a=published');			} else {				showmessage(L('contributors_checked'), APP_PATH.'index.php?m=member&c=content&a=published');			}					} else {					$show_header = $show_dialog = $show_validator = '';			$temp_language = L('news','','content');			$sitelist = getcache('sitelist','commons');			if(!isset($_GET['siteid']) && count($sitelist)>1) {				include template('member', 'content_publish_select_model');				exit;			}			//设置cookie 在附件添加处调用			param::set_cookie('module', 'content');			$siteid = intval($_GET['siteid']);			if(!$siteid) $siteid = 1;			$CATEGORYS = getcache('category_content_'.$siteid, 'commons'); 			foreach ($CATEGORYS as $catid=>$cat) {				if($cat['siteid']==$siteid && $cat['child']==0 && $cat['type']==0 && $priv_db->get_one(array('catid'=>$catid, 'roleid'=>$memberinfo['groupid'], 'is_admin'=>0, 'action'=>'add'))) break;			}			$catid = $_GET['catid'] ? intval($_GET['catid']) : $catid;			if (!$catid) showmessage(L('category').L('publish_deny'), APP_PATH.'index.php?m=member');			//判断本栏目是否允许投稿			if (!$priv_db->get_one(array('catid'=>$catid, 'roleid'=>$memberinfo['groupid'], 'is_admin'=>0, 'action'=>'add'))) showmessage(L('category').L('publish_deny'), APP_PATH.'index.php?m=member');			$category = $CATEGORYS[$catid];			if($category['siteid']!=$siteid) showmessage(L('site_no_category'),'?m=member&c=content&a=publish');			$setting = string2array($category['setting']);			if($setting['presentpoint'] < 0 && $memberinfo['point'] < abs($setting['presentpoint']))			showmessage(L('points_less_than',array('point'=>$memberinfo['point'],'need_point'=>abs($setting['presentpoint']))),APP_PATH.'index.php?m=pay&c=deposit&a=pay&exchange=point',3000);			if($category['type']!=0) showmessage(L('illegal_operation'));			$modelid = $category['modelid'];			$model_arr = getcache('model', 'commons');			$MODEL = $model_arr[$modelid];			unset($model_arr);				require CACHE_MODEL_PATH.'content_form.class.php';			$content_form = new content_form($modelid, $catid, $CATEGORYS);			$forminfos_data = $content_form->get();			$forminfos = array(); 			foreach($forminfos_data as $_fk=>$_fv) {				if($_fv['isomnipotent']) continue;				if($_fv['formtype']=='omnipotent') {					foreach($forminfos_data as $_fm=>$_fm_value) {						if($_fm_value['isomnipotent']) {							$_fv['form'] = str_replace('{'.$_fm.'}',$_fm_value['form'],$_fv['form']);						}					}				}				$forminfos[$_fk] = $_fv;			}			$formValidator = $content_form->formValidator;			//去掉栏目id			unset($forminfos['catid']);			$workflowid = $setting['workflowid'];			header("Cache-control: private");			$template = $MODEL['member_add_template'] ? $MODEL['member_add_template'] : 'content_publish';			include template('member', $template);		}	}		public function published() {		$memberinfo = $this->memberinfo;		$sitelist = getcache('sitelist','commons');		if(!isset($_GET['siteid']) && count($sitelist)>1) {			include template('member', 'content_publish_select_model');			exit;		}		$_username = $this->memberinfo['username'];		$_userid = $this->memberinfo['userid'];		$siteid = intval($_GET['siteid']);		if(!$siteid) $siteid = 1;		$CATEGORYS = getcache('category_content_'.$siteid, 'commons');		$siteurl = siteurl($siteid);		$pagesize = 20;		$page = max(intval($_GET['page']),1);		$workflows = getcache('workflow_'.$siteid,'commons');			$this->content_check_db = pc_base::load_model('content_check_model');		$infos = $this->content_check_db->listinfo(array('username'=>$_username, 'siteid'=>$siteid),'inputtime DESC',$page);		$datas = array();		foreach($infos as $_v) {			$arr_checkid = explode('-',$_v['checkid']);			$_v['id'] = $arr_checkid[1];			$_v['modelid'] = $arr_checkid[2];			$_v['url'] = $_v['status']==99 ? go($_v['catid'],$_v['id']) : APP_PATH.'index.php?m=content&c=index&a=show&catid='.$_v['catid'].'&id='.$_v['id'];			if(!isset($setting[$_v['catid']])) $setting[$_v['catid']] = string2array($CATEGORYS[$_v['catid']]['setting']);			$workflowid = $setting[$_v['catid']]['workflowid'];			$_v['flag'] = $workflows[$workflowid]['flag'];			$datas[] = $_v;		} 		$pages = $this->content_check_db->pages;		include template('member', 'content_published');		}	/**	 * 编辑内容	 */	public function edit() {		$_username = $this->memberinfo['username'];		if(isset($_POST['dosubmit'])) {			$catid = $_POST['info']['catid'] = intval($_POST['info']['catid']);			$siteids = getcache('category_content', 'commons');			$siteid = $siteids[$catid];			$CATEGORYS = getcache('category_content_'.$siteid, 'commons');			$category = $CATEGORYS[$catid];			if($category['type']==0) {				$id = intval($_POST['id']);				$catid = $_POST['info']['catid'] = intval($_POST['info']['catid']);				$this->content_db = pc_base::load_model('content_model');				$modelid = $category['modelid'];				$this->content_db->set_model($modelid);				//判断会员组投稿是否需要审核				$memberinfo = $this->memberinfo;				$grouplist = getcache('grouplist');				$setting = string2array($category['setting']);				if(!$grouplist[$memberinfo['groupid']]['allowpostverify'] || $setting['workflowid']) {					$_POST['info']['status'] = 1;				}				$info = array();				foreach($_POST['info'] as $_k=>$_v) {					if($_k == 'content') {						$_POST['info'][$_k] = strip_tags($_v, '<p><a><br><img><ul><li><div>');					} elseif(in_array($_k, $fields)) {						$_POST['info'][$_k] = new_html_special_chars(trim_script($_v));					}				}				$_POST['linkurl'] = str_replace(array('"','(',')',",",' ','%'),'',new_html_special_chars(strip_tags($_POST['linkurl'])));				$this->content_db->edit_content($_POST['info'],$id);				$forward = $_POST['forward'];				showmessage(L('update_success'),$forward);			}		} else {			$show_header = $show_dialog = $show_validator = '';			$temp_language = L('news','','content');			//设置cookie 在附件添加处调用			param::set_cookie('module', 'content');			$id = intval($_GET['id']);			if(isset($_GET['catid']) && $_GET['catid']) {				$catid = $_GET['catid'] = intval($_GET['catid']);				param::set_cookie('catid', $catid);				$siteids = getcache('category_content', 'commons');				$siteid = $siteids[$catid];				$CATEGORYS = getcache('category_content_'.$siteid, 'commons');				$category = $CATEGORYS[$catid];				if($category['type']==0) {					$modelid = $category['modelid'];					$this->model = getcache('model', 'commons');					$this->content_db = pc_base::load_model('content_model');					$this->content_db->set_model($modelid);							$this->content_db->table_name = $this->content_db->db_tablepre.$this->model[$modelid]['tablename'];					$r = $this->content_db->get_one(array('id'=>$id,'username'=>$_username,'sysadd'=>0));							if(!$r) showmessage(L('illegal_operation'));					if($r['status']==99) showmessage(L('has_been_verified'));					$this->content_db->table_name = $this->content_db->table_name.'_data';					$r2 = $this->content_db->get_one(array('id'=>$id));					$data = array_merge($r,$r2);					require CACHE_MODEL_PATH.'content_form.class.php';					$content_form = new content_form($modelid,$catid,$CATEGORYS);									$forminfos_data = $content_form->get($data);					$forminfos = array();					foreach($forminfos_data as $_fk=>$_fv) {						if($_fv['isomnipotent']) continue;						if($_fv['formtype']=='omnipotent') {							foreach($forminfos_data as $_fm=>$_fm_value) {								if($_fm_value['isomnipotent']) {									$_fv['form'] = str_replace('{'.$_fm.'}',$_fm_value['form'],$_fv['form']);								}							}						}						$forminfos[$_fk] = $_fv;					}					$formValidator = $content_form->formValidator;									include template('member', 'content_publish');				}			}			header("Cache-control: private");					}	}		/**	 * 	 * 会员删除投稿 ...	 */	public function delete(){		$id = intval($_GET['id']); 		if(!$id){			return false;		} 		//判断该文章是否待审,并且属于该会员		$username = param::get_cookie('_username');		$userid = param::get_cookie('_userid');		$siteid = get_siteid();		$catid = intval($_GET['catid']);		$siteids = getcache('category_content', 'commons');		$siteid = $siteids[$catid];		$CATEGORYS = getcache('category_content_'.$siteid, 'commons');		$category = $CATEGORYS[$catid];		if(!$category){			showmessage(L('operation_failure'), HTTP_REFERER);  		}		$modelid = $category['modelid'];		$checkid = 'c-'.$id.'-'.$modelid; 		$where = " checkid='$checkid' and username='$username' and status!=99 ";		$check_pushed_db = pc_base::load_model('content_check_model'); 		$array = $check_pushed_db->get_one($where);		if(!$array){ 			showmessage(L('operation_failure'), HTTP_REFERER); 		}else{			$content_db = pc_base::load_model('content_model');			$content_db->set_model($modelid);			$table_name = $content_db->table_name; 			$content_db->delete_content($id); //删除文章 			$check_pushed_db->delete(array('checkid'=>$checkid));//删除对应投稿表			showmessage(L('operation_success'), HTTP_REFERER); 		}	}		public function info_publish() {		$memberinfo = $this->memberinfo;		$grouplist = getcache('grouplist');		$SEO['title'] = L('info_publish','','info');		//判断会员组是否允许投稿		if(!$grouplist[$memberinfo['groupid']]['allowpost']) {			showmessage(L('member_group').L('publish_deny'), HTTP_REFERER);		}		//判断每日投稿数		$this->content_check_db = pc_base::load_model('content_check_model');		$todaytime = strtotime(date('y-m-d',SYS_TIME));		$_username = $memberinfo['username'];		$allowpostnum = $this->content_check_db->count("`inputtime` > $todaytime AND `username`='$_username'");		if($grouplist[$memberinfo['groupid']]['allowpostnum'] > 0 && $allowpostnum >= $grouplist[$memberinfo['groupid']]['allowpostnum']) {			showmessage(L('allowpostnum_deny').$grouplist[$memberinfo['groupid']]['allowpostnum'], HTTP_REFERER);		}				$siteids = getcache('category_content', 'commons');		header("Cache-control: private");		if(isset($_POST['dosubmit'])) {			$catid = intval($_POST['info']['catid']);			$siteid = $siteids[$catid];			$CATEGORYS = getcache('category_content_'.$siteid, 'commons');			$category = $CATEGORYS[$catid];			$modelid = $category['modelid'];			if(!$modelid) showmessage(L('illegal_parameters'), HTTP_REFERER);			$this->content_db = pc_base::load_model('content_model');			$this->content_db->set_model($modelid);			$table_name = $this->content_db->table_name;			$fields_sys = $this->content_db->get_fields();			$this->content_db->table_name = $table_name.'_data';						$fields_attr = $this->content_db->get_fields();			$fields = array_merge($fields_sys,$fields_attr);			$fields = array_keys($fields);			$info = array();			foreach($_POST['info'] as $_k=>$_v) {				if(in_array($_k, $fields)) $info[$_k] = $_v;			}			$post_fields = array_keys($_POST['info']);			$post_fields = array_intersect_assoc($fields,$post_fields);			$setting = string2array($category['setting']);			if($setting['presentpoint'] < 0 && $memberinfo['point'] < abs($setting['presentpoint']))			showmessage(L('points_less_than',array('point'=>$memberinfo['point'],'need_point'=>abs($setting['presentpoint']))),APP_PATH.'index.php?m=pay&c=deposit&a=pay&exchange=point',3000);						//判断会员组投稿是否需要审核			if($grouplist[$memberinfo['groupid']]['allowpostverify'] || !$setting['workflowid']) {				$info['status'] = 99;			} else {				$info['status'] = 1;			}			$info['username'] = $memberinfo['username'];			$this->content_db->siteid = $siteid;			$id = $this->content_db->add_content($info);			//检查投稿奖励或扣除积分			$flag = $catid.'_'.$id;			if($setting['presentpoint']>0) {				pc_base::load_app_class('receipts','pay',0);				receipts::point($setting['presentpoint'],$memberinfo['userid'], $memberinfo['username'], $flag,'selfincome',L('contribute_add_point'),$memberinfo['username']);			} else {				pc_base::load_app_class('spend','pay',0);				spend::point($setting['presentpoint'], L('contribute_del_point'), $memberinfo['userid'], $memberinfo['username'], '', '', $flag);			}			//缓存结果			$model_cache = getcache('model','commons');			$infos = array();			foreach ($model_cache as $modelid=>$model) {				if($model['siteid']==$siteid) {					$datas = array();					$this->content_db->set_model($modelid);					$datas = $this->content_db->select(array('username'=>$memberinfo['username'],'sysadd'=>0),'id,catid,title,url,username,sysadd,inputtime,status',100,'id DESC');				}			}			setcache('member_'.$memberinfo['userid'].'_'.$siteid, $infos,'content');			//缓存结果 END			if($info['status']==99) {				showmessage(L('contributors_success'), APP_PATH.'index.php?m=member&c=content&a=info_top&id='.$id.'&catid='.$catid.'&msg=1');			} else {				showmessage(L('contributors_checked'), APP_PATH.'index.php?m=member&c=content&a=info_top&id='.$id.'&catid='.$catid.'&msg=1');			}					} else {					$show_header = $show_dialog = $show_validator = '';			$step = $step_1 = $step_2 = $step_3 = $step_4;			$temp_language = L('news','','content');			$sitelist = getcache('sitelist','commons');			/*			if(!isset($_GET['siteid']) && count($sitelist)>1) {				include template('member', 'content_publish_select_model');				exit;			}			*/			//设置cookie 在附件添加处调用			param::set_cookie('module', 'content');			$siteid = intval($_GET['siteid']);						//获取信息模型类别、区域、城市信息			$info_linkageid = getinfocache('info_linkageid');			$cityid = getcity(trim($_GET['city']),'linkageid');			$cityname = getcity(trim($_GET['city']),'name');						$citypinyin = getcity(trim($_GET['city']),'pinyin');						$zone = intval($_GET['zone']);			$zone_name = get_linkage($zone, $info_linkageid, '', 0);						if(!$siteid) $siteid = 1;			$CATEGORYS = getcache('category_content_'.$siteid, 'commons');			$priv_db = pc_base::load_model('category_priv_model'); //加载栏目权限表数据模型			foreach ($CATEGORYS as $catid=>$cat) {				if($cat['siteid']==$siteid && $cat['child']==0 && $cat['type']==0 && $priv_db->get_one(array('catid'=>$catid, 'roleid'=>$memberinfo['groupid'], 'is_admin'=>0, 'action'=>'add'))) break;			}			$catid = $_GET['catid'] ? intval($_GET['catid']) : $catid;			if (!$catid) showmessage(L('category').L('publish_deny'), APP_PATH.'index.php?m=member');			//判断本栏目是否允许投稿			if (!$priv_db->get_one(array('catid'=>$catid, 'roleid'=>$memberinfo['groupid'], 'is_admin'=>0, 'action'=>'add'))) showmessage(L('category').L('publish_deny'), APP_PATH.'index.php?m=member');			$category = $CATEGORYS[$catid];			if($category['siteid']!=$siteid) showmessage(L('site_no_category'),'?m=member&c=content&a=info_publish');			$setting = string2array($category['setting']);			if($zone == 0 && !isset($_GET['catid'])) {				$step = 1;				include template('member', 'info_content_publish_select');				exit;			} elseif($zone == 0 && $category['child']) {				$step = 2;					$step_1 = '<a href="'.APP_PATH.'index.php?m=member&c=content&a=info_publish&siteid='.$siteid.'&city='.$citypinyin.'">'.$category['catname'].'</a>';				include template('member', 'info_content_publish_select');				exit;			} elseif($zone == 0 && isset($_GET['catid'])) {				$step = 3;					$step_1 = '<a href="'.APP_PATH.'index.php?m=member&c=content&a=info_publish&siteid='.$siteid.'">'.$CATEGORYS[$category['parentid']]['catname'].'</a>';				$step_2 = '<a href="'.APP_PATH.'index.php?m=member&c=content&a=info_publish&siteid='.$siteid.'&city='.$citypinyin.'&catid='.$category['parentid'].'">'.$category['catname'].'</a>';							$zone_arrchild = show_linkage($info_linkageid,$cityid,$cityid);				include template('member', 'info_content_publish_select');				exit;			} elseif($zone !== 0 && get_linkage_level($info_linkageid,$zone,'child') && !$_GET['jumpstep']) {				$step = 4;								$step_1 = '<a href="'.APP_PATH.'index.php?m=member&c=content&a=info_publish&siteid='.$siteid.'&city='.$citypinyin.'">'.$CATEGORYS[$category['parentid']]['catname'].'</a>';					$step_2 = '<a href="'.APP_PATH.'index.php?m=member&c=content&a=info_publish&siteid='.$siteid.'&city='.$citypinyin.'&catid='.$category['parentid'].'">'.$category['catname'].'</a>';					$step_3 = '<a href="'.APP_PATH.'index.php?m=member&c=content&a=info_publish&siteid='.$siteid.'&city='.$citypinyin.'&catid='.$catid.'">'.$zone_name.'</a>';												$zone_arrchild = get_linkage_level($info_linkageid,$zone,'arrchildinfo');				include template('member', 'info_content_publish_select');				exit;							}												if($setting['presentpoint'] < 0 && $memberinfo['point'] < abs($setting['presentpoint']))			showmessage(L('points_less_than',array('point'=>$memberinfo['point'],'need_point'=>abs($setting['presentpoint']))),APP_PATH.'index.php?m=pay&c=deposit&a=pay&exchange=point',3000);			if($category['type']!=0) showmessage(L('illegal_operation'));			$modelid = $category['modelid'];			require CACHE_MODEL_PATH.'content_form.class.php';			$content_form = new content_form($modelid, $catid, $CATEGORYS);						$data = array('zone'=>$zone,'city'=>$cityid);			$forminfos_data = $content_form->get($data);						$forminfos = array();			foreach($forminfos_data as $_fk=>$_fv) {				if($_fv['isomnipotent']) continue;				if($_fv['formtype']=='omnipotent') {					foreach($forminfos_data as $_fm=>$_fm_value) {						if($_fm_value['isomnipotent']) {							$_fv['form'] = str_replace('{'.$_fm.'}',$_fm_value['form'],$_fv['form']);						}					}				}				$forminfos[$_fk] = $_fv;			}			$formValidator = $content_form->formValidator;			//去掉栏目id			unset($forminfos['catid']);									$workflowid = $setting['workflowid'];			header("Cache-control: private");			include template('member', 'info_content_publish');		}	}	function info_top() {		$exist_posids = array();		$memberinfo = $this->memberinfo;		$_username = $this->memberinfo['username'];		$id = intval($_GET['id']);				$catid = $_GET['catid'];		$pos_data = pc_base::load_model('position_data_model');				if(!$id || !$catid) showmessage(L('illegal_parameters'), HTTP_REFERER);			if(isset($catid) && $catid) {			$siteids = getcache('category_content', 'commons');			$siteid = $siteids[$catid];			$CATEGORYS = getcache('category_content_'.$siteid, 'commons');			$category = $CATEGORYS[$catid];				if($category['type']==0) {				$modelid = $category['modelid'];				$this->model = getcache('model', 'commons');				$this->content_db = pc_base::load_model('content_model');				$this->content_db->set_model($modelid);								$this->content_db->table_name = $this->content_db->db_tablepre.$this->model[$modelid]['tablename'];				$r = $this->content_db->get_one(array('id'=>$id,'username'=>$_username,'sysadd'=>0));				if(!$r) showmessage(L('illegal_operation'));				//再次重新赋值,以数据库为准				$catid = $CATEGORYS[$r['catid']]['catid'];				$modelid = $CATEGORYS[$catid]['modelid'];								require_once CACHE_MODEL_PATH.'content_output.class.php';				$content_output = new content_output($modelid,$catid,$CATEGORYS);				$data = $content_output->get($r);				extract($data);											}		}		//置顶推荐位数组			$infos = getcache('info_setting','commons'); 		$toptype_posid = array('1'=>$infos['top_city_posid'],							   '2'=>$infos['top_zone_posid'],							   '3'=>$infos['top_district_posid'],							  );		foreach($toptype_posid as $_k => $_v) {			if($pos_data->get_one(array('id'=>$id,'catid'=>$catid,'posid'=>$_v))) {				$exist_posids[$_k] = 1;			}					}		include template('member', 'info_top');	}	function info_top_cost() {		$amount = $msg = '';		$memberinfo = $this->memberinfo;		$_username = $this->memberinfo['username'];			$_userid = $this->memberinfo['userid'];			$infos = getcache('info_setting','commons');		$toptype_arr = array(1,2,3);		//置顶积分数组		$toptype_price = array('1'=>$infos['top_city'],							   '2'=>$infos['top_zone'],							   '3'=>$infos['top_district'],							  );		//置顶推荐位数组					  		$toptype_posid = array('1'=>$infos['top_city_posid'],							   '2'=>$infos['top_zone_posid'],							   '3'=>$infos['top_district_posid'],							  );							  						if(isset($_POST['dosubmit'])) {			$posids = array();			$push_api = pc_base::load_app_class('push_api','admin');			$pos_data = pc_base::load_model('position_data_model');			$catid = intval($_POST['catid']);			$id = intval($_POST['id']);			$flag = $catid.'_'.$id;						$toptime = intval($_POST['toptime']);			if($toptime == 0 || empty($_POST['toptype'])) showmessage(L('info_top_not_setting_toptime'));			//计算置顶扣费积分,时间			if(is_array($_POST['toptype']) && !empty($_POST['toptype'])) {				foreach($_POST['toptype'] as $r) {					if(is_numeric($r) && in_array($r, $toptype_arr)) {						$posids[] = $toptype_posid[$r];						$amount += $toptype_price[$r];						$msg .= $r.'-';					}								}			}			//应付总积分			$amount = $amount * $toptime;							//扣除置顶点数					pc_base::load_app_class('spend','pay',0);			$pay_status = spend::point($amount, L('info_top').$msg, $_userid, $_username, '', '', $flag);			if($pay_status == false) {				$msg = spend::get_msg();				showmessage($msg);			}			//置顶过期时间			//TODO			$expiration = SYS_TIME + $toptime * 3600;			//获取置顶文章信息内容			if(isset($catid) && $catid) {				$siteids = getcache('category_content', 'commons');				$siteid = $siteids[$catid];				$CATEGORYS = getcache('category_content_'.$siteid, 'commons');				$category = $CATEGORYS[$catid];					if($category['type']==0) {					$modelid = $category['modelid'];					$this->model = getcache('model', 'commons');					$this->content_db = pc_base::load_model('content_model');					$this->content_db->set_model($modelid);									$this->content_db->table_name = $this->content_db->db_tablepre.$this->model[$modelid]['tablename'];					$r = $this->content_db->get_one(array('id'=>$id,'username'=>$_username,'sysadd'=>0));											}			}			if(!$r) showmessage(L('illegal_operation'));							$push_api->position_update($id, $modelid, $catid, $posids, $r, $expiration, 1);				$refer = $_POST['msg'] ? $r['url'] : '';			if($_POST['msg']) showmessage(L('ding_success'),$refer);			else showmessage(L('ding_success'), '', '', 'top');					} else {								$toptype = trim($_POST['toptype']);			$toptime = trim($_POST['toptime']);			$types = explode('_', $toptype);			if(is_array($types) && !empty($types)) {				foreach($types as $r) {					if(is_numeric($r) && in_array($r, $toptype_arr)) {						$amount += $toptype_price[$r];					}								}			}			$amount = $amount * $toptime;			echo $amount;		}	}			/**	 * 初始化phpsso	 * about phpsso, include client and client configure	 * @return string phpsso_api_url phpsso地址	 */	private function _init_phpsso() {		pc_base::load_app_class('client', '', 0);		define('APPID', pc_base::load_config('system', 'phpsso_appid'));		$phpsso_api_url = pc_base::load_config('system', 'phpsso_api_url');		$phpsso_auth_key = pc_base::load_config('system', 'phpsso_auth_key');		$this->client = new client($phpsso_api_url, $phpsso_auth_key);		return $phpsso_api_url;	}		/**	 * Function UPLOAD_VIDEO	 * 用户上传视频	 */	public function upload_video() {				$memberinfo = $this->memberinfo;		$grouplist = getcache('grouplist');		//判断会员组是否允许投稿		if(!$grouplist[$memberinfo['groupid']]['allowpost']) {			showmessage(L('member_group').L('publish_deny'), HTTP_REFERER);		}		//判断每日投稿数		$this->content_check_db = pc_base::load_model('content_check_model');		$todaytime = strtotime(date('y-m-d',SYS_TIME));		$_username = $this->memberinfo['username'];		$allowpostnum = $this->content_check_db->count("`inputtime` > $todaytime AND `username`='$_username'");		if($grouplist[$memberinfo['groupid']]['allowpostnum'] > 0 && $allowpostnum >= $grouplist[$memberinfo['groupid']]['allowpostnum']) {			showmessage(L('allowpostnum_deny').$grouplist[$memberinfo['groupid']]['allowpostnum'], HTTP_REFERER);		}		//加载视频库配置信息 		pc_base::load_app_class('ku6api', 'video', 0);		$setting = getcache('video', 'video');		if(empty($setting)) {			showmessage('上传功能还在开发中,请稍后重试!');		}		$ku6api = new ku6api($setting['sn'], $setting['skey']);		if (isset($_POST['dosubmit'])) {			$_POST['info']['catid'] = isset($_POST['info']['catid']) ? intval($_POST['info']['catid']) : showmessage('请选择栏目!');			$_POST['info']['title'] = isset($_POST['info']['title']) ? safe_replace($_POST['info']['title']) : showmessage('标题不能为空!');			$_POST['info']['keywords'] = isset($_POST['info']['keywords']) ? safe_replace($_POST['info']['keywords']) : '';			$_POST['info']['description'] = isset($_POST['info']['description']) ? safe_replace($_POST['info']['description']) : '';			//查询此模型下的视频字段			$field = get_video_field($_POST['info']['catid']);			if (!$field) showmessage('上传功能还在开发中,请稍后重试!');			$_POST['info'][$field] = 1;			$_POST[$field.'_video'] = array(1=>array('title'=>$_POST['info']['title'], 'vid' => $_POST['vid'], 'listorder'=>1)); 			unset($_POST['vid']);			$this->publish();		} else {			$categorys = video_categorys();			if (is_array($categorys) && !empty($categorys)) {				$cat = array();				$priv_db = pc_base::load_model('category_priv_model'); //加载栏目权限表数据模型				foreach ($categorys as $cid=>$c) {					if($c['child']==0 && $c['type']==0 && !$priv_db->get_one(array('catid'=>$cid, 'roleid'=>$memberinfo['groupid'], 'is_admin'=>0, 'action'=>'add'))) unset($categorys[$cid]);				}				if (empty($categorys)) showmessage(L('category').L('publish_deny'), APP_PATH.'index.php?m=member');				foreach ($categorys as $cid => $c) {					if ($c['child']) {						$ischild = 1;						$categorys[$cid]['disabled'] = 'disabled';					}					$cat[$cid] = $c['catname'];				}				if (!$ischild) {					$cat_list = form::radio($cat, '', 'name="info[catid]"', '90');				} else {					$tree = pc_base::load_sys_class('tree');					$str  = "<option value='\$catid' \$selected \$disabled>\$spacer \$catname</option>";					$tree->init($categorys);					$string = $tree->get_tree(0, $str);					$cat_list = '<select name="info[catid]" id="catid"><option value="0">请选择栏目</option>'.$string.'</select>';				}			}			$flash_info = $ku6api->flashuploadparam(); //加载视频上传工具信息						include template('member', 'upload_video');		}	}}?>
 |