- 【discuzX2】模板解析语法就template()函数分析
yanhui_wei
【discuzx2x3深入研究】
PHP的模板文件的模板数据内容将从文件的第二行开始解析。PHP和HTM模板文件同时存在时,会优先解析PHP模板文件模板语法变量输出输出一个变量的值,等同于php的,花括号可以省略但不建议去掉。{$my_var}条件判断通过if判断流程分支如果写在HTML表单元素中,可以省去使代码更清晰易读,如{if$my_var}xxx{/if}任意html语句带有多条件的if写法,可使用PHP常规判断中的按位运
- 【discuzX2】/source/class/class_core.php文件中核心基础类库中discuz_core类分析
yanhui_wei
【discuzx2x3深入研究】
1,'_GET'=>1,'_POST'=>1,'_REQUEST'=>1,'_COOKIE'=>1,'_SERVER'=>1,'_ENV'=>1,'_FILES'=>1,);//建立唯一的进程function&instance(){//单例模式实例化一个discuz_core核心类实例化对象static$object;if(empty($object)){$object=newdiscuz_cor
- Discuz!完美去除版权方法教程
joker柒月
discuz建站
一、去除头部版权在原来的discuzX2版本中,标题中去掉“PoweredbyDiscuz!”版权标识很容易,只需要修改模板文件的头部公用文件,将“PoweredbyDiscuz!”这一行字去掉即可。但是discuzX2似乎对这点有所防备,把-PoweredbyDiscuz!中的-放在了变量里,所以删除后,标题一句话结束后会有一个小-尾巴,对搜索引擎很不友好,所以也有一个好的办法完美解决,即:打开
- DiscuzX2注入漏洞及XSS漏洞的利用
沧海一波
PHP网络安全MySQL
注射漏洞详细说明:文件:source\module\forum\forum_attachment.phpif(!defined('IN_DISCUZ')){exit('AccessDenied');}define('NOROBOT',TRUE);@list($_G['gp_aid'],$_G['gp_k'],$_G['gp_t'],$_G['gp_uid'],$_G['gp_tableid'])=
- discuz头部信息,尾部信息及版权信息修改
q791483317
discuz!
标题中的版权在原来的discuzX1版本中,标题中去掉“PoweredbyDiscuz!”版权标识很容易,只需要修改模板文件的头部公用文件,将['bbname']-PoweredbyDiscuz!中红色部分去掉即可。但是discuzX2直接把-PoweredbyDiscuz!中的-放在了变量里,所以删除后,标题一句话结束后会有一个小-尾巴,对搜索引擎很不友好,所以也有一个好的办法完美解决,即:打开
- 【discuzX2】/source/function/function_core.php通用核心函数库文件分析
yanhui_wei
【discuzx2x3深入研究】
$message错误信息*@param$show是否显示信息*@param$save是否存入日志*@param$halt是否中断访问*/functionsystem_error($message,$show=true,$save=true,$halt=true){require_oncelibfile('class/error');discuz_error::system_error($messa
- discuzX2附件名前主动加站点名的方法
借一程山水伴你年少
/source/function/function_attachment.php与source/module/forum/forum_attachment.php两个文件都按照如下方式修正查找$attachexists=TRUE;在它下边增添$attach['filename']='伏笔主机[url]www.60zhan.com[/url]_'.$attach['filename'];参考文献:h
- Discuz批量替换帖子内容的方法(使用SQL更新数据库)
今天一个朋友的DiscuzX2论坛需要批量替换帖子的内容,帖子数量上万,一开始是通过设置词语过滤,发现无效果,只能通过数据库批量替换了,具体方法请接着往下看。DiscuzX2论坛后台提供数据库SQL语句操作的功能,但是默认情况下出于安全考虑,该功能是被关闭的,所以得先修改下配置文件,方法如下:找到论坛程序文件config/config_global.php,用记事本打开该文件,然后查找$_conf
- Discuzx2开发标准流程
jerrylsxu
研究了有一个月的discuz x2的源代码。然后有了一些开发的心得。写心得也算是一种回顾,温故而知新嘛。 首先,要理解每一个根目录页面的大概的加载流程顺序。这里,我就不用根目录的标准文件了。直接举例,写一个新的模块,它的名字叫做newModule.php。 流程是这样的:1. newModule.php首先加载核心的类文件,/source/class/clsss_core.php这个是核心的类文件
- Discuzx2开发标准流程
jerrylsxu
研究了有一个月的discuz x2的源代码。然后有了一些开发的心得。写心得也算是一种回顾,温故而知新嘛。 首先,要理解每一个根目录页面的大概的加载流程顺序。这里,我就不用根目录的标准文件了。直接举例,写一个新的模块,它的名字叫做newModule.php。 流程是这样的:1. newModule.php首先加载核心的类文件,/source/class/clsss_core.php这个是核心的类文件
- 【未测试】使用mysql-proxy 快速实现mysql 集群 读写分离
buster2014
文章来源:http://my.oschina.net/barter/blog/93354目前较为常见的mysql读写分离分为两种:1、基于程序代码内部实现:在代码中对select操作分发到从库;其它操作由主库执行;这类方法也是目前生产环境应用最广泛,知名的如DISCUZX2。优点是性能较好,因为在程序代码中实现,不需要增加额外的设备作为硬件开支。缺点是需要开发人员来实现,运维人员无从下手。 2、基
- Nginx常用配置,让你的网站飞起来!
511769193
nginx优化
1、自定义404错误页面并返回404状态码(1)、定义欲显示的404页面,放在网站根目录,比如“404.html”。(2)、在Nginx中的http区域添加《fastcgi_intercept_errorson;》。(3)、在Nginx中的server区域中添加《error_page404/404.html;》。注意:千万别添加等号!2、discuzX2伪静态设置在server区域添加以下内容即可
- Discuz X2通过数据库批量替换修改帖子内容
佚名
今天一个朋友的DiscuzX2论坛需要批量替换帖子的内容,帖子数量上万,一开始是通过设置词语过滤,发现无效果,只能通过数据库批量替换了,具体方法请接着往下看。DiscuzX2论坛后台提供数据库SQL语句操作的功能,但是默认情况下出于安全考虑,该功能是被关闭的,所以得先修改下配置文件,方法如下:找到论坛程序文件config/config_global.php,用记事本打开该文件,然后查找$_conf
- discuz x2修改密码注册用户获取密码放在第三方平台
佚名
由于discuzx2,ucenter,第三方平台通信,但是由于整个ucenter的同步接口存在很多问题,尤其同步信息那块,问题多多,无奈之下,只能把用户密码修改,注册用户,找回密码等功能放在第三方平台。1.修改/template/default/member/login_simple.htm页面代码里的两处复制代码代码如下:{langforgotpw}$_G['setting']['reglink
- discuz x后台设置各种用户组个性签名的长度无效
佚名
在discuzx2后台设置各种用户组个性签名的长度,新手10个字等,但是实际运用中发现,这个限制一直无效。后调试代码发现,实际在提交签名后,字数限制会变成200。只能一步一步的调试,最终发现问题出在了qq互联上了。在DISCUZ_ROOT.”source/plugin/qqconnect/connect.class.php”文件中有段代码复制代码代码如下:if(submitcheck('profi
- 【discuzx2】$catlist数组
yanhui_wei
Array(
[163]=>Array
(
[fid]=>163//版块fid或分区gid,注意:当是顶级版块时为fid与gid是一样的
[fup]=>0//上级版块或分区的id,0-顶级版块或分区
[type]=>group//类型(group:分类forum:普通论坛sub:子论坛)
[name]=>信用卡与生活//分区名称
[threads]=>0//主题数digestposts-精华数do
- 【discuzx2】forum_index.php文件中$_G['cache']['announcements']
yanhui_wei
echo"";
print_r($_G['cache']['announcements']);//公告
Array
(
[2]=>Array
(
[id]=>2
[author]=>admin
[subject]=>站点公告1
[type]=>0
[displayorder]=>0
[starttime]=>1377502500
[endtime]=>1454139300
[message]=>
- 【discuzx2】forum_index.php文件中$forums = Ct('forum_forum')-fetch_all_by_status(1)
yanhui_wei
1、forum_index.php文件中
//通过状态值查询所有开启的版块或分区,可查看桌面
$forums=C::t('forum_forum')->fetch_all_by_status(1);
echo"";
print_r($forums);
2、对应板块表pre_forum_forum中的记录
//输出结果
Array
(
[0]=>Array
(
[fid]=>1
[fup]
- 【discuzx2】forumdisplay_subform.htm模板文件深入分析
yanhui_wei
{langforum_subforums}
$sub[icon]
$sub[name]($sub[todayposts])
{langforum_threads}:,{langforum_posts}:
{langprivate_forum}
{langurl_link}
$sub[lastpost][dateline]$sub
- 【discuzx2】header.htm模板文件深入分析
yanhui_wei
$rsshead
HTMLNODE.className+='widthauto'
{langheader_diy_mode_simple}
{langheader_diy_mode_adv}
$diynav
{langyour_mobile_browser}{langgo_to_mo
- 【discuzx2】discuz.htm模板文件深入分析
yanhui_wei
{langannouncements}:
$announcements
announcement();
$_G[setting][bbname]»{$_G[setting][navs][2][navname]}$navigation
{langindex_today}:$todayposts|{langindex_ye
- 【discuzx2】forumdisplay_list.htm模板文件深入分析
yanhui_wei
0}onclick="setatarget(-1)"class="yatarget_1"{else}onclick="setatarget(1)"class="y"{/if}title="{langnew_window_thread}">{langnew_window}
{langscreening}:
{langthread_poll}{langthread_tra
- 【discuzx2】forumdisplay.htm模板文件详解
yanhui_wei
$_G[setting][bbname]»{$_G[setting][navs][2][navname]}$navigation
{langforum_favorite}
|{langrss_subscribe_this}
|$forumarchive[$_GET['archiveid']]
- 【discuzx2】forum_index.php文件的分析
yanhui_wei
fetch_all_by_uid_idtype($_G['uid'],'fid');
if(!$forum_favlist){
dsetcookie('nofavfid',1,31536000);
}
foreach($forum_favlistas$key=>$favorite){
if(defined('IN_MOBILE')){
$forum_favlist[$key]['title']=s
- 【discuzx2】如何控制帖子列表页中帖子标题的长度?
yanhui_wei
正确的写法:{eval$thread['subject']=cutstr($thread['subject'],50,$dot='...');}//第一步:通过cutstr函数截取帖子标题长度
$thread[subject]//第二步:显示截取后的帖子标题错误的写法://错误的写法,echo不能输出变量及使用函数处理过的变量
正确的写法://正确的写法,echo只能输出字符串及数字
- 【discuzx2】discuz论坛系统中是不能使用jquery框架的,如需要使用jquery框架,按照如下方式操作
yanhui_wei
//引入jquery框架,但是会与dz自定义的js框架重名而产生冲突
varj=jQuery.noConflict();//解决方案:将jquery的$重新定义为一个其它的符号,如:"j",因为"$"符号默认情况下已经被DZ占用了
- 使用mysql-proxy 快速实现mysql 集群 读写分离
frank1998819
mysql
使用mysql-proxy快速实现mysql集群读写分离目前较为常见的mysql读写分离分为两种:1、基于程序代码内部实现:在代码中对select操作分发到从库;其它操作由主库执行;这类方法也是目前生产环境应用最广泛,知名的如DISCUZX2。优点是性能较好,因为在程序代码中实现,不需要增加额外的设备作为硬件开支。缺点是需要开发人员来实现,运维人员无从下手。2、基于中间代理层实现:我们都知道代理一
- 【discuzX2】如何二次开发自己的程序?
yanhui_wei
功能描述:每个会员都可以写下自己的心情,游客不可以留言。按时间倒序显示最新的留言。我们的宗旨是尽量不要去修改或过多依懒默认模板或程序,否则,Discuz!升级时会给你带来无尽的痛苦...目录 [隐藏]1 设计表结构:2 创建的文件:(./表示站点根目录)3 moop.php4 list.php5 list.htm6 publish.php7 publish.htm8 关于语言包的提取设计表结构:C
- 【discuzX2】缓存机制分析
yanhui_wei
前言缓存机制简单的说就是将一些重复操作的结果集保存下来,在收到同样的操作时直接从缓存的结果集中取出相应的数据直接使用,这样做的好处是降低重复性的解析或者SQL查询之类的动作,从而有效的缓解服务器的压力。缓存类型在DiscuzX中用到了模板缓存、文件缓存、数据缓存的缓存方法。模板缓存在Discuz产品中采用的是预编译的缓存机制,当程序调用模板过程中先去检测是否已经存在缓存,如果存在已编译后的模板文件
- Discuz X2二次开发之数据库操作 DB类
得尼玛逼
DBdiscuzX2
DiscuzX2的数据库操作类主要包括以下几个:DB::result_first返回SQL查询的唯一字段的唯一值,查询结果是字符DB::fetch_first返回SQL查询的多个字段的值,查询结果是一个数组DB::query执行SQL查询,包括两种,一种是执行update,delete这些修改数据库的操作,还有一种与DB::fetch配合做一个循环查询DB::fetch与DB::query和whi
- Java实现的基于模板的网页结构化信息精准抽取组件:HtmlExtractor
yangshangchuan
信息抽取HtmlExtractor精准抽取信息采集
HtmlExtractor是一个Java实现的基于模板的网页结构化信息精准抽取组件,本身并不包含爬虫功能,但可被爬虫或其他程序调用以便更精准地对网页结构化信息进行抽取。
HtmlExtractor是为大规模分布式环境设计的,采用主从架构,主节点负责维护抽取规则,从节点向主节点请求抽取规则,当抽取规则发生变化,主节点主动通知从节点,从而能实现抽取规则变化之后的实时动态生效。
如
- java编程思想 -- 多态
百合不是茶
java多态详解
一: 向上转型和向下转型
面向对象中的转型只会发生在有继承关系的子类和父类中(接口的实现也包括在这里)。父类:人 子类:男人向上转型: Person p = new Man() ; //向上转型不需要强制类型转化向下转型: Man man =
- [自动数据处理]稳扎稳打,逐步形成自有ADP系统体系
comsci
dp
对于国内的IT行业来讲,虽然我们已经有了"两弹一星",在局部领域形成了自己独有的技术特征,并初步摆脱了国外的控制...但是前面的路还很长....
首先是我们的自动数据处理系统还无法处理很多高级工程...中等规模的拓扑分析系统也没有完成,更加复杂的
- storm 自定义 日志文件
商人shang
stormclusterlogback
Storm中的日志级级别默认为INFO,并且,日志文件是根据worker号来进行区分的,这样,同一个log文件中的信息不一定是一个业务的,这样就会有以下两个需求出现:
1. 想要进行一些调试信息的输出
2. 调试信息或者业务日志信息想要输出到一些固定的文件中
不要怕,不要烦恼,其实Storm已经提供了这样的支持,可以通过自定义logback 下的 cluster.xml 来输
- Extjs3 SpringMVC使用 @RequestBody 标签问题记录
21jhf
springMVC使用 @RequestBody(required = false) UserVO userInfo
传递json对象数据,往往会出现http 415,400,500等错误,总结一下需要使用ajax提交json数据才行,ajax提交使用proxy,参数为jsonData,不能为params;另外,需要设置Content-type属性为json,代码如下:
(由于使用了父类aaa
- 一些排错方法
文强chu
方法
1、java.lang.IllegalStateException: Class invariant violation
at org.apache.log4j.LogManager.getLoggerRepository(LogManager.java:199)at org.apache.log4j.LogManager.getLogger(LogManager.java:228)
at o
- Swing中文件恢复我觉得很难
小桔子
swing
我那个草了!老大怎么回事,怎么做项目评估的?只会说相信你可以做的,试一下,有的是时间!
用java开发一个图文处理工具,类似word,任意位置插入、拖动、删除图片以及文本等。文本框、流程图等,数据保存数据库,其余可保存pdf格式。ok,姐姐千辛万苦,
- php 文件操作
aichenglong
PHP读取文件写入文件
1 写入文件
@$fp=fopen("$DOCUMENT_ROOT/order.txt", "ab");
if(!$fp){
echo "open file error" ;
exit;
}
$outputstring="date:"." \t tire:".$tire."
- MySQL的btree索引和hash索引的区别
AILIKES
数据结构mysql算法
Hash 索引结构的特殊性,其 检索效率非常高,索引的检索可以一次定位,不像B-Tree 索引需要从根节点到枝节点,最后才能访问到页节点这样多次的IO访问,所以 Hash 索引的查询效率要远高于 B-Tree 索引。
可能很多人又有疑问了,既然 Hash 索引的效率要比 B-Tree 高很多,为什么大家不都用 Hash 索引而还要使用 B-Tree 索引呢
- JAVA的抽象--- 接口 --实现
百合不是茶
抽象 接口 实现接口
//抽象 类 ,方法
//定义一个公共抽象的类 ,并在类中定义一个抽象的方法体
抽象的定义使用abstract
abstract class A 定义一个抽象类 例如:
//定义一个基类
public abstract class A{
//抽象类不能用来实例化,只能用来继承
//
- JS变量作用域实例
bijian1013
作用域
<script>
var scope='hello';
function a(){
console.log(scope); //undefined
var scope='world';
console.log(scope); //world
console.log(b);
- TDD实践(二)
bijian1013
javaTDD
实践题目:分解质因数
Step1:
单元测试:
package com.bijian.study.factor.test;
import java.util.Arrays;
import junit.framework.Assert;
import org.junit.Before;
import org.junit.Test;
import com.bijian.
- [MongoDB学习笔记一]MongoDB主从复制
bit1129
mongodb
MongoDB称为分布式数据库,主要原因是1.基于副本集的数据备份, 2.基于切片的数据扩容。副本集解决数据的读写性能问题,切片解决了MongoDB的数据扩容问题。
事实上,MongoDB提供了主从复制和副本复制两种备份方式,在MongoDB的主从复制和副本复制集群环境中,只有一台作为主服务器,另外一台或者多台服务器作为从服务器。 本文介绍MongoDB的主从复制模式,需要指明
- 【HBase五】Java API操作HBase
bit1129
hbase
import java.io.IOException;
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.hbase.HBaseConfiguration;
import org.apache.hadoop.hbase.HColumnDescriptor;
import org.apache.ha
- python调用zabbix api接口实时展示数据
ronin47
zabbix api接口来进行展示。经过思考之后,计划获取如下内容: 1、 获得认证密钥 2、 获取zabbix所有的主机组 3、 获取单个组下的所有主机 4、 获取某个主机下的所有监控项  
- jsp取得绝对路径
byalias
绝对路径
在JavaWeb开发中,常使用绝对路径的方式来引入JavaScript和CSS文件,这样可以避免因为目录变动导致引入文件找不到的情况,常用的做法如下:
一、使用${pageContext.request.contextPath}
代码” ${pageContext.request.contextPath}”的作用是取出部署的应用程序名,这样不管如何部署,所用路径都是正确的。
- Java定时任务调度:用ExecutorService取代Timer
bylijinnan
java
《Java并发编程实战》一书提到的用ExecutorService取代Java Timer有几个理由,我认为其中最重要的理由是:
如果TimerTask抛出未检查的异常,Timer将会产生无法预料的行为。Timer线程并不捕获异常,所以 TimerTask抛出的未检查的异常会终止timer线程。这种情况下,Timer也不会再重新恢复线程的执行了;它错误的认为整个Timer都被取消了。此时,已经被
- SQL 优化原则
chicony
sql
一、问题的提出
在应用系统开发初期,由于开发数据库数据比较少,对于查询SQL语句,复杂视图的的编写等体会不出SQL语句各种写法的性能优劣,但是如果将应用系统提交实际应用后,随着数据库中数据的增加,系统的响应速度就成为目前系统需要解决的最主要的问题之一。系统优化中一个很重要的方面就是SQL语句的优化。对于海量数据,劣质SQL语句和优质SQL语句之间的速度差别可以达到上百倍,可见对于一个系统
- java 线程弹球小游戏
CrazyMizzz
java游戏
最近java学到线程,于是做了一个线程弹球的小游戏,不过还没完善
这里是提纲
1.线程弹球游戏实现
1.实现界面需要使用哪些API类
JFrame
JPanel
JButton
FlowLayout
Graphics2D
Thread
Color
ActionListener
ActionEvent
MouseListener
Mouse
- hadoop jps出现process information unavailable提示解决办法
daizj
hadoopjps
hadoop jps出现process information unavailable提示解决办法
jps时出现如下信息:
3019 -- process information unavailable3053 -- process information unavailable2985 -- process information unavailable2917 --
- PHP图片水印缩放类实现
dcj3sjt126com
PHP
<?php
class Image{
private $path;
function __construct($path='./'){
$this->path=rtrim($path,'/').'/';
}
//水印函数,参数:背景图,水印图,位置,前缀,TMD透明度
public function water($b,$l,$pos
- IOS控件学习:UILabel常用属性与用法
dcj3sjt126com
iosUILabel
参考网站:
http://shijue.me/show_text/521c396a8ddf876566000007
http://www.tuicool.com/articles/zquENb
http://blog.csdn.net/a451493485/article/details/9454695
http://wiki.eoe.cn/page/iOS_pptl_artile_281
- 完全手动建立maven骨架
eksliang
javaeclipseWeb
建一个 JAVA 项目 :
mvn archetype:create
-DgroupId=com.demo
-DartifactId=App
[-Dversion=0.0.1-SNAPSHOT]
[-Dpackaging=jar]
建一个 web 项目 :
mvn archetype:create
-DgroupId=com.demo
-DartifactId=web-a
- 配置清单
gengzg
配置
1、修改grub启动的内核版本
vi /boot/grub/grub.conf
将default 0改为1
拷贝mt7601Usta.ko到/lib文件夹
拷贝RT2870STA.dat到 /etc/Wireless/RT2870STA/文件夹
拷贝wifiscan到bin文件夹,chmod 775 /bin/wifiscan
拷贝wifiget.sh到bin文件夹,chm
- Windows端口被占用处理方法
huqiji
windows
以下文章主要以80端口号为例,如果想知道其他的端口号也可以使用该方法..........................1、在windows下如何查看80端口占用情况?是被哪个进程占用?如何终止等. 这里主要是用到windows下的DOS工具,点击"开始"--"运行",输入&
- 开源ckplayer 网页播放器, 跨平台(html5, mobile),flv, f4v, mp4, rtmp协议. webm, ogg, m3u8 !
天梯梦
mobile
CKplayer,其全称为超酷flv播放器,它是一款用于网页上播放视频的软件,支持的格式有:http协议上的flv,f4v,mp4格式,同时支持rtmp视频流格 式播放,此播放器的特点在于用户可以自己定义播放器的风格,诸如播放/暂停按钮,静音按钮,全屏按钮都是以外部图片接口形式调用,用户根据自己的需要制作 出播放器风格所需要使用的各个按钮图片然后替换掉原始风格里相应的图片就可以制作出自己的风格了,
- 简单工厂设计模式
hm4123660
java工厂设计模式简单工厂模式
简单工厂模式(Simple Factory Pattern)属于类的创新型模式,又叫静态工厂方法模式。是通过专门定义一个类来负责创建其他类的实例,被创建的实例通常都具有共同的父类。简单工厂模式是由一个工厂对象决定创建出哪一种产品类的实例。简单工厂模式是工厂模式家族中最简单实用的模式,可以理解为是不同工厂模式的一个特殊实现。
- maven笔记
zhb8015
maven
跳过测试阶段:
mvn package -DskipTests
临时性跳过测试代码的编译:
mvn package -Dmaven.test.skip=true
maven.test.skip同时控制maven-compiler-plugin和maven-surefire-plugin两个插件的行为,即跳过编译,又跳过测试。
指定测试类
mvn test
- 非mapreduce生成Hfile,然后导入hbase当中
Stark_Summer
maphbasereduceHfilepath实例
最近一个群友的boss让研究hbase,让hbase的入库速度达到5w+/s,这可愁死了,4台个人电脑组成的集群,多线程入库调了好久,速度也才1w左右,都没有达到理想的那种速度,然后就想到了这种方式,但是网上多是用mapreduce来实现入库,而现在的需求是实时入库,不生成文件了,所以就只能自己用代码实现了,但是网上查了很多资料都没有查到,最后在一个网友的指引下,看了源码,最后找到了生成Hfile
- jsp web tomcat 编码问题
王新春
tomcatjsppageEncode
今天配置jsp项目在tomcat上,windows上正常,而linux上显示乱码,最后定位原因为tomcat 的server.xml 文件的配置,添加 URIEncoding 属性:
<Connector port="8080" protocol="HTTP/1.1"
connectionTi