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

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索

分享一个官方应该有的日志增强插件—日志关联群组插件

[复制链接]
yue308 发表于 2010-1-17 10:33:09 | 显示全部楼层 |阅读模式
UCHome插件
语言编码: GBK简体 
插件名称: 日志关联群组插件
插件作者: 楼巍
适用版本: UCHome 2.0
本帖最后由 yue308 于 2010-01-18 15:31 编辑

测试通过无误,无乱码,测试地址

测试地址: http://www.yue308.cn




修改方法:
涉及到修改文件:cp.php  space_blog_view.htm  space_thread_view.htm 新增加 cp_relation.php  cp_relation.htm  
在数据里执行:
  1. ALTER TABLE `uch_thread` ADD `oper` CHAR( 15 ) NOT NULL ,
  2. ADD `blogid` MEDIUMINT( 8 ) UNSIGNED NOT NULL ;
复制代码
cp.php 文件 :查找
  1. 'userapp', 'task', 'credit', 'password', 'domain', 'event',  'topic',
复制代码
在后面添加
  1. 'relation',
复制代码
space_blog_view.htm 文件 查找
  1. <a href="cp.php?ac=topic&op=join&id=$blog[blogid]&idtype=blogid" id="a_topicjoin_$blog[blogid]" onclick="ajaxmenu(event, this.id)">凑热闹</a><span class="pipe">|</span>
复制代码
后面添加
  1. <a href="cp.php?ac=relation&op=join&uid=$blog[uid]&blogid=$blog[blogid]" id="a_relationjoin_$blog[blogid]" onclick="ajaxmenu(event, this.id)">关联群组</a><span class="pipe">|</span>
复制代码
space_thread_view.htm  文件
查找
  1. <div id="click_div">
  2.     <!--{template space_click}-->
  3.    </div>
复制代码
在其上添加
  1. <!--{if !empty($thread[blogid])}-->
  2.    <div style="width:400px;padding-top:10px; margin:0 auto;">
  3.    <P align="center"><B>该话题由<span style="color: red;">
  4.    <!--{$thread[oper]}--></span> 从 <span style="color: red;">   
  5.    <!--{if $thread[oper]!=$thread[username]}-->
  6.    <!--{$thread[username]}-->
  7.    <!--{else}-->
  8.    <!--{eval echo "自己的";}-->
  9.    <!--{/if}-->
  10.    </span> 日志里关联过来</B></P>
  11.    </div>
  12.     <!--{/if}-->
复制代码
cp_relation.php  文件内容
  1. <?php
  2. /*
  3. [UCenter Home] (C) 2007-2008 Comsenz Inc.
  4. $Id: cp_topic.php 12436 2009-06-25 09:07:38Z liguode $
  5. */
  6. if(!defined('IN_UCHOME')) {
  7. exit('Access Denied');
  8. }
  9. //检查信息
  10. $tagid= empty($_POST['tagid'])?0:intval($_POST['tagid']);
  11. $blogid = empty($_GET['blogid'])?0:intval($_GET['blogid']);
  12. $op = empty($_GET['op'])?'':$_GET['op'];
  13. $uid=empty($_GET['uid'])?0:intval($_GET['uid']);
  14. if($_GET['op'] != 'join' || $_SGLOBAL['supe_uid'] != $uid && !checkperm('managename') && $_SGLOBAL[member][groupid] != 2) //增加信息管理员有关联权限
  15. {
  16.    ckspacelog();
  17.    showmessage('no_privilege');
  18.   }
  19. $relation=array();
  20. if($blogid) {
  21. $query = $_SGLOBAL['db']->query("SELECT bf.*, b.* FROM ".tname('blog')." b LEFT JOIN ".tname('blogfield')." bf ON bf.blogid=b.blogid WHERE b.blogid='$blogid'");
  22. $relation = $_SGLOBAL['db']->fetch_array($query);

  23. }
  24.       if($_SGLOBAL['supe_uid'] != $relation['uid'] && !checkperm('managename') && $_SGLOBAL[member][groupid] != 2) //增加信息管理员有关联权限
  25.       
  26.    { showmessage('no_privilege'); }
  27. else{
  28. //添加日志到群组--关联群组
  29. $mtags = array();
  30. if(!$eventid || $event['uid']==$_SGLOBAL['supe_uid']) {
  31.         $query = $_SGLOBAL['db']->query("SELECT mtag.* FROM ".tname("tagspace")." st LEFT JOIN ".tname("mtag")." mtag ON st.tagid=mtag.tagid WHERE st.uid='$_SGLOBAL[supe_uid]' ");
  32.         while($value=$_SGLOBAL['db']->fetch_array($query)) {
  33.                 $mtags[] = $value;
  34.            }
  35. }
  36. //添加日志到群组--关联群组
  37. }
  38. if(submitcheck('joinsubmit')){
  39.    if ($tagid) {
  40.    
  41.    $ckblogid=array();      
  42.    $query = $_SGLOBAL['db']->query("SELECT blogid FROM ".tname('thread')." WHERE blogid='$blogid'");
  43.    $ckblogid = $_SGLOBAL['db']->fetch_array($query);
  44.    if (empty($ckblogid)) {
  45.             $tsetarr = array(
  46.    'tagid' => $tagid,
  47.    'uid' => $relation['uid'],
  48.    'username' => $relation['username'],
  49.    'dateline' => $_SGLOBAL['timestamp'],
  50.    'subject' =>  $relation['subject'],
  51.    'lastpost' => $_SGLOBAL['timestamp'],
  52.    'lastauthor' => $relation['username'],
  53.    'lastauthorid' => $relation['uid'],
  54.       'blogid' => $blogid,
  55.             'oper' =>  $_SGLOBAL['supe_username'],
  56.    'topicid' => $relation['topicid']
  57.   );
  58.   
  59.   $tid = inserttable('thread', $tsetarr, 1);
  60.   
  61.   $psetarr = array(
  62.    'tagid' => $tagid,
  63.    'tid' => $tid,
  64.    'uid' => $relation['uid'],
  65.    'username' => $relation['username'],
  66.    'ip' => getonlineip(),
  67.    'dateline' => $_SGLOBAL['timestamp'],
  68.    'message' => $relation['message'],
  69.             'isthread' => 1
  70.   );
  71.   //添加
  72.   inserttable('post', $psetarr);
  73.   
  74.   //更新群组统计
  75.   $_SGLOBAL['db']->query("UPDATE ".tname("mtag")." SET threadnum=threadnum+1 WHERE tagid='$tagid'");
  76.   
  77.   //统计
  78.   updatestat('thread');
  79.   
  80.   //更新用户统计
  81.   if(empty($space['threadnum'])) {
  82.    $space['threadnum'] = getcount('thread', array('uid'=>$space['uid']));
  83.    $threadnumsql = "threadnum=".$space['threadnum'];
  84.   } else {
  85.    $threadnumsql = 'threadnum=threadnum+1';
  86.   }
  87.   //积分
  88.   $reward = getreward('publishthread', 0);
  89.   $_SGLOBAL['db']->query("UPDATE ".tname('space')." SET {$threadnumsql}, lastpost='$_SGLOBAL[timestamp]', updatetime='$_SGLOBAL[timestamp]', credit=credit+$reward[credit], experience=experience+$reward[experience] WHERE uid='$relation[uid]'");
  90. showmessage('do_success', $_POST['refer'], 0);
  91.   
  92.   }
  93.   else { showmessage('该日志已经关联组啦,请勿重复提交关联!'); }

  94. }

  95.   else
  96.              { showmessage('您没有选择群组'); }
  97. }

  98. include_once template("cp_relation");
  99. ?>
