Example #1
0
 /**
  * 用户资料管理   首页
  */
 function index()
 {
     //分页类
     import('ORG.Util.Page');
     //搜索栏
     $keyword = trim($_POST['keyword']);
     if (is_numeric($keyword)) {
         $where['id'] = array('eq', $keyword);
     } else {
         $where['username'] = array('like', '%' . $keyword . '%');
     }
     //切换用户状态
     $change_pub = trim($_POST['change_published']);
     if ($change_pub) {
         $where['active'] = array('eq', $change_pub);
     }
     //传值在前台判断
     $this->assign('change_pub', $change_pub);
     //查询数据并进行分页
     $users = new UserModel();
     $counts = $users->where($where)->count();
     $page = new Page($counts, C('PAGESIZE'));
     $show = $page->show();
     $this->assign('show', $show);
     $list = $users->where($where)->order('id')->limit($page->firstRow . ',' . $page->listRows)->select();
     $this->assign('user_lists', $list);
     $this->display();
 }
Example #2
0
 /**
  * 分析学号所在学校
  * @method POST_numberAction
  * @author NewFuture
  */
 public function POST_numberAction()
 {
     if (Input::post('number', $number, 'card')) {
         echo "hello world";
         /*排除学校*/
         if (Input::post('black', $black)) {
             $this->parse($black);
         }
         /*限定学校*/
         if (Input::post('white', $white)) {
             $this->parse($white);
         }
         if ($schools = School::guess($number, $black, $white)) {
             if ($reg = UserModel::where('number', $number)->select('sch_id')) {
                 foreach ($reg as $user) {
                     $schools[$user['sch_id']] = 0;
                 }
             }
             $this->response(1, $schools);
         } else {
             $this->response(0, '无相关学校,请检查学号是否正确');
         }
     } else {
         $this->response(0, '学号格式有误');
     }
 }
Example #3
0
 public function login($user, $password)
 {
     $md5 = md5($password);
     $user = UserModel::where('user', '=', $user)->where('password')->get();
     if ($user) {
         $session = new \RKA\Session();
         $session->set('auth-identity', array('id' => $user->id, 'user' => $user->user, 'password' => $user->password, 'profile' => $user->name, 'group' => $user->group));
     }
 }
 /**
  * @dataProvider provideValidatePraiseList
  */
 public function testAddPraiseSuccess($moodContent, $userPhone)
 {
     $userTable = new UserModel();
     $moodTable = new MoodListModel();
     $praiseTable = new PraiseMoodModel();
     $findUser['phone'] = $userPhone;
     $user = $userTable->where($findUser)->find();
     $findMood['content'] = $moodContent;
     $mood = $moodTable->where($findMood)->find();
     $this->assertTrue(is_numeric($praiseTable->addPraise($user['id'], $mood['id'])));
 }
Example #5
0
 /**
  * 获取用户真实手机
  * GET /user/1/email
  * @method GET_infoAction
  * @param  integer        $id [description]
  * @author NewFuture
  */
 public function GET_emailAction($id = 0)
 {
     $pid = $this->authPrinter();
     if (TaskModel::where('use_id', $id)->where('pri_id', $pid)->get('id')) {
         $email = UserModel::where('id', '=', $id)->get('email');
         $email = $email ? Encrypt::decryptEmail($email) : null;
         $this->response(1, $email);
     } else {
         $this->response(0, '此同学未在此打印过');
     }
 }
Example #6
0
 /**
  * 绑定用户手机
  * @method post_phoneAction
  * @return [type]           [description]
  * @author NewFuture
  */
 public function post_phoneAction()
 {
     $uid = $this->auth();
     if (!Input::post('phone', $phone, 'phone')) {
         $this->response(0, '无效手机号');
     } elseif (UserModel::where('id', '=', $uid)->get('phone')) {
         $this->response(0, '此接口不允许修改手机号');
     } elseif (UserModel::savePhone($phone)) {
         $this->response(1, '修改成功');
     } else {
         $this->response(0, '修改出错');
     }
 }
