changyan_autoreg.php
2.96 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
<?php
class Changyan_autoreg
{
var $errmsg='';
function run($step=0)
{
global $dsql,$update_sqls,$cfg_db_language,$cfg_webname;
if(!file_exists(DEDEINC.'/helpers/changyan.helper.php'))
{
$this->errmsg = '未成功安装畅言模块文件';
return FALSE;
}
helper('changyan');
if( !$dsql->IsTable("#@__plus_changyan_setting") )
{
$this->errmsg = '未成功初始化畅言模块所需数据库';
return FALSE;
}
if (empty($version)) $version = '0.0.1';
if (version_compare($version, CHANGYAN_VER, '<')) {
$mysql_version = $dsql->GetVersion(TRUE);
foreach ($update_sqls as $ver => $sqls) {
if (version_compare($ver, $version,'<')) {
continue;
}
foreach ($sqls as $sql) {
$sql = preg_replace("#ENGINE=MyISAM#i", 'TYPE=MyISAM', $sql);
$sql41tmp = 'ENGINE=MyISAM DEFAULT CHARSET='.$cfg_db_language;
if($mysql_version >= 4.1)
{
$sql = preg_replace("#TYPE=MyISAM#i", $sql41tmp, $sql);
}
$dsql->ExecuteNoneQuery($sql);
}
changyan_set_setting('version', $ver);
$version=changyan_get_setting('version');
}
$isv_app_key = changyan_get_isv_app_key();
}
$db_user = changyan_get_setting('user');
if(!empty($db_user))
{
$this->errmsg = '已经初始化畅言账号,无需再进行初始化';
return FALSE;
}
$sign=changyan_gen_sign(CHANGYAN_CLIENT_ID);
$url = $_SERVER['SERVER_NAME'];
$isv_name = cn_substr($cfg_webname,20);
$paramsArr=array(
'client_id'=>CHANGYAN_CLIENT_ID,
'isv_name'=>changyan_autoCharset($isv_name),
'url'=>'http://'.$url,
'sign'=>$sign);
$rs=changyan_http_send(CHANGYAN_API_AUTOREG,0,$paramsArr);
$result=json_decode($rs,TRUE);
if($result['status']==0)
{
// 保存appid,id信息
changyan_set_setting('user', $result['user']);
changyan_set_setting('appid', $result['appid']);
changyan_set_setting('id', $result['id']);
changyan_set_setting('isv_app_key', $result['isv_app_key']);
changyan_set_setting('isv_id', $result['isv_id']);
changyan_clearcache();
$passwd = changyan_mchStrCode($result['passwd'], 'ENCODE');
changyan_set_setting('pwd', $passwd);
return TRUE;
} else {
if($step > 3)
{
$this->errmsg = '无法成功初始化畅言模块';
return FALSE;
}
$step++;
return $this->run($step);
}
}
}
?>