Beispiel #1
0
 public function loginAction()
 {
     global $_F;
     // $_F['debug'] = 1;
     if ($this->isPost()) {
         $username = trim($_POST['username']);
         $password = trim($_POST['password']);
         /*$checkCode = FRequest::getPostString('check_code');
         
                     if (!$checkCode) {
                         return $this->error('请输入验证码!');
                     }*/
         session_start();
         //            if ($checkCode != $_SESSION['rand_code']) {
         //                return $this->error('验证码错误!');
         //            }
         $refer = trim($_POST['refer']);
         if (strpos($refer, 'login')) {
             $refer = null;
         }
         $managerTable = new FTable('manager');
         $encryptPassword = Service_Manager::getEncryptPassword($password);
         $managerData = $managerTable->where(array('username' => $username))->find();
         $managerLoginLogTable = new FTable('manager_login_log');
         $newLoginLogData = array('username' => $username, 'login_time' => date('Y-m-d H:i:s'), 'login_ip' => FRequest::getClientIP());
         if (!$managerData) {
             $newLoginLogData['result'] = 2;
             $newLoginLogData['comment'] = '用户名不存在';
             $managerLoginLogTable->insert($newLoginLogData);
             return $this->error('用户名不存在!');
         } else {
             if ($managerData['password'] == $encryptPassword) {
                 $user_id = $managerData['user_id'];
                 // 获取管理员user_id 和 密钥
                 $user_table = new FTable("user_main");
                 $user = $user_table->where(array("uid" => $user_id))->find();
                 //                    $auth_str = md5("{$managerData['username']}|{$managerData['password']}|{$managerData['gid']}");
                 FSession::set('manager_uid', $managerData['uid']);
                 FSession::set('user_id', $user_id);
                 FSession::set('sid', $user['sid']);
                 // 更新登录时间
                 $managerTable->where(array("uid" => $managerData['uid']))->update(array('last_login_time' => date('Y-m-d H:i:s')));
                 $newLoginLogData['uid'] = $managerData['uid'];
                 $newLoginLogData['result'] = 1;
                 $managerLoginLogTable->insert($newLoginLogData);
                 //                    FCookie::set('manager_auth', "{$managerData['uid']}\t{$auth_str}", 3600000);
                 FResponse::redirect('/');
                 return true;
             } else {
                 $newLoginLogData['result'] = 2;
                 $newLoginLogData['comment'] = '密码错误';
                 $managerLoginLogTable->insert($newLoginLogData);
                 return $this->error('对不起,密码错误!');
             }
         }
     }
     $this->display('admin/login');
 }
Beispiel #2
0
 /**
  * 创建幕幕管理员用户
  */
 public static function addUser()
 {
     //判断5000000uid一下的最新一个
     $user_table = new FTable("user_main");
     $sql_str = " uid < 5000000 and uid > 1000000 ";
     $user = $user_table->fields(array("uid"))->where(array("str" => $sql_str))->order(array("uid" => "desc"))->find();
     $password = microtime();
     $sid = Service_Manager::getEncryptPassword($password);
     if (!$user) {
         $user["uid"] = 1000000;
     }
     $data = array('uid' => $user['uid'] + 1, 'gender' => 1, 'kf_id' => 0, 'reg_time' => date('Y-m-d H:i:s'), 'sid' => $sid);
     $user_table = new FTable("user_main");
     $uid = $user_table->insert($data);
     $data2 = array('uid' => $uid, 'nickname' => "admin_test", 'age' => 1, 'avatar' => "");
     $user_detail_table = new FTable("user_detail");
     $user_detail_table->insert($data2);
     $admin_table = new FTable("admin");
     $data3 = array("uid" => $uid);
     $admin_table->insert($data3);
     return $uid;
 }