国内流行的内容管理系统(CMS)多端全媒体解决方案 https://www.dedebiz.com
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

86 lines
3.0KB

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