discuz 关于分类信息 模板diy 调用image的bug 图片丢失

分类信息 image调用的丢失问题

首先是页面中对于分类信息的调用方式。如此如此这般,网上多如牛毛,本人用得尚浅,不做过多说明,今天的主角是分类信息diy image的调用问题。

如果在最新版(2013-2-28:以当前时间为准),的discuz中

新的image的获取方式里。因为漏洞问题,修改了生成key的方式 function_core.php:getforumimg

生成key的函数由md5 改成dsign

(因为这个是md5这个是漏洞问题导致容易被别人爆菊花,就是改参数,让服务器生成,这样对服务器来说有危险,看哪个站不爽,可以用此招爆他。。)

后来改了。生成的加密串里,用到的key有两个新的,一个是系统的密钥,一个是uid.

问题来了。在我生成时没有问题。

详见:

/source/module/forum/forum_image.php

但是,如是是系统自己生成的,即更新时,使用的是别人的uid,这样,我下次访问时,因为检查用的是我的uid.导致了不通过。造成图片无法读取的小bug了。

 

 

转发请注明出处http://blog.martoo.cn
如有漏缺,请联系我 QQ 243008827

 

 

异页面调用hooks方法

discuz中的hook是一个很有意思的创新,俗称钩子。

hook,实际上是对应的hook 点是在入口文件加载数据,在对应的hook点以字符串的形式输出。在模板中的使用的方式为:

<!–{hook/index_top}–>

处理相关脚本的核心函数为:

function_core.php

function hookscript($script, $hscript, $type = ‘funcs’, $param = array(), $func = ”, $scriptextra = ”);

系统原调用的操作方式为:

runhooks();

每个入口文件里几乎都有,为当前入口和动作,调用对应的相关的hook。

也就是通过hookscript这个函数处理。

所以如果我想在portal的首页调用forum的index的钩子,那就会有问题,没有执行。导致在protal模板中输出的<!–{hook/index_top}–> 为空。

知道来由就好说了。

现在再再运行的过程中的,我自己手动调用相关的函数,自己伪造下页面和入口。

即:

runhooks();//我不去除的主要原因是每个页面都有自己的默认钩子,如全局的头和脚.
hookscript(“index”,”forum”);//这个就是咱们要的部分了。

这就是异页面调用钩子的方式了。

转发请注明出处http://blog.martoo.cn
如有漏缺,请联系我 QQ 243008827

 

MyEclipse X 破解

 

转:http://www.cnblogs.com/timeng/p/Myeclipse2013_crack.html

 

使用工具(将图片的后缀改成rar,你懂的)

操作步骤:

先执行里面的操作。

如果不成功,看我这边接下来的。

LICENSEE
xxx
LICENSE_KEY
xxxx
ACTIVATION_CODE
xxxx
ACTIVATION_KEY
xxxxx

上面的数据会由工具所生成。

window >>myeclipse>>subscription>>enter subscription

LICENSEE

LICENSE_KEY

将生成的两个串,按次序依次输入。

后面两个也是,注意版本。区别。好。这样就注册成功了。

当然机器不同,我不保证所有机器都可以用。

转发请注明出处http://blog.martoo.cn
如有漏缺,请联系我 QQ 243008827

 

淘宝和百度绑定登录按钮

我不知道我是不是一个合格的程序员?我做东西,第一会尽量处理事情,第二次,会复制原来的东西去做简单修改。
第三次,哥就会抽取原来做的东西一些最本质的东西去做模型。
不过原来做的就懒得改就是了(ˉ﹃ˉ)

很好,陶宝,百度,QQ,新浪这些东东的互联都很遵循Oauth2.0的规范,连变量名的差不多,欣慰死我了。
taobao:open.taobao.com
qq:connect.qq.com
sina:open.weibo.com
baidu:developer.baidu.com

//注:这个是唯一返回值里是用session_key的东西,而且,百度的字段长度都很长。。有近100个字符做标志,果然大气。注意。
renren:dev.renren.com
//注:这个只是记录,没有别的意义,也支持Oauth2.0

