当前位置:   article > 正文

phpcms v9后台添加草稿箱功能

phpcms v9后台添加草稿箱功能

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

<div class="button"><input value="<?php echo L('save_draft');?>" type="submit" name="dosubmit_draft" class="cu" style="width:100px;" onclick="refersh_window()"></div>

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

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

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

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

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

三、后台添加文章控制器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'];代码下方改成:

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

$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) ? "<a href=\'javascript:ajax_manage(1)\'>".L('passed_checked')."</a> | <a href=\'javascript:ajax_manage(2)\'>".L('reject')."</a> | <a href=\'javascript:ajax_manage(3)\'>".L('delete')."</a>" : "<a href=\'javascript:ajax_manage(3)\'>".L('delete')."</a>";

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

  1. /**
  2. * 草稿箱
  3. */
  4. public function draft_list() {
  5. $page = isset($_GET['page']) && intval($_GET['page']) ? intval($_GET['page']) : 1;
  6. $show_header = '';
  7. $admin_username = param::get_cookie('admin_username');
  8. $datas = array();
  9. $pagesize = 20;
  10. $sql = '';
  11. $status = -2;
  12. $sql = "`status` = '$status' AND `siteid`=$this->siteid";
  13. if($_SESSION['roleid']!=1){
  14. $sql .= " AND `username` = '$admin_username'";//WY ADD AT 2023 除超级管理员外,只显示自己发布的文章
  15. }
  16. $this->content_check_db = pc_base::load_model('content_check_model');
  17. $datas = $this->content_check_db->listinfo($sql,'inputtime DESC',$page);
  18. $pages = $this->content_check_db->pages;
  19. include $this->admin_tpl('draft_list');
  20. }

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

  1. <?php
  2. defined('IN_ADMIN') or exit('No permission resources.');
  3. include $this->admin_tpl('header','admin');?>
  4. <div class="pad-10">
  5. <div class="content-menu ib-a blue line-x">
  6. <a href='?m=content&c=content&a=draft_list' class="on"><em><?php echo L('all_draft_list');?></em></a>
  7. </div>
  8. <form name="myform" id="myform" action="" method="post" >
  9. <div class="table-list">
  10. <table width="100%">
  11. <thead>
  12. <tr>
  13. <th width="60">ID</th>
  14. <th><?php echo L('title');?></th>
  15. <th width="90"><?php echo L('belong_category');?></th>
  16. <th width="118"><?php echo L('contribute_time');?></th>
  17. <th width="180"><?php echo L('username');?></th>
  18. <th width="72"><?php echo L('operations_manage');?></th>
  19. </tr>
  20. </thead>
  21. <tbody>
  22. <?php
  23. $model_cache = getcache('model','commons');
  24. foreach ($datas as $r) {
  25. $arr_checkid = explode('-',$r['checkid']);
  26. ?>
  27. <tr>
  28. <td align='center' ><?php echo $arr_checkid[1];?></td>
  29. <td align='center' ><a href="javascript:;" onclick='change_color(this);window.open("?m=content&c=content&a=public_preview&steps=<?php echo $r['status']?>&catid=<?php echo $r['catid'];?>&id=<?php echo $arr_checkid[1];?>&pc_hash=<?php echo $_SESSION['pc_hash'];?>","manage")'><?php echo $r['title'];?></a></td>
  30. <td align='center' ><a href="?m=content&c=content&a=init&menuid=822&catid=<?php echo $r['catid'];?>"><?php echo $this->categorys[$r['catid']]['catname'];?></a></td>
  31. <td align='center' ><?php echo format::date($r['inputtime'],1);?></td>
  32. <td align='center'><?php echo $r['username'];?></td>
  33. <td align='center' ><a href="javascript:;" onclick="javascript:openwinx('?m=content&c=content&a=edit&catid=<?php echo $r['catid'];?>&id=<?php echo $arr_checkid[1];?>','')"><?php echo L('edit');?></a> | <a href="javascript:;" onclick='change_color(this);window.open("?m=content&c=content&a=public_preview&steps=<?php echo $r['status']?>&catid=<?php echo $r['catid'];?>&id=<?php echo $arr_checkid[1];?>&pc_hash=<?php echo $_SESSION['pc_hash'];?>","manage")'><?php echo "查看";?></a></td>
  34. </tr>
  35. <?php }?>
  36. </tbody>
  37. </table>
  38. <div id="pages"><?php echo $pages?></div>
  39. </div>
  40. </form>
  41. </div>
  42. <script language="javascript" type="text/javascript" src="<?php echo JS_PATH?>cookie.js"></script>
  43. <script type="text/javascript">
  44. <!--
  45. window.top.$("#current_pos_attr").html('<?php echo L('checkall_content');?>');
  46. function change_color(obj) {
  47. $(obj).css('color','red');
  48. }
  49. setcookie('refersh_time', 0);
  50. function refersh_window() {
  51. var refersh_time = getcookie('refersh_time');
  52. if(refersh_time==1) {
  53. window.location.reload();
  54. }
  55. }
  56. setInterval("refersh_window()", 3000);
  57. //-->
  58. </script>
  59. </body>
  60. </html>

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

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

九、后台添加管理菜单

本文内容由网友自发贡献,转载请注明出处:https://www.wpsshop.cn/article/detail/40411
推荐阅读
相关标签
  

闽ICP备14008679号