DEDECMS中对发布人的修改


需求分析:因为我们的网站(oemay女人妆)中的新闻基本都是采集的,但是因为采集的都是发布人都是同一人,为了能更好的统计编辑工作业绩,希望在采编进行审核和二次编辑并发布的时候,将发布人替换成为采编的信息。

简单的说,就是希望实现谁审核,发布人就是谁的效果。

实现问题的关键:
1、在DEDE的数据库中的文档主表为dede_archives,其中mid字段为发布人字段,类型为mediumint(8)
2、DEDE的文章列表中审核、生成、推荐等操作的相关文件dede/archives_do.php
3、类userlogin中的getUserID方法可以获取当前编辑的ID号

修改方法存档:
找到dede/archives_do.php的225行,在下方找到:


  1. $maintable = ( trim($row[‘maintable’])== ? ‘2ky_archives’ : trim($row[‘maintable’]) ); 
  2. if($dsql->ExecuteNoneQuery(“Update `2ky_arctiny` set arcrank=’0′ where id=’$aid’ “)) { 
  3. $dsql->ExecuteNoneQuery(“Update `2ky_taglist` set arcrank=’0′ where aid=’$aid’ “); 
  4. if($row[‘issystem’]==-1) { 
  5. $dsql->ExecuteNoneQuery(“Update `”.trim($row[‘addtable’]).“` set arcrank=’0′ where aid=’$aid’ “); 
  6. else { 
  7. $dsql->ExecuteNoneQuery(“Update `$maintable` set arcrank=’0′, dutyadmin='”.$cuserLogin->getUserID().“‘ where id=’$aid’ “); 
  8. $pageurl = MakeArt($aid,false); 

 修改为:


  1. $maintable = ( trim($row[‘maintable’])== ? ‘2ky_archives’ : trim($row[‘maintable’]) ); 
  2. $dsql->ExecuteNoneQuery(“Update `2ky_arctiny` set arcrank=’0′, mid=”.$cuserLogin->getUserID().” where id=’$aid’ “); 
  3. if($row[‘issystem’]==-1) { 
  4.     $dsql->ExecuteNoneQuery(“Update `”.trim($row[‘addtable’]).“` set arcrank=’0′, mid=”.$cuserLogin->getUserID().” where aid=’$aid’ “); 
  5. else  { 
  6.     $dsql->ExecuteNoneQuery(“Update `$maintable` set arcrank=’0′, dutyadmin='”.$cuserLogin->getUserID().“‘, mid=”.$cuserLogin->getUserID().” where id=’$aid’ “); 
  7. }