Archive for 2011年9月30日

家园相册flash进行批量上传功能的分析

2011年9月30日

最近在做的一个工具需要有批量图片上传功能,所以就分析了一下家园中flash批量上传功能,以便给自己的模块添加这个功能。
批量上传flash的页面的url是

  1. home.php?mod=spacecp&ac=upload&op=flash&albumid=0

通过URL分析到,我们要找的代码在 home_spacecp.php 中,我们看到在这个文件最后一行,把ac这个参数作为名称包含了一个include文件,ac参数的值是 upload ,所以我们要找的文件是 spacecp_upload.php (更多…)

有关Discuz!升级到X系列后,用户自定义字段数据处理的方法

2011年9月26日

之前的Discuz!升级X系列,并没有对用户自定义字段数据做处理。由于使用用户

自定义字段的网站并不太多,且处理自定义字段有碍于原本的代码框架,所以下

面给出解决方法是自行修改代码,很简单。 (更多…)

MySQL 1052 错误

2011年9月14日

今天处理一个MySQL1052错误,这个错误的意思就是字段在左联查询的两张表都存在 mysql不知道是哪张表的字段了,比如 附件 aid,加一个属性就可以了,如a.aid。具体修改的地方要看MySQL的报错,根据报错的脚本找到对应的SQL语句。

Discuz! X2关联链接bug

2011年9月5日

查了下代码,common_extra.js文件,29~387行,这里关联链接的关键字判断有问题,好像只处理了正文文本中第一个<br />之前的内容了,后面的都不做处理了;
relatedid[j] = 1;后,下一个<br />之前的的内容就不处理,因为if条件里进行了!relatedid[j]判断。
举个例子,后台设置关联链接词为:
1、电脑
2、电脑配件
3、笔记本
发帖内容为:
放到范德萨的萨芬电脑fdsalkj
街坊地块垃圾啊是否快乐电脑配件
房间打扫房了笔记本 (更多…)

其它语言如jsp等调用UCenter的同步登录接口

2011年9月1日

今天给一个站长处理jsp调用UCenter的同步登录接口,一直不返回Discuz!的值,只有其它的应用的,经过排查,该站长用的是Discuz!7.2版本,UCenter版本为1.5,control/user.php脚本里,

function onsynlogin() {
		$this->init_input();
		$uid = $this->input('uid');
		if($this->app['synlogin']) {
			if($this->user = $_ENV['user']->get_user_by_uid($uid)) {
				$synstr = '';
				foreach($this->cache['apps'] as $appid => $app) {
					if($app['synlogin'] && $app['appid'] != $this->app['appid']) {
						$synstr .= '<script type="text/javascript" src="'.$app['url'].'/api/'.$app['apifilename'].'?time='.$this->time.'&code='.urlencode($this->authcode('action=synlogin&username='.$this->user['username'].'&uid='.$this->user['uid'].'&password='.$this->user['password']."&time=".$this->time, 'ENCODE', $app['authkey'])).'" reload="1"></script>';
					}
				}
				return $synstr;
			}
		}
		return '';
	}

if($app[‘synlogin’] && $app[‘appid’] != $this->app[‘appid’])做了判断,即调用的appid相同的的话,不会有返回值,UCenter1.6.0版本已经去掉了&& $app[‘appid’] != $this->app[‘appid’]这个条件,去掉后,就能得到对应应用的返回值了。