easyui 小记

easyui带来的便利性不言而喻,但是相对的,如果一些叼难的问题和一些冲突问题,很可能让人抓狂。本篇只做简单记录,主要针对脚本的兼容和冲突。其它不考虑。

ie6中的变量名的注意。首先要说的一点就是ie有个很奇怪的地方,或者说。ie本身就是怪异的存在 。。

js中变量名尽量不要用可能是系统的变量名。如state length 这些。具体原因不名。只是做个小记,用了这些名,程序很可能会运行异常,但是又不知道为什么。

关于异常的处理。

try{
//error
}catch(e){
}

跳过。或者跟据浏览器做单独的特殊处理。

上次就搞个360,很吐血的,它用ie6的内核但是usergent竟然显示ie8.这么坑爹有没有。

针对ie6的问题还差点成绝症,最后还是直接用这招。。

与 thickbox.js的冲突问题。

关闭图片时,全屏变白

function tb_remove() {
 	$("#TB_imageOff").unbind("click");
	$("#TB_closeWindowButton").unbind("click");
	$("#TB_window").fadeOut("fast",function(){$('#TB_window,#TB_overlay,#TB_HideSelect').trigger("unload").unbind().remove();});
	$("#TB_load").remove();
	if (typeof document.body.style.maxHeight == "undefined") {//if IE 6
		$("body","html").css({height: "auto", width: "auto"});
		$("html").css("overflow","");
	}
	document.onkeydown = "";
	document.onkeyup = "";
	return false;
}

去掉

$("body","html").css({height: "auto", width: "auto"});

 

kindEditor 全屏异常

kindeditor.js 4862行,把’height’ : ‘1px’, 给注释掉

YII 异常小记

好记性不如烂笔头。。。

1.main.php 丢失

原因:配置正确,就是读不到main.php。

解决方式:经排查,发现是有一个类的常量没有上传。。导致异常。但是又不报错,还能返回。但是返回的就只有view 没有main.php这个页面的内容。补上常量。正常

浅析 简单实现下载防盗链原理

站长,特别是做为资源站的站长最痛恨的就是文件的下载链接被他人给网络传播。

别只下载而又不访问,造成各种损失。

所以,一般情况下,用户最好还是得来访问这个页面后进行下造。

举个phpdisk的例子:http://disk.yijiarenit.com/viewfile.php?file_id=1

给用户提供的下载链接后追加一个标志。该标志为该用户的ip和干扰串的密文,属于可逆的。

对应的。在下载入口那里,检查该密文和用户ip地址的正确性。给予提示或下载。

简单吧。Y(^_^)Y

还可以将下载的内容进行美化,更人性化点。

php例子:

header('Content-Disposition: attachment;filename="fatty.txt"');
// }
header('Content-type: application/octet-stream');
header('Content-Encoding: none');
header('Content-Transfer-Encoding: binary');
$url="http://".$_SERVER[HTTP_HOST]."/viewfile.php?file_id=".$file_id;
echo <<<EOF
尊敬的用户,请通过访问该浏览器后再进行下载。
$url

这样,用户就可以根据提示进行下载了。从而又不会丢失了用户的访问量。Y(^_^)Y

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

Discuz 杂记

//人老了。痛苦啊~~~东西都忘得差不多了~~!

官方操作手册:http://faq.comsenz.com/library/

一、forum

1.thread

(1).主题的显示(forum_viewthread)

$_G[‘forum_thread’] ,$post//主题的对象

$postlist[$_G[‘forum_firstpid’]]//获取当前的目标主题。因为评论也属于主题的列表。所以用这个抓取当前的主题

(2).主题的评论

discuz的大多操作是通过返回的操作进行控制的。

forum_viewthread.js:function succeedhandle_fastpost

如果有相关的操作要在执行后进行操作,可以在函数后添加操作脚本。

(3)主题分类的获取

$_G[‘forum’][‘threadtypes’][‘types’]//是个以分类id为key的数组

(4)创始人密码修改

uc_serverdataconfig.inc.php

define('UC_FOUNDERPW', '8346c0459cbc8edf1c9909c1fbc8774a');
define('UC_FOUNDERSALT', 'U25fy6');

二、门户

栏目添加自定义模板

按提示,上传文件到指定的文件夹,会自动提示。名字只要加上

<!–[name]活动列表页[/name]–>

 

