/** * Validates email address * * @return boolean */ protected function _validateEmail() { $validator = new Zend_Validate_EmailAddress(); $msg = Sanmax_MessageStack::getInstance('SxCms_User'); if (!$validator->isValid($this->_user->getEmail())) { $msg->addMessage('email', $validator->getMessages()); } $exclude = array('field' => 'user_id', 'value' => (int) $this->_user->getId()); $validator = new Zend_Validate_Db_NoRecordExists('User', 'email', $exclude); if (!$validator->isValid($this->_user->getEmail())) { $msg->addMessage('email', $validator->getMessages(), 'common'); } return false == $msg->getMessages('email'); }
public function redirectsAction() { $redirectForm = new Application_Form_Redirect(); $pageMapper = Application_Model_Mappers_PageMapper::getInstance(); $redirectMapper = Application_Model_Mappers_RedirectMapper::getInstance(); $redirectForm->setToasterPages($pageMapper->fetchIdUrlPairs()); $redirectForm->setDefault('fromUrl', 'http://'); if (!$this->getRequest()->isPost()) { $this->view->redirects = $redirectMapper->fetchRedirectMap(); } else { if ($redirectForm->isValid($this->getRequest()->getParams())) { $data = $redirectForm->getValues(); $redirect = new Application_Model_Models_Redirect(); $fromUrlPath = Tools_System_Tools::getUrlPath($data['fromUrl']); $inDbValidator = new Zend_Validate_Db_NoRecordExists(array('table' => 'redirect', 'field' => 'from_url')); if (!$inDbValidator->isValid($fromUrlPath)) { $this->_helper->response->fail(implode('<br />', $inDbValidator->getMessages())); exit; } $redirect->setFromUrl(Tools_System_Tools::getUrlPath($data['fromUrl'])); $redirect->setDomainFrom(Tools_System_Tools::getUrlScheme($data['fromUrl']) . '://' . Tools_System_Tools::getUrlHost($data['fromUrl']) . '/'); if (intval($data['toUrl'])) { $page = $pageMapper->find($data['toUrl']); $redirect->setDomainTo($this->_helper->website->getUrl()); $redirect->setToUrl($page->getUrl()); $redirect->setPageId($page->getId()); } else { $urlValidator = new Validators_UrlRegex(); if (!$urlValidator->isValid($data['toUrl'])) { $this->_helper->response->fail('External url <br />' . implode('<br />', $urlValidator->getMessages())); exit; } $redirect->setDomainTo(Tools_System_Tools::getUrlScheme($data['toUrl']) . '://' . Tools_System_Tools::getUrlHost($data['toUrl']) . '/'); $redirect->setToUrl(Tools_System_Tools::getUrlPath($data['toUrl'])); $redirect->setPageId(null); } $redirectMapper->save($redirect); $this->_helper->cache->clean('toaster_301redirects', '301redirects'); $this->_helper->response->success('Redirect saved'); } else { $this->_helper->response->fail(Tools_Content_Tools::proccessFormMessagesIntoHtml($redirectForm->getMessages(), get_class($redirectForm))); exit; } } $this->view->helpSection = '301s'; $this->view->form = $redirectForm; }
public function registerAction() { if (Zend_Auth::getInstance()->hasIdentity()) { $this->_helper->redirector('index', 'index', 'default'); } $form = new Application_Form_Register(); $this->view->form = $form; $validator = new Zend_Validate_Db_NoRecordExists(array('table' => 'users', 'field' => 'email')); if ($this->getRequest()->isPost()) { $formData = $this->getRequest()->getPost(); if ($form->isValid($formData)) { $email = $this->getRequest()->getPost('email'); if ($validator->isValid($email)) { $username = $this->getRequest()->getPost('login'); $password = $this->getRequest()->getPost('pass'); $date = time(); $user = new Application_Model_DbTable_User(); $result = $user->addUser($username, md5($password), $email, $date); $message = "Вы успешно зарегистрировались на сайте Serializm.com.\r\nЛогин: " . $username . "\r\nПароль: " . $password . "\r\nС уважением, Администрация Serializm.com"; $transport = new Zend_Mail_Transport_Smtp(); Zend_Mail::setDefaultTransport($transport); $mail = new Zend_Mail('utf-8'); $mail->setReplyTo('*****@*****.**', 'Администратор'); $mail->addHeader('MIME-Version', '1.0'); $mail->addHeader('Content-Transfer-Encoding', '8bit'); $mail->addHeader('X-Mailer:', 'PHP/' . phpversion()); $mail->setBodyText($message); $mail->setFrom('*****@*****.**', 'Администратор'); $mail->addTo($email); $mail->setSubject('Успешная регистрация на serializm.com'); $mail->send(); if ($result) { $this->_helper->redirector('index', 'index', 'default'); } } else { $this->view->errMessage = $validator->getMessages(); } } } }
public function newAction() { $request = $this->getRequest(); if ($request->isPost()) { $validator = new Zend_Validate_Db_NoRecordExists(array('table' => 'pipeline_property', 'field' => 'sistem_name')); if ($validator->isValid(strtolower($request->getParam('newPropertySystemName')))) { $newProperty = $this->_createNewProperty(); if (!is_null($newProperty) && $request->getParam('pipelineId') != 0) { $newPropertyValue = $this->_createNewPropertyValue($newProperty->getId()); echo $this->_helper->json($this->_createDataHtml($newProperty, $newPropertyValue)); } } else { // username is invalid; print the reason $messages = $validator->getMessages(); foreach ($messages as $message) { $message = '<tr><td colspan="3"><div class="alert alert-danger" role="alert"><button type="button" class="close" data-dismiss="alert" aria-label="Close"><span aria-hidden="true">×</span></button>' . $message . '</div></td></tr>'; echo $this->_helper->json($message); } } } }