管理员在dedecms后台给任意用户添加文档功能

系统管理员要想在dedecms后台给某个用户添加文章,怎么做?

首先,进入后台->注册会员列表,选择某个会员,之后点击文档按钮,则进入列表页,点击添加文档,可添加并保存文档,

但添加的是以登录用户的id发布的文档,需要修改代码实现给选定的用户添加文档。

1.dede/templets/content_list.htm:

<input type='button' class="coolbg np" onClick="location='catalog_do.php?channelid={dede:global.channelid/}&cid={dede:global.cid/}&dopost=addArchives';" value='添加文档' />

 在上面这句中增加传的参数mid,即改为:

<input type='button' class="coolbg np" onClick="location='catalog_do.php?channelid={dede:global.channelid/}&cid={dede:global.cid/}&dopost=addArchives&mid=<?php echo $_GET['mid'];?>';" value='添加文档' />

 2.dede/content_list.php:

增加传递变量的这句:

$mid = isset($mid) ? intval($mid) : 0;

 3.dede/templets/content_list.htm:

在添加文档按钮的url中,增加mid这个参数,如下:

<input type='button' class="coolbg np" onClick="location='catalog_do.php?channelid={dede:global.channelid/}&cid={dede:global.cid/}&dopost=addArchives&mid=<?php echo $mid; ?>';" value='添加文档' />

 至此,到添加文档按钮处的该会员mid已经传入到了添加文档详细页了,只要再将mid作为文档提交表单中的元素,提交到后台并在sql中用mid来替代原有的发布者id即可,代码如下:

4.dede/templets/article_add.htm

在两个form中分布增加:

<input type="hidden" name="mid" value="<?php echo $mid?>" />

 5.dede/article_add.php

这里分为两个逻辑:

①自动获取单页面的内容

增加:

$mid=empty($mid) ? 0 : intval($mid);

 ②保存文档

增加:

$mid = empty($mid)?$adminid:$mid;

 并把”保存到主表“的SQL改为,注意标红色的

//保存到主表
	$query = "INSERT INTO `#@__archives`(id,typeid,typeid2,sortrank,flag,ismake,channel,arcrank,click,money,title,shorttitle,
    color,writer,source,litpic,pubdate,senddate,mid,voteid,notpost,description,keywords,filename,dutyadmin,weight)
    VALUES ('$arcID','$typeid','$typeid2','$sortrank','$flag','$ismake','$channelid','$arcrank','$click','$money',
    '$title','$shorttitle','$color','$writer','$source','$litpic','$pubdate','$senddate',
    '$mid','$voteid','$notpost','$description','$keywords','$filename','$adminid','$weight');";

 再增加文档,就不一定是当前用户发出的文档了,发布者就是按选择的用户发布的了。  

发布完后,也可以在继续发布文章处再增加mid,具体代码不再赘述

猜你喜欢

转载自dayang2001911.iteye.com/blog/1611712