Discuz!官方免费开源建站系统

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索

[经验] 【站内转载日志】插件修正版20091123

[复制链接]
yuliang0225 发表于 2009-11-23 21:38:28 | 显示全部楼层 |阅读模式
UCHome插件
语言编码: GBK简体 
插件名称: 【站内转载日志】插件修正版20091123
插件作者: 麦群网
适用版本: UCHome 2.0
本帖最后由 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里的
  1. //允许的方法
  2. $acs = array('space', 'doing', 'upload', 'comment', 'blog', 'album', 'relatekw', 'common', 'class',
  3.         'swfupload', 'thread', 'mtag', 'poke', 'friend',
  4.         'avatar', 'profile', 'theme', 'import', 'feed', 'privacy', 'pm', 'share', 'advance', 'invite','sendmail',
  5.         'userapp', 'task', 'credit', 'password', 'domain', 'event', 'poll', 'topic',
  6.         'click','magic', 'top', 'videophoto');
复制代码
在后面添加 , 'zhuanzai',添加后如下:
  1. $acs = array('space', 'doing', 'upload', 'comment', 'blog', 'album', 'relatekw', 'common', 'class',
  2.         'swfupload', 'thread', 'mtag', 'poke', 'friend',
  3.         'avatar', 'profile', 'theme', 'import', 'feed', 'privacy', 'pm', 'share', 'advance', 'invite','sendmail',
  4.         'userapp', 'task', 'credit', 'password', 'domain', 'event', 'poll', 'topic',
  5.         'click','magic', 'top', 'videophoto', 'zhuanzai');
复制代码
三、在source\function_common.php里增加一个获取用户名的函数:
  1. function GetUserName($uid){
  2.   global $_SGLOBAL;
  3.   $query=$_SGLOBAL['db']->query('select username from '.tname('member').' where uid='.$uid);
  4.   $rst=$_SGLOBAL['db']->fetch_array($query);
  5.   return $rst['username'];
  6. }
复制代码
四、修改source/space_blog.php文件
找到
  1. $otherlist = $newlist = array();

  2.         //有效期
复制代码
在其上面加上
  1.         //转载列表

  2.         if($blog['zhuanzaiuser']){
  3.                 $zhuanzaiuserlist = array();
  4.                
  5.         $zhuanzaitq = explode(",", $blog['zhuanzaiuser']);
  6.        
  7.         $zhuanzaicount = count($zhuanzaitq);
  8. //函数 count 用来计算阵列的元素个数
  9. for ($i=0;$i<$zhuanzaicount;$i++){
  10.    $value['uid']=$zhuanzaitq[$i];
  11.    $value['username']=GetUserName($zhuanzaitq[$i]);
  12.     //$value['username']=$zhuanzaitq[$i].'呵呵';
  13.    //realname_set($value['uid'], $value['username']);
  14.    $zhuanzaiuserlist[]= $value;
  15.   
  16.    }

  17.         }          
  18.    //处理转载结束
复制代码
五、修改template/default/space_blog_view.htm

1、找到
  1. <h1<!--{if $blog[magiccolor]}--> class="magiccolor$blog[magiccolor]"<!--{/if}-->>$blog[subject]</h1>
