Google Chrome去DZ论坛广告插件:Discuz! 论坛助手

Pop:很多DZ的论坛都有广告,使用这个插件就可以去掉了,而且还可以设置白名单,避免有些有用的信息被屏蔽掉。

Discuz! 论坛助手 效果对比
Discuz! 论坛助手 效果对比

为什么做这个扩展?
某些论坛广告太多,有时用 AdBlock 这种扩展又不能完全过滤,所以,研究了下 Discuz 论坛的广告机制,写出了这个扩展。

功能简介:
依据广告位div来判断,很好的屏蔽Discuz论坛中的广 Continue reading "Google Chrome去DZ论坛广告插件:Discuz! 论坛助手"

Discuz!用IE8上传附件提示“无效的图片文件”的解决

pop:昨天在vc52闲逛的时候看到一个帖子说IE8上传图片,会提示“无效的图片文件”错误,很多人以为是DZ论坛不支持IE8,其实是IE8有个设置的问题

解决方案:
打开IE8的窗口-工具-- Intelnet选项-- 安全-- 自定义级别

把“将文件上传到服务器时包含本地目录路径”这一项“启用”确定即可解决此问题。

Discuz!发论坛短消息提示mysql数据库错误

pop:之前在其他的主机转到虎翼门户通的空间,只记得修改主论坛数据库的配置,忘记了这个ucenter的配置了。

症状:
登陆、发帖等均正常的,但是不能发论坛短消息,提示如下错误信息
Can not connect to MySQL server
Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)

解决办法:
出现这样的提示主要就是论坛的主数据库路径设置正确,但是ucenter的数据库设置错误导致,将ucenter的数据库设置修改即可

具体步骤如下:
打开论坛的ucenter下的data目录下config.inc.php

将里面的配置请参照您论坛的数据库参数来写,如

define('UC_DBHOST', '服务器地址');
define('UC_DBUSER', '数据库用户名');
define('UC_DBPW', '数据库密码');
define('UC_DBNAME', '数据库名称');
define('UC_DBCHARSET', 'utf8');
define('UC_DBTABLEPRE', 'uc_');
define('UC_COOKIEPATH', '/');
define('UC_COOKIEDOMAIN', '');
define('UC_DBCONNECT', 0);
define('UC_CHARSET', 'utf-8');
define('UC_FOUNDERPW', '7936b00bbb4077f41d529875ae1a3800');
define('UC_FOUNDERSALT', '221254');
define('UC_KEY', 'dpeb7xdxaa0D5N4H1r2s5E9sfJ9ffier660N6F373dc2cyczdD1K1T5Bc09n7N9G');
define('UC_SITEID', 'dceP7ldbaR0C5T4q1M2B5e9HfT9efIeW6N0c6T3o3Bc2cdc7dx1S1D54ci967k9L');
define('UC_MYKEY', 'dEea7idcaJ0g5H4J1K2Z5u9ufA9rf5ea6m0L6a3p3NcDcZcUdT1L1H5ucC9d7e9N');
define('UC_DEBUG', false);
define('UC_PPP', 20);

虎翼门户通Discuz!无法登陆后台的解决办法

因为有一段代码会导致网页循环跳转,去掉一段代码就可以了。

打开admin文件夹里的login.inc.php

将下面的代码去掉

if(self.parent.frames.length != 0) {
self.parent.location=document.location;
}

管理员说是admincp.php里的,但是pop的dz论坛admincp.php却没有,所以写上面的那个页面,自己找找吧。

Discuz!发帖提示80个字符限制的解决办法

错误提示:
您的标题超过 80 个字符的限制。

需要修改的文件如下:

include/post.func.php
include/javascript/post_editor.js
modcp/editpost.inc.php
templates/default/viewthread.htm
templates/default/forumdisplay.htm
templates/default/templates.lang.php
templates/default/messages.lang.php

1、打开 include/post.func.php

