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); } }
function changyan_bind_account($new_user, $new_pwd, $errorinfo = '') { $old_user = changyan_get_setting('user'); $old_password = changyan_mchStrCode(changyan_get_setting('pwd'), 'DECODE'); $sign = changyan_gen_sign($old_user); $paramsArr = array('client_id' => CHANGYAN_CLIENT_ID, 'old_user' => $old_user, 'old_password' => $old_password, 'new_user' => $new_user, 'new_password' => $new_pwd, 'sign' => $sign); $rs = json_decode(changyan_http_send(CHANGYAN_API_BINDACC . '?' . http_build_query($paramsArr)), TRUE); if (!isset($rs['status'])) { return FALSE; } if ($rs['status'] == 0) { $new_pwd = changyan_mchStrCode($new_pwd, 'ENCODE'); changyan_set_setting('user', $new_user); changyan_set_setting('pwd', $new_pwd); changyan_set_setting('isv_app_key', ''); $isv_app_key = changyan_get_isv_app_key(); changyan_clearcache(); return TRUE; } else { $errorinfo = $rs['msg']; return FALSE; } }
} $exports = array(); foreach ($recent['topics'] as $topic) { $exports[] = array('topic_id' => $topic['topic_id'], 'aid' => $topic['topic_source_id'], 'title' => $topic['topic_title']); } foreach ($exports as $export) { changyan_insert_comments(changyan_get_comments(changyan_get_setting('appid'), $export['topic_id']), $export['aid'], $export['title']); } changyan_set_setting('last_export', time()); ShowMsg("成功备份畅言评论到DedeCMS系统!", "?dopost=import"); exit; } elseif ($dopost == 'checkupdate') { ShowMsg("<p>当前为最新版本,无须下载更新!</p> <p><a href='?' >返回上一页</a></p>", "javascript:;"); exit; } elseif ($dopost == 'clearcache') { changyan_clearcache(); ShowMsg("成功清空标签缓存!", "?"); exit; } elseif ($dopost == 'forget-pwd') { ShowMsg("<p> 如果您忘记了畅言密码 </p> <p><a href='http://www.kuaizhan.com/passport/forget-pwd?refer=http://changyan.kuaizhan.com/audit/comments/TOAUDIT/1' >点击这里找回</a></p>", "javascript:;"); exit; } else { /* 登录后主界面 */ if (changyan_islogin()) { $changyan_ver = CHANGYAN_VER; $login_url = CHANGYAN_API_SETCOOKIE . '?client_id=' . CHANGYAN_CLIENT_ID . '&token=' . $_SESSION['changyan']; $login_str = <<<EOT <iframe src="{$login_url}" scrolling="no" width="0" height="0" style="border:none"></iframe> EOT; $isv_app_key = changyan_get_setting('isv_app_key'); $isv_id = changyan_get_setting('isv_id');