function write($sess_id, $sess_data) { list($count) = $this->db->fetchRow($this->db->query("SELECT COUNT(*) FROM " . jieqi_dbprefix('system_session') . " WHERE sess_id='" . $sess_id . "'")); if ($count > 0) { $sql = sprintf("UPDATE %s SET sess_updated = %u, sess_data = '%s' WHERE sess_id = '%s'", jieqi_dbprefix('system_session'), JIEQI_NOW_TIME, jieqi_dbslashes($sess_data), $sess_id); } else { $sql = sprintf("INSERT INTO %s (sess_id, sess_updated, sess_data) VALUES ('%s', %u, '%s')", jieqi_dbprefix('system_session'), $sess_id, JIEQI_NOW_TIME, jieqi_dbslashes($sess_data)); } if (!$this->db->query($sql)) { return false; } return true; }
/** * 取得变量值 * * @param string $key 变量名 * @param string $format 输出的格式化方式 's'-html显示格式, 'e'-html编辑格式, 'q'-数据库查询格式,'n'-不进行格式处理 * @access public * @return mixed */ function getVar($key, $format = 's') { if (isset($this->vars[$key])) { if (is_string($this->vars[$key])) { switch (strtolower($format)) { case 's': return jieqi_htmlstr($this->vars[$key]); case 'e': return htmlspecialchars($this->vars[$key], ENT_QUOTES); case 'q': return jieqi_dbslashes($this->vars[$key]); case 'n': default: return $this->vars[$key]; } } else { return $this->vars[$key]; } } else { return false; } }
/** * 查询字符串特殊字符替换 * * @param string $str * @access public * @return $str */ function quoteString($str) { return "'" . jieqi_dbslashes($str) . "'"; }
include_once JIEQI_ROOT_PATH . '/class/power.php'; $power_handler =& JieqiPowerHandler::getInstance('JieqiPowerHandler'); $power_handler->getSavedVars($_REQUEST['mod']); jieqi_checkpower($jieqiPower[$_REQUEST['mod']]['adminpower'], $jieqiUsersStatus, $jieqiUsersGroup, false, true); //载入权利设置 include_once JIEQI_ROOT_PATH . '/class/right.php'; $right_handler =& JieqiRightHandler::getInstance('JieqiRightHandler'); $right_handler->getSavedVars($_REQUEST['mod']); //载入语言 jieqi_loadlang('right', JIEQI_MODULE_NAME); if (count($jieqiRight[$_REQUEST['mod']]) > 0) { if (isset($_REQUEST['action']) && $_REQUEST['action'] == 'update') { foreach ($jieqiRight[$_REQUEST['mod']] as $k => $v) { if (isset($_POST[$k]) && $v['honors'] != $_POST[$k]) { $jieqiRight[$_REQUEST['mod']][$k]['honors'] = $_POST[$k]; $right_handler->db->query("UPDATE " . jieqi_dbprefix('system_right') . " SET rhonors='" . jieqi_dbslashes(serialize($_POST[$k])) . "' WHERE modname='" . jieqi_dbslashes($_REQUEST['mod']) . "' AND rname='" . jieqi_dbslashes($k) . "'"); } } jieqi_setconfigs('right', 'jieqiRight', $jieqiRight, $_REQUEST['mod']); //记录日志 include_once JIEQI_ROOT_PATH . '/class/logs.php'; $logs_handler = JieqiLogsHandler::getInstance('JieqiLogsHandler'); $logdata = array('logtype' => 4, 'logdata' => 'module:' . $_REQUEST['mod'], 'todata' => serialize($_REQUEST)); $logs_handler->addlog($logdata); jieqi_msgwin(LANG_DO_SUCCESS, $jieqiLang['system']['edit_right_success']); } else { //显示权限设置 include_once JIEQI_ROOT_PATH . '/admin/header.php'; include_once JIEQI_ROOT_PATH . '/lib/html/formloader.php'; include_once JIEQI_ROOT_PATH . '/class/honors.php'; $honors_handler =& JieqiHonorsHandler::getInstance('JieqiHonorsHandler');
//载入语言 jieqi_loadlang('blocks', JIEQI_MODULE_NAME); //取得设置 if (!empty($_REQUEST['id'])) { include_once JIEQI_ROOT_PATH . '/class/blocks.php'; $blocks_handler =& JieqiBlocksHandler::getInstance('JieqiBlocksHandler'); $block = $blocks_handler->get($_REQUEST['id']); if (!is_object($block)) { jieqi_printfail($jieqiLang['system']['block_not_exists']); } $blockSet = array('bid' => $block->getVar('bid'), 'blockname' => $block->getVar('blockname'), 'module' => $block->getVar('modname'), 'filename' => $block->getVar('filename', 'n'), 'classname' => $block->getVar('classname', 'n'), 'side' => $block->getVar('side', 'n'), 'title' => $block->getVar('title', 'n'), 'vars' => $block->getVar('vars', 'n'), 'template' => $block->getVar('template', 'n'), 'contenttype' => $block->getVar('contenttype', 'n'), 'custom' => $block->getVar('custom', 'n'), 'publish' => $block->getVar('publish', 'n'), 'hasvars' => $block->getVar('hasvars', 'n')); } elseif (!empty($_REQUEST['configid'])) { jieqi_includedb(); $query = JieqiQueryHandler::getInstance('JieqiQueryHandler'); $_REQUEST['configid'] = intval($_REQUEST['configid']); $sql = 'select * from ' . jieqi_dbprefix('system_blockconfigs') . ' where id = \'' . jieqi_dbslashes($_REQUEST['configid']) . '\''; $res = $query->execute($sql); $modconfig = $query->getObject($res); if (!is_object($modconfig)) { jieqi_printfail($jieqiLang['system']['block_config_notexists']); } unset($jieqiBlocks); jieqi_getconfigs($modconfig->getVar('modules', 'n'), $modconfig->getVar('file', 'n'), 'jieqiBlocks'); if (!isset($jieqiBlocks[$_REQUEST['key']])) { jieqi_printfail($jieqiLang['system']['block_not_exists']); } $blockSet = $jieqiBlocks[$_REQUEST['key']]; } else { jieqi_printfail(LANG_ERROR_PARAMETER); } $modname = $blockSet['module'];
$j = 0; while ($i < $search_resultnum && $j < $jieqiConfigs['article']['pagenum']) { if (!empty($aids)) { $aids .= ','; } $aids .= intval($aidary[$i]); $i++; $j++; } $rescount = $j; } else { $startid = 0; $_REQUEST['page'] = 1; $rescount = $allresults; } $sql = "SELECT * FROM " . jieqi_dbprefix('article_article') . " WHERE articleid IN (" . jieqi_dbslashes($aids) . ") ORDER BY lastupdate DESC LIMIT 0, " . $jieqiConfigs['article']['pagenum']; $res = $article_handler->execute($sql); $truecount = $article_handler->db->getRowsNum($res); if ($truecount != $rescount) { $usecache = false; } } if (!$usecache) { //不使用缓存 $criteria = new CriteriaCompo(new Criteria('display', '0', '=')); $criteria->add(new Criteria('size', '0', '>')); if (!empty($_REQUEST['searchkey'])) { if ($jieqiConfigs['article']['searchtype'] == 1) { $criteria->add(new Criteria($_REQUEST['searchtype'], $_REQUEST['searchkey'] . '%', 'LIKE')); } elseif ($jieqiConfigs['article']['searchtype'] == 2) { $criteria->add(new Criteria($_REQUEST['searchtype'], $_REQUEST['searchkey'], '='));
/** * 帖子编辑后更新主题表 * * @param array $post_set 发帖信息设置 * @param string $table 表名 * @access public * @return bool */ function jieqi_topic_upedit(&$post_set, $table) { global $query; if (!is_a($query, 'JieqiQueryHandler')) { jieqi_includedb(); $query = JieqiQueryHandler::getInstance('JieqiQueryHandler'); } $sql = "UPDATE " . $table . " SET title='" . jieqi_dbslashes($post_set['topictitle']) . "' WHERE topicid=" . intval($post_set['topicid']); return $query->execute($sql); }
/** * 用户登录后处理 * * @param object $jieqiUsers 用户对象 * @access public * @return bool */ function jieqi_loginprocess($jieqiUsers, $usecookie = 0) { global $jieqiConfigs; global $jieqiHonors; global $jieqiGroups; if (!isset($jieqiConfigs['system'])) { jieqi_getconfigs('system', 'configs'); } include_once JIEQI_ROOT_PATH . '/class/users.php'; $users_handler =& JieqiUsersHandler::getInstance('JieqiUsersHandler'); //更新在线用户表 include_once JIEQI_ROOT_PATH . '/class/online.php'; $online_handler =& JieqiOnlineHandler::getInstance('JieqiOnlineHandler'); $criteria = new CriteriaCompo(new Criteria('uid', $jieqiUsers->getVar('uid', 'n'))); $criteria->setSort('updatetime'); $criteria->setOrder('DESC'); $online_handler->queryObjects($criteria); $online = $online_handler->getObject(); //读cookie信息 $jieqi_user_info = array(); if (!empty($_COOKIE['jieqiUserInfo'])) { $jieqi_user_info = jieqi_strtosary($_COOKIE['jieqiUserInfo']); } else { $jieqi_user_info = array(); } $jieqi_visit_info = array(); if (!empty($_COOKIE['jieqiVisitInfo'])) { $jieqi_visit_info = jieqi_strtosary($_COOKIE['jieqiVisitInfo']); } else { $jieqi_visit_info = array(); } if (is_object($online)) { $ip = jieqi_userip(); if (JIEQI_SESSION_EXPRIE > 0) { $exprie_time = JIEQI_SESSION_EXPRIE; } else { $exprie_time = @ini_get('session.gc_maxlifetime'); } if (empty($exprie_time)) { $exprie_time = 1800; } if (defined('JIEQI_DENY_RELOGIN') && JIEQI_DENY_RELOGIN == 1 && JIEQI_NOW_TIME - $online->getVar('updatetime') < $exprie_time && $online->getVar('ip', 'n') != $ip && $jieqi_visit_info['jieqiUserId'] != $jieqiUsers->getVar('uid')) { return -8; } $tmpvar = strlen($jieqiUsers->getVar('name', 'q')) > 0 ? $jieqiUsers->getVar('name', 'q') : $jieqiUsers->getVar('uname', 'q'); $sql = "UPDATE " . jieqi_dbprefix('system_online') . " SET uid=" . $jieqiUsers->getVar('uid', 'q') . ", sid='" . jieqi_dbslashes(session_id()) . "', uname='" . $jieqiUsers->getVar('uname', 'q') . "', name='" . $tmpvar . "', pass='******'pass', 'q') . "',email='" . $jieqiUsers->getVar('email', 'q') . "', groupid=" . $jieqiUsers->getVar('groupid', 'q') . ", updatetime=" . JIEQI_NOW_TIME . ", ip='" . jieqi_dbslashes($ip) . "' WHERE uid=" . $jieqiUsers->getVar('uid', 'q') . " OR sid='" . jieqi_dbslashes(session_id()) . "'"; $online_handler->db->query($sql); } else { include_once JIEQI_ROOT_PATH . '/include/visitorinfo.php'; $online = $online_handler->create(); $online->setVar('uid', $jieqiUsers->getVar('uid', 'n')); $online->setVar('siteid', JIEQI_SITE_ID); $online->setVar('sid', session_id()); $online->setVar('uname', $jieqiUsers->getVar('uname', 'n')); $tmpvar = strlen($jieqiUsers->getVar('name', 'n')) > 0 ? $jieqiUsers->getVar('name', 'n') : $jieqiUsers->getVar('uname', 'n'); $online->setVar('name', $tmpvar); $online->setVar('pass', $jieqiUsers->getVar('pass', 'n')); $online->setVar('email', $jieqiUsers->getVar('email', 'n')); $online->setVar('groupid', $jieqiUsers->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); } //删除过期的在线用户 unset($criteria); $criteria = new CriteriaCompo(new Criteria('updatetime', JIEQI_NOW_TIME - $jieqiConfigs['system']['onlinetime'], '<')); $online_handler->delete($criteria); //检查短消息 include_once JIEQI_ROOT_PATH . '/class/message.php'; $message_handler = JieqiMessageHandler::getInstance('JieqiMessageHandler'); $criteria = new CriteriaCompo(new Criteria('toid', $jieqiUsers->getVar('uid'), '=')); $criteria->add(new Criteria('isread', 0, '=')); $criteria->add(new Criteria('todel', 0, '=')); $newmsgnum = $message_handler->getCount($criteria); unset($criteria); //有短消息 //用户信息 $previewlogin = intval($jieqiUsers->getVar('lastlogin')); $jieqiUsers->setVar('lastlogin', JIEQI_NOW_TIME); $userset = unserialize($jieqiUsers->getVar('setting', 'n')); if (!isset($userset['lastip']) || $userset['lastip'] != jieqi_userip()) { $userset['lastip'] = jieqi_userip(); } if (!isset($userset['logindate']) || $userset['logindate'] != date('Y-m-d')) { $userset['logindate'] = date('Y-m-d'); //增加登陆积分 $jieqiUsers->setVar('experience', $jieqiUsers->getVar('experience') + $jieqiConfigs['system']['scorelogin']); $jieqiUsers->setVar('score', $jieqiUsers->getVar('score') + $jieqiConfigs['system']['scorelogin']); } //如果换月了,清空月积分 //if(date('Y-m', $previewlogin) != date('Y-m', JIEQI_NOW_TIME)) $jieqiUsers->setVar('monthscore', 0); $jieqiUsers->setVar('setting', serialize($userset)); $jieqiUsers->unsetNew(); $users_handler->insert($jieqiUsers); header('P3P: CP="CURa ADMa DEVa PSAo PSDo OUR BUS UNI PUR INT DEM STA PRE COM NAV OTC NOI DSP COR"'); //设置SESSION jieqi_setusersession($jieqiUsers); if ($newmsgnum > 0) { $_SESSION['jieqiNewMessage'] = $newmsgnum; } //后台登录状态 $jieqi_online_info = empty($_COOKIE['jieqiOnlineInfo']) ? array() : jieqi_strtosary($_COOKIE['jieqiOnlineInfo']); if (isset($jieqi_online_info['jieqiAdminLogin']) && $jieqi_online_info['jieqiAdminLogin'] == 1) { $_SESSION['jieqiAdminLogin'] = 1; } $jieqi_user_info['jieqiUserId'] = $_SESSION['jieqiUserId']; $jieqi_user_info['jieqiUserUname'] = $_SESSION['jieqiUserUname']; $jieqi_user_info['jieqiUserName'] = $_SESSION['jieqiUserName']; $jieqi_user_info['jieqiUserGroup'] = $_SESSION['jieqiUserGroup']; $jieqi_user_info['jieqiUserGroupName'] = $jieqiGroups[$_SESSION['jieqiUserGroup']]; $jieqi_user_info['jieqiUserVip'] = $_SESSION['jieqiUserVip']; $jieqi_user_info['jieqiUserHonorId'] = $_SESSION['jieqiUserHonorId']; $jieqi_user_info['jieqiUserHonor'] = $_SESSION['jieqiUserHonor']; if ($newmsgnum > 0) { $jieqi_user_info['jieqiNewMessage'] = $newmsgnum; } if ($usecookie) { $jieqi_user_info['jieqiUserPassword'] = $jieqiUsers->getVar('pass', 'n'); } include_once JIEQI_ROOT_PATH . '/include/changecode.php'; if (JIEQI_SYSTEM_CHARSET == 'gbk') { $jieqi_user_info['jieqiUserUname_un'] = jieqi_gb2unicode($_SESSION['jieqiUserUname']); $jieqi_user_info['jieqiUserName_un'] = jieqi_gb2unicode($_SESSION['jieqiUserName']); $jieqi_user_info['jieqiUserHonor_un'] = jieqi_gb2unicode($_SESSION['jieqiUserHonor']); $jieqi_user_info['jieqiUserGroupName_un'] = jieqi_gb2unicode($jieqiGroups[$_SESSION['jieqiUserGroup']]); } else { $jieqi_user_info['jieqiUserUname_un'] = jieqi_big52unicode($_SESSION['jieqiUserUname']); $jieqi_user_info['jieqiUserName_un'] = jieqi_big52unicode($_SESSION['jieqiUserName']); $jieqi_user_info['jieqiUserHonor_un'] = jieqi_big52unicode($_SESSION['jieqiUserHonor']); $jieqi_user_info['jieqiUserGroupName_un'] = jieqi_gb2unicode($jieqiGroups[$_SESSION['jieqiUserGroup']]); } $jieqi_user_info['jieqiUserLogin'] = JIEQI_NOW_TIME; if ($usecookie < 0) { $usecookie = 0; } elseif ($usecookie == 1) { $usecookie = 315360000; } if ($usecookie) { $cookietime = JIEQI_NOW_TIME + $usecookie; } else { $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); //更新在线用户 include_once JIEQI_ROOT_PATH . '/lib/template/template.php'; $jieqiTpl =& JieqiTpl::getInstance(); $jieqiTpl->clear_cache(JIEQI_ROOT_PATH . '/templates/online.html'); return 0; }
$where .= " articleid IN (" . $aidstr . ")"; } else { $badparm = true; } } else { //按照文章名 $_POST['articles'] = trim($_POST['articles']); $anameary = explode("\n", $_POST['articles']); $anamestr = ''; foreach ($anameary as $aname) { $aname = trim($aname); if (!empty($aname)) { if ($anamestr != '') { $anamestr .= ','; } $anamestr .= "'" . jieqi_dbslashes($aname) . "'"; } } if ($anamestr != '') { if ($where != '') { $where .= " AND"; } $where .= " articlename IN (" . $anamestr . ")"; } else { $badparm = true; } } } //处理类型 if (!in_array($_POST['operate'], array('delarticle', 'delchapter', 'delattach'))) { $badparm = true;
$ppostrows = array(); $k = 0; while ($ppost = $post_query->getObject()) { $addvars = array('order' => ($_REQUEST['page'] - 1) * $_REQUEST['pagerows'] + $k + 1); $ppostrows[$k] = jieqi_post_vars($ppost, $jieqiConfigs['system'], $addvars, true); $k++; } $jieqiTpl->assign_by_ref('ppostrows', $ppostrows); $jieqiTpl->assign('enablepost', $enablepost); if (!isset($jieqiConfigs['system'])) { jieqi_getconfigs('system', 'configs'); } $jieqiTpl->assign('postcheckcode', $jieqiConfigs['system']['postcheckcode']); //处理页面跳转 include_once JIEQI_ROOT_PATH . '/lib/html/page.php'; $jumppage = new JieqiPage($query_count, $_REQUEST['pagerows'], $_REQUEST['page']); $jieqiTpl->assign('url_jumppage', $jumppage->whole_bar()); $jieqiTpl->setCaching(0); $jieqiTset['jieqi_contents_template'] = JIEQI_ROOT_PATH . '/templates/ptopicshow.html'; //增加点击数 if ($addnewreply > 0) { $lastinfo = serialize(array('time' => JIEQI_NOW_TIME, 'uid' => intval($_SESSION['jieqiUserId']), 'uname' => strval($_SESSION['jieqiUserName']))); $post_query->execute('UPDATE ' . jieqi_dbprefix('system_ptopics') . ' SET views=views+1,replies=replies+1,replytime=' . JIEQI_NOW_TIME . ",lastinfo='" . jieqi_dbslashes($lastinfo) . "' WHERE topicid=" . $_REQUEST['tid']); } elseif ($addnewreply < 0) { $post_query->execute('UPDATE ' . jieqi_dbprefix('system_ptopics') . ' SET views=views+1,replies=replies-1 WHERE topicid=' . $_REQUEST['tid']); } else { //载入统计处理函数 include_once JIEQI_ROOT_PATH . '/include/funstat.php'; jieqi_visit_stat($_REQUEST['tid'], jieqi_dbprefix('system_ptopics'), 'views', 'topicid', $post_query); } include_once JIEQI_ROOT_PATH . '/footer.php';
$paylog_handler->insert($paylog); $serialno = $paylog->getVar('payid', 'n'); $retstr = str_replace(array('<{$egold}>', '<{$serialno}>', '<{$randpass}>'), array($jieqiPayset[JIEQI_PAY_TYPE]['paytype'][$paytypeid]['egold'], $serialno, $randstr), $jieqiPayset[JIEQI_PAY_TYPE]['paytype'][$paytypeid]['message']); if ($logflag) { $tmpvar = $retstr . "\r\n"; jieqi_writefile(JIEQI_ROOT_PATH . '/cache/ivansmsret.txt', $tmpvar, 'ab'); } echo $retstr; exit; } elseif (strtolower($Command) == 'report' && $linkid != '' && $report == 1) { //第二次提交运营商返回的状态报告.表示用户是否已计费成功。 jieqi_includedb(); $query = JieqiQueryHandler::getInstance('JieqiQueryHandler'); $query->execute("UPDATE " . jieqi_dbprefix('pay_paylog') . " SET payflag=0 WHERE retinfo='" . jieqi_dbslashes($linkid) . "'"); if ($logflag) { $tmpvar = "UPDATE " . jieqi_dbprefix('pay_paylog') . " SET payflag=0 WHERE retinfo='" . jieqi_dbslashes($linkid) . "'\r\n"; jieqi_writefile(JIEQI_ROOT_PATH . '/cache/ivansmsret1.txt', $tmpvar, 'ab'); } } else { if ($logflag) { $tmpvar = 'command error: linkid=' . $linkid . '; Command=' . $Command . '; report=' . $report; jieqi_writefile(JIEQI_ROOT_PATH . '/cache/ivansmserr.txt', $tmpvar, 'ab'); } echo 'error'; exit; } //生成随机代码 $mode 1-数字,2-小写字母, 3-数字和小写字母 function jieqi_makerand($length = 8, $mode = 1) { $str1 = '1234567890'; $str2 = 'abcdefghijklmnopqrstuvwxyz';
/** * 本地用户注册,正式处理 * * @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; }
if (substr($jieqiConfigs['article']['fakeinitial'], 0, 1) != '/') { $jieqiConfigs['article']['fakeinitial'] = '/' . $jieqiConfigs['article']['fakeinitial']; } $tmpary = explode('/', $jieqiConfigs['article']['fakeinitial']); $tmpcot = count($tmpary) - 2; if (strpos($jieqiConfigs['article']['fakeinitial'], '<{$page|subdirectory}>') > 0) { $tmpcot++; } $globalfile = str_repeat('../', $tmpcot) . 'global.php'; $default_stopid = $_REQUEST['stopid']; foreach ($initary as $k => $v) { $_REQUEST['stopid'] = $default_stopid; if (empty($_REQUEST['stopid'])) { jieqi_includedb(); $query = JieqiQueryHandler::getInstance('JieqiQueryHandler'); $sql = "SELECT count(*) AS cot FROM " . jieqi_dbprefix('article_article') . " WHERE display=0 AND size>0 AND initial ='" . jieqi_dbslashes(strtoupper($v)) . "'"; $query->execute($sql); if ($row = $query->getRow()) { $cot = intval($row['cot']); $pnum = intval($jieqiConfigs['article']['pagenum']); if (empty($pnum)) { $pnum = 10; } $_REQUEST['stopid'] = ceil($cot / $pnum); } } echo sprintf($jieqiLang['article']['create_initial_info'], $v); ob_flush(); flush(); for ($i = $_REQUEST['startid']; $i <= $_REQUEST['stopid']; $i++) { $repfrom = array('<{$initial}>', '<{$page|subdirectory}>', '<{$page}>');
$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'])) { $db_query->execute("UPDATE " . jieqi_dbprefix('system_configs') . " SET cvalue = '" . jieqi_dbslashes($_SESSION['mysql_pass']) . "' WHERE modname='system' AND cname='JIEQI_DB_PASS';"); } if (isset($_SESSION['mysql_charset'])) { $db_query->execute("UPDATE " . jieqi_dbprefix('system_configs') . " SET cvalue = '" . jieqi_dbslashes($_SESSION['mysql_charset']) . "' WHERE modname='system' AND cname='JIEQI_DB_CHARSET';"); } unset($_SESSION); } if (empty($errorinfo)) { $jieqiTpl->assign('admin_page', JIEQI_URL . '/admin/'); $jieqiTpl->assign('index_page', JIEQI_URL); $jieqiTpl->assign('status', 1); $jieqiTpl->assign('step_content', $jieqiLang[JIEQI_MODULE_NAME]['execute_sql_success']); $lockdata = ''; if ($upmodules) { $varstring = "<?php\n" . jieqi_extractvars('jieqiModules', $jieqiModules) . "\n?>"; jieqi_writefile(JIEQI_ROOT_PATH . '/configs/modules.php', $varstring); } jieqi_writefile(JIEQI_ROOT_PATH . '/configs/install.lock', $lockdata); } else {
function updatepw($get, $post) { if (!API_UPDATEPW) { return API_RETURN_FORBIDDEN; } $username = $get['username']; $password = $get['password']; $encpass = $this->userhandler->encryptPass($password); $sql = "UPDATE " . jieqi_dbprefix('system_users') . " SET pass = '******' WHERE uname = '" . jieqi_dbslashes($username) . "'"; $ret = $this->query->execute($sql); if ($ret === false) { return API_RETURN_FAILED; } else { return API_RETURN_SUCCEED; } }
/** * 生成查询SQL * * @param void * @access public * @return string */ function render() { if (!empty($this->column)) { $clause = $this->column . ' ' . $this->operator; } else { $clause = ''; } if (isset($this->value)) { if ($this->column == '' && $this->operator == '') { // 如果 $column 和 operator 都为空,则假定 value 为自定义查询条件 $clause .= " " . trim($this->value); } elseif (strtoupper($this->operator) == 'IN') { $clause .= ' ' . $this->value; } else { $clause .= " '" . jieqi_dbslashes(trim($this->value)) . "'"; } } return $clause; }
//检查权限 include_once JIEQI_ROOT_PATH . '/class/power.php'; $power_handler =& JieqiPowerHandler::getInstance('JieqiPowerHandler'); $power_handler->getSavedVars($_REQUEST['mod']); jieqi_checkpower($jieqiPower[$_REQUEST['mod']]['adminpower'], $jieqiUsersStatus, $jieqiUsersGroup, false, true); //载入语言 jieqi_loadlang('power', JIEQI_MODULE_NAME); if (count($jieqiPower[$_REQUEST['mod']]) > 0) { if (isset($_REQUEST['action']) && $_REQUEST['action'] == 'update') { foreach ($jieqiPower[$_REQUEST['mod']] as $k => $v) { if (!isset($_POST[$k])) { $_POST[$k] = ''; } if ($v['groups'] != $_POST[$k]) { $jieqiPower[$_REQUEST['mod']][$k]['groups'] = $_POST[$k]; $power_handler->db->query("UPDATE " . jieqi_dbprefix('system_power') . " SET pgroups='" . jieqi_dbslashes(serialize($_POST[$k])) . "' WHERE modname='" . jieqi_dbslashes($_REQUEST['mod']) . "' AND pname='" . jieqi_dbslashes($k) . "'"); } } jieqi_setconfigs('power', 'jieqiPower', $jieqiPower, $_REQUEST['mod']); //记录日志 include_once JIEQI_ROOT_PATH . '/class/logs.php'; $logs_handler = JieqiLogsHandler::getInstance('JieqiLogsHandler'); $logdata = array('logtype' => 3, 'logdata' => 'module:' . $_REQUEST['mod'], 'todata' => serialize($_REQUEST)); $logs_handler->addlog($logdata); jieqi_msgwin(LANG_DO_SUCCESS, $jieqiLang['system']['edit_power_success']); } else { //显示权限设置 include_once JIEQI_ROOT_PATH . '/admin/header.php'; include_once JIEQI_ROOT_PATH . '/lib/html/formloader.php'; include_once JIEQI_ROOT_PATH . '/class/groups.php'; $groups_handler =& JieqiGroupsHandler::getInstance('JieqiGroupsHandler');
function getByname($name, $flag = 1) { if (!empty($name)) { $name = jieqi_dbslashes($name); if ($flag == 3) { $sql = "SELECT * FROM " . jieqi_dbprefix($this->dbname, $this->fullname) . " WHERE " . $this->tableFields['uname']['name'] . "='" . $name . "' OR " . $this->tableFields['name']['name'] . "='" . $name . "' ORDER BY name DESC"; } elseif ($flag == 2) { $sql = "SELECT * FROM " . jieqi_dbprefix($this->dbname, $this->fullname) . " WHERE " . $this->tableFields['name']['name'] . "='" . $name . "'"; } else { $sql = "SELECT * FROM " . jieqi_dbprefix($this->dbname, $this->fullname) . " WHERE " . $this->tableFields['uname']['name'] . "='" . $name . "'"; } if (!($result = $this->db->query($sql))) { return false; } $numrows = $this->db->getRowsNum($result); if ($numrows >= 1) { $tmpvar = 'Jieqi' . ucfirst($this->basename); ${$this->basename} = new $tmpvar(); ${$this->basename}->setVars($this->db->fetchArray($result)); return ${$this->basename}; } } return false; }
function article_make_sinitial($initial, $fid = 1, $tid = 0, $static = true, $output = false) { global $jieqiConfigs; global $query; if (!isset($jieqiConfigs['article'])) { jieqi_getconfigs('article', 'configs'); } if (empty($tid) && JIEQI_MAX_PAGES > 0) { $tid = JIEQI_MAX_PAGES; } if (empty($tid)) { if (!is_a($query, 'JieqiQueryHandler')) { jieqi_includedb(); $query = JieqiQueryHandler::getInstance('JieqiQueryHandler'); } $sql = "SELECT count(*) AS cot FROM " . jieqi_dbprefix('article_article') . " WHERE display=0 AND size>0 AND initial ='" . jieqi_dbslashes(strtoupper($initial)) . "'"; $query->execute($sql); if ($row = $query->getRow()) { $cot = intval($row['cot']); $pnum = intval($jieqiConfigs['article']['pagenum']); if (empty($pnum)) { $pnum = 10; } $tid = ceil($cot / $pnum); } if ($tid < 1) { $tid = 1; } } if ($fid > $tid) { return false; } for ($page = $fid; $page <= $tid; $page++) { article_make_pinitial($initial, $page, $static, $output); } }
$k = 0; while ($review = $article_query->getObject()) { $addvars = array('order' => ($_REQUEST['page'] - 1) * $_REQUEST['pagerows'] + $k + 1); $replyrows[$k] = jieqi_post_vars($review, $jieqiConfigs['article'], $addvars, true); $k++; } $jieqiTpl->assign_by_ref('replyrows', $replyrows); $jieqiTpl->assign('enablepost', $enablepost); //是否显示验证码 if (!isset($jieqiConfigs['system'])) { jieqi_getconfigs('system', 'configs'); } $jieqiTpl->assign('postcheckcode', $jieqiConfigs['system']['postcheckcode']); //处理页面跳转 include_once JIEQI_ROOT_PATH . '/lib/html/page.php'; $jumppage = new JieqiPage($query_count, $_REQUEST['pagerows'], $_REQUEST['page']); $jieqiTpl->assign('url_jumppage', $jumppage->whole_bar()); $jieqiTpl->setCaching(0); $jieqiTset['jieqi_contents_template'] = $jieqiModules['article']['path'] . '/templates/reviewshow.html'; //增加点击数 if ($addnewreply > 0) { $lastinfo = serialize(array('time' => JIEQI_NOW_TIME, 'uid' => intval($_SESSION['jieqiUserId']), 'uname' => strval($_SESSION['jieqiUserName']))); $article_query->execute('UPDATE ' . jieqi_dbprefix('article_reviews') . ' SET views=views+1,replies=replies+1,replytime=' . JIEQI_NOW_TIME . ",lastinfo='" . jieqi_dbslashes($lastinfo) . "' WHERE topicid=" . $_REQUEST['rid']); } elseif ($addnewreply < 0) { $article_query->execute('UPDATE ' . jieqi_dbprefix('article_reviews') . ' SET views=views+1,replies=replies-1 WHERE topicid=' . $_REQUEST['rid']); } else { //载入统计处理函数 include_once JIEQI_ROOT_PATH . '/include/funstat.php'; jieqi_visit_stat($_REQUEST['rid'], jieqi_dbprefix('article_reviews'), 'views', 'topicid', $article_query); } include_once JIEQI_ROOT_PATH . '/footer.php';
if (count($payary) > 0) { $money = 0; $egold = 0; $pids = ''; foreach ($payary as $v) { $money += $v['money']; $egold += $v['egold']; if (!empty($pids)) { $pids .= ', '; } $pids .= $v['payid']; } $buyname = $_SESSION['jieqiUserName']; $buyid = $_SESSION['jieqiUserId']; include_once JIEQI_ROOT_PATH . '/class/users.php'; $users_handler =& JieqiUsersHandler::getInstance('JieqiUsersHandler'); if (isset($jieqiPayset[JIEQI_PAY_TYPE]['scorerate'])) { $addscore = ceil($egold * $jieqiPayset[JIEQI_PAY_TYPE]['scorerate']); } else { $addscore = 0; } $ret = $users_handler->income($buyid, $egold, $jieqiPayset[JIEQI_PAY_TYPE]['paysilver'], $addscore); $sql = "UPDATE " . jieqi_dbprefix('pay_paylog') . " SET buyid='" . intval($buyid) . "', buyname='" . jieqi_dbslashes($buyname) . "', rettime='" . intval(JIEQI_NOW_TIME) . "', payflag='1' WHERE payid IN (" . $pids . ')'; $ret = $paylog_handler->db->query($sql); if (!$ret) { jieqi_printfail($jieqiLang['pay']['save_paylog_failure']); } jieqi_msgwin(LANG_DO_SUCCESS, sprintf($jieqiLang['pay']['call_cinfirm_success'], jieqi_htmlstr($buyname), sprintf('%0.2f', $money / 100), $egold, JIEQI_EGOLD_NAME)); } else { jieqi_printfail($jieqiLang['pay']['no_buy_record']); }
/** * 删除标签关联信息 * * @param array $tags 标签数组 * @param int $articleid 关联ID * @param array $tables 标签相关数据表 array('tag'=>'', 'taglink'=>'', 'tagcache'=>'') * @access public * @return bool */ function jieqi_tag_delete($tags, $articleid, $tables) { global $query; if (!is_a($query, 'JieqiQueryHandler')) { jieqi_includedb(); $query = JieqiQueryHandler::getInstance('JieqiQueryHandler'); } $articleid = intval($articleid); foreach ($tags as $tag) { $sql = "SELECT * FROM " . $tables['tag'] . " WHERE tagname = '" . jieqi_dbslashes($tag) . "' LIMIT 0,1"; $query->execute($sql); if ($row = $query->getRow()) { $tagid = intval($row['tagid']); $sql = "DELETE FROM " . $tables['taglink'] . " WHERE tagid = " . $tagid . " AND articleid = " . $articleid; $query->execute($sql); if ($query->db->getAffectedRows() > 0) { $uptag = true; //最后一条关联记录 if ($row['linknum'] <= 1) { $sql = "SELECT count(*) as cot FROM " . $tables['taglink'] . " WHERE tagid = " . $tagid; $query->execute($sql); if ($row1 = $query->getRow()) { if ($row1['cot'] == 0) { $uptag = false; $sql = "DELETE FROM " . $tables['tag'] . " WHERE tagid = " . $tagid; $query->execute($sql); $sql = "DELETE FROM " . $tables['tagcache'] . " WHERE tagid = " . $tagid; $query->execute($sql); } } } if (!$uptag) { $sql = "UPDATE " . $tables['tag'] . " SET linknum = linknum - 1 WHERE tagid = " . $tagid; $query->execute($sql); $sql = "SELECT * FROM " . $tables['tagcache'] . " WHERE tagid = " . $tagid . " LIMIT 0,1"; $query->execute($sql); if ($row2 = $query->getRow()) { $lids = explode(',', $row2['linkids']); if (!in_array($articleid, $lids)) { $lids[] = $articleid; $sql = "UPDATE " . $tables['tagcache'] . " SET linkids = '" . jieqi_dbslashes(implode(',', $lids)) . "' WHERE tagid = " . $tagid; $query->execute($sql); } } } } } } return true; }