Example #7
0
 public function postLogin()
 {
     $credentials = \Input::only('email', 'password');
     $user = UserModel::where('email', \Input::get('email'))->first();
     // dd($user);
     if ($user and \Hash::check(\Input::get('password'), $user->password)) {
         Auth::login($user);
         flash('welcome in ' . auth()->user()->username, 'success');
         return redirect('/user/');
     } else {
         flash('unable to login', 'danger');
         return redirect('/user/login');
     }
 }
Example #8
0
 /**
  * 分享文件详细信息
  * GET /share/1
  * @method GET_info
  * @author NewFuture
  * @todo 预览等,权限
  */
 public function GET_infoAction($id = 0)
 {
     $uid = $this->auth();
     if ($share = ShareModel::find($id)) {
         $share['user'] = $share['anonymous'] ? '不愿透露姓名的同学' : UserModel::where('id', $share['use_id'])->get('name');
         if ($uid != $share['use_id']) {
             unset($share['use_id']);
             unset($share['fil_id']);
         }
         $this->response(1, $share);
     } else {
         $this->response(0, '该分享不存在');
     }
 }
Example #9
0
 /**
  * 验证用户名,密码是否正确并存入SESSION中
  */
 function check()
 {
     //得到用户名,密码,验证码
     $username = trim($_POST['username']);
     $password = trim($_POST['password']);
     $verify = trim($_POST['verify']);
     if ($_SESSION['verify'] != strtoupper($verify)) {
         $this->error('验证码出错');
     }
     //实例化用户模型
     $user = new UserModel();
     $userinfo = $user->getByUsername($username);
     if (count($userinfo) > 0) {
         if ($userinfo['password'] != md5($password)) {
             $this->error('密码错误,请重试');
         } else {
             if ($userinfo['active'] != 1) {
                 $this->error('账户未激活,请联系管理员');
             } else {
                 //得到当前时间
                 $current_time = date('Y-m-d H:i:s', time());
                 //判断用户写入
                 $where['username'] = $username;
                 //如果用户登录进来了,把登录时间写进数据库login_record中。
                 $log_record = new LoginRecordModel();
                 $log['login_date'] = $current_time;
                 $log['email'] = $userinfo['email'];
                 $log['username'] = $userinfo['username'];
                 $return_id = $log_record->where($where)->add($log);
                 //将插入返回的主键ID 保存在SESSION中,以便在用户退出的时候更新退出时间
                 $_SESSION['record_id'] = $return_id;
                 //将用户放进SESSION里面,并且更新用户最后登陆时间
                 $_SESSION['username'] = trim($username);
                 $data['last_login_date'] = $current_time;
                 $user->where($where)->save($data);
                 $this->redirect('Manage/index');
             }
         }
     } else {
         $this->error('您输入的用户名不存在');
     }
 }
