今天一早就弄dz,说有一个地方的文章地址是动态的,这是我就郁闷了,之前好好的,怎么又出现问题了呢。

经过查看,原来是他们自己装了一个叫柒瑞首页四格v7.7   的插件,插件本身存在着这个缺陷, 所以只能又google了,

搜了下,还真的有人遇到这种问题咧

柒瑞首页四格 v7.7是支持DiscuzX2.5的一个首页多格插件,这几天一直在琢磨着将这个插件修改一下,让首页调用图片的地方可以调用自己想要调用的版块,以前的调用图片都是全站搜索的,难免会出现一些自己不想看到的图片或者广告的图片,可惜的是这个插件的后台不支持自己修改调用。而且还有一个缺点就是最新回复的地方它显示的动态的链接地址,对于我全站伪静态来说有点分歧,所以我就不得不自己修改了,这篇文章献给用这个插件的朋友,对有需要的参考修改其他的插件的朋友也可以对照参考下,开始吧。

首先按照这个插件,我们打开这个插件下的文件,文件路径是\source\plugin\toplist_7ree,我们可以看到这里面的文件就是插件运行的文件了。开始我们修改的是首页图片调用的问题。

打开toplist_7ree.class.php文件我们可以看到

  1. ///////////////////////////////幻灯图///////////////
  2. if ($style_7ree == “imgswordstyle_7ree”){
  3. //幻灯图获取
  4. //—设置—start
  5. $shownums        = 6;//演示个数 6以内
  6. $searchnums        = 18;//搜索总数.
  7. $cachelife        = 1800;//缓存时间.
  8. $orderby        = ‘dateline’;//搜索顺序:按日期dateline.按浏览次数downloads.随机rand.
  9. $pic_cachename        = ‘showpic_7ree’;//缓存名.若与何插件冲突请修改,只要不冲突不会影响使用.
  10. //—设置—end
  11. if((@!include(‘./data/cache/cache_’.$pic_cachename.’.php’)) || $expiration < time() || $cacheshownums != $shownums || $cachesearchnums != $searchnums || $cachecachelife != $cachelife || $cacheorderby != $orderby || $cachecachename != $pic_cachename || $cachesearchfid != $searchfid) {
  12.         //$orderby = $orderby != ‘rand’ ? ‘attach.’.$orderby : ‘rand()’;
  13.         $fids = $searchfid ? ‘AND ‘.”t.fid IN ($searchfid)” : ”;
  14.         $data = array();
  15.         $query = DB::query(“SELECT a.attachment,t.tid, t.fid, t.subject FROM “.DB::table(‘forum_threadimage’).” a INNER JOIN “.DB::table(‘forum_thread’).” t ON t.tid=a.tid WHERE t.isgroup=0 AND t.displayorder>=0 AND $onoff_7ree GROUP BY a.tid ORDER BY a.tid DESC LIMIT $searchnums”);
  16. //        $query = DB::query(“SELECT attachment FROM “.DB::table(‘forum_threadimage’).” LIMIT 5″);
  17.                                 while($pic = DB::fetch($query)) {
  18.                                         $pics['picpics'] = $_G['setting']['attachurl'].’forum/’.$pic['attachment'];
  19.                                         $pics['piclinks'] = ‘forum.php?mod=viewthread%26tid=’.$pic['tid'];
  20.                                         $pics['pictexts'] = str_replace(‘\”, ‘ ‘,$pic['subject']);
  21.                                         $pics['attaid'] = $pic['aid'];
  22.                                         $datapic[] = $pics;
  23.                                 }
  24.                                 $cacheArray .= “\$pic_7ree=”.arrayeval($datapic).”;\n”;
  25.         writetocache($pic_cachename, $cacheArray);
  26.         include(DISCUZ_ROOT.’./data/sysdata/cache_’.$pic_cachename.’.php’);
  27. }
  28. if(is_array($pic_7ree) && PHP_VERSION > 4.3 ) shuffle($pic_7ree);
  29. $i = 0;
  30. $j = 0;
  31. while ($j < $shownums && isset($datapic[$i])) {
  32.         if(is_readable($pic_7ree[$i]['picpics'])) {
  33.                 $showpicpics .= $comma.$pic_7ree[$i]['picpics'];
  34.                 $showpiclinks .= $comma.$pic_7ree[$i]['piclinks'];
  35.                 $showpictexts .= $comma.$pic_7ree[$i]['pictexts'];
  36.                 $comma = ‘|’;
  37.                 $j++;
  38.         }elseif($_G['setting']['ftp']['on']){
  39.           if ($_G['setting']['ftp']['hideurl']) {
  40.           $picpics .= $comma.$boardurl.’attachment.php?aid=’.$pic_7ree['attaid'];
  41.           } else {
  42.           $picpics .= $comma.$_G['setting']['ftp']['attachurl'].str_replace($attachurl, ”, $pic_7ree['picpics']);
  43.           }
  44.           $piclinks .= $comma.$pic_7ree['piclinks'];
  45.           $pictexts .= $comma.$pic_7ree['pictexts'];
  46.           }
  47.           $comma = ‘|’;
  48.             $i++;
  49.         }
  50. }


