/** * */ public function getactivecodeAction() { /** @var \Zend\Http\Request $request */ $request = $this->getRequest(); $sl = $this->getServiceLocator(); /* @var $userMapper \User\Model\UserMapper() */ $userMapper = $sl->get('User\\Model\\UserMapper'); /* @var $userService \User\Service\User() */ $userService = $sl->get('User\\Service\\User'); /* @var $form \User\Form\GetActiveCode() */ $form = $sl->get('User\\Form\\GetActiveCode'); $form->setInputFilter($sl->get('User\\Form\\GetActiveCodeFilter')); $message = ''; if ($request->isPost()) { $form->setData($request->getPost()); if ($form->isValid()) { $validator = new \Zend\Validator\EmailAddress(); $user = new User(); $translator = $sl->get('translator'); if ($validator->isValid($request->getPost('inputStr')) && $request->getPost('captcha')) { $user->setEmail($request->getPost('inputStr')); } else { $user->setUsername($request->getPost('inputStr')); } $us = $userMapper->get(null, $user->getUsername(), $user->getEmail()); if (!$us) { $message = '<p class="error">' . $translator->translate('Địa chỉ email hoặc tên đăng nhập không chính xác') . '</p>'; } else { if ($us->getActive() != null) { $message = '<p class="error">' . $translator->translate('Tài khoản của bạn đã được kích hoạt') . '</p>'; } else { $userService->sendActiveLink($user); $message = '<p>' . $translator->translate('Xác nhận gửi lại link kích hoạt tài khoản thành công, vui lòng kiểm tra lại địa chỉ email của bạn để nhận link kích hoạt tài khoản') . '</p>'; } } } } $viewModel = new ViewModel(array('form' => $form, 'message' => $message)); return $viewModel; }
/** * @param \User\Model\User $item */ public function loadIds($item) { $select = $this->getDbSql()->select(array('u' => self::TABLE_NAME)); $select->columns(['id']); if ($item->getUsername()) { $select->where(['(u.username LIKE ? OR u.fullName LIKE ? OR u.email LIKE ?)' => ['%' . $item->getUsername() . '%', '%' . $item->getUsername() . '%', '%' . $item->getUsername() . '%']]); } $query = $this->getDbSql()->buildSqlString($select); $rows = $this->getDbAdapter()->query($query, Adapter::QUERY_MODE_EXECUTE); $result = []; if ($rows->count()) { foreach ($rows as $row) { $row = (array) $row; $result[$row['id']] = $row['id']; } } if (count($result)) { return $result; } else { return [-1]; } }
/** * @param \User\Model\User $user * @return boolean */ public function updateUser(\User\Model\User $user) { if (!$user->getId() && !$user->getEmail() && !$user->getUsername()) { return false; } /* @var $userMapper \User\Model\UserMapper */ $userMapper = $this->getServiceLocator()->get('User\\Model\\UserMapper'); if ($user->getPassword()) { $user->setSalt(substr(md5(rand(2000, 5000) . time() . rand(2000, 5000)), 0, 20)); $user->setPassword(md5($user->getSalt() . $user->getPassword())); } return $userMapper->updateUser($user); }
public function update(UserModel $user) { $sql = 'UPDATE user SET email=:email, username=:username, password=:password, firstname=:firstname, lastname=:lastname, birthdate=:birthdate, isActive=:isActive WHERE id=:id '; $this->getDb()->beginTransaction(); try { $stmt = $this->getDb()->prepare($sql); $stmt->execute(array('email' => $user->getEmail(), 'username' => $user->getUsername(), 'password' => $user->getPassword(), 'firstname' => $user->getFirstname(), 'lastname' => $user->getLastname(), 'birthdate' => $user->getBirthdate()->format('Y-m-d'), 'isActive' => $user->getIsActive(), 'id' => (int) $user->getId())); $this->getDb()->commit(); } catch (PDOException $e) { $this->getDb()->rollBack(); throw $e; } }
public function insert(UserModel $user) { $sql = 'INSERT INTO user VALUES (' . 'NULL, ' . "'" . $user->getEmail() . "'," . "'" . $user->getUsername() . "'," . "'" . $user->getPassword() . "'," . "'" . $user->getFirstname() . "'," . "'" . $user->getLastname() . "'," . "'" . $user->getBirthdate()->format('Y-m-d') . "'," . "'" . (int) $user->getIsActive() . "'" . ")"; echo $sql; $this->getDb()->exec($sql); }
/** * @param $option */ public function reportemployee($option) { $select = $this->getDbSql()->select(['ca' => self::TABLE_NAME]); $select->columns(['callcenter', 'mentor', 'count' => new Expression('COUNT(ca.id)'), 'rating' => new Expression('AVG(ca.rating)'), 'createdDate', 'createdDateTime', 'endedDate', 'endedDateTime', 'time' => new Expression('Sum(TIMESTAMPDIFF(MINUTE,`createdDateTime`,`endedDateTime`))')]); $select->where(['endedDate IS NOT NULL', 'endedDateTime IS NOT NULL']); if ($option['fromDate']) { $select->where(['ca.endedDate >= ?' => $option['fromDate']]); } if ($option['toDate']) { $select->where(['ca.endedDate <= ?' => $option['toDate']]); } if ($option['username']) { $predicateSet = new PredicateSet(); $predicateSet->addPredicate(new Like('ca.callcenter', '%' . $option['username'] . '%'), $predicateSet::OP_OR); $predicateSet->addPredicate(new Like('ca.mentor', '%' . $option['username'] . '%'), $predicateSet::OP_OR); $select->where($predicateSet); // // $select->where([ // 'ca.callcenter LIKE ?' => '%'.$option['username'].'%', // 'ca.mentor LIKE ?' => '%'.$option['username'].'%' // ],Predicate::OP_AND); } if ($option['role'] == User::ROLE_MENTOR) { $select->where(['ca.mentor IS NOT NULL', 'ca.callcenter IS NULL']); } if ($option['role'] == User::ROLE_CALLCENTER) { $select->where(['ca.callcenter IS NOT NULL', 'ca.mentor IS NULL']); } $select->group(['endedDate', 'callcenter', 'mentor']); if (isset($option['sort']) && $option['sort']) { $sort = $option['sort']; $select->order([$sort['sort'] . ' ' . $sort['dir']]); } else { $select->order(['endedDate DESC']); } $query = $this->getDbSql()->buildSqlString($select); $rows = $this->getDbAdapter()->query($query, Adapter::QUERY_MODE_EXECUTE); $result = []; $data = []; $usernames = []; $users = []; if (count($rows)) { foreach ($rows as $row) { if ($row['callcenter'] != null) { $usernames[] = $row['callcenter']; } if ($row['mentor'] != null) { $usernames[] = $row['mentor']; } $data[] = $row; } $select1 = $this->getDbSql()->select(['u' => UserMapper::TABLE_NAME]); $select1->where(['u.username' => $usernames]); $query1 = $this->getDbSql()->buildSqlString($select1); $rows1 = $this->getDbAdapter()->query($query1, Adapter::QUERY_MODE_EXECUTE); if (count($rows1)) { foreach ($rows1 as $r) { $u = new User(); $u->exchangeArray((array) $r); $users[$u->getUsername()] = $u; } } $checkDate = ''; foreach ($data as $row) { $timediff = ''; if ($row['endedDate'] != $checkDate) { $checkDate = $row['endedDate']; $createdDatetime = new \DateTime($row['createdDateTime']); $endDatetime = new \DateTime($row['endedDateTime']); $timediff = date_diff($createdDatetime, $endDatetime)->format('%i'); } else { $createdDatetime = new \DateTime($row['createdDateTime']); $endDatetime = new \DateTime($row['endedDateTime']); $timediff += date_diff($createdDatetime, $endDatetime)->format('%i'); } $result[$row['endedDate']][] = ['rating' => $row['rating'], 'count' => $row['count'], 'user' => $row['callcenter'] ? $users[$row['callcenter']] : $users[$row['mentor']], 'time' => $row['time']]; } } return $result; }