上面都注册的地方。关键点,请看:
因为基础协议,都是先登录,在返回的指定的连接时,对应的附加code参数。
通过code,再到目标服务器获取token。
有了token,要怎么yd,就怎么yd啦。
其实说句真心话,各大站点的开发者做了很多帮助类,但是意义不大,我觉得,东西越简单越好。
因为流程就这些,有了token,自己再到对应的api页面查询就好了。

流程大体一样,只要做一个模型做抽象类,其它子类单独处理。这样,后面再多些Oauth2.0的登录也easy啦。

小窍门:
将获取token时的数组进行key的映射处理。(如:我将原数组的open_id用ukey表示)其它的控制就是一模一样的了。

我这边的表结构有:

uid //原系统用户id 这个自己定,因为这边也有特殊的系统,用两个字段表示一个用户。

ukey //外部用户标志,如sina的open_id

profile //随token返回的所有基础参数的序列化集。

created //绑定时间

转发请注明出处http://blog.martoo.cn
如有漏缺,请联系我 QQ 243008827

学习英语学习笔记(笑,小心我灭了你)

音标发音练习
特别注意
标中文只是做型近区别,不做表示。
she [ʃiː] ʃ 舌身抬高 bus [bʌs] s 这两区别要特别小心
tree [triː] tr 戳
lets [lets] ts 耻 china [‘tʃaɪnə] tf 舌根靠后
pleasure [‘pleʒə, ‘plei-] ʒ 入[润]
think [θɪŋk] θ 舌尖抵上齿,吹气 there [ðeə; ðə] ð 同前,外加震动
dream [driːm] dr 卓 job [dʒɒb] dʒ 橘(舌头区别在牙根前后,后者发音较细)
不懂吧,这两个好坑爹,看这里详解。
reads [riːds] ds 日

优酷视频集锦

新概念第一册 1~2课
handbag   [‘hændbæɡ] 当两个爆破音连读,前一个要失音
it is 辅音结尾,元音开头,连读
Thanks a lot 强调,非常感谢
1.sure 和 of curse
sure 是很爽块地回答可以,一定,无疑的.
of course 是理所当然的意思.
两者很多情况下能混用.
2.pot 和 kettle
pot:主要指茶壶,就是有把,有嘴的那种传统的
kettle:是指方便携带的那种有塞子的类似行军壶的东西

lession29

what must I do? //must 是情态动词,后跟动词原型

http://baseapp.pengyou.com/c265e4bd629300c51d755c79731c80ff7b9bf9aaefcd4315/blog/1360148209?adtag=ZD_from_feed#!app=2&via=QZ.HashRefresh&pos=1360148209

php5.2 和 php5.4兼容性记录

函数声明:

参数:

子类继承父类时,原参数顺序上的一些有默认值的得提供。

5.2 可以不用,但是5.4必须要否则会报错.

字符串充当变量名。类名

5.2 可以用字符串调用静态方法,如:
$class=”Test”;
$class::test();
5.4 不行,会直接报错.

函数

in_array();

 

var_export(in_array(0,array('a')));//true
var_export(in_array(false,array('a')));//false
var_export(in_array('',array('a')));//false
var_export(in_array(null,array('a')));//false
var_export(in_array('0',array('a',0)));//true

 
转发请注明出处http://blog.martoo.cn
如有漏缺,请联系我 QQ 243008827

YII AR 动态模型研究

下载直接可用的基础 动态 AR 模型

内部结构为:

 

/**
 * @author caihaibin
 * @qq 243008827
 * 这个类是最新完善的,动态类似处理,
 * 可重复使用而不会影响其它的调用。
 * 是居家旅行必备之良品
 */
class CActiveRecordX extends CActiveRecord{
	private static $_models=array();
	private $_i_tableName;
	private static $tableName;
	private static $_i_md=array();
	private $_md;
	public function getMetaData()
	{
		if($this->_md!==null)
			return $this->_md;
		else
			return $this->_md=self::model(self::tableName(),get_class($this))->_md;
	}
	public static function model($table_name,$className=__CLASS__)
	{
		self::$tableName = $table_name;
		if(isset(self::$_models[$table_name])){
			return self::$_models[$table_name];
		}else
		{
			$model=self::$_models[$table_name]=new $className(null);
			$model->_md=new CActiveRecordMetaData($model);
			$model->attachBehaviors($model->behaviors());
			return $model;
		}
	}