这就是图片调用的代码了,我们首先要想到的是,图片调用的是从数据库里面调用图片的运行路径的,所以我们先找到数据库调用数据的地方,也就是这个地方

  1. $query = DB::query(“SELECT a.attachment,t.tid, t.fid, t.subject FROM “.DB::table(‘forum_threadimage’).” a INNER JOIN “.DB::table(‘forum_thread’).” t ON t.tid=a.tid WHERE t.isgroup=0 AND t.displayorder>=0 AND
  2. $onoff_7ree  GROUP BY a.tid ORDER BY a.tid DESC LIMIT $searchnums”);


这段代码的意思是从数据库表forum_threadimage 中调用a.attachment,t.tid, t.fid, t.subject 这些字段,具体这些字段表示什么我们就不需要知道了,我们只要知道唯一个字段的保存内容就是t.fid,这个字段就是保存各个版块ID的地方。后面的$onoff_7ree 是后台设置不调用哪些版块的程序函数,所以我们可以想象一下,将不调用版块的地方改成我们只调用版块的地方就行了,那么就可以实现我们的目的了,我们将$onoff_7ree 修改成t.fid=58,这个地方的58是你想要调用的版块的ID,至于你怎么知道的,你可以看看你版块的URL地址,例如爱尚秀的URL是 http://bbs.aiwebcom.com/forum-58-1.html,这中间的58就是我们要调用的地方。修改完成后直接保存,后台更新缓存,刷新前台你就可以看见了,其实后台我们可以自己加表格,直接设置,我不想那么麻烦,有需要的朋友可以找我。

其次就是更改最新回复伪静态路径的问题了,我们打开文件夹\source\plugin\toplist_7ree\template里面的toplist_7ree.htm可以看到这段代码

  1. <td  width=”25%”>
  2.    <div  id=”rep1″ style=”height:215px”><div  id=”rep2″>
  3.       <!–{loop $reply_post_threadlist $rthread}–>
  4.        <div style=”overflow: hidden;height: 20px;width: 100%;”
  5.        <!–{if $linetitle_style_7ree == “on_popupmenu_7ree”}–>
  6.        id=”rep_7ree_$rthread[tid]“  onmouseover=”showMenu({‘ctrlid’:this.id,’duration’:’1′})”
  7.         <!–{/if}–>
  8.        ><img src=”source/plugin/toplist_7ree/template/images/list_7ree.gif” border=”0″ align=”absmiddle”/> <a href=”forum.php?mod=viewthread&tid=$rthread[tid]” $rthread['highlight'] $blank_7ree><span >$rthread[view_subject]</span></a></div>
  9. <!–{if $linetitle_style_7ree == “on_popupmenu_7ree”}–>
  10.        <div id=”rep_7ree_$rthread[tid]_menu” style=”width:220px;display:none”>
  11.          <strong>$rthread[view_subject]</strong>
  12.          {lang toplist_7ree:htm_lang_bankuai_7ree}$rthread[forumname]
  13.          {lang toplist_7ree:htm_lang_huifu_7ree}$rthread[lastposter]
  14.          {lang toplist_7ree:htm_lang_shijian_7ree}$rthread[lastreplytime]
  15.          {lang toplist_7ree:htm_lang_liulan_7ree}$rthread[views]{lang toplist_7ree:htm_lang_ci_7ree}  {lang toplist_7ree:htm_lang_huifu_7ree}$rthread[replies]{lang toplist_7ree:htm_lang_ci_7ree}
  16.        </div>
  17.        <!–{/if}–>
  18.       <!–{/loop}–>
  19.             </div></div>
  20.    </td>


