phpcms v9 會員投稿後,限制一定時間內可重新整理一次,類似58的重新整理置頂功能

viqecel發表於2017-12-02
24小時限制重新整理說明
1,修改\phpcms\modules\member\content.php


在public function published()中,


$_v['flag'] = $workflows[$workflowid]['flag'];

	的下面增加
	
$category = $CATEGORYS[$_v['catid']];
			$modelid = $category['modelid'];
			$this->content_db = pc_base::load_model('content_model');
			$vvv=$this->content_db->set_model($modelid);
			$r = $this->content_db->get_one(array('id'=>$_v['id'],'sysadd'=>0));
	//為前臺增加兩個變數
	$_v['updatetime']=$r['updatetime'];
	$_v['can_fresh']=(time()-$r['updatetime'])>10?1:0;//86400表示1天,10表示10秒,超過24秒,則說明可重新整理
				
	


然後,在本檔案,最下面的大括號前面,增加下面的一個重新整理專用函式



	public function fresh(){
		$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);
			$r = $content_db->get_one(array('id'=>$id,'sysadd'=>0));
	if(time()-$r['updatetime']>10){//10秒就可重新整理一次
		
			$content_db->fresh($id);
			showmessage(L('operation_success'), HTTP_REFERER);
	}else{
		showmessage(L('操作失敗'), HTTP_REFERER);
	}
		}
	}	
	
	2,修改檔案\phpcms\model\content_model.class.php
	
	在其最下面的一個大括號前面增加一個類方法
	
	
		public function fresh($id) {
		$model_tablename = $this->model_tablename;
		//前臺許可權判斷
		if(!defined('IN_ADMIN')) {
			$_username = param::get_cookie('_username');
			$us = $this->get_one(array('id'=>$id,'username'=>$_username));
			if(!$us) return false;
		}
			$systeminfo['updatetime'] = SYS_TIME;
		$this->update($systeminfo,array('id'=>$id));
		return true;
	}
	
	
	3,修改投稿功能.增加重新整理按鈕
	修改你的模板目錄中的一個模板,\phpcms\templates\你的模板目錄名\member\content_published.html
	
	
	在下面這句後面
	<a href="index.php?m=member&c=content&a=delete&catid={$info[catid]}&id={$info[id]}">刪除</a>{/if}
	
	增加
	
		{if  $info[status] ==99}
	 	{if $info[can_fresh]}
		| <a href="index.php?m=member&c=content&a=fresh&catid={$info[catid]}&id={$info[id]}">重新整理</a>
		{else}
		| 已重新整理
		{/if}
		{/if}
		
		
		
		
		
然後
直接顯示重新整理時間
在
<th width="80">{L('adddate')}</th>
的下面增加

<th width="80">重新整理時間</th>


在
<td align="center">{date('Y-m-d',$info['inputtime'])}</td>
下面增加

<td align="center">{date('Y-m-d H:i:s',$info['updatetime'])}</td>
		
		
	4,註冊會員,投稿測試,欄目要先開啟投稿許可權
	

相關文章