/** * 用户接口,登录预处理 * * @param array $params 参数数组 * 必须参数: $params['username'] - 用户名,$params['password'] - 密码,$params['email'] - 邮箱 * @access public * @return int */ function jieqi_ulogin_iprepare(&$params) { global $jieqiLang; global $jieqiConfigs; //通过接口判断登录帐号的正确性,返回值为数组 list($uid, $username, $password, $email) = uc_user_login($params['username'], $params['password']); //uid 大于 0:返回用户 ID,表示用户登录成功 -1:用户不存在,或者被删除 -2:密码错 -3:安全提问错 $params['uc_uid'] = $uid; //如果uc登录成功,jieqi这个用户不存在,在jieqi自动注册 if ($params['uc_uid'] > 0) { $params['email'] = $email; include_once JIEQI_ROOT_PATH . '/class/users.php'; $users_handler =& JieqiUsersHandler::getInstance('JieqiUsersHandler'); $user = $users_handler->getByname($params['username'], 3); if ($user == false) { if (!isset($jieqiConfigs['system'])) { jieqi_getconfigs('system', 'configs'); } include_once JIEQI_ROOT_PATH . '/lib/text/textfunction.php'; $newUser = $users_handler->create(); $newUser->setVar('siteid', JIEQI_SITE_ID); $newUser->setVar('uname', $params['username']); $newUser->setVar('name', $params['username']); $newUser->setVar('pass', $users_handler->encryptPass($params['password'])); $newUser->setVar('groupid', JIEQI_GROUP_USER); $newUser->setVar('regdate', JIEQI_NOW_TIME); $newUser->setVar('initial', jieqi_getinitial($params['username'])); $newUser->setVar('sex', 0); $newUser->setVar('email', $params['email']); $newUser->setVar('url', ''); $newUser->setVar('avatar', 0); $newUser->setVar('workid', 0); $newUser->setVar('qq', ''); $newUser->setVar('icq', ''); $newUser->setVar('msn', ''); $newUser->setVar('mobile', ''); $newUser->setVar('sign', ''); $newUser->setVar('intro', ''); $newUser->setVar('setting', ''); $newUser->setVar('badges', ''); $newUser->setVar('lastlogin', JIEQI_NOW_TIME); $newUser->setVar('showsign', 0); $newUser->setVar('viewemail', 0); $newUser->setVar('notifymode', 0); $newUser->setVar('adminemail', 0); $newUser->setVar('monthscore', 0); $newUser->setVar('experience', intval($jieqiConfigs['system']['scoreregister'])); $newUser->setVar('score', intval($jieqiConfigs['system']['scoreregister'])); $newUser->setVar('egold', 0); $newUser->setVar('esilver', 0); $newUser->setVar('credit', 0); $newUser->setVar('goodnum', 0); $newUser->setVar('badnum', 0); $newUser->setVar('isvip', 0); $newUser->setVar('overtime', 0); $newUser->setVar('state', 0); $users_handler->insert($newUser); } elseif (is_object($user)) { $upflag = false; if ($user->getVar('pass', 'n') != $users_handler->encryptPass($params['password'])) { $user->setVar('pass', $users_handler->encryptPass($params['password'])); $upflag = true; } if ($user->getVar('email', 'n') != $params['email']) { $user->setVar('email', $params['email']); $upflag = true; } if ($upflag) { $users_handler->insert($user); } } } return true; }
$article_handler->queryObjects($criteria); $article = $article_handler->getObject(); if (is_object($article)) { $articleid = $article->getVar('articleid', 'n'); if (($article->getVar('articletype', 'n') & 2) != 2) { $article->setVar('articletype', $article->getVar('articletype', 'n') | 2); $article_handler->insert($article); } } } $obook->setVar('articleid', $articleid); } } $obook->setVar('obookname', $_REQUEST['obookname']); $obook->setVar('keywords', trim($_POST['keywords'])); $obook->setVar('initial', jieqi_getinitial($_REQUEST['obookname'])); if (!isset($_POST['publishid'])) { $_POST['publishid'] = 0; } $obook->setVar('publishid', $_POST['publishid']); include_once JIEQI_ROOT_PATH . '/class/users.php'; $users_handler =& JieqiUsersHandler::getInstance('JieqiUsersHandler'); $agentobj = false; if (!empty($_REQUEST['agent'])) { $agentobj = $users_handler->getByname($_REQUEST['agent']); } if (is_object($agentobj)) { $obook->setVar('agentid', $agentobj->getVar('uid')); $obook->setVar('agent', $agentobj->getVar('uname', 'n')); } else { $obook->setVar('agentid', 0);
$obook_handler =& JieqiObookHandler::getInstance('JieqiObookHandler'); //检查电子书是否已经发表 if ($jieqiConfigs['obook']['sameobookname'] != 1) { if ($obook_handler->getCount(new Criteria('obookname', $_POST['obookname'], '=')) > 0) { jieqi_printfail(sprintf($jieqiLang['obook']['obooktitle_has_exists'], jieqi_htmlstr($_POST['articlename']))); } } include_once JIEQI_ROOT_PATH . '/class/users.php'; $users_handler =& JieqiUsersHandler::getInstance('JieqiUsersHandler'); $newObook = $obook_handler->create(); $newObook->setVar('siteid', JIEQI_SITE_ID); $newObook->setVar('postdate', JIEQI_NOW_TIME); $newObook->setVar('lastupdate', JIEQI_NOW_TIME); $newObook->setVar('obookname', $_POST['obookname']); $newObook->setVar('keywords', trim($_POST['keywords'])); $newObook->setVar('initial', jieqi_getinitial($_POST['obookname'])); if (is_numeric($_POST['articleid'])) { $_POST['articleid'] = intval($_POST['articleid']); } else { include_once $jieqiModules['article']['path'] . '/class/article.php'; $article_handler =& JieqiArticleHandler::getInstance('JieqiArticleHandler'); $criteria = new CriteriaCompo(new Criteria('display', '0', '=')); $criteria->add(new Criteria('articlename', $_POST['obookname'], '=')); $article_handler->queryObjects($criteria); $article = $article_handler->getObject(); if (is_object($article)) { $_POST['articleid'] = $article->getVar('articleid', 'n'); } $_POST['articleid'] = 0; } $newObook->setVar('articleid', $_POST['articleid']);
/** * 本地用户注册,正式处理 * * @param array $params 参数数组 * 必须参数: $params['username'] - 用户名,$params['password'] - 密码,$params['email'] - 邮箱 * @access public * @return int */ function jieqi_uregister_lprocess(&$params) { global $jieqiConfigs; global $jieqiLang; global $query; global $users_handler; //载入参数设置 if (!isset($jieqiConfigs['system'])) { jieqi_getconfigs('system', 'configs'); } //载入语言包 if (!isset($jieqiLang['system'])) { jieqi_loadlang('users', 'system'); } //初始化查询类 if (!is_a($query, 'JieqiQueryHandler')) { jieqi_includedb(); $query = JieqiQueryHandler::getInstance('JieqiQueryHandler'); } if (!is_a($users_handler, 'JieqiUsersHandler')) { include_once JIEQI_ROOT_PATH . '/class/users.php'; $users_handler =& JieqiUsersHandler::getInstance('JieqiUsersHandler'); } include_once JIEQI_ROOT_PATH . '/lib/text/textfunction.php'; $newUser = $users_handler->create(); $newUser->setVar('siteid', JIEQI_SITE_ID); $newUser->setVar('uname', $params['username']); $newUser->setVar('name', $params['nickname']); $newUser->setVar('pass', $users_handler->encryptPass($params['password'])); $newUser->setVar('groupid', JIEQI_GROUP_USER); $newUser->setVar('regdate', JIEQI_NOW_TIME); $newUser->setVar('initial', jieqi_getinitial($params['username'])); $newUser->setVar('sex', $params['sex']); $newUser->setVar('email', $params['email']); $newUser->setVar('url', $params['url']); $newUser->setVar('avatar', 0); $newUser->setVar('workid', 0); $newUser->setVar('qq', $params['qq']); $newUser->setVar('icq', ''); $newUser->setVar('msn', $params['msn']); $newUser->setVar('mobile', ''); $newUser->setVar('sign', ''); $newUser->setVar('intro', ''); $newUser->setVar('setting', ''); $newUser->setVar('badges', ''); $newUser->setVar('lastlogin', JIEQI_NOW_TIME); $newUser->setVar('showsign', 0); $newUser->setVar('viewemail', $params['viewemail']); $newUser->setVar('notifymode', 0); $newUser->setVar('adminemail', $params['adminemail']); $newUser->setVar('monthscore', 0); $newUser->setVar('experience', $jieqiConfigs['system']['scoreregister']); $newUser->setVar('score', $jieqiConfigs['system']['scoreregister']); $newUser->setVar('egold', 0); $newUser->setVar('esilver', 0); $newUser->setVar('credit', 0); $newUser->setVar('goodnum', 0); $newUser->setVar('badnum', 0); $newUser->setVar('isvip', 0); $newUser->setVar('overtime', 0); $newUser->setVar('state', 0); if (!$users_handler->insert($newUser)) { $params['uid'] = $newUser->getVar('uid', 'n'); $params['error'] = $jieqiLang['system']['register_failure']; if ($params['return']) { return false; } else { jieqi_printfail($params['error']); } } else { //自动登录 //记录注册时间IP if ($jieqiConfigs['system']['regtimelimit'] > 0) { $sql = "DELETE FROM " . jieqi_dbprefix('system_registerip') . " WHERE regtime<" . (JIEQI_NOW_TIME - ($jieqiConfigs['system']['regtimelimit'] > 72 ? $jieqiConfigs['system']['regtimelimit'] : 72) * 3600); $query->execute($sql); $sql = "INSERT INTO " . jieqi_dbprefix('system_registerip') . " (ip, regtime, count) VALUES ('" . jieqi_dbslashes($params['uip']) . "', '" . JIEQI_NOW_TIME . "', '0')"; $query->execute($sql); } //更新在线用户表 include_once JIEQI_ROOT_PATH . '/class/online.php'; $online_handler =& JieqiOnlineHandler::getInstance('JieqiOnlineHandler'); include_once JIEQI_ROOT_PATH . '/include/visitorinfo.php'; $online = $online_handler->create(); $online->setVar('uid', $newUser->getVar('uid', 'n')); $online->setVar('siteid', JIEQI_SITE_ID); $online->setVar('sid', session_id()); $online->setVar('uname', $newUser->getVar('uname', 'n')); $tmpvar = strlen($newUser->getVar('name', 'n')) > 0 ? $newUser->getVar('name', 'n') : $newUser->getVar('uname', 'n'); $online->setVar('name', $tmpvar); $online->setVar('pass', $newUser->getVar('pass', 'n')); $online->setVar('email', $newUser->getVar('email', 'n')); $online->setVar('groupid', $newUser->getVar('groupid', 'n')); $tmpvar = JIEQI_NOW_TIME; $online->setVar('logintime', $tmpvar); $online->setVar('updatetime', $tmpvar); $online->setVar('operate', ''); $tmpvar = VisitorInfo::getIp(); $online->setVar('ip', $tmpvar); $online->setVar('browser', VisitorInfo::getBrowser()); $online->setVar('os', VisitorInfo::getOS()); $location = VisitorInfo::getIpLocation($tmpvar); if (JIEQI_SYSTEM_CHARSET == 'big5') { include_once JIEQI_ROOT_PATH . '/include/changecode.php'; $location = jieqi_gb2big5($location); } $online->setVar('location', $location); $online->setVar('state', '0'); $online->setVar('flag', '0'); $online_handler->insert($online); //设置SESSION jieqi_setusersession($newUser); //设置COOKIE $jieqi_user_info = array(); $jieqi_user_info['jieqiUserId'] = $_SESSION['jieqiUserId']; $jieqi_user_info['jieqiUserName'] = $_SESSION['jieqiUserName']; $jieqi_user_info['jieqiUserGroup'] = $_SESSION['jieqiUserGroup']; include_once JIEQI_ROOT_PATH . '/include/changecode.php'; if (JIEQI_SYSTEM_CHARSET == 'gbk') { $jieqi_user_info['jieqiUserName_un'] = jieqi_gb2unicode($_SESSION['jieqiUserName']); } else { $jieqi_user_info['jieqiUserName_un'] = jieqi_big52unicode($_SESSION['jieqiUserName']); } $jieqi_user_info['jieqiUserLogin'] = JIEQI_NOW_TIME; $cookietime = 0; @setcookie('jieqiUserInfo', jieqi_sarytostr($jieqi_user_info), $cookietime, '/', JIEQI_COOKIE_DOMAIN, 0); $jieqi_visit_info['jieqiUserLogin'] = $jieqi_user_info['jieqiUserLogin']; $jieqi_visit_info['jieqiUserId'] = $jieqi_user_info['jieqiUserId']; @setcookie('jieqiVisitInfo', jieqi_sarytostr($jieqi_visit_info), JIEQI_NOW_TIME + 99999999, '/', JIEQI_COOKIE_DOMAIN, 0); //推广积分 if (JIEQI_PROMOTION_REGISTER > 0 && !empty($_COOKIE['jieqiPromotion'])) { $users_handler->changeCredit(intval($_COOKIE['jieqiPromotion']), intval(JIEQI_PROMOTION_REGISTER), true); setcookie('jieqiPromotion', '', 0, '/', JIEQI_COOKIE_DOMAIN, 0); } } //$params['jumpurl']=JIEQI_URL.'/'; if (empty($params['jumpurl'])) { $params['jumpurl'] = JIEQI_URL . '/'; } return true; }
$errorinfo = ''; foreach ($sqlerr as $v) { $errorinfo .= sprintf($jieqiLang[JIEQI_MODULE_NAME]['show_error_format'], jieqi_htmlstr($v['sql']), jieqi_htmlstr($v['error'])); } $jieqiTpl->assign('status', 0); $jieqiTpl->assign('step_content', sprintf($jieqiLang[JIEQI_MODULE_NAME]['sql_some_error'], $errorinfo)); } else { $errorinfo = ''; //导入管理员账户信息 //删除原账号,导入新账号 if ($_SESSION['system_user'] && $_SESSION['system_pass']) { include_once JIEQI_ROOT_PATH . '/lib/text/textfunction.php'; if (!$db_query->execute('DELETE FROM ' . jieqi_dbprefix('system_users'))) { $errorinfo .= $jieqiLang[JIEQI_MODULE_NAME]['delete_table_error'] . '<br />'; } if (!$db_query->execute("INSERT INTO `" . jieqi_dbprefix('system_users') . "` (`uid`, `siteid`, `uname`, `name`, `pass`, `groupid`, `regdate`, `initial`, `sex`, `email`) VALUES (0, 0, '" . jieqi_dbslashes($_SESSION['system_user']) . "', '" . jieqi_dbslashes($_SESSION['system_user']) . "', '" . jieqi_dbslashes(md5($_SESSION['system_pass'])) . "', 2, " . time() . ", '" . jieqi_dbslashes(jieqi_getinitial($_SESSION['system_user'])) . "', 0, '" . jieqi_dbslashes($_SESSION['system_email']) . "')")) { $errorinfo .= $jieqiLang[JIEQI_MODULE_NAME]['insert_table_error'] . '<br />'; } if (isset($_SESSION['local_root'])) { $db_query->execute("UPDATE " . jieqi_dbprefix('system_configs') . " SET cvalue = '" . jieqi_dbslashes($_SESSION['local_root']) . "' WHERE modname='system' AND cname='JIEQI_URL';"); } if (isset($_SESSION['mysql_host'])) { $db_query->execute("UPDATE " . jieqi_dbprefix('system_configs') . " SET cvalue = '" . jieqi_dbslashes($_SESSION['mysql_host']) . "' WHERE modname='system' AND cname='JIEQI_DB_HOST';"); } if (isset($_SESSION['mysql_name'])) { $db_query->execute("UPDATE " . jieqi_dbprefix('system_configs') . " SET cvalue = '" . jieqi_dbslashes($_SESSION['mysql_name']) . "' WHERE modname='system' AND cname='JIEQI_DB_NAME';"); } if (isset($_SESSION['mysql_user'])) { $db_query->execute("UPDATE " . jieqi_dbprefix('system_configs') . " SET cvalue = '" . jieqi_dbslashes($_SESSION['mysql_user']) . "' WHERE modname='system' AND cname='JIEQI_DB_USER';"); } if (isset($_SESSION['mysql_pass'])) {
function synlogin($get, $post) { if (!API_SYNLOGIN) { return API_RETURN_FORBIDDEN; } $uid = intval($get['uid']); $username = $get['username']; $jieqiUsers = $this->userhandler->getByname($username); if (!is_object($jieqiUsers)) { //用户不存在自动注册 include_once JIEQI_ROOT_PATH . '/uc_client/client.php'; if ($data = uc_get_user($username)) { list($uid, $username, $email) = $data; //检查email是否重复 if ($this->userhandler->getCount(new Criteria('email', $email, '=')) > 0) { return API_RETURN_FAILED; } else { //注册新用户 include_once JIEQI_ROOT_PATH . '/lib/text/textfunction.php'; global $jieqiConfigs; jieqi_getconfigs('system', 'configs'); $jieqiUsers = $this->userhandler->create(); $jieqiUsers->setVar('siteid', JIEQI_SITE_ID); $jieqiUsers->setVar('uname', $username); $jieqiUsers->setVar('name', $username); $jieqiUsers->setVar('pass', ''); $jieqiUsers->setVar('groupid', JIEQI_GROUP_USER); $jieqiUsers->setVar('regdate', JIEQI_NOW_TIME); $jieqiUsers->setVar('initial', jieqi_getinitial($username)); $jieqiUsers->setVar('sex', 0); $jieqiUsers->setVar('email', $email); $jieqiUsers->setVar('url', ''); $jieqiUsers->setVar('avatar', 0); $jieqiUsers->setVar('workid', 0); $jieqiUsers->setVar('qq', ''); $jieqiUsers->setVar('icq', ''); $jieqiUsers->setVar('msn', ''); $jieqiUsers->setVar('mobile', ''); $jieqiUsers->setVar('sign', ''); $jieqiUsers->setVar('intro', ''); $jieqiUsers->setVar('setting', ''); $jieqiUsers->setVar('badges', ''); $jieqiUsers->setVar('lastlogin', JIEQI_NOW_TIME); $jieqiUsers->setVar('showsign', 0); $jieqiUsers->setVar('viewemail', 0); $jieqiUsers->setVar('notifymode', 0); $jieqiUsers->setVar('adminemail', 0); $jieqiUsers->setVar('monthscore', 0); $jieqiUsers->setVar('experience', intval($jieqiConfigs['system']['scoreregister'])); $jieqiUsers->setVar('score', intval($jieqiConfigs['system']['scoreregister'])); $jieqiUsers->setVar('egold', 0); $jieqiUsers->setVar('esilver', 0); $jieqiUsers->setVar('credit', 0); $jieqiUsers->setVar('goodnum', 0); $jieqiUsers->setVar('badnum', 0); $jieqiUsers->setVar('isvip', 0); $jieqiUsers->setVar('overtime', 0); $jieqiUsers->setVar('state', 0); if (!$this->userhandler->insert($jieqiUsers)) { return API_RETURN_FAILED; } } } else { return API_RETURN_FAILED; } } if (is_object($jieqiUsers)) { //header('P3P: CP="CURa ADMa DEVa PSAo PSDo OUR BUS UNI PUR INT DEM STA PRE COM NAV OTC NOI DSP COR"'); include_once JIEQI_ROOT_PATH . '/include/checklogin.php'; jieqi_loginprocess($jieqiUsers); return API_RETURN_SUCCEED; } else { return API_RETURN_FAILED; } }
$article_handler =& JieqiArticleHandler::getInstance('JieqiArticleHandler'); //检查文章是否已经发表 if ($jieqiConfigs['article']['samearticlename'] != 1) { if ($article_handler->getCount(new Criteria('articlename', $_POST['articlename'], '=')) > 0) { jieqi_printfail(sprintf($jieqiLang['article']['articletitle_has_exists'], jieqi_htmlstr($_POST['articlename']))); } } include_once JIEQI_ROOT_PATH . '/class/users.php'; $users_handler =& JieqiUsersHandler::getInstance('JieqiUsersHandler'); $newArticle = $article_handler->create(); $newArticle->setVar('siteid', JIEQI_SITE_ID); $newArticle->setVar('postdate', JIEQI_NOW_TIME); $newArticle->setVar('lastupdate', JIEQI_NOW_TIME); $newArticle->setVar('articlename', $_POST['articlename']); $newArticle->setVar('keywords', trim($_POST['keywords'])); $newArticle->setVar('initial', jieqi_getinitial($_POST['articlename'])); $agentobj = false; if (!empty($_POST['agent'])) { $agentobj = $users_handler->getByname($_POST['agent'], 3); } if (is_object($agentobj)) { $newArticle->setVar('agentid', $agentobj->getVar('uid')); $newArticle->setVar('agent', $agentobj->getVar('uname', 'n')); } else { $newArticle->setVar('agentid', 0); $newArticle->setVar('agent', ''); } if (jieqi_checkpower($jieqiPower['article']['transarticle'], $jieqiUsersStatus, $jieqiUsersGroup, true)) { //允许转载的情况 if (empty($_POST['author']) || !empty($_SESSION['jieqiUserId']) && $_POST['author'] == $_SESSION['jieqiUserName']) { if (!empty($_SESSION['jieqiUserId'])) {