function checkpost() {
global $subject, $message, $disablepostctrl, $minpostsize, $maxpostsize;
if(strlen($subject) > 80) {
return 'post_subject_toolong';
}
把 > 80 改成 你想要的数字

2、打开 include/javascript/post_editor.js

} else if(mb_strlen(theform.subject.value) > 80) {
alert(lang['post_subject_toolong']);
theform.subject.focus();
把 > 80 改成 你想要的数字

3、打开 modcp/editpost.inc.php

require_once DISCUZ_ROOT.'./include/discuzcode.func.php';
$subjectnew = dhtmlspecialchars(censor(trim($subjectnew)));
if(strlen($subjectnew) > 80) {
showmessage('post_subject_toolong');
把 > 80 改成 你想要的数字

4、打开 default/viewthread.htm

} else if(mb_strlen(theform.subject.value) > 80) {
alert("{lang post_subject_toolong}");
theform.subject.focus();
return false;
把 > 80 改成 你想要的数字

5、打开 default/forumdisplay.htm

} else if(mb_strlen(theform.subject.value) > 80) {
alert("{lang post_subject_toolong}");
theform.subject.focus();
return false;
把 > 80 改成 你想要的数字

6、打开 templates/default/templates.lang.php

'post_subject_toolong' => '您的标题超过 150 个字符的限制。',

改成:

'post_subject_toolong' => '您的标题超过 XX 个字符的限制。',

7、打开 templates/default/messages.lang.php

'post_subject_toolong' => '对不起,您的标题超过 80 个字符,请返回修改标题长度。',

改成

'post_subject_toolong' => '对不起,您的标题超过 XX 个字符,请返回修改标题长度。',

把修改好的文件上传覆盖,然后在论坛后台更新一下“所有缓存”。

补充:
若是论坛是utf-8 (繁中)的话,则打满40中文字,可能不止80字元.
因为每个utf-8码中文字,约有1~4个字元.

varchar(80)是指80 byte
若是输入英文字,则没有问题
若输入中文会有问题,主要是big5码中文,一个字为2字元

以下为加大相关'长度'值为120的参考语法:
Alter TABLE `cdb_posts` CHANGE `subject` `subject` VARCHAR(120) NOT NULL;

DZ(Discuz!)外部HTML调用 会员登录框 代码

代码如下,请自行修改:

代码如下,请自行修改:

<!--论坛登录-->
<table width="998" align="center" cellspacing="0" bgcolor="#F1F5FF">
<form method="post" name="login" action="http://网站地址/bbs/logging.php?

action=login&loginsubmit=true">
<input type="hidden" name="formhash" value="9e4cfebf">
<input type="hidden" name="referer" value="http://网站地址/bbs/index.php">
<tr>
<td width="13%"><span>
<input type="radio" name="loginfield" value="username" checked

onclick="document.login.username.focus();">
<span>用户名</span>
<input type="radio" name="loginfield" value="uid"

onclick="document.login.username.focus();">
<span>UID</span></span></td>
<td width="13%">
<span>
<input type="text" name="username" size="15" maxlength="40" tabindex="2">
</span></td>
<td width="4%"><span>密码</span></td>
<td width="21%"><span>
  <input type="password" name="password" size="25" tabindex="3" />
</span></td>
<td width="6%"><div><div><input

class="STYLE1" type="submit" name="loginsubmit" value="登录">
</div></div></td>
<td width="6%"><span> <a href="http://网站地

址/bbs/register.php">立即注册</a></span></td>
<td width="37%"><span> <a href="http://网站地

址/bbs/member.php?action=lostpasswd">忘记密码</a></span></td>
</tr>
</form>
</table>
<!--论坛登录-->

关闭Discuz!、PHPWind、ShopEx 商城等的GZIP功能

什么是GZIP:

gzip 最早由 Jean-loup Gailly 和 Mark Adler 创建,用于 UNIX 系统的文件压缩。我们在 Linux 中经常会用到后缀为.gz 的文件,它们就是 gzip 格式的。现今已经成为 Internet 上使用非常普遍的一种数据压缩格式,或者说一种文件格式。HTTP 协议上的 gzip 编码是一种用来改进 Web 应用程序性能的技术。大流量的 Web 站点常常使用gzip 压缩技术来让用户感受更快的速度。

关闭GZIP有什么影响:

GZIP的原理是通过服务器端压缩,客户端解压,以节省访客下载网站内容的带宽,进而提高速度。而实际使用中在服务器端与客户端带宽充足的情况下,反而因为增加了压缩和解压的时间而导致访问速度不如关闭GZIP快。目前众多大型网站,如DISCUZ官方论坛等均已关闭GZIP。

1、Discuz! 论坛:

登录论坛后台,找到基本设置--服务器优化,禁止GZIP功能。

后台登录地址:http://您的域名/logging.php?action=login

或:

找到论坛根目录下的forumdata文件夹下的cache文件夹下的cache_settings.php文件。

修改里面的
'gzipcompress' => 1,


'gzipcompress' => 0,

2、PHPWind 论坛:

登录论坛后台,找到论坛核心设置--核心功能设置,禁止GZIP功能。

后台登录地址为:http://您的域名/admincp.php

或:

找到论坛根目录下的data文件夹下的bbscache文件夹下的config.php文件。
修改:
$db_obstart='1';

$db_obstart='0';

3、ShopEx 商城:

4.7.1版本解决办法:由于ShopEX设计上的缺陷,无法单独修改设置,需要下载经过修改index.php文件替换您的网站根目录下的index.php 下载文件地址:http://www.oaoidc.com/shopexindex.rar (覆盖前请备份好原有文件)

4.7.2版本解决办法:在根目录的include目录中找到mall_config.php文件(此文件在安装成功后都会有的),在?>前增加下面一段话就可以关闭系统的gzip功能
define('SYS_GZIP', false);

ShopEx 商城后台地址为:http://您的域名/syssite/shopadmin/

4、SaBlog 博客:

登录FTP,下载cache/cache_settings.php这个文件,将第64行的
'gzipcompress' => '1',
修改为
'gzipcompress' => '0',
然后上传覆盖回去即可。

SaBlog 博客后台地址为:http://您的域名/?action-login

5、动 PHP版本论坛:

登录FTP,下载论坛根目录下的global.php,查找以下内容,
if (!$zliboutputenable AND function_exists('ob_gzhandler')) {
$db_obstart = 1;
修改为
if (!$zliboutputenable AND function_exists('ob_gzhandler')) {
$db_obstart = 0;
然后上传覆盖即可。

6、SupeSite/X-Space:

登录FTP,下载data\system\config.cache.php,查找以下内容,
'gzipcompress' => 1
修改为
'gzipcompress' => 0
然后上传覆盖即可。

SupeSite/X-Space后台地址为:http://您的域名/?action-login

其它程序请咨询客服或程序官方。

如何在DISCUZ!论坛中添加第三方(cnzz、51la)统计代码

1、加在页脚里面

在DISCUZ!程序的templates\default目录中找到footer.htm网页,将代码加入该网页即可。

2、把统计代码添加到每个页面的页脚处

方法:打开 templates 文件夹,找到您当前使用的模板,请在index.html.php(SS首页模板)和*_footer.html.php(其他页面的页脚处)文件里添加您的统计代码。

注意:sofesea的模板,请添加到index.html.php(SS首页模板)和 site_footer.html.php。

个人空间的统计代码,暂时只能加到:个人空间页脚广告处。在SS后台的广告管理里添加。

3、在后台添加的方法:

进入后台,选择基本设置
把统计代码写到“网站备案信息代码”那个框里就可以了,不用修改任何代码