Ejemplo n.º 1
0
 /**
  * 检查 order_goods 对应的评论记录是否已经存在
  *
  * @param int $rec_id
  *
  * @return bool
  */
 public function isOrderGoodsCommentExist($rec_id)
 {
     if (!$rec_id) {
         return false;
     }
     // 参数验证
     $validator = new Validator(array('rec_id' => $rec_id));
     $rec_id = $validator->required()->digits()->min(1)->validate('rec_id');
     $this->validate($validator);
     $dataMapper = new DataMapper('goods_comment');
     $dataMapper->loadOne(array('rec_id = ?', $rec_id), null, 0);
     return !$dataMapper->isEmpty();
 }
Ejemplo n.º 2
0
 /**
  * 用户认证,检查用户名密码是否正确
  *
  * @return mixed 失败-返回false,成功-返回用户信息
  *
  * @param string $username  用户名
  * @param string $email     邮箱
  * @param string $password  密码原文
  * */
 public function doAuthAdmin($username, $email, $password)
 {
     // 参数验证
     if (Utils::isBlank($username) && Utils::isBlank($email)) {
         throw new \InvalidArgumentException('user_name, email can not both empty');
     }
     $validator = new Validator(array('password' => $password));
     $password = $validator->required()->validate('password');
     $this->validate($validator);
     $sqlPrepare = array();
     $sqlParam = array();
     $sqlParam[0] = '';
     // 查询语句
     if (!Utils::isBlank($username)) {
         $sqlPrepare[] = 'user_name=?';
         $sqlParam[] = $username;
     }
     if (!Utils::isBlank($email)) {
         $sqlPrepare[] = 'email=?';
         $sqlParam[] = $email;
     }
     $sqlParam[0] = implode(' or ', $sqlPrepare);
     $admin = new DataMapper('admin_user');
     $admin->loadOne($sqlParam);
     if ($admin->isEmpty()) {
         return false;
     }
     // 禁止登陆
     if ($admin['disable']) {
         return false;
     }
     // 验证密码
     if ($admin->password !== $this->encryptPassword($password, $admin->ec_salt)) {
         return false;
     }
     return $admin;
 }
Ejemplo n.º 3
0
 /**
  * 用户认证,检查用户名密码是否正确
  *
  * @return mixed 失败-返回false,成功-返回用户信息
  *
  * @param string $username  用户名
  * @param string $password  密码原文
  * */
 public function doAuthSupplier($username, $password)
 {
     // 参数验证
     $validator = new Validator(array('username' => $username, 'password' => $password));
     $username = $validator->required()->validate('username');
     $password = $validator->required()->validate('password');
     $this->validate($validator);
     $supplier = new DataMapper('suppliers');
     $supplier->loadOne(array('suppliers_account = ?', $username));
     if ($supplier->isEmpty()) {
         return false;
     }
     // 验证密码
     if ($supplier->password !== $this->encryptPassword($password, $supplier->ec_salt)) {
         return false;
     }
     return $supplier;
 }
Ejemplo n.º 4
0
 /**
  * 增加商品关联
  *
  * @param $f3
  */
 public function ajaxAddLink($f3)
 {
     // 权限检查
     $this->requirePrivilege('manage_goods_edit_edit_post', true);
     // 首先做参数验证
     $validator = new Validator($f3->get('GET'));
     $errorMessage = '';
     $goods_id = $validator->required()->digits()->min(1)->validate('goods_id');
     $link_goods_id = $validator->required()->digits()->min(1)->validate('link_goods_id');
     if (!$this->validate($validator)) {
         $errorMessage = implode('|', $this->flashMessageArray);
         goto out_fail;
     }
     $dataMapper = new DataMapper('link_goods');
     $dataMapper->loadOne(array('goods_id = ? and link_goods_id = ?', $goods_id, $link_goods_id));
     // 已经关联了,不要重复关联
     if (!$dataMapper->isEmpty()) {
         goto out;
     }
     $authAdminUser = AuthHelper::getAuthUser();
     // 添加记录
     $dataMapper->goods_id = $goods_id;
     $dataMapper->link_goods_id = $link_goods_id;
     $dataMapper->admin_id = $authAdminUser['user_id'];
     $dataMapper->save();
     //清除缓存,确保商品显示正确
     ClearHelper::clearGoodsCacheById($goods_id);
     // 记录商品编辑日志
     $goodsLogService = new GoodsLogService();
     $goodsLogService->addGoodsLog($goods_id, $authAdminUser['user_id'], $authAdminUser['user_name'], '添加商品关联', $link_goods_id);
     out:
     Ajax::header();
     echo Ajax::buildResult(null, null, null);
     return;
     out_fail:
     // 失败,返回出错信息
     Ajax::header();
     echo Ajax::buildResult(-1, $errorMessage, null);
 }
Ejemplo n.º 5
0
 public function doAuthSnsUser($sns_login, $user_name, $email, $autoRegister = true)
 {
     global $f3;
     $user = new DataMapper('users');
     $user->loadOne(array('sns_login = ?', $sns_login), array('order' => 'user_id asc'));
     if (!$user->isEmpty()) {
         // 记录登录时间和IP地址
         $user->last_login = Time::gmTime();
         $user->last_ip = $f3->get('IP');
         $user->save();
         return $user;
     }
     if (!$autoRegister) {
         return false;
     }
     // 自动注册用户
     $user->sns_login = $sns_login;
     $user->user_name = $user_name;
     $user->email = $email;
     $user->password = uniqid();
     // 记录登录时间和IP地址
     $user->last_login = $user->reg_time = Time::gmTime();
     $user->last_ip = $user->reg_ip = $f3->get('IP');
     $user->save();
     return $user;
 }