复制代码
在其上面加上
  1. <div class="r_option">
  2.         <!--{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>
  3.                 </div>
复制代码
2、找到
  1. <!--{if $blog[viewnum]}--><span class="gray">已有 $blog[viewnum] 次阅读</span><!--{/if}-->
  2.                 &nbsp; <span class="gray"><!--{date('Y-m-d H:i',$blog[dateline],1)}--></span>
  3.                 <!--{if $blog[tag]}-->
  4.                 &nbsp; <a href="space.php?uid=$blog[uid]&do=tag">标签</a>:&nbsp;
  5.                 <!--{loop $blog[tag] $tagid $tagname}-->
  6.                 <a href="space.php?uid=$blog[uid]&do=tag&id=$tagid">$tagname</a>&nbsp;
  7.                 <!--{/loop}-->
  8.                 <!--{/if}-->
复制代码
改成
  1. <!--{if $blog[viewnum]}--><span class="gray">已有 $blog[viewnum] 次阅读</span><!--{/if}-->
  2.         &nbsp; <!--{if $blog['zhuanzai']}--><span class="gray">转载自&nbsp; </span><a href="space.php?uid=$blog['zhuanzaiuid']">$blog['zhuanzai']</a><!--{/if}-->&nbsp; <span class="gray"><!--{date('Y-m-d H:i',$blog[dateline],1)}--></span>
  3.                 &nbsp; <!--{if $blog['zhuanzai']}--><a href=space.php?uid=$blog['zhuanzaiuid']&do=blog&id=$blog['zhuanzaiblog']>阅读原文</a><!--{/if}-->
  4.                 <!--{if $blog[tag]}-->
  5.                 &nbsp; <a href="space.php?uid=$blog[uid]&do=tag">标签</a>:&nbsp;
  6.                 <!--{loop $blog[tag] $tagid $tagname}-->
  7.                 <a href="space.php?uid=$blog[uid]&do=tag&id=$tagid">$tagname</a>&nbsp;
  8.                 <!--{/loop}-->
  9.                 <!--{/if}-->
复制代码
六、修改template/default/space_blog_list.htm

找到
  1. <li<!--{if !$_GET[classid]}--> class="current"<!--{/if}-->><a href="space.php?uid=$space[uid]&do=blog&view=me">全部日志</a></li>
复制代码
在其下面加上
  1. <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中增加
  1. 'zhuanzai_blog' => '{actor} 转载了 {touser} 的日志 {blog}',
  2. 'note_zhuanzai_blog' => '转载了你的日志 <a href="\\1" target="_blank">\\2</a>',
复制代码
2、在language/lang_showmessage.php中增加
  1. 'logs_can_not_zhuanzai' => '指定的日志因隐私设置不能够被转载',
  2. 'zhuanzai_not_self' => '你不能转载自己发表的信息(或图片)',
复制代码
八、将附件中的文件上传至根目录下

以上就是我的一点点贡献,欢迎大家继续补充!

演示网站(请勿注册垃圾帐号):http://www.myqun.com/space.php?uid=1&do=blog&id=1118

另外请高手能把转载统计的问题给解决,谢谢!

2009年11月23日23:52分修正附件附件中一个文件有问题,不管有没有转载成功,都会提交动态。现在已经修复了,只有成功转载的情况下才提交动态和对原始作者发通知。请大家下载最新的附件。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
foolant 发表于 2009-11-23 21:45:22 | 显示全部楼层
本帖最后由 foolant 于 2009-11-23 21:49 编辑

支持插件修正后分享....

黄金位置啊...我想想有什么好卖的,拿来摆摆...........
回复

使用道具 举报

 楼主| yuliang0225 发表于 2009-11-23 21:48:23 | 显示全部楼层
回复 2# foolant


    霸我的位,要交税滴
回复

使用道具 举报

kevke 发表于 2009-11-23 21:50:17 | 显示全部楼层

本帖最后由 kevke 于 2009-11-23 21:52 编辑

问一下,如果我转载了本身就是转载过的,那版权那里显示的是原始作者的不

另外 我也觉得照片意义不大,而且还有问题
回复

使用道具 举报

foolant 发表于 2009-11-23 21:51:23 | 显示全部楼层
回复  foolant


    霸我的位,要交税滴
yuliang0225 发表于 2009-11-23 21:48



    哈哈, 等下我买了你的马上转成utf-8卖二手,这事我最喜欢了.
回复

使用道具 举报

 楼主| yuliang0225 发表于 2009-11-23 21:54:26 | 显示全部楼层
回复 4# kevke


    从版权上讲,应该还是原始作者才对。不过我还没这么测试过,你可以试试。
回复

使用道具 举报

foolant 发表于 2009-11-23 21:54:45 | 显示全部楼层
问一下,如果我转载了本身就是转载过的,那版权那里显示的是原始作者的不

另外 我也觉得照片意义不大,而 ...
kevke 发表于 2009-11-23 21:50



    对呀,还没认真测试...uchome被我改模板改坏掉了..是应该显示原作者的吧? 最好能提供版税支付功能,转载的时候要给原作者和上一个转载者相应的积分以鼓励大家丰富日志.
回复

使用道具 举报

 楼主| yuliang0225 发表于 2009-11-23 22:06:40 | 显示全部楼层
回复 4# kevke


  我刚测试了下,显示的不是原作者,看来还需要等高手再次修改和完善下
回复

使用道具 举报

foolant 发表于 2009-11-23 22:12:05 | 显示全部楼层
回复  kevke


  我刚测试了下,显示的不是原作者,看来还需要等高手再次修改和完善下
yuliang0225 发表于 2009-11-23 22:06



    等什么高手哦, 高手还不都是由菜鸟和爱好者变成的. 干吗我们不自己试试...增加一个字段用来记录原作者ID不就OK了,反正读到数组里都是一样的处理
回复

使用道具 举报

foolant 发表于 2009-11-23 22:15:35 | 显示全部楼层
我需要把这个功能内置到模板里发布出来,还在找能不能判断字段不存在的时候才新建...不知道谁可以帮忙..
虽然是免费发布的模板,也要考虑使用者要升级的嘛,模板初始化的时候要判断一下才好...唉,找不到.
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|Discuz! 官方站 ( 皖ICP备16010102号 )star

GMT+8, 2024-11-17 12:28 , Processed in 0.030737 second(s), 4 queries , Gzip On, Redis On.

Powered by Discuz! X3.4

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表