Model\User::checkUserPortIsAvailable PHP Method

checkUserPortIsAvailable() public static method

public static checkUserPortIsAvailable ( $port, $uid )
    public static function checkUserPortIsAvailable($port = 0, $uid)
    {
        if ($port != 0) {
            $stn = DB::sql("SELECT * FROM member WHERE port=? AND uid<>?");
            $stn->bindValue(1, $port, DB::PARAM_INT);
            $stn->bindValue(2, $uid, DB::PARAM_INT);
            $stn->execute();
            return $stn->fetchObject(__CLASS__);
        }
        return null;
    }

Usage Example

Ejemplo n.º 1
0
 /**
  * 修改用户信息
  * @JSON
  */
 public function update()
 {
     $result = array("error" => 1, "message" => "Request failed");
     if ($_POST['user_uid'] != null) {
         $us = UserModel::getUserByUserId(trim($_POST['user_uid']));
         if ($us) {
             if ($_POST['user_email'] != null) {
                 $us->email = $_POST['user_email'];
             }
             if ($_POST['user_nickname'] != null) {
                 $us->nickname = $_POST['user_nickname'];
             }
             if ($_POST['user_port'] != null) {
                 $us->port = $_POST['user_port'];
             }
             if ($_POST['user_sspwd'] != null) {
                 $us->sspwd = $_POST['user_sspwd'];
             }
             if ($_POST['user_plan'] != null) {
                 $us->plan = $_POST['user_plan'];
             }
             if ($_POST['user_invite_num'] != null) {
                 $us->invite_num = $_POST['user_invite_num'];
             }
             if ($_POST['user_transfer'] != null) {
                 $us->transfer = floatval($_POST['user_transfer']) * Utils::GB;
             }
             if ($_POST['user_flow_down'] != null) {
                 $us->flow_down = floatval($_POST['user_flow_down']) * Utils::GB;
                 $us->flow_up = 0;
             }
             if ($_POST['user_enable'] != null) {
                 $us->enable = intval($_POST['user_enable']);
             }
             // 是否启用该用户。该字段会强制用户无法链接到所有服务器!
             if ($_POST['user_payTime'] != null) {
                 $us->payTime = strtotime($_POST['user_payTime']);
             }
             if ($_POST['user_expireTime'] != null) {
                 $us->expireTime = strtotime($_POST['user_expireTime']);
             }
             if ($us->enable != 0 && $us->enable != 1) {
                 $us->enable = 0;
             }
             if ($us->port != null && $us->port != 0) {
                 $rs = UserModel::checkUserPortIsAvailable($us->port, $us->uid);
                 if ($rs) {
                     $result = array("error" => 1, "message" => "端口{$rs->port}已被占用,请更换");
                     return $result;
                 }
             }
             if ($_POST['user_password'] != null && $_POST['user_password'] != '') {
                 // change password
                 $us->setPassword(trim($_POST['user_password']));
             }
             $us->save();
             if ($_POST['user_isAdmin'] != null) {
                 // 如果选中了管理员,设置管理员的值
                 $us->setAdmin($_POST['user_isAdmin']);
             }
             $result['error'] = 0;
             $result['message'] = '更新信息成功';
             $us->plan = Utils::planAutoShow($us->plan);
             $us->transfer = Utils::flowAutoShow($us->transfer);
             $us->flow_down = ($us->flow_up + $us->flow_down) / Utils::GB;
             $us->payTime = date('Y-m-d H:i:s', $us->payTime);
             $us->expireTime = date('Y-m-d H:i:s', $us->expireTime);
             $result['user'] = $us;
         }
     }
     return $result;
 }