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');