Example #10
0
 /**
  * 登录函数
  * @method login
  * @access private
  * @author NewFuture[newfuture@yunyin.org]
  * @param  [string]   $password    [md5密码]
  * @return [bool/int] [用户id]
  */
 private function login($number, $password, $sch_id = null)
 {
     $conditon = ['number' => $number];
     //指定学校
     $sch_id and $conditon['sch_id'] = $sch_id;
     $users = UserModel::where($conditon)->select('id,password,sch_id,name');
     if (empty($users)) {
         /*未注册*/
         return null;
     } else {
         /*验证结果*/
         $password = Encrypt::encryptPwd($password, $number);
         $reg_schools = [];
         foreach ($users as &$user) {
             if ($user['password'] == $password) {
                 /*登录成功*/
                 $user['number'] = $number;
                 $token = Auth::token($user);
                 $sessionid = Session::start();
                 unset($user['password']);
                 Session::set('user', $user);
                 Cookie::set('token', $token);
                 // $user['school'] = SchoolModel::getName($user['sch_id']);
                 $result = ['sid' => $sessionid, 'user' => $user, 'msg' => '登录成功!', 'token' => $token];
                 $this->response(1, $result);
                 return true;
             } else {
                 /*验证失败*/
                 $sid = $user['sch_id'];
                 $reg_schools[$sid] = School::getAbbr($sid);
             }
         }
         $this->reg_schools = $reg_schools;
         return false;
     }
 }
 public function editpp()
 {
     if (Input::hasFile('file')) {
         //upload profile picture and set filename to a variale to save to db
         $user = Session::get('sess_api_user_arr');
         $get_userid = $user['userid'];
         $file = Input::file('file');
         $filename = bin2hex(mcrypt_create_iv(10, MCRYPT_DEV_URANDOM)) . "" . $get_userid . "-" . $file->getClientOriginalName() . "_" . rand(1, 100);
         $file->move('public/profilepics', $filename);
         $picture = $filename;
         $user = UserModel::where('userid', $get_userid);
         $user->update(['picture' => $picture]);
         /*
         This part needs to trash the old session that holds the UserModel row being
         processed during login. 
         */
         Session::forget('sess_api_user_arr');
         //Trash the old session
         //Getting the newly updated UserModel row and save it to a new session
         $user = UserModel::where('userid', '=', $get_userid)->first();
         //Get updated row in database after upload picture
         Session::put('sess_api_user_arr', $user);
         //Save session similar to the session name of before's session.
         //return Redirect::intended('http://lock-lockitproject.rhcloud.com/profile');
         $response['status'] = "success";
         $response['message'] = "Profile picture updated!";
         $response['userid'] = $user['userid'];
         $response['firstname'] = $user['firstname'];
         $response['lastname'] = $user['lastname'];
         $response['username'] = $user['username'];
         $response['password'] = $user['password'];
         $response['email'] = $user['email'];
         $response['contact'] = $user['contact'];
         $response['accttype'] = $user['accttype'];
         $response['picture'] = $user['picture'];
         $response['occupation'] = $user['occupation'];
         $response['gender'] = $user['gender'];
         $response['birthday'] = $user['birthday'];
         $response['city'] = $user['city'];
         $response['home'] = $user['home'];
         echo json_encode($response);
     } else {
         $response['status'] = "failed";
         $response['message'] = "Profile picture not updated!";
         echo json_encode($response);
     }
 }
Example #12
0
 /**
  * 绑定邮箱,发送邮箱验证信息
  * PUT /user/1/email {email:"*****@*****.**"}
  * @method GET_infoAction
  * @param  integer        $id [description]
  * @author NewFuture
  */
 public function POST_emailAction($id = 0)
 {
     $id = $this->auth($id);
     $response['status'] = 0;
     if (!Input::post('email', $email, 'email')) {
         $response['info'] = '无效邮箱';
     } elseif (UserModel::getByEmail($email)) {
         $response['info'] = '已经绑定过用户';
     } elseif (!Safe::checkTry('bind_email_' . $id)) {
         $response['info'] = '发送次数过多,12小时之后重试';
     } else {
         /*生成验证码*/
         $name = UserModel::where('id', $id)->get('name');
         $code = ['use_id' => $id, 'type' => 1];
         $Code = new Model('code');
         $Code->delete($code);
         $code['code'] = $id . '_' . Random::word(16);
         $code['content'] = $email;
         /*发送邮件*/
         if ($Code->insert($code) && Mail::sendVerify($email, $code['code'], $name)) {
             $response['status'] = 1;
             $response['info'] = '验证邮件成功发送至:' . $email;
         } else {
             $response['info'] = '邮件发送出错[最多还可重发' . Config::get('try.times') . '次]';
         }
     }
     $this->response = $response;
 }
 public function editpp()
 {
     if (Input::hasFile('file')) {
         //upload profile picture and set filename to a variale to save to db
         $user = Session::get('sess_user_arr');
         $get_userid = $user['userid'];
         $file = Input::file('file');
         $filename = bin2hex(mcrypt_create_iv(10, MCRYPT_DEV_URANDOM)) . "" . $user['username'] . "-" . $file->getClientOriginalName() . "_" . rand(1, 100);
         $file->move('public/profilepics', $filename);
         $picture = $filename;
         $user = UserModel::where('userid', $user['userid']);
         $user->update(['picture' => $picture]);
         /*
         This part needs to trash the old session that holds the UserModel row being
         processed during login. 
         */
         Session::forget('sess_user_arr');
         //Trash the old session
         //Getting the newly updated UserModel row and save it to a new session
         $user = UserModel::where('userid', '=', $get_userid)->first();
         //Get updated row in database after upload picture
         Session::put('sess_user_arr', $user);
         //Save session similar to the session name of before's session.
         return Redirect::intended('/profile');
     } else {
         //set picture to null
         return Redirect::intended('/profile');
     }
 }