dz中使用jquery

 

jq = jQuery.noConflict();//将变量$转递给jq

diy 备份转移

mysqldump -u root -p db_name pre_common_diy_data pre_common_block pre_common_block_item pre_common_template pre_common_template_block > c:db.sql

// 获取图片

$result = C::t ( 'forum_attachment' )->fetch_all_by_id ( 'tid', array (
		4530 
) );
foreach ( $result as $item ) {
	$data = C::t ( 'forum_attachment_n' )->fetch_all ( $item ['tableid'], $item ['aid'] );
	print_r ( $data );
}

// 数据抓取

$result = DB::fetch_first ( "SELECT * FROM  %t WHERE tid=%d ", array (
		'mt_video',
		4522 
) );

 

 

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

UC 整合 PHPDISK 加检查和调试方法+补充uc socket通讯小bug

最近朋友要个网盘,因为他有个无限空间和无限流量的服务器架设论坛。

他说,迅雷和华为这些奸商都等用户有了浏量之后就开始收费了。所以流量大的草根要注意。
phpdisk的搭建也是傻瓜式的,就不多说了。
主要的配置问题,详见:

http://faq.phpdisk.com/phpdisk-connect-discuz-uc-13-view.html

注意个东西
uc_clientdatacacheapps.php
是否有你新建的app的数据,没有,复制上面的进行修改。正式机没事,但本地搭建过成中没有生成,导致通讯异常。
通讯流程见:

 

uc_clientclient.php :

function uc_user_synlogin($uid) {
	$uid = intval ( $uid );
	if (@include UC_ROOT . './data/cache/apps.php') {
		if (count ( $_CACHE ['apps'] ) > 1) { // 这里如果没有检查到,就不会去调数据哈
			$return = uc_api_post ( 'user', 'synlogin', array (
					'uid' => $uid 
			) );
		} else {
			$return = '';
		}
	}
	return $return;
}

 

关于正式机的调试和服务器的内部通讯调试.

因为在调试过程,总有不想让别人看和自己又必须得看到的数据。我就喜欢搞成这样子

if($_GET[‘test’]===’true’)//别人测试指定参数

if($_G[‘uid’]===’o’)//指定uid

这样游客就看不了啦。当然,搞完了一定要记得清楚这些小地方。

关于服务器内部通讯的调试,比如,client调server,他server怎么执行呢。

其它相关的操作。可以用 file_put_contents(time().”.txt”,var_export(array()));来记录相关的操作和信息,类似日志。这样就搞定内部通讯了。

uc通讯的一个小bug.

/uc_client/client.php:function uc_fopen

fsockopen 这个函数本身没有问题,主要问题是,uc在安装的时候,是使用公网的ip的,也就导致通讯过程中,正常是访问不了一些操作的囧~~!

像中国的sp商那些贱人一样,一出现错误页面,很喜欢给你弹到广告去。

问题来了

大家看看可爱的

/uc_client/client.php:function uc_user_synlogout

有没有,直接就把返回给返回了,竟然没有协商下过滤的。。

这样就把类似广告的东西直接当页面给加到登录和退出时的消息框里的,草根那个心急如焚呐~~~G (  ̄ ( 工 )  ̄ ) P。

坑爹啊,查到这里,哥分离脚本,一个参数一个参数的检查。。。。如此如此,这般这般。。

解决方式:

1.在uc的设置里,使用自家的独立ip。

2.在uc的设置里,取消ip,让uc访问域名(这个我没试,有兴趣的瞧瞧。代码就这么写的。出事别找我Y(^_^)Y)

if (function_exists ( 'fsockopen' )) {
	$fp = @fsockopen ( ($ip ? $ip : $host), $port, $errno, $errstr, $timeout ); // 是吧
} elseif (function_exists ( 'pfsockopen' )) {
	$fp = @pfsockopen ( ($ip ? $ip : $host), $port, $errno, $errstr, $timeout );
} else {
	$fp = false;
}

 

3.反馈bug,让uc在安装或设置的时候,检查下socket的通讯。。

注:要下载和原ucenter统一的编码,虽然pd可以指定,但是会造成通讯两边不正常的问题。如pd可同步,但是dz那边却无法同步。

解决方法:下载同编码的进行覆盖,再将system/install.lock文件进行删除,重装。

 

 

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

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

 

 

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