复制代码
cp_relation.htm  文件内容
  1. <!--{template header}-->
  2. <!--{if $_GET['op'] == 'join'}-->

  3. <h1>添加到群组</h1>
  4. <a href="javascript:hideMenu();" class="float_del" title="关闭">关闭</a>
  5. <div class="popupmenu_inner" id="__relationjoinform">
  6. <form id="relationjoinform" name="relationjoinform" method="post" action="cp.php?ac=relation&op=join&uid=$_GET[uid]&blogid=$_GET[blogid]">
  7.   <p>
  8.    选择个群组:<br>  
  9.            <select name="tagid">
  10.            <option value="">选择群组</option>
  11.            <!--{loop $mtags $value}-->
  12.            <option value="$value[tagid]" <!--{if $value[tagid]==$event[tagid]}-->selected<!--{/if}--> >$value[tagname]</option>
  13.           <!--{/loop}-->
  14.          </select>
  15.   </p>
  16.   <p class="btn_line">
  17.    <input type="hidden" name="refer" value="$_SGLOBAL[refer]" />
  18.    <input type="submit" name="joinsubmit" value="确定" class="submit" />
  19.   </p>
  20.   <input type="hidden" name="formhash" value="<!--{eval echo formhash();}-->" />
  21. </form>
  22. </div>

  23. <!--{/if}-->
  24. <!--{template footer}-->
复制代码
上传文件就OK了
注意新增的两个文件路径是:source/cp_relation.php  template/default/cp_relation.htm  

原作者帖子:http://www.gyuan.cc/space.php?uid=1&do=thread&id=29

本帖子中包含更多资源

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

x

评分

2

查看全部评分

亲亲网 发表于 2010-1-17 10:34:57 | 显示全部楼层
支持才顶了啊 呵榀
回复

使用道具 举报

lainade 发表于 2010-1-17 11:06:36 | 显示全部楼层
我顶你个肺 [引自疯狂的石头]
回复

使用道具 举报

abc1472589 发表于 2010-1-17 17:52:37 | 显示全部楼层
好东西,做个记号
回复

使用道具 举报

hs999 发表于 2010-1-17 22:29:22 | 显示全部楼层
回复

使用道具 举报

goofytan 发表于 2010-1-18 09:57:14 | 显示全部楼层
前十嘻嘻!
回复

使用道具 举报

clickour 发表于 2010-1-18 12:11:22 | 显示全部楼层
頂一下
回复

使用道具 举报

xiaolooo 发表于 2010-1-18 12:44:50 | 显示全部楼层
感谢分享!
回复

使用道具 举报

cnct 发表于 2010-1-18 13:51:36 | 显示全部楼层
终于排到前十了,哇哈哈哈
回复

使用道具 举报

haixin001 发表于 2010-1-18 14:10:29 | 显示全部楼层
好用不,测试通过吗
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-9-28 05:13 , Processed in 0.186308 second(s), 20 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2023, Tencent Cloud.

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