public function detailAction() { $id = $this->params()->fromQuery('id'); $user = new User(); $user->setId($id); /** @var \User\Model\UserMapper $userMapper */ $userMapper = $this->getServiceLocator()->get('User\\Model\\UserMapper'); if (!$user->getId() || !$userMapper->get($user->getId())) { return $this->page404(); } if (!$this->params()->fromQuery('created') || !DateBase::validateDate($this->params()->fromQuery('created'), DateBase::DISPLAY_DATE_FORMAT)) { return $this->page404(); } $user = $userMapper->get($id); /** @var \Admin\Model\MessagesMG $mess */ $mess = new MessagesMG(); $mess->setSender($user->getUsername()); $mess->setCreated($this->params()->fromQuery('created')); /** @var \Admin\Model\ReportMapper $reportMapper */ $reportMapper = $this->getServiceLocator()->get('Admin\\Model\\ReportMapper'); $data = $reportMapper->reportdetail($mess); $this->getViewModel()->setVariable('data', $data); $this->getViewModel()->setVariable('user', $user); return $this->getViewModel(); }
public function findmentorAction() { if (!$this->getRequest()->isPost()) { return $this->page404(); } $data = $this->getRequest()->getPost(); $form = new SearchDetail($this->getServiceLocator()); $form->setData($data); if ($form->isValid()) { $user = new User(); $user->setEmail($data['email']); $activeKey = md5($user->getEmail() . DateBase::getCurrentDateTime()); $user->setActiveKey($activeKey); $user->setRole(User::ROLE_MEMBER); $user->setCreatedDateTime(DateBase::getCurrentDateTime()); $user->setCreatedDate(DateBase::getCurrentDate()); /** @var \User\Model\UserMapper $userMapper */ $userMapper = $this->getServiceLocator()->get('User\\Model\\UserMapper'); if (!$userMapper->isExistedEmail($user)) { $userMapper->save($user); Uri::autoLink('/user/user/sendemail', ['email' => $data['email'], 'activeKey' => $user->getActiveKey()]); $this->getJsonModel()->setVariables(['code' => 2, 'data' => 'Email kích hoạt tài khoản đã được gửi đến địa chỉ email của bạn. Kiểm tra hòm thư và làm theo hướng dẫn đễ kích hoạt tài khoản.']); return $this->getJsonModel(); } return $this->getViewModel(); } else { $this->getJsonModel()->setVariables(['code' => 1, 'data' => $form->getErrorMessagesList()]); } return $this->getJsonModel(); }
public function init() { $this->addHeader(['attributes' => array(), 'options' => array(), 'columns' => array(array('name' => 'id', 'content' => 'ID'), array('name' => 'fullName', 'content' => 'Họ tên'), array('name' => 'email', 'content' => 'Email'), array('name' => 'description', 'content' => 'Mô tả'), array('name' => 'birthdate', 'content' => 'Ngày sinh'), array('name' => 'createdDateTime', 'content' => 'Ngày đăng kí'))]); if (!is_array($this->getDataSource()) && !$this->getDataSource() instanceof \Zend\Paginator\Paginator) { return; } if ($this->getDataSource() > 0) { /** @var $item \Expert\Model\Expert */ foreach ($this->getDataSource() as $item) { $row = new Row(); $this->addRow($row); // Add $item to row $row->addColumn(array('name' => 'id', 'content' => $item->getId(), 'attributes' => [])); // name $row->addColumn(array('name' => 'name', 'content' => $item->getFullName(), 'attributes' => [])); $row->addColumn(array('name' => 'email', 'content' => $item->getEmail(), 'attributes' => [])); $row->addColumn(array('name' => 'description', 'content' => $item->getDescription(), 'attributes' => [])); $row->addColumn(array('name' => 'birthdate', 'content' => DateBase::toDisplayDate($item->getBirthdate()), 'attributes' => [])); // Status // if($item->getStatus()==1){ // $status = '<i style="color:green;font-size:14px;" class="fa fa-check-circle"></i>'; // }else{ // $status = '<div class="label label-warning">Khóa</div>'; // } $row->addColumn(array('name' => 'createdDateTime', 'content' => DateBase::toDisplayDateTime($item->getCreatedDateTime()), 'attributes' => ['style' => 'position: relative'])); } } }
/** * (non-PHPdoc) * @see \Home\Form\FormBase::getData() */ public function getData($flag = null) { $data = parent::getData(); if ($data['applyDateRange']) { $daterange = explode(' - ', $data['applyDateRange']); $fromDate = $daterange[0]; $toDate = $daterange[1]; $data['fromApplyDate'] = DateBase::toCommonDate(trim($fromDate)); $data['toApplyDate'] = DateBase::toCommonDate(trim($toDate)); } return $data; }
/** * (non-PHPdoc) * @see \Zend\Form\Form::getData() */ public function getData($flag = null) { $data = parent::getData(); if (isset($data['daterangepicker']) && $data['daterangepicker']) { $daterange = explode(' - ', $data['daterangepicker']); $fromDate = $daterange[0]; $toDate = $daterange[1]; $data['fromDate'] = DateBase::toCommonDate(trim($fromDate)); $data['toDate'] = DateBase::toCommonDate(trim($toDate)); } return $data; }
/** * @param Object $obj * @param string|null $thumbnail * @return string */ public static function getViewPath($obj, $thumbnail = null) { switch ($obj) { case $obj instanceof \User\Model\User: if (!$obj->getCreatedDateTime()) { return '/media/users/default/' . $obj->getId() . '/'; } $datePath = DateBase::toFormat($obj->getCreatedDateTime(), 'Ymd'); return '/media/user/' . $datePath . '/' . $obj->getId() . '/' . $obj->getAvatar(); break; } return ''; }
public function addAction() { $form = new \Admin\Form\Expert\Expert($this->getServiceLocator()); if ($this->getRequest()->isPost()) { $form->setData($this->getRequest()->getPost()); if ($form->isValid()) { $data = $form->getData(); /** @var \Expert\Model\Expert $expert */ $expert = new Expert(); $expert->exchangeArray($data); $expert->setCreatedById($this->user()->getIdentity()); $expert->setCreatedDateTime(DateBase::getCurrentDateTime()); $expert->setExtracontent(json_encode($data['subjectName'])); $user = new User(); /** @var \User\Model\UserMapper $userMapper */ $userMapper = $this->getServiceLocator()->get('User\\Model\\UserMapper'); $user = $userMapper->get($expert->getUserId()); $user->setRole(User::ROLE_MENTOR); $userMapper->updateUser($user); /** @var \Expert\Model\ExpertMapper $expertMapper */ $expertMapper = $this->getServiceLocator()->get('Expert\\Model\\ExpertMapper'); /** @var \Subject\Model\SubjectMapper $subjectMapper */ $subjectMapper = $this->getServiceLocator()->get('Subject\\Model\\SubjectMapper'); $expert = $expertMapper->save($expert); $subjectIds = explode(',', $data['subjectId']); foreach ($subjectIds as $subjectId) { $subject = new Subject(); $subject->setId($subjectId); if ($subjectMapper->get($subject)) { $subjectNames[] = $subject->getName(); $expertSubject = new Expert\Subject(); $expertSubject->setExpertId($expert->getId()); $expertSubject->setSubjectId($subjectId); $expertSubject->setCreatedById($this->user()->getIdentity()); $expertSubject->setCreatedDateTime(DateBase::getCurrentDateTime()); /** @var \Expert\Model\Expert\SubjectMapper $expertSubjectMapper */ $expertSubjectMapper = $this->getServiceLocator()->get('Expert\\Model\\Expert\\SubjectMapper'); $expertSubjectMapper->save($expertSubject); } } $expert->setExtracontent(json_encode(implode(',', $subjectNames))); $expertMapper->save($expert); if ($form->get('afterSubmit')->getValue()) { return $this->redirect()->toUrl($form->get('afterSubmit')->getValue()); } } } $this->getViewModel()->setVariable('form', $form); return $this->getViewModel(); }
public function addcategoryAction() { $form = new \Accounting\Form\ExpenseCategory($this->getServiceLocator()); if ($this->getRequest()->isPost()) { $form->setData($this->getRequest()->getPost()); if ($form->isValid()) { $data = $form->getData(); $expenseCategory = new ExpenseCategory(); $expenseCategory->exchangeArray($data); $expenseCategory->setCreatedById($this->user()->getIdentity()); $expenseCategory->setCreatedDateTime(DateBase::getCurrentDateTime()); $expenseCategory->setStatus($expenseCategory::STATUS_ACTIVE); $expenseCategoryMapper = $this->getServiceLocator()->get('Accounting\\Model\\ExpenseCategoryMapper'); $expenseCategoryMapper->save($expenseCategory); if ($form->get('afterSubmit')->getValue()) { return $this->redirect()->toUrl($form->get('afterSubmit')->getValue()); } } } $this->getViewModel()->setVariable('form', $form); return $this->getViewModel(); }
public function addAction() { $jsonModel = new JsonModel(); $name = $this->getRequest()->getPost('name'); if (!$name) { $jsonModel->setVariables(['code' => 0, 'messages' => ['Dữ liệu không hợp lệ']]); return $jsonModel; } $role = new \System\Model\Role(); $role->setName(trim($name)); $roleMapper = $this->getServiceLocator()->get('\\System\\Model\\RoleMapper'); if ($roleMapper->isExisted($role)) { $jsonModel->setVariables(['code' => 0, 'messages' => ['Tên này đã tồn tại']]); return $jsonModel; } $role->setCreatedById($this->user()->getIdentity()); $role->setCreatedDateTime(DateBase::getCurrentDateTime()); $roleMapper->save($role); $jsonModel->setVariable('code', 1); $data = array('id' => $role->getId(), 'name' => $role->getName(), 'order' => ''); $jsonModel->setVariable('data', $data); return $jsonModel; }
/** * @param null|string $name */ public function __construct($serviceLocator, $options = null) { parent::__construct('taskRequirement'); $this->setServiceLocator($serviceLocator); $this->setAttribute('method', 'post'); $filter = $this->getInputFilter(); if ($options && isset($options['id']) && $options['id']) { $this->id = $options['id']; } $taskFile = new \Work\Model\TaskFile(); $taskFile->setTaskId($this->id); $taskFile->setCreatedDateTime(DateBase::getCurrentDateTime()); $targetFolder = Uri::getSavePath($taskFile); if (!file_exists($targetFolder)) { $oldmask = umask(0); mkdir($targetFolder, 0777, true); umask($oldmask); } $task = new Task(); $fileUpload = new File('fileUpload'); $this->add($fileUpload); $filter->add(array('name' => 'fileUpload', 'type' => '\\Zend\\InputFilter\\FileInput', 'required' => true, 'allowEmpty' => true, 'filters' => array(new \Zend\Filter\File\RenameUpload(array('target' => $targetFolder, 'use_upload_name' => true, 'overwrite' => true))), 'validators' => array(array('name' => 'NotEmpty', 'break_chain_on_failure' => true, 'options' => array('messages' => array('isEmpty' => 'Bạn chưa chọn file'))), array('name' => 'File\\Size', 'break_chain_on_failure' => true, 'options' => array('max' => Task::MAX_FILE_SIZE . 'MB', 'messages' => array(\Zend\Validator\File\Size::TOO_BIG => 'File upload phải < 100Mb'))), array('name' => 'File\\Extension', 'break_chain_on_failure' => true, 'options' => array('extension' => $task->getAllowExtension(), 'messages' => array(\Zend\Validator\File\Extension::FALSE_EXTENSION => 'File upload phải là file ảnh, excel, hoặc msword,pds,pdf')))))); }
public function toFormValues() { $data = array('id' => $this->getId(), 'companyId' => $this->getCompanyId(), 'type' => $this->getType(), 'applyDate' => DateBase::toDisplayDate($this->getApplyDate()) ?: null, 'amount' => $this->getAmount() ?: null, 'description' => $this->getDescription() ?: null, 'status' => $this->getStatus(), 'itemType' => $this->getItemType() ?: null, 'itemId' => $this->getItemId() ?: null); $items = []; if ($this->getOption('items')) { foreach ($this->getOption('items') as $item) { /*@var $item \Accounting\Model\Transaction\Item */ $items[] = $item->toFormValues(); } } $data['items'] = $items; return $data; }
public function updaterolefeatureAction() { $actionId = $this->getRequest()->getPost('actionId'); $roleId = $this->getRequest()->getPost('roleId'); $value = $this->getRequest()->getPost('value'); $jsonModel = new JsonModel(); if (in_array($roleId, array(\User\Model\User::ROLE_ADMIN, \User\Model\User::ROLE_SUPERADMIN, \User\Model\User::ROLE_MEMBER, \User\Model\User::ROLE_GUEST))) { $jsonModel->setVariables(array('code' => 0, 'messages' => ['Không thể điều chỉnh quyền này của nhóm người dùng này'])); return $jsonModel; } $role = new \System\Model\Role(); $role->setId($roleId); $roleMapper = $this->getServiceLocator()->get('\\System\\Model\\RoleMapper'); if (!$roleMapper->get($role)) { $jsonModel->setVariables(array('code' => 0, 'messages' => ['Không tìm thấy quyền này'])); return $jsonModel; } $action = new Action(); $action->setId($actionId); $actionMapper = $this->getServiceLocator()->get('\\System\\Model\\ActionMapper'); if (!$actionMapper->get($action)) { $jsonModel->setVariables(array('code' => 0, 'messages' => ['Không tìm thấy action này'])); return $jsonModel; } $roleFeature = new \System\Model\Role\Feature(); $roleFeature->setActionId($actionId); $roleFeature->setRoleId($roleId); $roleFeatureMapper = $this->getServiceLocator()->get('\\System\\Model\\Role\\FeatureMapper'); if ($value) { if (!$roleFeatureMapper->isExisted($roleFeature)) { $roleFeature->setCreatedById($this->user()->getIdentity()); $roleFeature->setCreatedDateTime(DateBase::getCurrentDateTime()); $roleFeatureMapper->save($roleFeature); } } else { if ($roleFeatureMapper->isExisted($roleFeature)) { $roleFeatureMapper->delete($roleFeature); } } $jsonModel->setVariable('code', 1); return $jsonModel; }
/** * @author DuongNq * @return \Zend\View\Model\JsonModel */ public function avatarAction() { $formData = $this->getRequest()->getPost()->toArray(); /** @var \User\Model\User $user */ $user = new User(); $userMapper = $this->getServiceLocator()->get('User\\Model\\UserMapper'); $user = $userMapper->get($this->user()->getIdentity()); $uri = new \Home\Service\Uri(); $datePath = DateBase::toFormat($user->getCreatedDateTime(), 'Ymd'); if (!file_exists(MEDIA_PATH . '/user/' . $datePath . '/')) { mkdir(MEDIA_PATH . '/user/' . $datePath . '/'); chmod(MEDIA_PATH . '/user/' . $datePath . '/', 0777); } if (!file_exists($uri->getSavePath($user))) { mkdir($uri->getSavePath($user)); chmod($uri->getSavePath($user), 0777); } $avatarFiles = scandir($uri->getSavePath($user)); for ($i = 2; $i < count($avatarFiles); $i++) { if ($user->getAvatar() != $avatarFiles[$i]) { unlink(MEDIA_PATH . '/user/avatar/' . $avatarFiles[$i]); } } $file = $this->params()->fromFiles(); $form = new \User\Form\ProfileFile('fileUpload'); $form->addInputFilter($user); $tempFile = null; foreach ($file as $key => $fileInfo) { $fileInfo['name'] = time() . rand(1, 1000) . '.' . pathinfo($fileInfo['name'], PATHINFO_EXTENSION); $formData['fileUpload'] = $fileInfo; if (getimagesize($fileInfo['tmp_name'])[0] != 119 && getimagesize($fileInfo['tmp_name'])[0] != 119) { if (!$this->smart_resize_image($fileInfo['tmp_name'], null, 119, 119)) { $json = new JsonModel(); $json->setVariables(['code' => 1, 'messages' => 'Ảnh bị lỗi, mời bạn thử ảnh khác']); return $json; } } $form->setData($formData); if ($form->isValid()) { $data = $form->getData(); $user->setAvatar($data['fileUpload']['name']); $userMapper->save($user); } else { // Form not valid, but file uploads might be valid... // Get the temporary file information to show the user in the view $fileErrors = $form->get('fileUpload')->getMessages(); $json = new JsonModel($fileErrors); return $json; if (empty($fileErrors)) { $tempFile = $form->get('fileUpload')->getValue(); } } } $variables = array('code' => 0, 'path' => $uri->getViewPath($user)); $json = new JsonModel($variables); return $json; }
/** * @param \User\Model\User $user */ public function signup(\User\Model\User $user) { $user->setSalt(substr(md5(time() . rand(2000, 5000)), 0, 20)); $user->setCreatedDate(DateBase::getCurrentDate()); $user->setCreatedDateTime(DateBase::getCurrentDateTime()); $user->setPassword(md5($user->getSalt() . $user->getPassword())); $user->setRegisteredDate(date('Y-m-d')); $user->setRegisteredFrom(str_replace('www.', '', strtolower($_SERVER['HTTP_HOST']))); $user->setActiveKey(md5($user->getUsername() . $user->getPassword() . time())); $user->setActiveLink('http://' . $_SERVER['HTTP_HOST'] . '/user/active?u=' . $user->getUsername() . '&c=' . $user->getActiveKey()); $user->setRole(\User\Model\User::ROLE_MEMBER); $sl = $this->getServiceLocator(); $translator = $this->getServiceLocator()->get('translator'); /** @var $mapper \User\Model\UserMapper */ $mapper = $sl->get('User\\Model\\Usermapper'); $mapper->save($user); }
public function paymentAction() { $id = $this->getRequest()->getQuery('id'); if (!$id) { return $this->getViewModel()->setVariable('errorMsg', ['Không tìm thấy phiếu thu chi']); } $transaction = new \Accounting\Model\Transaction(); $transaction->setId($id); $transactionMapper = $this->getServiceLocator()->get('\\Accounting\\Model\\TransactionMapper'); if (!$transactionMapper->get($transaction)) { return $this->getViewModel()->setVariable('errorMsg', ['Không tìm thấy phiếu thu chi']); } if (!in_array($transaction->getStatus(), [\Accounting\Model\Transaction::STATUS_ACCOUNTING])) { return $this->getViewModel()->setVariable('errorMsg', ['Phiếu chưa được hạch toán, không thể kí chi thu']); } $form = new \Accounting\Form\Transaction\ApproveReq($this->getServiceLocator()); $form->setData($transaction->toFormValue()); $form->setCompanyId($transaction->getCompanyId()); $form->setId($transaction->getId()); $this->getViewModel()->setVariable('form', $form); if ($this->getRequest()->isPost()) { $form->setData($this->getRequest()->getPost()); if ($form->isValid()) { $formData = $form->getData(); $transaction->exchangeArray($formData); $transaction->setPaymentById($this->user()->getIdentity()); $transaction->setPaymentDateTime(DateBase::getCurrentDateTime()); $transaction->setStatus(\Accounting\Model\Transaction::STATUS_PAYMENT); $transactionMapper->save($transaction); if (isset($formData['itemData']) && count($formData['itemData'])) { $transactionItemMapper = $this->getServiceLocator()->get('\\Accounting\\Model\\Transaction\\ItemMapper'); foreach ($formData['itemData'] as $itemData) { $transactionItem = new \Accounting\Model\Transaction\Item(); $transactionItem->exchangeArray($itemData); $transactionItem->setTransactionDate($transaction->getApplyDate()); $transactionItem->setTransactionId($transaction->getId()); $transactionItem->setStatus($transaction->getStatus()); $transactionItemMapper->save($transactionItem); } } return $this->redirect()->toUrl('/accounting/transaction/index?id=' . $transaction->getId()); } } $this->getViewModel()->setVariable('transaction', $transaction); $transactionItem = new \Accounting\Model\Transaction\Item(); $transactionItem->setTransactionId($transaction->getId()); $transactionItem->addOption('loadAccountId', true); $transactionItem->addOption('loadExpenseCategory', true); $transactionItemMapper = $this->getServiceLocator()->get('\\Accounting\\Model\\Transaction\\ItemMapper'); $items = $transactionItemMapper->fetchAll($transactionItem); $this->getViewModel()->setVariable('items', $items); $company = new \Company\Model\Company(); $company->setId($transaction->getCompanyId()); $companyMapper = $this->getServiceLocator()->get('\\Company\\Model\\CompanyMapper'); if ($companyMapper->get($company)) { $this->getViewModel()->setVariable('company', $company); } $userMapper = $this->getServiceLocator()->get('\\User\\Model\\UserMapper'); $this->getViewModel()->setVariable('createdBy', $userMapper->get($transaction->getCreatedById())); if ($transaction->getApprovedById()) { $this->getViewModel()->setVariable('approveBy', $userMapper->get($transaction->getApprovedById())); } if ($transaction->getAccountingById()) { $this->getViewModel()->setVariable('accountingBy', $userMapper->get($transaction->getAccountingById())); } $expenseCategory = new \Accounting\Model\ExpenseCategory(); $expenseCategory->setCompanyId($transaction->getCompanyId()); $expenseCategoryMapper = $this->getServiceLocator()->get('\\Accounting\\Model\\ExpenseCategoryMapper'); $tree = new \Home\Model\Tree(); $this->getViewModel()->setVariable('categories', $tree->toArrayRecusived($expenseCategoryMapper->fetchAll($expenseCategory))); $account = new \Accounting\Model\Account(); $account->setCompanyId($transaction->getCompanyId()); $account->addOption('sort', ['sort' => 'c.id', 'dir' => 'ASC']); $accountMapper = $this->getServiceLocator()->get('\\Accounting\\Model\\AccountMapper'); $this->getViewModel()->setVariable('accounts', $tree->toArrayRecusived($accountMapper->fetchAll($account))); return $this->getViewModel(); }
/** * @param Object $obj * @param string|null $thumbnail * @return string */ public static function getViewPath($obj, $thumbnail = null) { switch ($obj) { case $obj instanceof \Crm\Model\Contract\File: if ($obj->getFileName()) { return '/media/contracts/' . $obj->getContractId() . '/' . $obj->getFileName(); } break; case $obj instanceof \Hrm\Model\Recruitment\Candidate: $filePath = DateBase::createFromFormat(DateBase::COMMON_DATE_FORMAT, $obj->getCreatedDate())->format('Ymd'); return '/media/hrm/candidate/' . $filePath . '/' . $obj->getFileName(); break; case $obj instanceof \Work\Model\TaskFile: $filePath = DateBase::createFromFormat(DateBase::COMMON_DATETIME_FORMAT, $obj->getCreatedDateTime())->format('Ymd'); return '/media/work/attachfile/' . $filePath . '/' . $obj->getTaskId() . '/' . $obj->getFileName(); break; case $obj instanceof \Work\Model\MeetingFile: $filePath = DateBase::createFromFormat(DateBase::COMMON_DATETIME_FORMAT, $obj->getCreatedDateTime())->format('Ymd'); return '/media/projects/meetings/' . $filePath . '/' . $obj->getMeetingId() . '/' . $obj->getFileName(); break; case $obj instanceof \Company\Model\AnnouncementFile: //return '/media/company/announcement/'.$obj->getOption('companyId').'/'.$obj->getAnnouncementId().'/'.$obj->getFileName(); if (!$obj->getFilePath()) { return '/media/announcement/temp/' . $obj->getAnnouncementId(); } else { return '/media/announcement/' . $obj->getFilePath() . '/' . $obj->getAnnouncementId(); } break; case $obj instanceof \Document\Model\DocumentFile: $filePath = DateBase::createFromFormat(DateBase::COMMON_DATETIME_FORMAT, $obj->getCreatedDateTime())->format('Ymd'); return '/media/document/documents/' . $filePath . '/' . $obj->getDocumentId() . '/' . $obj->getFileName(); break; case $obj instanceof \Idea\Model\File: $filePath = DateBase::createFromFormat(DateBase::COMMON_DATETIME_FORMAT, $obj->getCreatedDateTime())->format('Ymd'); return '/media/idea/' . $obj->getFilePath() . '/' . $obj->getIdeaId() . '/' . $obj->getFileName(); break; case $obj instanceof \User\Model\User: if (!$obj->getCreatedDateTime()) { return '/media/users/default/' . $obj->getId() . '/'; } $datePath = DateBase::toFormat($obj->getCreatedDateTime(), 'Ymd'); return '/media/user/' . $datePath . '/' . $obj->getId() . '/' . $obj->getAvatar(); break; } return ''; }
/** * lấy ra danh sách employee bị tạo sau mung 1 thang 8 mà ko phải do đồng bộ về * Lấy ra lịch sử tạo tương ứng của employee đó * Nếu có lịch sử, echange array cho employee về lịch sử đó, set code= null * Nếu chưa có lịch sử, tham chiếu theo user để lấy lại tên, email, các thông tin khác đánh về null hết */ public function revertemployee20150818Action() { $fromDate = '2015-08-01 00:00:00'; $dbAdapter = $this->getServiceLocator()->get('dbAdapter'); $dbSql = $this->getServiceLocator()->get('dbSql'); $select = $dbSql->select(['e' => \Hrm\Model\EmployeeMapper::TABLE_NAME]); $select->where(['createdDateTime >= ?' => $fromDate]); $select->where(['createdById != ?' => 1]); $select->where(['code IS NOT NULL']); $select->where(['oneofficeId IS NOT NULL']); $rows = $dbAdapter->query($dbSql->buildSqlString($select), $dbAdapter::QUERY_MODE_EXECUTE); $employeeIds = []; $employees = []; foreach ($rows->toArray() as $row) { $employeeIds[$row['id']] = $row['id']; $employees[$row['id']] = new \Hrm\Model\Employee($row); } if (!count($employeeIds)) { echo 'Ko timf thaays ban ghi naof'; die; } /** lấy ra danh sách employee bị tạo sau mung 1 thang 8 mà ko phải do đồng bộ về*/ $select = $dbSql->select(['h' => \Hrm\Model\Employee\HistoryMapper::TABLE_NAME]); $select->where(['employeeId' => $employeeIds]); $select->where(['type' => 1]); $select->group(['employeeId']); $query = $dbSql->buildSqlString($select); $rows = $dbAdapter->query($dbSql->buildSqlString($select), $dbAdapter::QUERY_MODE_EXECUTE); $histories = []; foreach ($rows->toArray() as $row) { $histories[$row['employeeId']] = gzuncompress($row['dataAfter']); } $this->getViewModel()->setVariable('employees', $employees); $this->getViewModel()->setVariable('histories', $histories); $employeeMapper = $this->getServiceLocator()->get('\\Hrm\\Model\\EmployeeMapper'); $userMapper = $this->getServiceLocator()->get('\\User\\Model\\UserMapper'); foreach ($histories as $employeeId => $history) { $history = json_decode($history, true); $employee = $employees[$employeeId]; $userId = $employee->getUserId(); $employee->exchangeArray($history); if ($employee->getBirthdate()) { $employee->setBirthdate(DateBase::toCommonDate($employee->getBirthdate())); } if ($employee->getQuitDate()) { $employee->setQuitDate(DateBase::toCommonDate($employee->getQuitDate())); } if ($employee->getBirthdate()) { $employee->setBirthdate(DateBase::toCommonDate($employee->getBirthdate())); } if ($employee->getReceiveContractDate()) { $employee->setReceiveContractDate(DateBase::toCommonDate($employee->getReceiveContractDate())); } $employee->setCode(null); $employee->setOneofficeId(null); $employee->setUserId($userId); $employeeMapper->save($employee); echo 'revert từ history employee ' . $employee->getId(); echo '<br/>'; unset($employees[$employeeId]); } if (count($employees)) { foreach ($employees as $employee) { $employee->setCode(null); $employee->setOneofficeId(null); $employee->exchangeArray(array('maritalStatus' => null, 'birthdate' => null, 'birthplace' => null, 'hometown' => null, 'identification' => null, 'identificationPlace' => null, 'identificationDate' => null, 'nation' => null, 'countryId' => null, 'startedDate' => null, 'hasFullPrivilege' => null, 'oneofficeId' => null, 'mobile' => null, 'email' => null, 'yahoo' => null, 'skype' => null, 'facebook' => null, 'religion' => null, 'birthCertificate' => null, 'sittingPositionId' => null, 'workingCityId' => null, 'workingStatus' => null, 'insuranceBookId' => null, 'taxCode' => null, 'bankAccountName' => null, 'bankAccountNumber' => null, 'bankAccountBranch' => null, 'quitDate' => null, 'quitReason' => null, 'quitConfirmedById' => null, 'quitConfirmedDateTime' => null, 'temporateAddress' => null, 'permanentAddress' => null, 'receiveContractDate' => null, 'extraContent' => null)); $user = $userMapper->get($employee->getUserId()); if ($user) { $employee->setFullName($user->getFullName()); list($lastName, $middleName, $firstName) = Format::splitFullName($employee->getFullName()); $employee->setLastName($lastName); $employee->setMiddleName($middleName); $employee->setFirstName($firstName); $employee->setEmail($user->getEmail()); } $employeeMapper->save($employee); echo 'Set lại data ' . $employee->getId(); echo '<br/>'; } } die; //return $this->getViewModel(); }
/** * (non-PHPdoc) * @see \Home\Form\FormBase::getData() */ public function getData($flag = null) { $data = parent::getData($flag); if ($data['applyDate']) { $data['applyDate'] = DateBase::toCommonDate($data['applyDate']); } $itemsArray = json_decode($data['items'], true); $itemData = []; foreach ($itemsArray as $itemDataPopulate) { $itemDataPopulate['accountId'] = $data['accountId']; $itemValidator = new \Accounting\Form\Transaction\ItemValidate($this->getServiceLocator()); $itemValidator->setData($itemDataPopulate); $itemValidator->isValid(); $itemData[] = $itemValidator->getData(); } $data['itemData'] = $itemData; return $data; }
public function toFormValues() { $data = array('id' => $this->getId(), 'username' => $this->getUsername(), 'email' => $this->getEmail(), 'fullName' => $this->getFullName(), 'gender' => $this->getGender(), 'cityId' => $this->getCityId(), 'districtId' => $this->getDistrictId(), 'address' => $this->getAddress(), 'mobile' => $this->getMobile(), 'role' => $this->getRole()); if ($this->getBirthdate()) { $data['birthdate'] = DateBase::toDisplayDate($this->getBirthdate()); } return $data; }
private function uploadDocumentFile() { $documentId = $this->getRequest()->getPost('documentId'); if (!$documentId) { return $this->getJsonModel()->setVariables(array('code' => 0, 'messages' => ['Dữ liệu không hợp lệ'])); } $document = new \Document\Model\Document(); $document->setId($documentId); $documentMapper = $this->getServiceLocator()->get('\\Document\\Model\\DocumentMapper'); /* @var $documentMapper \Document\Model\DocumentMapper */ if (!$documentMapper->get($document)) { return $this->getJsonModel()->setVariables(array('code' => 0, 'messages' => ['Dữ liệu không hợp lệ'])); } $form = new \Home\Form\Media\DocumentFile($this->getServiceLocator(), ['id' => $document->getId()]); $dataPopulate = array_merge_recursive($this->getRequest()->getPost()->toArray(), $this->getRequest()->getQuery()->toArray(), $this->getRequest()->getFiles()->toArray()); $dataPopulate['fileUpload']['name'] = Format::removeSigns($dataPopulate['fileUpload']['name']); $form->setData($dataPopulate); if ($form->isValid()) { $formData = $form->getData(); $file = new \Document\Model\DocumentFile(); $file->setFileName($formData['fileUpload']['name']); $file->setFileSize($formData['fileUpload']['size']); $file->setDocumentId($document->getId()); $file->setCreatedById($this->user()->getIdentity()); $file->setCreatedDateTime(DateBase::getCurrentDateTime()); $fileMapper = $this->getServiceLocator()->get('\\Document\\Model\\DocumentFileMapper'); /* @var $fileMapper \Document\Model\DocumentFileMapper */ $fileMapper->save($file); return $this->getJsonModel()->setVariables(array('code' => 1, 'messages' => $formData)); } else { return $this->getJsonModel()->setVariables(array('code' => 0, 'messages' => $form->getErrorMessagesList())); } }
public function addAction() { /** @var \Zend\Http\Request $request */ $request = $this->getRequest(); $sl = $this->getServiceLocator(); /* @var $cityMapper \Address\Model\CityMapper */ $cityMapper = $sl->get('Address\\Model\\CityMapper'); $city = new \Address\Model\City(); /* @var $districtMapper \Address\Model\DistrictMapper */ $districtMapper = $sl->get('Address\\Model\\DistrictMapper'); $district = new \Address\Model\District(); $districts = array(); if (!!($cityId = $request->getPost('cityId'))) { $district->setCityId($cityId); $districts = $districtMapper->fetchAll($district); } $form = new \System\Form\User\Add($this->getServiceLocator()); $form->setCities($city->toSelectBoxArray($cityMapper->fetchAll())); $form->setDistricts($district->toSelectBoxArray($districts)); if ($this->getRequest()->isPost()) { $data = $this->getRequest()->getPost(); $form->setData($data); if ($form->isValid()) { $user = new User(); $user->exchangeArray($form->getData()); $user->setSalt($user->generateSalt()); $user->setPassword($user->createPassword()); if (!$user->getRole()) { $user->setRole(User::ROLE_GUEST); } if ($user->getBirthdate()) { $user->setBirthdate(DateBase::toCommonDate($user->getBirthdate())); } $user->setActive(1); $user->setCreatedById($this->user()->getIdentity()); $user->setCreatedDate(DateBase::getCurrentDate()); $user->setCreatedDateTime(DateBase::getCurrentDateTime()); $userMapper = $this->getServiceLocator()->get('\\User\\Model\\UserMapper'); $userMapper->save($user); if ($form->get('afterSubmit')->getValue()) { return $this->redirect()->toUrl($form->get('afterSubmit')->getValue()); } } } $viewModel = new ViewModel(); $viewModel->setVariable('form', $form); return $viewModel; }
/** * @param $mess \Admin\Model\MessagesMG */ public function reportdetail($mess) { $dm = $this->getServiceLocator()->get('doctrine.documentmanager.odm_default'); $select = $this->getDbSql()->select(['ca' => self::TABLE_NAME]); $predicateSet = new PredicateSet(); $predicateSet->addPredicate(new Operator('ca.callcenter', Operator::OPERATOR_EQUAL_TO, $mess->getSender()), $predicateSet::OP_OR); $predicateSet->addPredicate(new Operator('ca.mentor', Operator::OPERATOR_EQUAL_TO, $mess->getSender()), $predicateSet::OP_OR); $select->where($predicateSet); $select->where(['ca.endedDate' => DateBase::toCommonDate($mess->getCreated())]); $query = $this->getDbSql()->buildSqlString($select); $rows = $this->getDbAdapter()->query($query, Adapter::QUERY_MODE_EXECUTE); $result = []; $time = ''; foreach ($rows as $r) { $result[DateBase::toDisplayDateTime($r['createdDateTime']) . ' - ' . DateBase::toDisplayDateTime($r['endedDateTime'])] = ['rating' => $r['rating'], 'comment' => $r['note']]; $createdDatetime = new \DateTime($r['createdDateTime']); $endDatetime = new \DateTime($r['endedDateTime']); $timediff = date_diff($createdDatetime, $endDatetime); $result[DateBase::toDisplayDateTime($r['createdDateTime']) . ' - ' . DateBase::toDisplayDateTime($r['endedDateTime'])]['time'] += $timediff->format('%i'); $qb = $dm->createQueryBuilder('Admin\\Model\\MessagesMG'); $qb->field('receiver')->equals($r['room']); $qb->field('created')->range($createdDatetime, $endDatetime); $querymg = $qb->getQuery(); $resultmg = $querymg->execute(); $i = 0; /** @var \Admin\Model\MessagesMG $m */ foreach ($resultmg as $m) { $i++; $result[DateBase::toDisplayDateTime($r['createdDateTime']) . ' - ' . DateBase::toDisplayDateTime($r['endedDateTime'])]['messages'][] = ['sender' => $m->getSender(), 'room' => $m->getReceiver(), 'msg' => $m->getMsg(), 'imgPath' => $m->getImgPath(), 'created' => $m->getCreated()->format(DateBase::DISPLAY_DATETIME_FORMAT)]; // vdump($i.'. Sender: '.$m->getSender().'|| Receiver: '.$m->getReceiver().' || Msg: '.$m->getMsg().' || Created: '.$m->getCreated()->format(DateBase::DISPLAY_DATETIME_FORMAT)); } } return $result; // if($mess->getSender()){ // $qb->field('sender')->equals($mess->getSender()); // } }
public function updateaccountproductAction() { set_time_limit(300); $dbAdapter = $this->getServiceLocator()->get('dbAdapter'); /* @var $dbSql \Zend\Db\Sql\Sql */ $dbSql = $this->getServiceLocator()->get('dbSql'); $update = $dbSql->update(\Crm\Model\Account\ProductMapper::TABLE_NAME); $update->set(['status' => \Crm\Model\Account\Product::STATUS_EXPRIRED]); $update->where(['expiredDate < ?' => DateBase::getCurrentDate()]); $query = $dbSql->buildSqlString($update); $result = $dbAdapter->query($query, $dbAdapter::QUERY_MODE_EXECUTE); echo 'done'; die; }
/** * @param null|string $name */ public function __construct($serviceLocator, $options = null) { parent::__construct('fUserAdd'); $this->setServiceLocator($serviceLocator); $this->setAttribute('method', 'post'); $filter = $this->getInputFilter(); $groupBasic = new DisplayGroup('groupBasic'); $groupBasic->setLabel('Thông tin cơ bản'); $this->add($groupBasic); $username = new Text('username'); $username->setLabel('Tên đăng nhập:'); $username->setAttributes(['maxlength' => 50, 'autocomplete' => 'off']); $this->add($username); $groupBasic->addElement($username); $filter->add(array('name' => 'username', 'required' => true, 'filters' => array(array('name' => 'StringTrim'), array('name' => 'StringToLower')), 'validators' => array(array('name' => 'NotEmpty', 'break_chain_on_failure' => true, 'options' => array('messages' => array('isEmpty' => 'Bạn chưa nhập tên đăng nhập'))), array('name' => 'StringLength', 'break_chain_on_failure' => true, 'options' => array('max' => 50, 'min' => 4, 'messages' => array(StringLength::TOO_LONG => 'Tên đăng nhập giới hạn 4-50 kí tự', StringLength::TOO_SHORT => 'Tên đăng nhập giới hạn 4-50 kí tự'))), array('name' => 'Regex', 'break_chain_on_failure' => true, 'options' => array('pattern' => "/^[a-z0-9_-]{4,32}\$/", 'messages' => array('regexNotMatch' => 'Chỉ chấp nhận các kí tự là chữ, chữ số, dấu - và dấu _'))), array('name' => 'Db\\NoRecordExists', 'options' => array('table' => 'users', 'field' => 'username', 'adapter' => \Zend\Db\TableGateway\Feature\GlobalAdapterFeature::getStaticAdapter(), 'messages' => array('recordFound' => "Tên đăng nhập này đã được sử dụng")))))); $fulName = new Text('fullName'); $fulName->setLabel('Họ tên:'); $fulName->setAttributes(['maxlength' => 255, 'autocomplete' => 'off']); $this->add($fulName); $groupBasic->addElement($fulName); $filter->add(array('name' => 'fullName', 'required' => true, 'filters' => array(array('name' => 'StringTrim')), 'validators' => array(array('name' => 'NotEmpty', 'break_chain_on_failure' => true, 'options' => array('messages' => array('isEmpty' => 'Bạn chưa nhập họ tên'))), array('name' => 'StringLength', 'break_chain_on_failure' => true, 'options' => array('max' => 255, 'min' => 4, 'messages' => array(StringLength::TOO_LONG => 'Tên đăng nhập giới hạn 4-250 kí tự', StringLength::TOO_SHORT => 'Tên đăng nhập giới hạn 4-250 kí tự')))))); $email = new Text('email'); $email->setLabel('Email:'); $email->setAttributes(['maxlength' => 255, 'autocomplete' => 'off']); $this->add($email); $groupBasic->addElement($email); $filter->add(array('name' => 'email', 'required' => true, 'filters' => array(array('name' => 'StringTrim')), 'validators' => array(array('name' => 'NotEmpty', 'break_chain_on_failure' => true, 'options' => array('messages' => array('isEmpty' => 'Bạn chưa nhập email'))), array('name' => 'StringLength', 'break_chain_on_failure' => true, 'options' => array('max' => 50, 'min' => 4, 'messages' => array(StringLength::TOO_LONG => 'Tên đăng nhập giới hạn 4-50 kí tự', StringLength::TOO_SHORT => 'Tên đăng nhập giới hạn 4-50 kí tự'))), array('name' => 'EmailAddress', 'break_chain_on_failure' => true, 'options' => array('messages' => array('emailAddressInvalidFormat' => 'Địa chỉ email không hợp lệ'))), array('name' => 'Db\\NoRecordExists', 'options' => array('table' => 'users', 'field' => 'email', 'adapter' => \Zend\Db\TableGateway\Feature\GlobalAdapterFeature::getStaticAdapter(), 'messages' => array('recordFound' => "Email này đã được sử dụng")))))); $user = new \User\Model\User(); $role = new Select('role'); $role->setLabel('Phân quyền:'); $role->setValueOptions(['' => '- Phân quyền -'] + $user->getRoleDisplays()); $this->add($role); $groupBasic->addElement($role); $filter->add(array('name' => 'role', 'required' => true, 'filters' => array(array('name' => 'StringTrim')), 'validators' => array(array('name' => 'NotEmpty', 'break_chain_on_failure' => true, 'options' => array('messages' => array('isEmpty' => 'Bạn chưa chọn Phân quyền')))))); $password = new Password('password'); $password->setLabel('Mật khẩu:'); $password->setAttributes(['maxlength' => 32, 'autocomplete' => 'off']); $this->add($password); $groupBasic->addElement($password); $filter->add(array('name' => 'password', 'required' => true, 'filters' => array(array('name' => 'StringTrim')), 'validators' => array(array('name' => 'NotEmpty', 'break_chain_on_failure' => true, 'options' => array('messages' => array('isEmpty' => 'Bạn chưa nhập Mật khẩu'))), array('name' => 'StringLength', 'break_chain_on_failure' => true, 'options' => array('max' => 32, 'min' => 6, 'messages' => array(StringLength::TOO_LONG => 'Mật khẩu giới hạn 6-32 kí tự', StringLength::TOO_SHORT => 'Mật khẩu giới hạn 6-32 kí tự')))))); $rePassword = new Password('rePassword'); $rePassword->setLabel('Nhập lại Mật khẩu:'); $rePassword->setAttributes(['maxlength' => 32, 'autocomplete' => 'off']); $this->add($rePassword); $groupBasic->addElement($rePassword); $filter->add(array('name' => 'rePassword', 'required' => true, 'filters' => array(array('name' => 'StringTrim')), 'validators' => array(array('name' => 'NotEmpty', 'break_chain_on_failure' => true, 'options' => array('messages' => array('isEmpty' => 'Bạn chưa nhập lại Mật khẩu'))), array('name' => 'StringLength', 'break_chain_on_failure' => true, 'options' => array('max' => 32, 'min' => 6, 'messages' => array(StringLength::TOO_LONG => 'Mật khẩu giới hạn 6-32 kí tự', StringLength::TOO_SHORT => 'Mật khẩu giới hạn 6-32 kí tự'))), array('name' => 'Identical', 'break_chain_on_failure' => true, 'options' => array('token' => 'password', 'messages' => array('notSame' => 'Xác nhận mật khẩu không chính xác')))))); $mobile = new Text('mobile'); $mobile->setLabel('Mobile:'); $mobile->setAttributes(['maxlength' => 15]); $mobile->setOptions(['leftIcon' => 'fa fa-mobile']); $this->add($mobile); $groupBasic->addElement($mobile); $filter->add(array('name' => 'mobile', 'required' => false, 'filters' => array(array('name' => 'StringTrim'), array('name' => 'Digits')), 'validators' => array(array('name' => 'NotEmpty', 'break_chain_on_failure' => true, 'options' => array('messages' => array('isEmpty' => 'Bạn chưa nhập Mobile'))), array('name' => 'StringLength', 'break_chain_on_failure' => true, 'options' => array('min' => 10, 'max' => 11, 'messages' => array(StringLength::INVALID => 'Mobile phải là dạng 10 hoặc 11 chữ số', StringLength::TOO_SHORT => 'Mobile phải là dạng 10 hoặc 11 chữ số', StringLength::TOO_LONG => 'Mobile phải là dạng 10 hoặc 11 chữ số')))))); // group additional $groupAdditional = new DisplayGroup('groupAdditional'); $groupAdditional->setLabel('Thông tin cá nhân'); $this->add($groupAdditional); $gender = new Select('gender'); $this->add($gender); $groupAdditional->addElement($gender); $gender->setLabel('Giới tính:'); $gender->setValueOptions(array('' => '- Giới tính -', \Home\Model\Consts::GENDER_MALE => 'Nam', \Home\Model\Consts::GENDER_FEMALE => 'Nữ')); $filter->add(array('name' => 'gender', 'required' => false, 'validators' => array(array('name' => 'NotEmpty', 'break_chain_on_failure' => true, 'options' => array('messages' => array('isEmpty' => 'Bạn chưa nhập Giới tính')))))); $birthdate = new Text('birthdate'); $birthdate->setLabel('Ngày sinh:'); $birthdate->setAttributes(['class' => 'datetimepicker', 'data-date-format' => "DD/MM/YYYY"]); $birthdate->setOptions(['leftIcon' => 'fa fa-calendar']); $this->add($birthdate); $groupAdditional->addElement($birthdate); $filter->add(array('name' => 'birthdate', 'required' => false, 'filters' => array(array('name' => 'StringTrim')), 'validators' => array(array('name' => 'Date', 'break_chain_on_failure' => true, 'options' => array('format' => DateBase::getDisplayDateFormat(), 'messages' => array('dateInvalid' => 'Ngày sinh không hợp lệ', 'dateInvalidDate' => 'Ngày sinh không hợp lệ', 'dateFalseFormat' => 'Ngày sinh không hợp lệ')))))); $cityId = new Select('cityId'); $cityId->setLabel('Thành phố:'); $cityId->setValueOptions(array('' => '- Thành phố -')); $this->add($cityId); $groupAdditional->addElement($cityId); $filter->add(array('name' => 'cityId', 'required' => false, 'validators' => array(array('name' => 'NotEmpty', 'break_chain_on_failure' => true, 'options' => array('messages' => array('isEmpty' => 'Bạn chưa nhập thành phố'))), array('name' => 'StringLength', 'break_chain_on_failure' => true, 'options' => array('max' => 250, 'messages' => array(StringLength::INVALID => 'Địa chỉ chỉ giới hạn nhỏ hơn 250 kí tự')))))); $districtId = new Select('districtId'); $districtId->setLabel('Quận huyện:'); $districtId->setValueOptions(array('' => '- Quận huyện -')); $this->add($districtId); $groupAdditional->addElement($districtId); $filter->add(array('name' => 'districtId', 'required' => false, 'validators' => array(array('name' => 'NotEmpty', 'break_chain_on_failure' => true, 'options' => array('messages' => array('isEmpty' => 'Bạn chưa nhập thành phố')))))); $address = new Text('address'); $address->setLabel('Địa chỉ:'); $address->setAttributes(['maxlength' => 255]); $this->add($address); $groupAdditional->addElement($address); $filter->add(array('name' => 'address', 'required' => false, 'filters' => array(array('name' => 'StringTrim')), 'validators' => array(array('name' => 'NotEmpty', 'break_chain_on_failure' => true, 'options' => array('messages' => array('isEmpty' => 'Bạn chưa nhập địa chỉ')))))); $this->add(array('name' => 'afterSubmit', 'type' => 'radio', 'attributes' => array('value' => '/system/user/add'), 'options' => array('layout' => 'fluid', 'clearBefore' => true, 'label' => 'Sau khi lưu dữ liệu:', 'value_options' => array('/system/user/add' => 'Tiếp tục nhập người dùng', '/system/user/index' => 'Hiện danh sách người dùng')))); $this->add(array('name' => 'submit', 'options' => array('clearBefore' => true), 'attributes' => array('type' => 'submit', 'value' => 'Lưu', 'id' => 'btnSaveCrmContact', 'class' => 'btn btn-primary'))); }
public function editAction() { $id = $this->params()->fromQuery('id'); $user = new User(); $user->setId($id); $user->setRole(User::ROLE_MENTOR); /** @var \User\Model\UserMapper $userMapper */ $userMapper = $this->getServiceLocator()->get('User\\Model\\UserMapper'); if (!$user->getId() || !$userMapper->getUser($user)) { return $this->page404(); } $form = new \Admin\Form\Expert\Expert($this->getServiceLocator(), 'edit'); $form->remove('afterSubmit'); $form->setData($user->toFormValues()); $expertsubject = new Expert\Subject(); $expertsubject->setExpertId($user->getId()); /** @var \Expert\Model\Expert\SubjectMapper $subjectExpertmapper */ $subjectExpertmapper = $this->getServiceLocator()->get('Expert\\Model\\Expert\\SubjectMapper'); $subjects = $subjectExpertmapper->fetchAllSubject($expertsubject); $subjectIdbs = []; if ($subjects) { $subjectIdbs = array_keys($subjects[$user->getId()]); } $form->get('subjectId')->setValue(implode(',', $subjectIdbs)); $form->get('userId')->setValue($user->getId()); $userName = $user->getFullName() ? $user->getUsername() . ' - ' . $user->getFullName() : $user->getUsername(); $form->get('userName')->setValue($userName); if ($this->getRequest()->isPost()) { $form->setData($this->getRequest()->getPost()); if ($form->isValid()) { $data = $form->getData(); $user->setDescription($data['description']); if (!$data['subjectId']) { $es = new Expert\Subject(); $es->setExpertId($user->getId()); $subjectExpertmapper->delete($es); } if ($data['subjectId']) { $subjectIdas = explode(',', $data['subjectId']); $subjectIdns = array_diff($subjectIdas, $subjectIdbs); foreach ($subjectIdns as $subjId) { $es = new Expert\Subject(); $es->setExpertId($user->getId()); $es->setSubjectId($subjId); $es->setCreatedById($this->user()->getIdentity()); $es->setCreatedDateTime(DateBase::getCurrentDateTime()); $subjectExpertmapper->save($es); } $subjectIdds = array_diff($subjectIdbs, $subjectIdas); foreach ($subjectIdds as $subjId) { $es = new Expert\Subject(); $es->setExpertId($user->getId()); $es->setSubjectId($subjId); $subjectExpertmapper->delete($es); } } $userMapper->updateUser($user); return $this->redirect()->toUrl('/admin/expert'); } } $this->getViewModel()->setVariables(['form' => $form]); return $this->getViewModel(); }
public function getData($flag = 17) { $data = parent::getData(); if (isset($data['birthdate']) && $data['birthdate']) { $data['birthdate'] = DateBase::toCommonDate($data['birthdate']); } if (!$data['password']) { unset($data['password']); } return $data; }
public function signupemailAction() { $viewModels = new ViewModel(); if (!$this->getRequest()->isPost()) { $viewModels->setTemplate('error/404'); return $viewModels; } if ($this->getRequest()->isPost()) { $email = $this->getRequest()->getPost('email'); $user = new User(); $user->setEmail($email); $activeKey = md5($user->getEmail() . DateBase::getCurrentDateTime()); $user->setActiveKey($activeKey); $user->setRole(User::ROLE_MEMBER); $user->setCreatedDateTime(DateBase::getCurrentDateTime()); $user->setCreatedDate(DateBase::getCurrentDate()); /** @var \User\Model\UserMapper $userMapper */ $userMapper = $this->getServiceLocator()->get('User\\Model\\UserMapper'); $jsonModel = new JsonModel(); if (!$userMapper->isExistedEmail($user)) { $userMapper->save($user); Uri::autoLink('/user/user/sendemail', ['email' => $email, 'activeKey' => $user->getActiveKey()]); $jsonModel->setVariables(['code' => 2, 'data' => 'Email kích hoạt tài khoản đã được gửi đến địa chỉ email của bạn. Kiểm tra hòm thư và làm theo hướng dẫn đễ kích hoạt tài khoản.']); } else { $jsonModel->setVariables(['code' => 1, 'data' => 'Email này đã được đăng ký, bạn vui lòng đăng nhập.']); } } return $jsonModel; }
private function insertaccount($accounts, $companyId, $parentId = null) { if (!$accounts || !count($accounts)) { return null; } $accountMapper = $this->getServiceLocator()->get('\\Accounting\\Model\\AccountMapper'); foreach ($accounts as $accountArray) { $account = new \Accounting\Model\Account(); $account->setCode($accountArray['code']); $account->setName($accountArray['name']); $account->setParentId($parentId); $account->setCompanyId($companyId); if (!$accountMapper->isExisted($account)) { $account->setStatus(\Accounting\Model\Account::STATUS_ACTIVE); $account->setCreatedById($this->user()->getIdentity()); $account->setCreatedDateTime(DateBase::getCurrentDateTime()); $accountMapper->save($account); } if (isset($accountArray['childs']) && count($accountArray['childs'])) { $this->insertaccount($accountArray['childs'], $companyId, $account->getId()); } } }
public function googleAction() { $request = $this->getRequest(); if (trim($request->getQuery('redirect'))) { $_SESSION['redirect'] = trim($request->getQuery('redirect')); } $viewModel = new ViewModel(); $viewModel->setTerminal(true); $response = $this->getResponse(); /* @var $googleLogin \User\Service\GoogleLogin */ require_once 'Google/Client.php'; require_once 'Google/Service/Oauth2.php'; require_once 'Google/Http/REST.php'; require_once 'Google/Http/Request.php'; require_once 'Google/Service/Resource.php'; require_once 'Google/Auth/OAuth2.php'; $config = $this->getServiceLocator()->get('Config'); $clientId = $config['login']['google']['clientId']; $clientSecret = $config['login']['google']['clientSecret']; $url = isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] == 'on' ? 'https://' : 'http://'; $url .= $_SERVER['HTTP_HOST'] . '/user/signin/google'; $client = new \Google_Client(); $client->setApplicationName('MyFirstTest'); $client->setClientId($clientId); $client->setClientSecret($clientSecret); $client->setRedirectUri($url); $client->setScopes(array('https://www.googleapis.com/auth/userinfo.email', 'https://www.googleapis.com/auth/plus.me')); $error = $this->getRequest()->getQuery('error'); if ($error) { echo '<script>window.close()</script>'; } $code = $this->getRequest()->getQuery('code'); if ($code) { $client->authenticate($code); $_SESSION['access_token'] = $client->getAccessToken(); $redirect = 'http://' . $_SERVER['HTTP_HOST'] . $_SERVER['PHP_SELF']; header('Location: ' . filter_var($redirect, FILTER_SANITIZE_URL)); } else { $authUrl = $client->createAuthUrl(); return $this->redirect()->toUrl(filter_var($authUrl, FILTER_SANITIZE_URL)); } //TODO: xoa vi cam giac dau co can if (isset($_SESSION['access_token'])) { $client->setAccessToken($_SESSION['access_token']); } if ($client->isAccessTokenExpired()) { $authUrl = $client->createAuthUrl(); return $this->redirect()->toUrl(filter_var($authUrl, FILTER_SANITIZE_URL)); } //End TODO if ($client->getAccessToken()) { $oauth2 = new \Google_Service_Oauth2($client); $userInfoPlus = $oauth2->userinfo->get(); $_SESSION['access_token'] = $client->getAccessToken(); if (!$userInfoPlus->getEmail()) { echo '<script>window.opener.alert("Không tồn tại thông tin Email của tài khoản trên");window.close()</script>'; } $arrResponse = array('email' => $userInfoPlus->getEmail(), 'name' => $userInfoPlus->getName()); $user = new User(); $userMapper = $this->getServiceLocator()->get('User\\Model\\UserMapper'); $serviceUser = $this->getServiceLocator()->get('User\\Service\\User'); if (!$serviceUser->authenticateGoogle($arrResponse['email'])) { $user->setActive('1'); $user->setEmail($arrResponse['email']); $user->setRole(\User\Model\User::ROLE_MEMBER); $user->setFullName($arrResponse['name']); $user->setCreatedDate(DateBase::getCurrentDate()); $user->setCreatedDateTime(DateBase::getCurrentDateTime()); $userMapper->save($user); // check nếu user đó đã dc mời tham gia dự án sẽ gắn luôn nó với dự án $projectUser = new \Work\Model\ProjectUser(); $projectUser->setUserEmail($user->getEmail()); $projectUser->setUserId($user->getId()); $projectUserMapper = $this->getServiceLocator()->get('\\Work\\Model\\ProjectUserMapper'); $projectUserMapper->updateUserId($projectUser); $this->redirect()->toUrl($url); } else { // check nếu user đó đã dc mời tham gia dự án sẽ gắn luôn nó với dự án $projectUser = new \Work\Model\ProjectUser(); $projectUser->setUserEmail($serviceUser->getUser()->getEmail()); $projectUser->setUserId($serviceUser->getUser()->getId()); $projectUserMapper = $this->getServiceLocator()->get('\\Work\\Model\\ProjectUserMapper'); $projectUserMapper->updateUserId($projectUser); if (!$_SESSION['redirect']) { return $this->redirect()->toUrl('/'); } else { $redirect = $_SESSION['redirect']; unset($_SESSION['redirect']); return $this->redirect()->toUrl($redirect); } } } else { $this->redirect()->toUrl($client->createAuthUrl()); } return $response; }
public function mcaAction() { $dbSql = $this->getServiceLocator()->get('dbSql'); $dbAdapter = $this->getServiceLocator()->get('dbAdapter'); /* @var $dbSql \Zend\Db\Sql\Sql */ $update = $dbSql->update(\System\Model\ModuleMapper::TABLE_NAME); $update->set(['updatedDateTime' => null]); $query = $dbSql->buildSqlString($update); $results = $dbAdapter->query($query, $dbAdapter::QUERY_MODE_EXECUTE); $update = $dbSql->update(\System\Model\ControllerMapper::TABLE_NAME); $update->set(['updatedDateTime' => null]); $query = $dbSql->buildSqlString($update); $results = $dbAdapter->query($query, $dbAdapter::QUERY_MODE_EXECUTE); $update = $dbSql->update(\System\Model\ActionMapper::TABLE_NAME); $update->set(['updatedDateTime' => null]); $query = $dbSql->buildSqlString($update); $results = $dbAdapter->query($query, $dbAdapter::QUERY_MODE_EXECUTE); $updatedDateTime = DateBase::getCurrentDateTime(); $dir = realpath(BASE_PATH . '/module') . '/'; $modules = scandir($dir); $total = 0; $moduleMapper = $this->getServiceLocator()->get('\\System\\Model\\ModuleMapper'); $controllerMapper = $this->getServiceLocator()->get('\\System\\Model\\ControllerMapper'); $actionMapper = $this->getServiceLocator()->get('\\System\\Model\\ActionMapper'); foreach ($modules as $moduleName) { if ($moduleName != '.' && $moduleName != '..' && !strpos($moduleName, 'svn')) { //$moduleName = strtolower($moduleName); $module = new \System\Model\Module(); $module->setName(strtolower($moduleName)); $module->setCreatedById($this->user()->getIdentity()); $module->setStatus(\System\Model\Action::STATUS_ACTIVE); $module->setCreatedDateTime($updatedDateTime); $module->setUpdatedDateTime($updatedDateTime); if ($moduleMapper->isExisted($module)) { echo "<b>{$module->getName()} ==========================</b><br>"; $module->setUpdatedDateTime($updatedDateTime); } else { echo "<b style='color:blue'>{$module->getName()} ==========================</b><br>"; } $moduleMapper->save($module); $controllerDir = @scandir($dir . $moduleName . '/src/' . $moduleName . '/Controller/'); if ($controllerDir) { foreach ($controllerDir as $controllerFile) { if ($controllerFile != '.' && $controllerFile != '..' && !strpos($controllerFile, 'svn') && is_file($dir . $moduleName . '/src/' . $moduleName . '/Controller/' . $controllerFile)) { $controllerName = trim(strtolower(str_replace("Controller.php", "", $controllerFile))); $controller = new \System\Model\Controller(); $controller->setModuleId($module->getId()); $controller->setName($controllerName); $controller->setStatus(\System\Model\Action::STATUS_ACTIVE); $controller->setCreatedById($this->user()->getIdentity()); $controller->setCreatedDateTime($updatedDateTime); $controller->setUpdatedDateTime($updatedDateTime); if ($controllerMapper->isExisted($controller)) { echo "<b>{$controllerName} ---------------------------------</b><br>"; $controller->setUpdatedDateTime($updatedDateTime); } else { echo "<b style='color:blue'>{$controllerName} ---------------------------------</b><br>"; } $controllerMapper->save($controller); require_once $dir . $moduleName . '/src/' . $moduleName . '/Controller/' . $controllerFile; $actions = get_class_methods("\\" . $moduleName . "\\Controller\\" . $controllerName . "Controller"); if (is_array($actions)) { foreach ($actions as $actionName) { if (strpos($actionName, 'Action') && !in_array($actionName, ['getMethodFromAction', 'notFoundAction'])) { $actionName = str_replace('Action', '', $actionName); $action = new \System\Model\Action(); $action->setControllerId($controller->getId()); $action->setName($actionName); $action->setStatus(\System\Model\Action::STATUS_ACTIVE); $action->setDisplay(\System\Model\Action::DISPLAY_INACTIVE); $action->setCreatedById($this->user()->getIdentity()); $action->setCreatedDateTime($updatedDateTime); $action->setUpdatedDateTime($updatedDateTime); if ($actionMapper->isExisted($action)) { $action->setUpdatedDateTime($updatedDateTime); } else { echo ++$total . ": <b style='color:blue'>{$actionName}</b><br>"; } $actionMapper->save($action); } } } else { echo '<b style="color:red">' . ucfirst($moduleName) . '_' . ucfirst($controllerName) . 'Controller </b> has no actions<br>'; } } } } } } die; }