示例#1
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();
 }
示例#2
0
 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)));
 }
示例#3
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'))))));
 }
示例#4
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;
 }
示例#5
0
 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');
 }