找到路径调用的地方

  1. <a href=”forum.php?mod=redirect&tid=$rthread[tid]&goto=lastpost#lastpost” $rthread['highlight'] $blank_7ree><span >$rthread[view_subject]</span></a>


将它修改成

  1. <a href=”forum.php?mod=viewthread&tid=$rthread[tid]” $rthread['highlight'] $blank_7ree><span >$rthread[view_subject]</span></a>


然后保存更新缓存就可以了。

 

今天在弄dz论坛的时候,首页的地址要求不出现forum.php,就是论坛首页进去地址是域名就可以了 例如我要的是 blog.aiwebcom.com,那按照下面的方法就可以了

Discuz X2.5 首页地址如何去掉 forum.php

论坛的域名写成你的域名 例如 blog.aiwebcom.com, 默认域名写顶级域名 aiwebcom.com  ,这时候基本上就成功了, 不过我遇到了一个问题,就是

门户点击的时候,居然也是跳回到 blog.aiwebcom.com,  那这时候 我在门户域名那里 填写好之前的地址就好了 blog.aiwebcom.com/portal.php .

还有最后一步就是  找到 /config/config_global.php   在里面找到$_config['cookie']['cookiedomain'] = ‘ ‘;

改成 $_config['cookie']['cookiedomain'] = ‘.aiwebcom.com’;

ok! 修改成功!

 

 

今天遇到一个dz论坛伪静态的问题, 就是就算是开启了伪静态, 但搜索页结果点就去的路径依然是动态的情况。 这里在网上查了下方法

具体是修改以下内容

找到/template/default/search/thread_list.htm文件,将

forum.php?mod=viewthread&tid=$thread[realtid]&highlight=$index[keywords]

更改为

thread-$thread[realtid]-1-1.html

修改之后上传覆盖到网站,更新一下后台数据缓存。

然后 Discuz 7.2论坛搜索结果静态化的方法:
1.修改模板文件search_threads.htm
找到:

<a href=”viewthread.php?tid=$thread[tid]&highlight=$index[keywords]” target=”_blank” $thread[highlight]>$thread[subject]</a>

改成:

<a href=”thread-$thread[tid]-1-1.html” target=”_blank” $thread[highlight]>$thread[subject]</a>

2.然后到后台更新一下数据缓存。

 

今天在折腾discuz, 本来安装的x2.5版本换成x2版本,不过后来经要求又要换回x2.5版本,

换回x2.5版本后, 居然就出现了

  • [1146] Table ‘ zhfuk.myrepeats’ doesn’t exist
  • [Query] SELECT COUNT(*) FROM myrepeats WHERE username=’admin’
discuz x2.5 数据库出错

discuz x2.5 数据库出错

 

 

后来查了一下,知道是马甲插件表不存在了,哦!!!这时候我明白了,因为当是换成 discuz x2 版本的时候,安装了马甲插件,然后