	public function __construct($table_name = '') {
		if ($table_name === null) {
			parent::__construct ( null );
		} else {
			self::$tableName = $table_name;
			parent::__construct ();
		}
	}

	public function tableName() {
		if (! isset ( $this->_i_tableName )) {
			$this->_i_tableName = self::$tableName;
		}
		return $this->_i_tableName;
	}
}
class ArticleX extends CActiveRecordX{
	public static function getClassName() {
		return __CLASS__;
	}
}

 

该类在别人的基础上做的修改,

好吧,这个可以说是接近原创了,因为原著是个sb,哥不多说了。

这个是模拟了继承了ar修改了内部的主要涉及函数,实现通过表名进行标记。

不会有内部数据结构重复的情况,其它bug请反馈。

因为原来的    public function tableName()  内部为静态返回,如果有多个的情况下。

返回表名有问题。

现做了内部变量的包装,这样可以在最大的限度下保证 实例的完整性

转发请注明出处http://blog.martoo.cn
如有漏缺,请联系我 QQ 243008827

discuz 视频模块之特殊主题

discuz特殊主题的处理

1,插件的编写.

2,编写类的基本结构

 下载: mtvideo 打包了一个基本的结构做参考

3、函数

函数名 含义
newthread 发主题时页面新增的表单项目,通过 return 返回即可输出到发帖页面中
newthread_submit 主题发布后的数据判断  (通过showmessage进行数据的提示,即表示中止,不进行提交)
newthread_submit_end 主题发布后的数据处理 (表示基础文章添加后之后的回调函数)
editpost 编辑主题时页面新增的表单项目,通过 return 返回即可输出到编辑主题页面中
editpost_submit 主题编辑后的数据判断
editpost_submit_end 主题编辑后的数据处理
newreply_submit_end 回帖后的数据处理
viewthread 查看主题时页面新增的内容,通过 return 返回即可输出到主题首贴页面中

4、设置

版块开启

 

用户组开启

转发请注明出处http://blog.martoo.cn
如有漏缺,请联系我 QQ 243008827

解决qq绑定和游客的限制问题

前阵子为某公司架设一个内部使用的discuz论坛,当然,也改了一些别的东西,如页面啦,导航啦,登录啦,注册的lamp验证什么的。等等。
其中有一个特别得注意的地方,就是限制了游客,也就是用户guest权限的用户的访问。
因为该论坛为内部使用,所以游客什么的必须得登录后才能进行访问。
问题来了,对方要用实现qq绑定登录,他那边不知是摸不到头脑还是咋滴,让这边处理(好待在国内也是一个大公司的说..)。
针对问题,查找原因。主要是因为限制了游客后,在判断的时候,就简单的进行了过滤,导致qq还没有生成绑定处理的链接什么的,就直接弹回了登录页面。
代码如下

找到原因就好处理了,因为在过滤的时候没有考虑插件的因素,或者本身设计就不考虑这方面的。。

在圈中的地方,就是表示跳过的入口文件,添加上connect这个特殊的东东就好了。
因为本身不是专门做这些的,只是有问题处理问题,如果有思想和逻辑上的缺漏,请及时提出。

转发请注明出处http://blog.martoo.cn
如有漏缺,请联系我 QQ 243008827

gbk页面传输json中文字符丢失问题

编码不统一,在项目开发中经常碰到。

主要问题除了显示乱码,就是在传输的过程中,数据丢失。

php 使用json_encode utf-8时,没有问题。

但gbk时,会导致在编码的过程,无法识别而数据丢失。

即json_encode过程,中文字符,和其它需要uXXX表示的字符是会丢失的。

解决方案:

①只是简单的显示。建议直接打印出页面。

不通过json_encode而直接使用页面。可以正常显示。

②使用扩展cjson.可以通过简单的修改指定的编码,导出

json. gbk测试通过。

因为yii中有自带,所以,只是简单的修改。CJSON

转发请注明出处http://blog.martoo.cn
如有漏缺,请联系我 QQ 243008827