本帖最后由 yuliang0225 于 2009-11-23 23:52 编辑
本插件版权属于原作者残月所有,我只是做了些优化和修改,详见:https://discuz.dismall.com/viewth ... p;extra=&page=1
在原版中,还存在一些问题,总结如下:
1、转载通知原作者的内容是分享通知的内容
2、转载没有FEED
3、不允许别人继续转载(关于这一点,原作者认为版权问题做了限制,我觉得可以放开权限;二次转载之后,显示的来源依然还是原始作者)
4、“转载过此文章的朋友”的只能显示最后一位,最好能加上计数,有多少人转载(该问题尚未解决,请高手指点,谢谢!)
在我的修正版里,除了第4点,其他的都已经解决。另外,我将图片转载的功能去掉了,我觉得意义不大。具体方法如下(请先做好以下文件和数据库的备份):
一、插入SQL(感谢kevke)
1,在UChome的表 _blog里增加字段:
ALTER TABLE `uchome_blog` ADD `zhuanzai` INT( 11 ) NOT NULL
ALTER TABLE `uchome_blog` ADD `zhuanzaiinf` MEDIUMTEXT NOT NULL
2,在UChome的表 _blogfield 里增加字段:
ALTER TABLE `uchome_blogfield` ADD `zhuanzaiuser` MEDIUMTEXT NOT NULL
二、在cp.php中添加允许zhuanzai的方法
找到根目录cp.php里的- //允许的方法
- $acs = array('space', 'doing', 'upload', 'comment', 'blog', 'album', 'relatekw', 'common', 'class',
- 'swfupload', 'thread', 'mtag', 'poke', 'friend',
- 'avatar', 'profile', 'theme', 'import', 'feed', 'privacy', 'pm', 'share', 'advance', 'invite','sendmail',
- 'userapp', 'task', 'credit', 'password', 'domain', 'event', 'poll', 'topic',
- 'click','magic', 'top', 'videophoto');
复制代码 在后面添加 , 'zhuanzai',添加后如下:- $acs = array('space', 'doing', 'upload', 'comment', 'blog', 'album', 'relatekw', 'common', 'class',
- 'swfupload', 'thread', 'mtag', 'poke', 'friend',
- 'avatar', 'profile', 'theme', 'import', 'feed', 'privacy', 'pm', 'share', 'advance', 'invite','sendmail',
- 'userapp', 'task', 'credit', 'password', 'domain', 'event', 'poll', 'topic',
- 'click','magic', 'top', 'videophoto', 'zhuanzai');
复制代码 三、在source\function_common.php里增加一个获取用户名的函数:- function GetUserName($uid){
- global $_SGLOBAL;
- $query=$_SGLOBAL['db']->query('select username from '.tname('member').' where uid='.$uid);
- $rst=$_SGLOBAL['db']->fetch_array($query);
- return $rst['username'];
- }
复制代码 四、修改source/space_blog.php文件
找到- $otherlist = $newlist = array();
- //有效期
复制代码 在其上面加上- //转载列表
- if($blog['zhuanzaiuser']){
- $zhuanzaiuserlist = array();
-
- $zhuanzaitq = explode(",", $blog['zhuanzaiuser']);
-
- $zhuanzaicount = count($zhuanzaitq);
- //函数 count 用来计算阵列的元素个数
- for ($i=0;$i<$zhuanzaicount;$i++){
- $value['uid']=$zhuanzaitq[$i];
- $value['username']=GetUserName($zhuanzaitq[$i]);
- //$value['username']=$zhuanzaitq[$i].'呵呵';
- //realname_set($value['uid'], $value['username']);
- $zhuanzaiuserlist[]= $value;
-
- }
- }
- //处理转载结束
复制代码 五、修改template/default/space_blog_view.htm
1、找到- <h1<!--{if $blog[magiccolor]}--> class="magiccolor$blog[magiccolor]"<!--{/if}-->>$blog[subject]</h1>
复制代码 在其上面加上- <div class="r_option">
- <!--{if $_SGLOBAL[supe_uid] == $blog[uid]}--><!--{elseif $blog['zhuanzai']}--><a href="cp.php?ac=zhuanzai&type=blog&id=$blog['zhuanzaiblog']" id="a_report" onclick="ajaxmenu(event, this.id, 1)" ><font color="green">转载该日志</font></a><span class="pipe" color="green">|</span><!--{else}--><a href="cp.php?ac=zhuanzai&type=blog&id=$blog[blogid]" id="a_report" onclick="ajaxmenu(event, this.id, 1)" ><font color="green">转载该日志</font></a><span class="pipe" color="green">|</span><!--{/if}--><a href="cp.php?ac=share&type=blog&id=$blog[blogid]" id="a_share" onclick="ajaxmenu(event, this.id, 1)" ><font color="green">分享给麦友</font></a>
- </div>
复制代码 2、找到- <!--{if $blog[viewnum]}--><span class="gray">已有 $blog[viewnum] 次阅读</span><!--{/if}-->
- <span class="gray"><!--{date('Y-m-d H:i',$blog[dateline],1)}--></span>
- <!--{if $blog[tag]}-->
- <a href="space.php?uid=$blog[uid]&do=tag">标签</a>:
- <!--{loop $blog[tag] $tagid $tagname}-->
- <a href="space.php?uid=$blog[uid]&do=tag&id=$tagid">$tagname</a>
- <!--{/loop}-->
- <!--{/if}-->
复制代码 改成- <!--{if $blog[viewnum]}--><span class="gray">已有 $blog[viewnum] 次阅读</span><!--{/if}-->
- <!--{if $blog['zhuanzai']}--><span class="gray">转载自 </span><a href="space.php?uid=$blog['zhuanzaiuid']">$blog['zhuanzai']</a><!--{/if}--> <span class="gray"><!--{date('Y-m-d H:i',$blog[dateline],1)}--></span>
- <!--{if $blog['zhuanzai']}--><a href=space.php?uid=$blog['zhuanzaiuid']&do=blog&id=$blog['zhuanzaiblog']>阅读原文</a><!--{/if}-->
- <!--{if $blog[tag]}-->
- <a href="space.php?uid=$blog[uid]&do=tag">标签</a>:
- <!--{loop $blog[tag] $tagid $tagname}-->
- <a href="space.php?uid=$blog[uid]&do=tag&id=$tagid">$tagname</a>
- <!--{/loop}-->
- <!--{/if}-->
复制代码 六、修改template/default/space_blog_list.htm
找到- <li<!--{if !$_GET[classid]}--> class="current"<!--{/if}-->><a href="space.php?uid=$space[uid]&do=blog&view=me">全部日志</a></li>
复制代码 在其下面加上- <li<!--{if $_GET[classid]=='01'}--> class="current"<!--{/if}-->><a href="space.php?uid=$space[uid]&do=blog&classid=01&view=me">转载日志</a></li>
复制代码 七、修改语言文件
1、在language/lang_cp.php中增加- 'zhuanzai_blog' => '{actor} 转载了 {touser} 的日志 {blog}',
- 'note_zhuanzai_blog' => '转载了你的日志 <a href="\\1" target="_blank">\\2</a>',
复制代码 2、在language/lang_showmessage.php中增加- 'logs_can_not_zhuanzai' => '指定的日志因隐私设置不能够被转载',
- 'zhuanzai_not_self' => '你不能转载自己发表的信息(或图片)',
复制代码 八、将附件中的文件上传至根目录下
以上就是我的一点点贡献,欢迎大家继续补充!
演示网站(请勿注册垃圾帐号):http://www.myqun.com/space.php?uid=1&do=blog&id=1118
另外请高手能把转载统计的问题给解决,谢谢!
2009年11月23日23:52分修正附件附件中一个文件有问题,不管有没有转载成功,都会提交动态。现在已经修复了,只有成功转载的情况下才提交动态和对原始作者发通知。请大家下载最新的附件。
|