后来又换回discuz x2.5版本之后,插件没掉了,(想起来才知道,当时是直接重新安装x2版本的,原来的x2.5版本还保留着,所以换回x2.5版本

之后,在x2装的那些插件肯定就没掉了),所以在后台卸掉那个马甲插件就ok了,可以重新再安装过。

 

discuz!x2数据库各表的说明,貌似discuz!x2.5也是一样的。

pre_common_admincp_cmenu
后台菜单收藏表

pre_common_admingroup
管理组表

pre_common_adminnote
后台留言表

pre_common_advertisement
广告数据表

pre_common_advertisement_custom
自定义广告数据表

pre_common_banned
禁止访问表

pre_common_cache
通用缓存表

pre_common_card
充值卡密表

pre_common_card_log
充值卡密表

pre_common_card_type
卡片分类表

pre_common_credit_log
积分日志表

pre_common_credit_rule_log
积分规则日志表

pre_common_credit_rule_log_field

pre_common_credit_rule
积分规则表

pre_common_cron
计划任务表

pre_common_domain
二级域名表

pre_common_failedlogin
失败登录表

pre_common_friendlink
友情链接表

pre_common_relatedlink
关联链接表

pre_common_invite
邀请表

pre_common_mailcron
邮件计划任务表

pre_common_mailqueue
邮件队列表

pre_common_member
用户主表

pre_common_member_count
用户统计表

pre_common_member_field_forum
用户论坛字段表

pre_common_member_field_home
用户家园字段表

pre_common_member_action_log
用户操作日志表

pre_common_member_connect
QQConnect用户表

pre_common_member_log
漫游用户日志表

pre_common_member_profile
用户栏目表

pre_common_member_verify
用户认证表

pre_common_member_verify_info
个人信息修改审核

pre_common_member_profile_setting
个人信息扩展表

pre_common_member_security
个人信息修改审核

pre_common_member_status
用户状态表

pre_common_member_stat_field
用户资料统计项

pre_common_member_stat_fieldcache
搜索统计项用户ID缓存表

pre_common_member_stat_search
用户资料由搜索保存的统计项

pre_common_member_stat_searchcache
搜索统计项用户ID缓存表

pre_common_member_validate
用户审核表

pre_common_member_grouppm
群发短消息用户记录表

pre_connect_memberbindlog
Connect 用户绑定/解绑记录表

pre_connect_feedlog
Connect feed日志表

pre_connect_tlog
微博日志表

pre_common_uin_black
UIN 黑名单

pre_common_grouppm
群发短消息表

pre_common_myapp
漫游应用表

pre_common_myinvite
用户邀请表

pre_common_nav
自定义导航栏表

pre_common_onlinetime
在线时间表

pre_common_regip
注册IP限制表

pre_common_secquestion
验证问题数据表

pre_common_session
会员认证表

pre_common_setting
设置表

pre_common_smiley
表情表

pre_common_stat
趋势统计

pre_common_statuser
统计用户表

pre_common_style
风格表

pre_common_stylevar
风格变量表

pre_common_syscache
缓存数据表

pre_common_template
模板表

pre_common_usergroup
用户组表

pre_common_usergroup_field
会员用户组权限表

pre_common_word
词语过滤表

pre_common_word_type
词语过滤分类

pre_common_tag
标签表

pre_common_tagitem
标签内容表

pre_forum_access
访问权限表

pre_forum_activity
活动表

pre_forum_activityapply
活动申请表

pre_common_addon
扩展中心资源提供商

pre_forum_announcement
公告表

pre_forum_threadimage
主题图片表

pre_forum_attachment
附件索引表

pre_forum_attachment_unused
未使用附件表

pre_forum_attachment_
附件表

pre_forum_attachment_1
附件表

pre_forum_attachment_2
附件表

pre_forum_attachment_3
附件表

pre_forum_attachment_4
附件表

pre_forum_attachment_5
附件表

