public static function vxValidate() { $rt = array(); $rt['errors'] = 0; $rt['url_value'] = ''; $rt['url_hash'] = ''; $rt['url_maxlength'] = 240; $rt['url_error'] = 0; $rt['url_error_msg'] = array(1 => '你没有填写 URL', 2 => '你填写的 URL 过长,不能超过 ' . $rt['url_maxlength'] . ' 个字符'); if (isset($_GET['url'])) { $rt['url_value'] = fetch_single($_GET['url']); if ($rt['url_value'] == '') { $rt['errors']++; $rt['url_error'] = 1; } else { if (mb_strlen($rt['url_value'], 'UTF-8') > $rt['url_maxlength']) { $rt['errors']++; $rt['url_errors'] = 2; } } } else { $rt['errors']++; $rt['url_error'] = 1; } if ($rt['url_error'] == 0) { $rt['url_hash'] = md5($rt['url_value']); } $rt['title_value'] = ''; $rt['title_maxlength'] = 200; $rt['title_error'] = 0; $rt['title_error_msg'] = array(1 => '你没有填写标题', 2 => '你填写的标题过长,不能超过 ' . $rt['title_maxlength'] . ' 个字符'); if (isset($_GET['title'])) { $rt['title_value'] = fetch_single($_GET['title']); if ($rt['title_value'] == '') { $rt['errors']++; $rt['title_error'] = 1; } else { if (mb_strlen($rt['title_value'], 'UTF-8') > $rt['title_maxlength']) { $rt['errors']++; $rt['title_errors'] = 2; } } } else { $rt['errors']++; $rt['title_error'] = 1; } $rt['notes_value'] = ''; $rt['notes_maxlength'] = 200; $rt['notes_error'] = 0; $rt['notes_error_msg'] = array(2 => '你填写的备注过长,不能超过 ' . $rt['notes_maxlength'] . ' 个字符'); if (isset($_GET['notes'])) { $rt['notes_value'] = fetch_single($_GET['notes']); if (mb_strlen($rt['notes_value'], 'UTF-8') > $rt['notes_maxlength']) { $rt['errors']++; $rt['notes_errors'] = 2; } } return $rt; }
$p->vxHead($msgSiteTitle = '同步'); $p->vxBodyStart(); $p->vxTop(); $p->vxContainer('add_sync', $sync); break; } case 'add_sync_start': if (!$p->User->vxIsLogin()) { die($p->URL->vxToRedirect($p->URL->vxGetLogin($p->URL->vxGetAddSync()))); break; } else { $sync = array(); $sync['status'] = 'default'; if (isset($_POST['d_u']) && isset($_POST['d_p'])) { $del_user = fetch_single($_POST['d_u']); $del_pass = fetch_single($_POST['d_p']); if ($del_user != '' && $del_pass != '') { require_once 'Zend/Service/Delicious.php'; $del = new Zend_Service_Delicious($del_user, $del_pass); try { $posts = $del->getAllPosts(); } catch (Zend_Service_Delicious_Exception $e) { $posts = false; $sync['status'] = 'error'; } if ($posts) { var_dump($posts); $result = Add::vxSync($p->User, $p->db, $posts); var_dump($result); } } else {
if (isset($_GET['oe'])) { $oe = strtolower(fetch_single($_GET['oe'])); if ($oe != 'gbk') { $oe = 'utf-8'; } } else { $oe = "utf-8"; } if ($oe != 'utf-8') { header('Content-type: text/javascript; charset=gbk'); } else { header('Content-type: text/javascript; charset=utf-8'); } header('Cache-control: no-cache, must-revalidate'); if (isset($_GET['u'])) { $user_nick = fetch_single($_GET['u']); if ($user_nick == '') { $o = "document.writeln('<small style=\"font-size: 11px;\"><a href=\"http://" . BABEL_DNS_NAME . "/ing\" target=\"_blank\">" . Vocabulary::site_name . "::ING</a></small> 输出失败 - 没有指定会员昵称');"; } else { $db = mysql_pconnect(BABEL_DB_HOSTNAME . ':' . BABEL_DB_PORT, BABEL_DB_USERNAME, BABEL_DB_PASSWORD); mysql_select_db(BABEL_DB_SCHEMATA, $db); mysql_query("SET NAMES utf8"); mysql_query("SET CHARACTER SET utf8"); mysql_query("SET COLLATION_CONNECTION='utf8_general_ci'"); $user_nick = mysql_real_escape_string($user_nick); $sql = "SELECT usr_id FROM babel_user WHERE usr_nick = '{$user_nick}'"; $rs = mysql_query($sql); if (mysql_num_rows($rs) == 1) { $user_id = mysql_result($rs, 0, 0); mysql_free_result($rs); $sql = "SELECT ing_doing, ing_created FROM babel_ing_update WHERE ing_uid = {$user_id} ORDER BY ing_created DESC LIMIT 1";
* * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software Foundation, * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ DEFINE('V2EX_BABEL', 1); require 'core/IngCore.php'; if (isset($_GET['m'])) { $m = strtolower(trim($_GET['m'])); } else { $m = 'public'; } $p =& new Ing(); switch ($m) { default: case 'public': $p->vxPublic(); break; case 'personal': if (isset($_GET['u'])) { // u: usr_nick $u = fetch_single($_GET['u']); if ($u == '') { $p->vxPublic(); } else { $User = $p->User->vxGetUserInfoByNick($u); } } $p->vxPersonal(); break; }
$_default['url'] = ''; $_default['remember'] = true; } else { $_default['nick'] = ''; $_default['email'] = ''; $_default['url'] = ''; $_default['remember'] = false; } if ($_default['remember']) { setcookie('babel_weblog_comment_default', serialize($_default), time() + 86400 * 30, '/'); } } if (strtoupper($_SERVER['REQUEST_METHOD']) == 'POST') { $remember = false; if (isset($_POST['remember'])) { $remember_value = strtolower(fetch_single($_POST['remember'])); if ($remember_value == 'on') { $remember = true; } } $Validator = new Validator($db, $User); $rt = $Validator->vxBlogCommentCheck(); if ($rt['errors'] == 0) { if ($User->vxIsLogin()) { $user_id = $User->usr_id; $status = 1; $_SESSION['babel_message_comment'] = 'Your comment is saved.'; } else { $user_id = 0; $status = 0; $_SESSION['babel_message_comment'] = 'Your comment is saved and holding for moderation.';
public function vxSetLang() { if (isset($_GET['lang'])) { $lang = strtolower(fetch_single($_GET['lang'])); include BABEL_PREFIX . '/res/supported_languages.php'; if (!in_array($lang, array_keys($_languages))) { $lang = BABEL_LANG_DEFAULT; } if ($_SESSION['babel_lang'] != $lang) { if ($this->User->vxIsLogin()) { $sql = "UPDATE babel_user SET usr_lang = '{$lang}' WHERE usr_id = {$this->User->usr_id}"; mysql_unbuffered_query($sql); } @$this->cs->remove('nav_' . md5(session_id())); $_SESSION['babel_lang'] = $lang; } } if (isset($_SERVER['HTTP_REFERER'])) { return header('Location: ' . $_SERVER['HTTP_REFERER']); } else { return header('Location: /'); } }
require_once 'HTTP/Request.php'; require_once 'Crypt/Blowfish.php'; /* 3rdparty Zend Framework cores */ ini_set('include_path', BABEL_PREFIX . '/libs/zf/' . ZEND_FRAMEWORK_VERSION . PATH_SEPARATOR . ini_get('include_path')); require_once 'Zend/Cache.php'; require_once 'core/Utilities.php'; require_once 'core/DataCore.php'; if (@($db = mysql_connect(BABEL_DB_HOSTNAME . ':' . BABEL_DB_PORT, BABEL_DB_USERNAME, BABEL_DB_PASSWORD))) { mysql_select_db(BABEL_DB_SCHEMATA); mysql_query("SET NAMES utf8"); mysql_query("SET CHARACTER SET utf8"); mysql_query("SET COLLATION_CONNECTION='utf8_general_ci'"); } $c = Zend_Cache::factory('Core', ZEND_CACHE_TYPE_TINY, $ZEND_CACHE_OPTIONS_TINY_FRONTEND, $ZEND_CACHE_OPTIONS_TINY_BACKEND[ZEND_CACHE_TYPE_TINY]); if (isset($_GET['m'])) { $m = strtolower(fetch_single($_GET['m'])); } else { $m = 'empty'; } define('__PAGE__', $m); $c = Zend_Cache::factory('Core', ZEND_CACHE_TYPE_TINY, $ZEND_CACHE_OPTIONS_TINY_FRONTEND, $ZEND_CACHE_OPTIONS_TINY_BACKEND[ZEND_CACHE_TYPE_TINY]); switch ($m) { case 'empty': default: break; case 'chart_data_user': if ($o = $c->load(__PAGE__)) { } else { $o = Data::vxData2Amchart(Data::vxDataByMonth('usr', 'user')); $c->save($o, __PAGE__); }
if (@($db = mysql_connect(BABEL_DB_HOSTNAME . ':' . BABEL_DB_PORT, BABEL_DB_USERNAME, BABEL_DB_PASSWORD))) { mysql_select_db(BABEL_DB_SCHEMATA); mysql_query("SET NAMES utf8"); mysql_query("SET CHARACTER SET utf8"); mysql_query("SET COLLATION_CONNECTION='utf8_general_ci'"); } $User = new User('', '', $db); header('Content-type: text/html; charset=UTF-8'); echo '<html><head><meta http-equiv="content-type" content="text/html;charset=UTF-8" /></head>'; echo '<body>'; if ($User->vxIsLogin()) { if ($User->usr_id == 1) { echo 'Welcome.<br /><br />'; if (isset($_GET['u']) && isset($_GET['g'])) { $u = fetch_single($_GET['u']); $g = fetch_single($_GET['g']); $us = mysql_real_escape_string($u); $gs = mysql_real_escape_string($g); $sql = "UPDATE babel_user SET usr_google_account = '{$gs}' WHERE usr_nick = '{$us}' LIMIT 1"; mysql_query($sql); if (mysql_affected_rows($db) == 1) { echo "{$u}'s Google Account is updated.<br /><br />"; } else { echo "Something is not OK.<br /><br />"; } } echo '<form method="get">User: <input type="text" name="u" /> Gtalk: <input type="text" name="g" /><br /><input type="submit" /></form>'; } else { die('403'); } } else {
public function vxOutputJavaScriptIngPersonal() { if (isset($_GET['u'])) { $user_nick = fetch_single($_GET['u']); $User = $this->User->vxGetUserInfoByNick(mysql_real_escape_string($user_nick)); if (!$User) { $User = $this->User->vxGetUserInfo(1); } } else { $User = $this->User->vxGetUserInfo(1); } echo '<div id="single">'; echo '<div class="blank" align="left">'; _v_ico_silk('html'); echo ' JavaScript 输出我的 ING 中的最新活动'; _v_hr(); echo '你可以使用下面生成的这些 JavaScript 代码片段在你自己的网站上,展示你在 <a href="/ing/' . $User->usr_nick_url . '/friends">' . Vocabulary::site_name . '::ING</a> 中的最新活动。根据你的网站编码类型,请选择 UTF-8 或者 GBK 编码的输出。<br /><br />'; _v_ico_silk('lightbulb'); echo ' 代码解释'; _v_hr(); echo '<blockquote style="white-space: pre; line-height: 16px; padding: 5px 0px 10px 10px; margin: 0px;">'; _v_ico_silk('bullet_blue'); echo ' <strong>babel_ing_prefix</strong> 前缀文字,比如“当前进行中”,“Currently”等<br />'; _v_ico_silk('bullet_blue'); echo ' <strong>babel_ing_color_prefix</strong> 前缀文字颜色,请使用 CSS 颜色语法<br />'; _v_ico_silk('bullet_blue'); echo ' <strong>babel_ing_color_time</strong> 时间戳颜色,请使用 CSS 颜色语法<br />'; echo '</blockquote>'; _v_ico_silk('control_play_blue'); echo ' 代码片段'; _v_hr(); echo '<h1>UTF-8 <span class="tip_i">适用于大部分网站</span></h1> '; echo '<div class="code"><script type="text/javascript"> babel_ing_prefix = "现在进行中:"; babel_ing_color_prefix = "#999"; babel_ing_color_time = "#999"; </script> <script type="text/javascript" src="http://' . BABEL_DNS_NAME . '/js/ing/' . $User->usr_nick_url . '"> </script></div>'; echo '<h1>GBK <span class="tip_i">适用于使用 GBK | GB2312 | GB18030 编码的网站</span></h1>'; echo '<div class="code"><script type="text/javascript"> babel_ing_prefix = "现在进行中:"; babel_ing_color_prefix = "#999"; babel_ing_color_time = "#999"; </script> <script type="text/javascript" src="http://' . BABEL_DNS_NAME . '/js/ing/' . $User->usr_nick_url . '/gbk"> </script></div>'; echo '</div>'; echo '</div>'; }
* the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software Foundation, * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ define('V2EX_BABEL', 1); require_once 'core/AdminCore.php'; if (isset($_GET['m'])) { $m = fetch_single($_GET['m']); if ($m == '') { $m = 'home'; } } else { $m = 'home'; } define('__PAGE__', $m); $a =& new Admin(); switch ($m) { default: case 'home': $a->vxHome(); break; } ?>
public function vxDeleteProject() { if (isset($_GET['project_id'])) { $project_id = intval($_GET['project_id']); $Project = $this->vxIsExistProject($project_id); if ($Project) { if ($Project->zpr_uid == $this->User->usr_id) { $sql = "DELETE FROM babel_zen_task WHERE zta_pid = {$project_id}"; mysql_unbuffered_query($sql, $this->db); $sql = "DELETE FROM babel_zen_project WHERE zpr_id = {$project_id}"; mysql_query($sql, $this->db); if (mysql_affected_rows($this->db) == 1) { if (isset($_GET['area'])) { $area = strtolower(fetch_single($_GET['area'])); if ($area == 'active') { $o = $this->vxLoadProjectsActive(); echo $o; } elseif ($area == 'done') { $o = $this->vxLoadProjectsDone(); echo $o; } else { echo $this->r_failed; } } else { echo $this->r_failed; } } else { echo $this->r_failed; } } else { echo $this->r_failed; } } else { echo $this->r_failed; } } else { echo $this->r_failed; } }
public function vxSendMoneyCheck() { $rt = array(); $rt['errors'] = 0; $rt['who_value'] = ''; $rt['who_object'] = null; $rt['who_error'] = 0; $rt['who_error_msg'] = array(1 => '你没有输入收款人的名字', 2 => '不能汇款给自己', 3 => '汇款人不存在'); if (isset($_POST['who'])) { $rt['who_value'] = fetch_single($_POST['who']); if ($rt['who_value'] != '') { $sql = "SELECT usr_id, usr_nick, usr_email, usr_money FROM babel_user WHERE usr_nick = '" . mysql_real_escape_string($rt['who_value']) . "'"; $rs = mysql_query($sql); if ($Object = mysql_fetch_object($rs)) { if ($Object->usr_id != $this->User->usr_id) { $rt['who_object'] = $Object; } else { $rt['errors']++; $rt['who_error'] = 2; } } else { $rt['errors']++; $rt['who_error'] = 3; } mysql_free_result($rs); } else { $rt['errors']++; $rt['who_error'] = 1; } } else { $rt['errors']++; $rt['who_error'] = 1; } $rt['amount_value'] = -1; $rt['amount_error'] = 0; $rt['amount_error_msg'] = array(1 => '你没有输入汇款数额', 2 => '每次汇款数额至少为 100 铜币', 3 => '汇款数额超出了你持有的铜币数量'); if (isset($_POST['amount'])) { $rt['amount_value'] = abs(intval($_POST['amount'])); if ($rt['amount_value'] != 0) { if ($rt['amount_value'] >= 100) { $rate = Validator::vxSendMoneyRate($this->User->usr_created, $this->User->usr_money); if ($rt['amount_value'] * (1 + $rate) > $this->User->usr_money) { $rt['fee_value'] = 0; $rt['errors']++; $rt['amount_error'] = 3; } else { $rt['fee_value'] = $rt['amount_value'] * $rate; } } else { $rt['errors']++; $rt['amount_error'] = 2; } } else { $rt['errors']++; $rt['amount_error'] = 1; } } else { $rt['errors']++; $rt['amount_error'] = 1; } $rt['confirm'] = 0; if (isset($_POST['confirm'])) { $confirm = intval($_POST['confirm']); if ($confirm == 1) { $rt['confirm'] = 1; } } return $rt; }