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

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索

[发布] 组图插件2.2正式版(2.19更新)(针对5.5版本)

[复制链接]
todidot 发表于 2008-1-16 15:46:21 | 显示全部楼层 |阅读模式
本文指导您在DISCUZ5.5版本上一步一步安装组图插件,支持简、繁、utf8版本(请下载对应版本的压缩包)。

关于组图论坛的功能介绍、FAQ,请参见https://discuz.dismall.com/thread-835280-1-1.html

安装共分四步,下面分楼描述每一步。

安装完成后,请到组图联盟(http://picunion.qihoo.com)注册一个账户,记下联盟ID,联盟密码,联盟密钥。

进入【系统设置】->【扩展设置】->【组图功能】->【参数设置】,填写联盟帐户、联盟ID、联盟密码、联盟密钥。然后开启组图,更新缓存,插件就生效了。

如果您以前安装过组图插件,请必须访问https://discuz.dismall.com/thread-836062-1-1.html,我们保证你以前的数据仍然有效。

2008.2.19推出2.2正式版,新增功能包括
1、方便切换平铺和幻灯观看
2、支持外链到博客、论坛,宣传网站品牌、给站长带来更多用户和流量
3、支持分版块开通组图功能
4、和网页中其他多媒体内容兼容性更好

2008.2.1推出2.1正式版,新增功能包括
1、水印支持站长添加站点图标
2、平铺效果支持gif格式图片动态显示
3、flash展现增加换肤,站长可以从2种皮肤种任选一种,更多的皮肤会陆续推出
4、完美支持各种浏览器

2008.1.24推出2.0正式版,新增功能包括
1、增加图片平铺显示:站长可以自行设置显示的列数及图片大小,平铺显示和flash展现形成良好的互补,用户感受更好
2、增加了自动播放速度控制,站长可以根据站点及用户需求自行设置
3、为了达到最佳的显示效果,我们默认状态做了最佳效果的推荐

【一键安装方法】
如果您下载5.5正式版后没有更改源代码,可以直接使用这个安装包覆盖代码。
方法是:
1、解压后覆盖到论坛根目录;
2、执行qcomic_install.php,然后删除此文件;(升级则不用执行,直接删除)
3、进后台管理这个插件。
请注意备份原文件!

[ 本帖最后由 todidot 于 2008-4-14 12:08 编辑 ]
 楼主| todidot 发表于 2008-1-16 15:47:14 | 显示全部楼层

第一步 数据库加一个新表

把qcomic_install.php拷贝到论坛根目录下执行,它会在数据库里增加一个表qihooimages,在settings表里添加一条配置项。完成后请删除此文件。

[ 本帖最后由 todidot 于 2008-1-16 15:57 编辑 ]
回复

使用道具 举报

 楼主| todidot 发表于 2008-1-16 15:48:03 | 显示全部楼层

第二步 增加几个新文件

新增如下文件:
admin/qcomic.inc.php
api/image.php
include/javascript/qcomic.js
include/qcomic.inc.php

这些文件包含在下载的安装包。

[ 本帖最后由 todidot 于 2008-1-16 15:59 编辑 ]
回复

使用道具 举报

 楼主| todidot 发表于 2008-1-16 15:48:57 | 显示全部楼层

第三步 修改php代码

修改admin/menu.inc.php
在奇虎搜索菜单,即
  1. showmenu($lang['menu_qihoo']
复制代码
之前,加如下代码
  1. showmenu('组图功能',array(array('name' => '参数设置', 'url' => 'admincp.php?action=qcomic')));
复制代码
修改admincp.php
在奇虎搜索菜单动作,即
  1. } elseif($action == 'qihoo_config'
复制代码
之前,加如下代码
  1. } elseif($action == 'qcomic') {
  2.         $cpscript = 'qcomic';
复制代码
修改include/cache.func.php
在对特定配置做unserialize处理,即
  1. in_array($setting['variable'], array('creditspolicy', 'ftp'
复制代码
在creditspolicy之后,加上qihoo_image,最后看上去是
  1. in_array($setting['variable'], array('creditspolicy', 'qihoo_image', 'ftp'
复制代码
修改include/newthread.inc.php
在修改附件信息,即
  1. if($attachment) {
复制代码
之前,加如下代码
  1. if($_DCACHE['settings']['qihoo_image']['senable'] && $phid) {
  2.         require_once DISCUZ_ROOT.'./include/qcomic.inc.php';
  3.         qcomic_update($pid, $tid, $phid);
  4.         qcomic_fopen("http://comic.qihoo.com/discuz/update.php?sid=".$_DCACHE['settings']['qihoo_image']['sid']."&code=".urlencode(authcode("spassword=".$_DCACHE['settings']['qihoo_image']['spassword']."&phid=$phid&tid=$tid&pid=$pid&uid=".$postinfo['authorid']."&ctime=".$postinfo['dateline']."&mtime=$timestamp", '', $_DCACHE['settings']['qihoo_image']['skey']))."&title=".urlencode($subject)."&content=".urlencode(qcomic_spacecutstr($message, 500)), 10000, '', '', TRUE, '', 20, FALSE);
  5. }
复制代码
修改include/newreply.inc.php
在修改附件信息,即
  1. if($attachment) {
复制代码
之前,加如下代码
  1. if($_DCACHE['settings']['qihoo_image']['senable'] && $phid) {
  2.         require_once DISCUZ_ROOT.'./include/qcomic.inc.php';
  3.         qcomic_update($pid, $tid, $phid);
  4.         if(empty($subject)) {
  5.                 $threadsubject = $db->fetch_array($db->query("SELECT subject FROM {$tablepre}threads WHERE tid='$tid'"));
  6.                 $subject = $threadsubject['subject'];
  7.         }
  8.         qcomic_fopen("http://comic.qihoo.com/discuz/update.php?sid=".$_DCACHE['settings']['qihoo_image']['sid']."&code=".urlencode(authcode("spassword=".$_DCACHE['settings']['qihoo_image']['spassword']."&phid=$phid&tid=$tid&pid=$pid&uid=".$postinfo['authorid']."&ctime=".$postinfo['dateline']."&mtime=$timestamp", '', $_DCACHE['settings']['qihoo_image']['skey']))."&title=".urlencode($subject)."&content=".urlencode(qcomic_spacecutstr($message, 500)), 10000, '', '', TRUE, '', 20, FALSE);
  9. }
复制代码
修改include/editpost.inc.php
在获取帖子信息,即
  1. $query = $db->query("SELECT * FROM {$tablepre}posts WHERE pid='$pid' AND tid='$tid' AND fid='$fid'");
  2.         $postinfo = $db->fetch_array($query);
复制代码
之后,加如下代码
  1. if($_DCACHE['settings']['qihoo_image']['senable']) {
  2.         $qihoophid = $db->fetch_array($db->query("SELECT phid FROM {$tablepre}qihooimages WHERE pid='$pid' AND tid='$tid' LIMIT 1"));
  3.         $postinfo['phid'] = (empty($qihoophid['phid']) || $qihoophid['phid'] == '-1') ? 0 : $qihoophid['phid'];
  4. }
复制代码
在获取最后发布信息,即
  1. $forum['lastpost'] = explode("\t", $forum['lastpost']);
复制代码
之前(这个代码有两处,只改前面的一个),加如下代码
  1. if($_DCACHE['settings']['qihoo_image']['senable']) {
  2.         $qihoophid = $db->fetch_array($db->query("SELECT phid FROM {$tablepre}qihooimages WHERE pid='$pid' AND tid='$tid' LIMIT 1"));
  3.         $postinfo['phid'] = (empty($qihoophid['phid']) || $qihoophid['phid'] == '-1') ? 0 : $qihoophid['phid'];

  4.         if($phid || $postinfo['phid']) {
  5.                 require_once DISCUZ_ROOT.'./include/qcomic.inc.php';
  6.                 $phid = $phid ? $phid : '-1';
  7.                 qcomic_update($pid, $tid, $phid);
  8.                 if(empty($subject)) {
  9.                         $threadsubject = $db->fetch_array($db->query("SELECT subject FROM {$tablepre}threads WHERE tid='$tid'"));
  10.                         $subject = $threadsubject['subject'];
  11.                 }
  12.                 qcomic_fopen("http://comic.qihoo.com/discuz/update.php?sid=".$_DCACHE['settings']['qihoo_image']['sid']."&code=".urlencode(authcode("spassword=".$_DCACHE['settings']['qihoo_image']['spassword']."&phid=$phid&tid=$tid&pid=$pid&uid=".$postinfo['authorid']."&mtime=$timestamp", '', $_DCACHE['settings']['qihoo_image']['skey']))."&title=".urlencode($subject)."&content=".urlencode(qcomic_spacecutstr($message, 500)), 10000, '', '', TRUE, '', 20, FALSE);
  13.         }
  14. }
复制代码
修改viewthread.php
在获取帖子信息,即
  1. $onlineauthors = array();
  2.         $query = $db->query("SELECT p.*, m.uid, m.username, m.groupid
复制代码
之前,加如下代码
  1. if($_DCACHE['settings']['qihoo_image']['senable']) {
  2.         $fieldsadd .= ', qi.pid AS qipid, qi.thid, qi.phid ';
  3.         $tablesadd = "LEFT JOIN {$tablepre}qihooimages qi USING (pid)";
  4. }
复制代码
在接下来的获取帖子的SQl语句
  1. FROM {$tablepre}posts p
复制代码
行尾加上$tablesadd,即这一行改为
  1. FROM {$tablepre}posts p $tablesadd
复制代码

[ 本帖最后由 todidot 于 2008-1-24 12:24 编辑 ]
回复

使用道具 举报

 楼主| todidot 发表于 2008-1-16 15:49:49 | 显示全部楼层

第四步 修改模版

注意一:由于模版里的文字信息有不同语言版本,这里给出GBK的例子,其它版本请参照修改。
注意二:这里只改default目录下的模版文件,其它模版请参照修改。


修改templates/default/viewthread.htm
在显示帖子正文,即
  1. <div id="message$post[pid]" class="t_msgfont">$post[message]</div>
复制代码
之后,加如下代码
  1. <!--{if $_DCACHE['settings']['qihoo_image']['senable'] && $post['qipid'] && $post['phid'] && ($post['phid'] != '-1')}-->
  2. <!--{eval $phidtemp = $post[phid];}-->
  3. <!--{eval $owidth = $_DCACHE[settings][qihoo_image][owidth];}-->
  4. <!--{eval $oheight = $_DCACHE[settings][qihoo_image][oheight];}-->
  5. <!--{eval $qcomic_sid = $_DCACHE[settings][qihoo_image][sid];}-->
  6. <!--{eval $qcomic_spassword = $_DCACHE[settings][qihoo_image][spassword];}-->
  7. <!--{eval $qcomic_skey = $_DCACHE[settings][qihoo_image][skey];}-->
  8. <!--{eval $code = "&spassword=$qcomic_spassword&phid=$phidtemp&ctime=$timestamp";}-->
  9. <!--{eval $code = urlencode(authcode($code,"",$qcomic_skey))}-->
  10. <script type="text/javascript" src="include/javascript/qcomic.js"></script><br>
  11. <div id="qcomic_view_{$qcomic_sid}_{$phidtemp}_before" style="clear:both; overflow:hidden;"></div>
  12. <script language="javascript" type="text/javascript">
  13.         //<![CDATA[
  14.         flashTagIns.setNew("http://p.qihoo.com/flash/pic_nav.swf", $owidth, $oheight);
  15.         flashTagIns.setVersion("7,0,19,0");
  16.          flashTagIns.setId('qcomic_flash_{$qcomic_sid}_{$phidtemp}');
  17.         flashTagIns.allowScriptAccess = "always";
  18.         flashTagIns.allowFullScreen = "true";
  19.         flashTagIns.swLiveConnect = "true";
  20.         flashTagIns.wmode = null;
  21.         flashTagIns.flashVars = 'idx={$qcomic_sid}_{$phidtemp}&sid=$qcomic_sid&code=$code&auto={$post[first]}&ver=dz_2';
  22.         flashTagIns.write(document);
  23.          window.qcomic_flash_{$qcomic_sid}_{$phidtemp} = document.delpost.qcomic_flash_{$qcomic_sid}_{$phidtemp};
  24.          //qcomic_proxy.qcomic_debug('[viewthread.htm]'+flashTagIns);
  25.         //]]>
  26. </script>
  27. <div id="qcomic_view_{$qcomic_sid}_{$phidtemp}_after" style="clear:both; overflow:hidden;"></div>
  28. <!--{/if}-->
复制代码
修改templates/default/post_editpost.htm、templates/default/post_newthread.htm、templates/default/post_newreply.htm,这三个文件的改动方法是一样的。
在函数validate定义,即
  1. function validate(theform, previewpost) {
复制代码
之前,加如下代码

  1. <!--{if $_DCACHE['settings']['qihoo_image']['senable']}-->
  2. var qcomic_enabled = 1;
  3. <!--{/if}-->
  4. if (typeof(qcomic_enabled)=='undefined' || !qcomic_enabled) {
  5.         var qcomic_enabled = 0;
  6. }
复制代码
在函数validate内对标题长度检查,即
  1. } else if(mb_strlen(theform.subject.value) > 80) {
  2.                 alert("{lang post_subject_toolong}");
  3.                 theform.subject.focus();
  4.                 return false;
复制代码
之后,加如下代码
  1. } else if (qcomic_enabled && $('phidstatus').value == '1') {
  2.         alert(lang['phidstatus']);
  3.         return false;
复制代码
在显示附件编辑框,即
  1. <!--{if $allowpostattach}-->
复制代码
之前,加如下代码

  1. <!--{if $_DCACHE['settings']['qihoo_image']['senable'] && (!$_DCACHE['settings']['qihoo_image']['sboard'] || strstr($_DCACHE['settings']['qihoo_image']['sboard'],',0,') || strstr($_DCACHE['settings']['qihoo_image']['sboard'],','.$fid.','))}-->
  2. <tr><td colspan="2">
  3. <script type="text/javascript">
  4.         lang['phidstatus'] = "请先完成Flash的保存,否则会丢失数据!";
  5.         function setImageInfo(phid, phidstatus) {
  6.                 $('phid').value = phid;
  7.                 $('phidstatus').value = phidstatus;
  8.         }
  9.         function qcomic_postsubmit(phid) {
  10.                 setImageInfo(phid, 0);
  11.                 var retval = document.getElementById('postform').onsubmit();
  12.                 if (retval==true) document.getElementById('postform').submit();
  13.         }
  14. </script>
  15. <!--{eval $phidstring = empty($postinfo[phid]) ? '' : '&phid='.$postinfo[phid];}-->
  16. <!--{eval $iwidth = $_DCACHE[settings][qihoo_image][iwidth];}-->
  17. <!--{eval $iheight = $_DCACHE[settings][qihoo_image][iheight];}-->
  18. <!--{eval $qcomic_sid = $_DCACHE[settings][qihoo_image][sid];}-->
  19. <!--{eval $qcomic_spassword = $_DCACHE[settings][qihoo_image][spassword];}-->
  20. <!--{eval $qcomic_skey = $_DCACHE[settings][qihoo_image][skey];}-->
  21. <!--{eval $code = "&spassword=$qcomic_spassword&tid=$tid&pid=$pid".$phidstring;}-->
  22. <!--{eval $code = urlencode(authcode($code,"",$qcomic_skey))}-->
  23. <script src="include/javascript/qcomic.js" type="text/javascript"></script>
  24. <script language="javascript" type="text/javascript">
  25. //<![CDATA[
  26. flashTagIns.setNew("http://p.qihoo.com/flash/upload.swf", $iwidth, $iheight);
  27. flashTagIns.setVersion("7,0,19,0");
  28. flashTagIns.setId('qcomic_upload');
  29. flashTagIns.allowScriptAccess = "always";
  30. flashTagIns.swLiveConnect = "true";
  31. flashTagIns.wmode = "window";
  32. flashTagIns.flashVars = 'sid=$qcomic_sid&code=$code{$phidstring}&ver=dz_2';
  33. flashTagIns.write(document);
  34. window.qcomic_upload = document.getElementById('postform').qcomic_upload;
  35. //qcomic_proxy.qcomic_debug('[post_editor.htm]'+flashTagIns);
  36. //]]>
  37. </script>
  38. <input type="hidden" name="phid" id="phid" value="$postinfo[phid]" />
  39. <input type="hidden" name="phidstatus" id="phidstatus" value="0" />
  40. </td></tr>
  41. <!--{/if}-->
复制代码

[ 本帖最后由 todidot 于 2008-2-21 15:38 编辑 ]
回复

使用道具 举报

 楼主| todidot 发表于 2008-1-16 15:50:40 | 显示全部楼层
预祝安装顺利!:)

[ 本帖最后由 todidot 于 2008-1-16 16:13 编辑 ]
回复

使用道具 举报

super2006 发表于 2008-1-18 14:37:42 | 显示全部楼层
求救啊,为什么我按照楼主的方法改了,可是过入论坛,就是没有反应,还是老样子啊
回复

使用道具 举报

super2006 发表于 2008-1-18 14:39:04 | 显示全部楼层
修改include/editpost.inc.php
在获取最后发布信息,即复制内容到剪贴板代码:
$forum['lastpost'] = explode("\t", $forum['lastpost']);
这个有两处啊,要在哪一处前加呢?
回复

使用道具 举报

samliusm 发表于 2008-4-5 15:52:13 | 显示全部楼层
按照上面的方法介绍做了,怎么最后在论坛后台出现:您没有权限访问系统设置。

请高手帮忙!
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-17 00:17 , Processed in 0.031124 second(s), 3 queries , Gzip On, Redis On.

Powered by Discuz! X3.4

Copyright © 2001-2023, Tencent Cloud.

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