pre_forum_attachment_6
附件表

pre_forum_attachment_7
附件表

pre_forum_attachment_8
附件表

pre_forum_attachment_9
附件表

pre_forum_attachtype
附件类型表

pre_forum_bbcode
Discuz! 代码表

pre_forum_creditslog
转帐记录表

pre_forum_debate
辩论主题表

pre_forum_debatepost
辩论帖子表

pre_forum_faq
论坛帮助表

pre_home_favorite
收藏表

pre_forum_forum
版块表

pre_forum_forumfield
版块扩展表

pre_forum_forum_threadtable
版块存档信息

pre_forum_forumrecommend
版主推荐表

pre_forum_imagetype
图片 表情 头像等 分类

pre_forum_medal
勋章表

pre_forum_medallog
勋章日志表

pre_common_member_magic
用户道具数据表

pre_forum_memberrecommend
用户推荐表

pre_forum_moderator
版主表

pre_forum_modwork
论坛管理统计表

pre_common_mytask
我的任务表

pre_forum_onlinelist
在线列表定制

pre_forum_order
订单信息表

pre_forum_groupfield
群组扩展信息缓存

pre_forum_groupinvite
群组邀请

pre_forum_groupranking
群组排行

pre_forum_groupuser
群组成员

pre_common_plugin
插件表

pre_common_pluginvar
插件变量表

pre_common_moderate
审核数据表

pre_forum_postlog
漫游帖子日志

pre_forum_threadlog
漫游主题日志

pre_forum_poll
投票表

pre_forum_pollvoter
投票用户表

pre_forum_polloption
投票选项表

pre_forum_post
帖子表

pre_forum_postcomment
点评帖子表

pre_forum_post_tableid
post分表协调表

pre_forum_postposition
抢楼帖楼层记录表

pre_forum_poststick
回帖置顶表

pre_forum_promotion
论坛推广

pre_forum_ratelog
帖子评分记录表

pre_forum_relatedthread
相关主题表

pre_forum_rsscache
rss缓存表

pre_forum_replycredit
主题回帖获得积分规则表

pre_common_searchindex
搜索缓存表

pre_common_sphinxcounter
Sphinx 增量索引记录表

pre_forum_spacecache
minispace缓存表

pre_forum_statlog
版块统计日志表

pre_common_task
论坛任务表

pre_common_taskvar
论坛任务设置表

pre_forum_thread
主题表

pre_forum_threadmod
主题管理记录表

pre_forum_threadpartake
主题参与者记录表

pre_forum_threadrush
抢楼设置表

pre_forum_threadtype
主题分类表

pre_forum_trade
商品数据表

pre_forum_threadclass
主题分类表

pre_forum_tradecomment
信用评价

pre_forum_tradelog
交易记录表

pre_forum_typeoption
分类信息设置项目表

pre_forum_typeoptionvar
分类信息项目数据表

pre_forum_typevar
分类信息对应项目表

pre_forum_warning
警告记录表

pre_home_album
相册表

pre_home_appcreditlog

pre_home_blacklist
屏蔽黑名单表

pre_common_block
模块表

pre_common_block_style
模块模板表

pre_common_block_item
模块数据表

pre_common_block_pic
模块使用图片表

pre_common_block_item_data
模块推荐信息表

pre_common_block_xml
模块 XML 扩展类数据表

pre_common_block_favorite
模块收藏表

pre_home_blog
日志表

pre_home_blogfield
日志字段表

pre_home_class

pre_home_click
表态动作

pre_home_clickuser
用户表态表

pre_home_comment
用户评论表

pre_home_docomment
用户记录回复表

pre_home_doing
用户记录表

pre_home_feed
站点feed表

pre_home_feed_app
应该feed表

pre_home_friend
用户好友表

pre_home_friend_request
申请好友表

pre_home_friendlog
用户好友动作日志表

pre_common_magiclog
道具日志表

