| 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');
 
- 		}
 
- 	}
 
- }
 
- ?>
 
 
  |