Example #14
0
        $this->order = "ORDER BY " . $order;
        return $this;
    }
    function where($where)
    {
        $this->where = "WHERE " . $where;
        return $this;
    }
    function limit($index, $limit = 0)
    {
        $this->limit = "LIMIT " . $index;
        if ($limit) {
            $this->limit .= ",{$limit}";
        }
        return $this;
    }
    function select()
    {
        if (empty($this->tableName)) {
            $this->tableName = str_replace("Model", "", __CLASS__);
            //如果表名不指定,则获取类名
        }
        $selectSql = "SELECT {$this->field}\n                         FROM `{$this->tableName}`\n                         {$this->where}\n                         {$this->order}\n                         {$this->limit}";
        //构造SQL语句模版串
        echo $selectSql;
        //return mysql_query($selectSql);  执行拼接后的SQL语句
    }
}
$user = new UserModel();
$user->where("`user` = 1")->order("`user` DESC")->limit(5)->select();
Example #15
0
 public function moneysave()
 {
     if (!IS_POST) {
         $this->message2('非法操作!', __APP__ . '/Admin');
     }
     $user_model = new UserModel();
     $user_account = new Model('account_log');
     $id = I('id', 0);
     if ($id <= 0) {
         $this->message('未指定会员信息!', __URL__ . '/index');
     }
     $user = $user_model->where('id=' . $id)->find();
     if (empty($user)) {
         $this->message('未找到指定会员信息!', __URL__ . '/index');
     }
     $account_type = I('account_type', 1);
     $bg_type = I('bg_type', 1);
     $addmoney = I('addmoney', 0);
     $reason = I('reason', '');
     if ($addmoney <= 0) {
         $this->message('请填写变动金额!', __URL__ . '/addmoney/id/' . $id);
     }
     if ($reason == '') {
         $this->message('请填写变更原因!', __URL__ . '/addmoney/id/' . $id);
     }
     if ($account_type == 1) {
         if ($bg_type == 1) {
             $money = $user['money'] + $addmoney;
             $content = '增加账户余额' . $addmoney;
         } else {
             $money = $user['money'] - $addmoney;
             $content = '减少账户余额' . $addmoney;
             $addmoney = 0 - $addmoney;
         }
         if ($money < 0) {
             $this->message('该人账户可用余额已不足以冲减!', __URL__ . '/addmoney/id/' . $id);
         }
         $data['money'] = $money;
     } else {
         if ($account_type == 2) {
             if ($bg_type == 1) {
                 $money = $user['refer_money'] + $addmoney;
                 $content = '增加可用佣金' . $addmoney;
             } else {
                 $money = $user['refer_money'] - $addmoney;
                 $content = '减少可用佣金' . $addmoney;
                 $addmoney = 0 - $addmoney;
             }
             $data['refer_money'] = $money;
             if ($money < 0) {
                 $this->message('该人账户可用佣金已不足以冲减!', __URL__ . '/addmoney/id/' . $id);
             }
         }
     }
     $user_model->startTrans();
     if (false !== $user_model->where('id=\'' . $id . '\'')->data($data)->save()) {
         $account_log['user_id'] = $id;
         $account_log['stage'] = 'admin';
         $account_log['money'] = $addmoney;
         $account_log['comm'] = $reason;
         $account_log['addtime'] = $this->getDate();
         if ($account_type == 1) {
             $account_log['remain_money'] = $money;
             $account_log['remain_refer_money'] = $user['refer_money'];
         } else {
             if ($account_type == 2) {
                 $account_log['remain_money'] = $user['money'];
                 $account_log['remain_refer_money'] = $money;
             }
         }
         if (false !== $user_account->data($account_log)->add()) {
             $user_model->commit();
             $content = '对会员' . $user['username'] . $content . ',若为本人操作,请忽略该条提醒!';
             send_fetion($content);
             $this->message('操作成功', __URL__ . '/index');
         } else {
             $user_model->rollback();
             $this->message('操作失败1:' . $user_account->getError(), __URL__ . '/addmoney/id/' . $id);
         }
     } else {
         $user_model->rollback();
         $this->message('操作失败2:' . $user_account->getDbError());
     }
 }
 public function deleteuser()
 {
     $user = new UserModel();
     $id = $_GET['id'];
     if ($user->where("user_id='{$id}'")->delete()) {
         $this->assign("jumpUrl", "__APP__/Manager/index");
         $this->success("delete student success!");
     } else {
         $this->assign("jumpUrl", "__APP__/Manager/index");
         $this->error("delete student failed!");
     }
 }