pre_common_magic
道具数据表

pre_home_notification
通知表

pre_home_pic
家园图片表

pre_home_picfield
家园图片拓展表

pre_home_poke
用户招呼表

pre_home_pokearchive
用户招呼存档表

pre_home_share
用户分享表

pre_home_show
用户上榜表

pre_home_userapp
用户使用应用表

pre_home_userappfield
用户使用应用扩展表

pre_home_visitor
空间访问日志表

pre_portal_article_title
门户文章标题表

pre_portal_article_content
门户文章内容表

pre_portal_article_count
门户文章统计数据表

pre_portal_article_trash
门户文章回收站表

pre_portal_comment
门户评论表

pre_portal_rsscache
文章rss缓存表

pre_portal_topic
门户专题表

pre_portal_topic_pic
门户专题图片表

pre_common_diy_data
DIY模板页面数据的存档表

pre_common_template_block
模板页面和模块的关联表

pre_common_template_permission
DIY模板页面权限表

pre_common_block_permission
模块权限表

pre_portal_category_permission
文章分类权限表

pre_portal_category
门户 文章栏目表

pre_common_process
进程锁管理

pre_common_admincp_group
后台管理组

pre_common_admincp_member
后台管理成员

pre_common_admincp_perm
后台权限表

pre_common_admincp_session
后台session表

pre_portal_attachment
门户文章附件表

pre_portal_article_related
门户相关文章

pre_home_specialuser
特殊用户表

pre_common_district
地区表

pre_forum_grouplevel
群组等级表

pre_forum_groupcreditslog
群组积分日志表

pre_home_blog_category
日志系统栏目

pre_home_album_category
相册系统栏目

pre_common_report
用户举报表

 

两个系统整合后,发现从dede登陆退出都正常,但是从discuz的登陆退出却无法和dede同步。
解决了这个问题可以通过以下两点:
1、修改通信密匙,是dede、discuz和ucenter三者之间的都相同,即/include/common.inc.php,/bbs/config.inc.php,/bbs/uc_server/data/config.inc.php文件中的UC_KEY一致,/bbs/uc_server/data/config.inc.php这个文件需要特别注意。(其实就是密钥要保持一致)
2、因为我们是用的数据库方式,所以将通信ip都删除(这是我得到解决问题的方法)
完成了这2个,从discuz就可以和dede同步登陆及退出了

 

今天尝试着将discuz!x2.5和dedecmsV5.7用Ucenter进行整合:

首先安装Ucenter,然后在安装dis和dede。三个都安装好后,(一般情况下,在安装dis的时候就能成功和Ucenter通行成功的了。详细可以在安装dis时的第二步填写已经安装好的Ucenter的信息)。

dedecms安装好之后,进入模块管理,下载安装UCenter模块,下图(本系统已经安装好了)

 

dedecms模块管理

dedecms模块管理

安装好之后,点击 UCenter配置  ,进去里面填写ucenter信息, 主要是填写ucenter的地址。

完成上面之后,进入ucenter 点击应用管理,可以看到dis和dede都已经通行成功

ucerter应用管理

ucerter应用管理

不过这时候只是discuz和dedecms各自和ucenter通行成功, 那要做到discuz和dedecms这两个通行成功呢,要做一下步骤:

进去discuz的ucenter配置将UCenter 通信密钥复制一下,然后再进去dedecms的ucenter配置 将discuz复制的那段通行密钥粘贴到dedecms的通信密钥那里

,其实这样做,就是要做到 discuz的通信密钥和dedecms的通信密钥一致(这里也要在ucenter那里保持两个密钥的一致,要记住查看下是否通行成功了)。

这时候就可以达到discuz!2.5和dedecmsV5.7的整合了。

成功后,大家可以尝试下在两个系统之间进行用户注册,同时登录和同时登出了。

 

© 2012 Ai-WEB的博客 Suffusion theme by Sayontan Sinha