phpcms v9后台添加草稿箱功能

一、后台添加文章模板phpcms/modules/content/templates/content_add.tpl.php中94行增加”保存草稿“按钮:

二、后台添加文章控制器phpcms/modules/content/content.php文件add操作方法中

$this->db->add_content($_POST['info']);代码上方改成:

if(isset($_POST['dosubmit_draft'])) {
					$_POST['info']['status'] = -2;
				}else{
					if($workflowid) {
						//如果用户是超级管理员,那么则根据自己的设置来发布
						$_POST['info']['status'] = $_SESSION['roleid']==1 ? intval($_POST['status']) : 1;
					} else {
						$_POST['info']['status'] = 99;
					}
				}

$this->db->add_content($_POST['info']);代码下方改成:

if(isset($_POST['dosubmit']) || isset($_POST['dosubmit_draft'])) {
					showmessage(L('add_success').L('2s_close'),'blank','','','function set_time() {$("#secondid").html(1);}setTimeout("set_time()", 500);setTimeout("window.close()", 1200);');
				} else {
					showmessage(L('add_success'),HTTP_REFERER);
				}

三、后台添加文章控制器phpcms/modules/content/content.php文件edit操作方法中

param::set_cookie('module', 'content');代码下方改成:

if(isset($_POST['dosubmit']) || isset($_POST['dosubmit_continue']) || isset($_POST['dosubmit_draft'])) {

$workflowid = $setting['workflowid'];代码下方改成:

if((isset($_POST['dosubmit']) || isset($_POST['dosubmit_continue'])) && ($_POST['info']['status']==-2)) {
					if($workflowid) {
						//如果用户是超级管理员,那么则根据自己的设置来发布
						$_POST['info']['status'] = $_SESSION['roleid']==1 ? 99 : 1;
					} else {
						$_POST['info']['status'] = 99;
					}
				}

$this->db->edit_content($_POST['info'],$id);代码下方改成:

if(isset($_POST['dosubmit']) || isset($_POST['dosubmit_draft'])) {

四、后台添加文章控制器phpcms/modules/content/content.php文件public_preview操作方法中

$steps = intval($_GET['steps']);代码下方改成:

$supermenu = ($_SESSION['roleid']==1 && $steps<>-2) ? "".L('passed_checked')." | ".L('reject')." | ".L('delete')."" : "".L('delete')."";

五、后台添加文章控制器phpcms/modules/content/content.php文件中添加“草稿箱”操作方法

/**
	 * 草稿箱
	 */
	public function draft_list() {
		$page = isset($_GET['page']) && intval($_GET['page']) ? intval($_GET['page']) : 1;

		$show_header = '';
		$admin_username = param::get_cookie('admin_username');
		$datas = array();
		$pagesize = 20;
		$sql = '';
		$status = -2;
		$sql = "`status` = '$status' AND `siteid`=$this->siteid";
		if($_SESSION['roleid']!=1){
			$sql .= " AND `username` = '$admin_username'";//WY ADD AT 2023 除超级管理员外,只显示自己发布的文章
		}
		$this->content_check_db = pc_base::load_model('content_check_model');
		$datas = $this->content_check_db->listinfo($sql,'inputtime DESC',$page);
		$pages = $this->content_check_db->pages;
		include $this->admin_tpl('draft_list');
	}

六、添加“草稿箱”控制器对应的模板文件,phpcms/modules/content/templates/draft_list.tpl.php

admin_tpl('header','admin');?>




七、数据表v9_news和v9_content_check表中字段status的属性改为空(如果有其它模型,对应的表该字段也改为空)

八、语言文件phpcms/languages/zh-cn/content.lang.php中添加
$LANG['save_draft'] = '保存草稿';
$LANG['all_draft_list'] = '所有草稿';

九、后台添加管理菜单
phpcms v9后台添加草稿箱功能_第1张图片

你可能感兴趣的:(PHPCMS,php,phpcmsv9添加草稿箱功能)