Example #17
0
 /**
  * 验证找回密码
  * @method POST_verifyAction
  * @author NewFuture
  */
 public function POST_verifyAction()
 {
     $response['status'] = 0;
     if (!Input::post('number', $number, 'card')) {
         $response['info'] = '学号格式有误';
     }
     if (!Input::post('password', $password, 'trim')) {
         $response['info'] = '密码无效';
     } elseif (!Input::post('sch_id', $sch_id, 'int')) {
         $response['info'] = '学校ID无效';
     } elseif (!($id = UserModel::where('number', $number)->get('id'))) {
         $response['info'] = '学号错误或者尚未注册过';
     } else {
         $info = ['number' => $number, 'password' => $password, 'sch_id' => $sch_id];
         if (Input::post('code', $code, 'ctype_alnum')) {
             /*验证码*/
             $info['code'] = $code;
         }
         /*学校系统验证*/
         if (School::verify($info)) {
             /*验证成功*/
             $user['id'] = $id;
             $user['number'] = $number;
             Session::set('find_user', $user);
             $response['status'] = 1;
             $response['info'] = '验证成功,请重置密码';
         } else {
             $response['info'] = '验证失败';
         }
     }
     $this->response = $response;
 }
 public function testAddCommentFail()
 {
     $userTable = new UserModel();
     $moodTable = new MoodListModel();
     $commentTable = new CommentModel();
     $findUser['phone'] = '333333';
     $user = $userTable->where($findUser)->find();
     $findMood['content'] = '我是王五';
     $ret = $commentTable->addComment($user['id'], $mood['id'], '');
     $this->assertTrue($ret === false && $commentTable->getError() == '内容不能为空');
 }
 public function testGetNoSendedLetterByUserId()
 {
     $userTable = new UserModel();
     $findUser['phone'] = '333333';
     $userid = $userTable->where($findUser)->GetField('id');
     $letterTable = new LetterListModel();
     $letterList = $letterTable->getNoSendedLetterByUserId($userid);
     $this->assertTrue(is_array($letterList) && count($letterList) == 1);
 }
 /**
  * @param $resetcode
  */
 public function resetpassword($resetcode)
 {
     $user = UserModel::where('resetcode', '=', $resetcode)->where('password_temp', '!=', '');
     if ($user->count()) {
         //set the user variable to the first user record
         $user = $user->first();
         $user->password = $user->password_temp;
         $user->password_temp = '';
         $user->resetcode = '';
         if ($user->save()) {
             return Redirect::to('login')->with('message', FlashMessage::DisplayAlert('Your account has been reset. You can now log ', 'succes'));
         }
     } else {
         return Redirect::to('login')->with('message', FlashMessage::DisplayAlert('Could not revover account. Please contact the admin.', 'info'));
     }
 }