Esempio n. 1
0
 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();
 }
Esempio n. 2
0
 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();
 }
Esempio n. 3
0
 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']));
         }
     }
 }
Esempio n. 4
0
 /**
  * (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;
 }
Esempio n. 5
0
 /**
  * (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;
 }
Esempio n. 6
0
 /**
  * @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();
 }
Esempio n. 9
0
 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;
 }
Esempio n. 10
0
 /**
  * @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'))))));
 }
Esempio n. 11
0
 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;
 }
Esempio n. 12
0
 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;
 }
Esempio n. 13
0
 /** 
  * @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;
 }
Esempio n. 14
0
 /**
  * @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();
 }
Esempio n. 16
0
 /**
  * @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 '';
 }
Esempio n. 17
0
 /**
  * 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();
 }
Esempio n. 18
0
 /**
  * (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;
 }
Esempio n. 19
0
 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;
 }
Esempio n. 20
0
 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()));
     }
 }
Esempio n. 21
0
 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;
 }
Esempio n. 22
0
 /**
  * @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());
     //        }
 }
Esempio n. 23
0
 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;
 }
Esempio n. 24
0
 /**
  * @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')));
 }
Esempio n. 25
0
 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();
 }
Esempio n. 26
0
 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;
 }
Esempio n. 27
0
 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;
 }
Esempio n. 30
0
 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;
 }