/** * 检查 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(); }
/** * 用户认证,检查用户名密码是否正确 * * @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; }
/** * 用户认证,检查用户名密码是否正确 * * @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; }
/** * 增加商品关联 * * @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); }
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; }