Example #1
0
 public function Index()
 {
     global $user;
     $serverCount = \Model\Node::GetNodeCount();
     $flow = $user->flow_up + $user->flow_down;
     //已用
     $usedflow = Util::FlowAutoShow($user->transfer - $flow);
     //剩余可用
     $user_100 = 0;
     if (!Member::fuckInt($flow) || !Member::fuckInt($user->transfer)) {
         $user_100 = round($flow / $user->transfer, 2) * 100;
     }
     if ($user_100 == 0) {
         $user_100 = 1;
     }
     $all_transfer = Util::FlowAutoShow($user->transfer);
     //共有流量
     $flow = round($flow / Util::GetMB(), 2);
     $checkin = false;
     //是否可以签到
     $checkinTime = date("m-d h:i", $user->lastCheckinTime);
     $lastConnTime = date("Y-m-d h:i:s", $user->lastConnTime);
     $nowUserIp = Util::GetUserIP();
     $data = \Helper\Ana::getAnaCount();
     $userCount = $data['userCount'];
     $checkCount = $data['checkCount'];
     $connCount = $data['connCount'];
     if (time() - 3600 * 24 < $user->lastCheckinTime) {
         $checkin = true;
     }
     include Template::load("panel/member");
 }
Example #2
0
 public function __construct()
 {
     global $user;
     $user = User::getInstance();
     if (!$user->uid) {
         Response::redirect('/Auth/login');
     }
     if (LOCKSCREEN) {
         // check LOACKSCREEN define
         if (!empty(@$_COOKIE['token'])) {
             $token = Util::getToken();
             if ($token > 3600 && stristr(\Core\Request::getRequestPath(), 'lockscreen') == false) {
                 Response::redirect('/Auth/lockscreen');
             }
         } else {
             Response::redirect('/Auth/lockscreen');
         }
     }
     $user = $user->GetUserByEmail($user->email);
 }
Example #3
0
 private function getPostData(Crawler $node, $post_id, $href)
 {
     $tmp = [];
     $tmp['post_id'] = $post_id;
     //标题
     $tmp['title'] = trim($node->filter(".summary h2.title a")->text());
     //回答数
     $tmp['reply_num'] = intval(trim($node->filter(".qa-rank .answers")->text()));
     //浏览数
     $tmp['view_num'] = intval(trim($node->filter(".qa-rank .views")->text()));
     //投票数
     $tmp['vote_num'] = intval(trim($node->filter(".qa-rank .votes")->text()));
     //发布者
     $tmp['author'] = trim($node->filter(".author li a")->eq(0)->text());
     //发布时间
     $origin_time = trim($node->filter(".author li a")->eq(1)->text());
     if (mb_substr($origin_time, -2, 2, 'utf-8') == '提问') {
         $tmp['post_time'] = Util::parseDate($origin_time);
     } else {
         $tmp['post_time'] = Util::parseDate($this->getPostDateByDetail($href));
     }
     //收藏数
     $collect = $node->filter(".author .pull-right");
     if ($collect->count()) {
         $tmp['collect_num'] = intval(trim($collect->text()));
     } else {
         $tmp['collect_num'] = 0;
     }
     $tmp['tags'] = [];
     //标签列表
     $tags = $node->filter(".taglist--inline");
     if ($tags->count()) {
         $tmp['tags'] = $tags->filter(".tagPopup")->each(function (Crawler $node, $i) {
             return $node->filter('.tag')->text();
         });
     }
     $tmp['tag_num'] = count($tmp['tags']);
     return $tmp;
 }
Example #4
0
 public function getGravatar()
 {
     return \Helper\Util::GetGravatar($this->email, 128);
 }
Example #5
0
 public function CheckIn()
 {
     global $user;
     $user = User::GetUserByUserId($user->uid);
     $result = array('error' => 1, 'message' => '');
     if ($user->lastCheckinTime <= time() - 3600 * 24) {
         $checkinTransfer = rand(5, 25) * Util::GetMB();
         $user->lastCheckinTime = time();
         $user->transfer = $user->transfer + $checkinTransfer;
         $user->updateUser();
         $result['user'] = $user;
         $result['time'] = time();
         $result['message'] = '签到成功, 获得' . Util::FlowAutoShow($checkinTransfer) . ' 流量';
     } else {
         $result['message'] = '你已经在 ' . date('Y-m-d H:i:s', $user->lastCheckinTime) . " 时签到过.";
     }
     echo json_encode($result);
     exit;
 }
