Example #1
0
/**
 * 用户接口,登录预处理
 * 
 * @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;
}
Example #2
0
             $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);
Example #3
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']);
Example #4
0
/**
 * 本地用户注册,正式处理
 * 
 * @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;
}
Example #5
0
     $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'])) {
Example #6
0
File: uc.php Project: thu0ng91/jmc
 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;
     }
 }
Example #7
0
 $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'])) {