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 addFileUploadRenameFilter($contractId) { $file = new \Crm\Model\Contract\File(); $file->setContractId($contractId); $targetFolder = \Home\Service\Uri::getSavePath($file); if (!file_exists($targetFolder)) { $oldmask = umask(0); mkdir($targetFolder, 0777, true); umask($oldmask); } $this->getInputFilter()->get('fileUpload')->getFilterChain()->attach(new \Zend\Filter\File\RenameUpload(array('target' => $targetFolder, 'use_upload_name' => true, 'overwrite' => true))); }
/** * @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 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 uploadIdeaFile() { $form = new \Home\Form\Media\IdeaFile($this->getServiceLocator()); if ($this->getRequest()->isPost()) { $dataPopulate = array_merge_recursive($this->getRequest()->getPost()->toArray(), $this->getRequest()->getQuery()->toArray(), $this->getRequest()->getFiles()->toArray()); $form->setData($dataPopulate); if ($form->isValid()) { $formData = $form->getData(); $file = new \Idea\Model\File(); $file->exchangeArray($form->getData()); $file->setCreatedById($this->user()->getIdentity()); $file->setCreatedDateTime(DateBase::getCurrentDateTime()); $fileMapper = $this->getServiceLocator()->get('\\Idea\\Model\\FileMapper'); $fileMapper->save($file); //=======rename file upload============ $targetFolder = \Home\Service\Uri::getSavePath($file); if (!file_exists($targetFolder)) { $oldmask = umask(0); mkdir($targetFolder, 0777, true); umask($oldmask); } rename($formData['fileUpload']['tmp_name'], $targetFolder . '/' . $file->getFileName()); return $this->getJsonModel()->setVariables(array('code' => 1, 'data' => $form->getData())); } else { $formData = $form->getData(); if (isset($formData['fileUpload']['tmp_name'])) { @unlink($formData['fileUpload']['tmp_name']); } return $this->getJsonModel()->setVariables(array('code' => 0, 'messages' => $form->getErrorMessagesList())); } } else { return $this->getJsonModel()->setVariables(array('code' => 0, 'messages' => ['Dữ liệu không hợp lệ'])); } }
/** * Thả nổi các lead sau 1 số ngày nhất định mà ko có ghi nhận activity nào * @return \Zend\View\Model\ViewModel */ public function freeleadAction() { // tạm ko sử dụng nữa echo 'Tạm không hỗ trợ nữa'; die; set_time_limit(300); $dbAdapter = $this->getServiceLocator()->get('dbAdapter'); /* @var $dbAdapter \Zend\Db\Adapter\Adapter */ $dbSql = $this->getServiceLocator()->get('dbSql'); /* @var $dbSql \Zend\Db\Sql\Sql */ $select = $dbSql->select(array('lu' => \Crm\Model\Lead\UserMapper::TABLE_NAME)); $select->join(['lc' => \Crm\Model\Lead\CompanyMapper::TABLE_NAME], new Expression('lu.leadId = lc.leadId AND lu.companyId=lc.companyId'), ['lastActivityDateTime', 'releaseDateTime', 'lc.id' => 'id'], $select::JOIN_LEFT); $select->where(['lu.type' => \Crm\Model\Lead\User::TYPE_SALE]); $select->where(['lc.lastActivityDateTime IS NOT NULL']); $select->where(['lc.accountId IS NULL']); $date = new \DateTime(); $date->setTime('0', 0, 0); $today = $date->format(DateBase::COMMON_DATETIME_FORMAT); $date->sub(new \DateInterval('P' . \Crm\Model\Lead::MAXIMUM_KEEP_DAY . 'D')); $lastActDate = $date->format(DateBase::COMMON_DATETIME_FORMAT); $select->where(['lc.lastActivityDateTime <= ?' => $lastActDate]); $predicateSet = new PredicateSet(); $predicateSet->addPredicate(new IsNull('lc.releaseDateTime'), $predicateSet::OP_OR); $predicateSet->addPredicate(new Operator('lc.releaseDateTime', '<=', $today), $predicateSet::OP_OR); $select->where($predicateSet); $select->limit(300); $query = $dbSql->buildSqlString($select); echo $query; echo '<br/>'; $rows = $dbAdapter->query($query, $dbAdapter::QUERY_MODE_EXECUTE); $leadUserMapper = $this->getServiceLocator()->get('\\Crm\\Model\\Lead\\UserMapper'); $activityMapper = $this->getServiceLocator()->get('\\Crm\\Model\\ActivityMapper'); $leadCompanyMapper = $this->getServiceLocator()->get('\\Crm\\Model\\Lead\\CompanyMapper'); $lcIds = []; if ($rows->count()) { foreach ($rows as $row) { $row = (array) $row; $leadUser = new \Crm\Model\Lead\User($row); $leadUserMapper->delete($leadUser); $activity = new \Crm\Model\Activity(); $activity->setType(\Crm\Model\Activity::TYPE_AUTO_FREE); $activity->setCompanyId($leadUser->getCompanyId()); $activity->setLeadId($leadUser->getLeadId()); $activity->setAccountId($leadUser->getAccountId()); $activity->setTitle('Tự giải phóng sau ' . \Crm\Model\Lead::MAXIMUM_KEEP_DAY . ' ngày'); $activity->setRelatedUserId($leadUser->getUserId()); $activity->setCreatedById(1); $activity->setCreatedDate(DateBase::getCurrentDate()); $activity->setCreatedDateTime(DateBase::getCurrentDateTime()); $activity->setStatus(\Crm\Model\Activity::STATUS_SUCCESS); $activityMapper->save($activity); $lcIds[$row['lc.id']] = $row['lc.id']; } if (count($lcIds)) { $select = $dbSql->select(array('lc' => \Crm\Model\Lead\CompanyMapper::TABLE_NAME)); $select->join(['lu' => \Crm\Model\Lead\UserMapper::TABLE_NAME], new Expression('lu.leadId = lc.leadId AND lu.companyId=lc.companyId AND lu.type=' . \Crm\Model\Lead\User::TYPE_SALE), [], $select::JOIN_LEFT); $select->where(['lc.id' => $lcIds]); $select->where(['lu.id IS NULL']); $relatedLcIds = []; $query = $dbSql->buildSqlString($select); echo $query; $rows = $dbAdapter->query($query, $dbAdapter::QUERY_MODE_EXECUTE); if ($rows->count()) { $currentDatetime = DateBase::getCurrentDateTime(); foreach ($rows as $row) { $row = (array) $row; $leadCompany = new \Crm\Model\Lead\Company($row); $leadCompanyMapper->updateColumns(['lastActivityDateTime' => $currentDatetime], $leadCompany); } } } $updateQuery = 'UPDATE crm_leads_companies lc LEFT JOIN crm_leads_users lu ON lu.companyId=lc.companyId AND lu.leadId=lc.leadId AND lu.type=' . \Crm\Model\Lead\User::TYPE_SALE . ' SET lc.status=' . \Crm\Model\Lead\Company::STATUS_FREE . ' WHERE lc.accountId IS NULL AND lu.id IS NULL'; $updateQuery2 = 'UPDATE crm_leads_companies lc INNER JOIN crm_leads_users lu ON lc.leadId=lu.leadId AND lc.companyId=lu.companyId AND lu.type= ' . \Crm\Model\Lead\User::TYPE_SALE . ' SET lc.status = ' . \Crm\Model\Lead\Company::STATUS_BELONG . ' WHERE lc.leadId IS NOT NULL AND lc.companyId IS NOT NULL'; echo '<br/>'; echo '<br/>'; echo $updateQuery; $results = $dbAdapter->query($updateQuery, $dbAdapter::QUERY_MODE_EXECUTE); echo '<br/>'; echo '<br/>'; echo $updateQuery2; $results = $dbAdapter->query($updateQuery2, $dbAdapter::QUERY_MODE_EXECUTE); echo '<br/>'; echo '<br/>'; echo 'DONE!'; \Home\Service\Uri::autoLink('/system/auto/freelead'); } die; }
public function recalculatecontractAction() { $dbAdapter = $this->getServiceLocator()->get('dbAdapter'); $dbSql = $this->getServiceLocator()->get('dbSql'); $select = $dbSql->select(['c' => \Crm\Model\ContractMapper::TABLE_NAME]); $select->order(['id DESC']); $paginatorAdapter = new \Zend\Paginator\Adapter\DbSelect($select, $dbAdapter); $paginator = new \Zend\Paginator\Paginator($paginatorAdapter); $paginator->setItemCountPerPage(200); $page = $this->getRequest()->getQuery('page', 1); $totalConvert = $this->getRequest()->getQuery('totalConvert', 0); $paginator->setCurrentPageNumber($page); $contractMapper = $this->getServiceLocator()->get('\\Crm\\Model\\ContractMapper'); foreach ($paginator as $row) { $row = (array) $row; $contract = new \Crm\Model\Contract($row); $contractMapper->updatePaid2($contract); $contractMapper->updateValue($contract); $totalConvert++; } $this->getViewModel()->setTerminal(true); $this->getViewModel()->setVariable('paginator', $paginator); $this->getViewModel()->setVariable('page', $page); $this->getViewModel()->setVariable('totalPages', $paginator->count() + 1); $this->getViewModel()->setVariable('totalConvert', $totalConvert); if ($page <= $paginator->count()) { $this->getViewModel()->setVariable('redirectUri', Uri::build('/system/tool/recalculatecontract', ['page' => $page + 1, 'totalConvert' => $totalConvert])); } return $this->getViewModel(); }
public function moveavatarAction() { $oldAvatarfiles = scandir(MEDIA_PATH . '/user/avatar/'); $userMapper = $this->getServiceLocator()->get('User\\Model\\UserMapper'); $uri = new \Home\Service\Uri(); foreach ($oldAvatarfiles as $avatarFile) { if ($avatarFile != '.' && $avatarFile != '..') { $id = explode('.', $avatarFile)[0]; $digitValidator = new \Zend\Validator\Digits(); if ($digitValidator->isValid($id)) { $user = new \User\Model\User(); $user = $userMapper->get($id); $user->setAvatar($avatarFile); copy(MEDIA_PATH . '/user/avatar/' . $avatarFile, $uri->getSavePath($user) . $avatarFile); echo '<b>OLD: </b>' . MEDIA_PATH . '/user/avatar/' . $avatarFile . '<br>'; echo '<b style="color:red">NEW: </b>' . $uri->getSavePath($user) . $avatarFile . '<br>'; $userMapper->save($user); } } } die('Xong'); }