Example #6
0
 public static function addInvite($uid, $plan = 'A')
 {
     $iv = $uid . substr(hash("sha256", $uid . Util::GetRandomChar(10)), 0, 26);
     $invite = new Invite();
     $invite->uid = $uid;
     $invite->dateLine = time();
     $invite->expiration = 10;
     $invite->inviteIp = Util::GetUserIP();
     $invite->invite = $iv;
     //invite code.
     $invite->reguid = 0;
     $invite->regDateLine = 0;
     $invite->plan = $plan;
     $invite->status = 0;
     $user = User::GetUserByUserId($uid);
     $user->transfer = $user->transfer - Util::GetGB() * 10;
     $user->updateUser();
     return $invite->insertToDB();
 }
 public function CheckIn()
 {
     global $user;
     $result = array('error' => 1, 'message' => '');
     if ($user->lastCheckinTime >= 3600 * 24) {
         $checkinTransfer = rand(5, 25) * Util::GetMB();
         $user->lastCheckinTime = time();
         $user->transfer = $user->transfer + $checkinTransfer;
         $result['message'] = '签到成功, 获得' . $checkinTransfer . 'MB 流量';
     } else {
         $result['message'] = '你已经在 ' . date('Y-m-d H:i:s', $user->lastCheckinTime) . " 时签到过.";
     }
     echo json_encode($result);
     exit;
 }
Example #8
0
 public function register()
 {
     $result = array('error' => 1, 'message' => '注册失败');
     $email = strtolower(trim($_POST['r_email']));
     $userName = trim($_POST['r_user_name']);
     $passwd = trim($_POST['r_passwd']);
     $repasswd = trim($_POST['r_passwd2']);
     $inviteCode = trim($_POST['r_invite']);
     $invite = Invite::GetInviteByInviteCode($inviteCode);
     //校验 invite 是否可用
     if ($invite->status != 0 || $invite == null || empty($invite)) {
         $result['message'] = '邀请码不可用';
     } else {
         if ($repasswd != $passwd) {
             $result['message'] = '两次密码输入不一致';
         } else {
             if (strlen($passwd) < 8) {
                 $result['message'] = '密码太短,至少8字符';
             } else {
                 if (strlen($userName) < 4) {
                     $result['message'] = '昵称太短,至少2中文字符或6个英文字符';
                 } else {
                     if ($chkEmail = Util::MailFormatCheck($email)) {
                         $result['message'] = $chkEmail;
                     } else {
                         $user = new User();
                         $user->email = $email;
                         $user->nickname = $userName;
                         $user->transfer = Util::GetGB() * TRANSFER;
                         // 流量大小
                         $user->invite = $inviteCode;
                         $user->plan = $invite->plan;
                         //将邀请码的账户类型设定到注册用户上.
                         $user->regDateLine = time();
                         $user->lastConnTime = $user->regDateLine;
                         $user->sspwd = Util::GetRandomPwd();
                         $user->insertToDB();
                         $user->port = $user->uid;
                         $invite->reguid = $user->uid;
                         $invite->regDateLine = $user->regDateLine;
                         $invite->status = 1;
                         //-1过期 0-未使用 1-已用
                         $invite->inviteIp = Util::GetUserIP();
                         $invite->updateInvite();
                         $user->updateUser();
                         $user->savePassword($passwd);
                         if (null != $user->uid && 0 != $user->uid) {
                             $result['error'] = 0;
                             $result['message'] = '注册成功';
                         }
                     }
                 }
             }
         }
     }
     echo json_encode($result);
     exit;
 }
Example #9
0
 public static function addInvite($uid, $plan = 'A')
 {
     $iv = $uid . hash("sha256", $uid . Util::GetRandomChar(10));
     $invite = new Invite();
     $invite->uid = $uid;
     $invite->dateLine = time();
     $invite->expiration = 10;
     $invite->inviteIp = Util::GetUserIP();
     $invite->invite = $iv;
     //invite code.
     $invite->reguid = 0;
     $invite->regDateLine = 0;
     $invite->plan = $plan;
     $invite->status = 0;
     $invite->insertToDB();
 }
Example #10
0
 public function getFlow()
 {
     return \Helper\Util::ToGB($this->transfer);
 }