示例#1
11
 /**
  * exec post user question
  * @return void
  * @throws \Exception
  */
 public function execute()
 {
     $post = $this->getRequest()->getPostValue();
     if (!$post) {
         $this->_redirect('*/*/');
         return;
     }
     $this->inlineTranslation->suspend();
     try {
         $postObject = new \Magento\Framework\DataObject();
         $postObject->setData($post);
         $error = false;
         /* validate-checking */
         if (!\Zend_Validate::is(trim($post['name']), 'NotEmpty')) {
             $error = true;
         }
         if (!\Zend_Validate::is(trim($post['comment']), 'NotEmpty')) {
             $error = true;
         }
         if (!\Zend_Validate::is(trim($post['email']), 'EmailAddress')) {
             $error = true;
         }
         /**
          * setting custome param
          * add new elements : product_name & product_sku information
          */
         if (array_key_exists('product_name', $post) && array_key_exists('product_sku', $post)) {
             if (!\Zend_Validate::is(trim($post['product_name']), 'NotEmpty')) {
                 $error = true;
             }
             if (!\Zend_Validate::is(trim($post['product_sku']), 'NotEmpty')) {
                 $error = true;
             }
         }
         /* this column, hideit, is not so sure for using during this process, so I close it temporarily....
            if (!\Zend_Validate::is(trim($post['hideit']), 'NotEmpty')) {
                    $error = true;
            }*/
         if ($error) {
             throw new \Exception();
             //todo
         }
         /* Transport email to user */
         $storeScope = \Magento\Store\Model\ScopeInterface::SCOPE_STORE;
         $transport = $this->_transportBuilder->setTemplateIdentifier($this->scopeConfig->getValue(self::XML_PATH_EMAIL_TEMPLATE, $storeScope))->setTemplateOptions(['area' => \Magento\Backend\App\Area\FrontNameResolver::AREA_CODE, 'store' => \Magento\Store\Model\Store::DEFAULT_STORE_ID])->setTemplateVars(['data' => $postObject])->setFrom($this->scopeConfig->getValue(self::XML_PATH_EMAIL_SENDER, $storeScope))->addTo($this->scopeConfig->getValue(self::XML_PATH_EMAIL_RECIPIENT, $storeScope))->setReplyTo($post['email'])->getTransport();
         $transport->sendMessage();
         $this->inlineTranslation->resume();
         $this->messageManager->addSuccess(__('Hi there, this is Optoma, and thanks for your contacting with us about your questions by nice information, and we will notify you very     soon, see you next time~'));
         /* redirect to new page :: pending */
         $this->_redirect('contact/index');
         return;
     } catch (\Exception $e) {
         /* Error Log should be noted here */
         $this->inlineTranslation->resume();
         $this->messageManager->addError(__('Hi there, this is Optoma, so sorry for that we just cant\'t process your request right now, please wait a minutes and we will contact y    ou very soon~'));
         $this->_redirect('contact/index');
         //todo
         return;
     }
 }
示例#2
1
 /**
  * Post user question
  *
  * @return void
  * @throws \Exception
  */
 public function execute()
 {
     $post = $this->getRequest()->getPostValue();
     if (!$post) {
         $this->_redirect('*/*/');
         return;
     }
     $this->inlineTranslation->suspend();
     try {
         $postObject = new \Magento\Framework\DataObject();
         $postObject->setData($post);
         $error = false;
         if (!\Zend_Validate::is(trim($post['contact_email']), 'EmailAddress')) {
             $error = true;
         }
         if (!\Zend_Validate::is(trim($post['contact_question']), 'NotEmpty')) {
             $error = true;
         }
         if ($error) {
             throw new \Exception();
         }
         $storeScope = \Magento\Store\Model\ScopeInterface::SCOPE_STORE;
         $transport = $this->_transportBuilder->setTemplateIdentifier($this->scopeConfig->getValue(self::XML_PATH_EMAIL_TEMPLATE, $storeScope))->setTemplateOptions(['area' => \Magento\Backend\App\Area\FrontNameResolver::AREA_CODE, 'store' => \Magento\Store\Model\Store::DEFAULT_STORE_ID])->setTemplateVars(['data' => $postObject])->setFrom($this->scopeConfig->getValue(self::XML_PATH_EMAIL_SENDER, $storeScope))->addTo($this->scopeConfig->getValue(self::XML_PATH_EMAIL_RECIPIENT, $storeScope))->setReplyTo($post['contact_email'])->getTransport();
         $transport->sendMessage();
         $this->inlineTranslation->resume();
         $this->messageManager->addSuccess(__('Thanks for contacting us with your comments and questions. We\'ll respond to you very soon.'));
         $this->_redirect('delivery-charges');
         return;
     } catch (\Exception $e) {
         $this->inlineTranslation->resume();
         $this->messageManager->addError(__('We can\'t process your request right now. Sorry, that\'s all we know.'));
         $this->_redirect('delivery-charges');
         return;
     }
 }
示例#3
0
 /**
  * Make sure the user is valid
  *
  * @return void
  */
 public function isValid($value)
 {
     $valid = true;
     $this->_user = $value;
     $namePartsValidator = new Zend_Validate();
     $namePartsValidator->addValidator(new Zend_Validate_NotEmpty(Zend_Validate_NotEmpty::STRING))->addValidator(new Zend_Validate_Alpha(array('allowWhiteSpace' => true)))->addValidator(new Zend_Validate_StringLength(array('min' => 2)));
     if (!$namePartsValidator->isValid($this->_user->getFirstName())) {
         $valid = false;
         $this->_error($this->_view->translate('The first name must have at least 2 characters and consist only of letters'));
     }
     if (!$namePartsValidator->isValid($this->_user->getLastName())) {
         $valid = false;
         $this->_error($this->_view->translate('The last name must have at least 2 characters and consist only of letters'));
     }
     $emailValidator = new Zend_Validate_EmailAddress();
     if (!$emailValidator->isValid($this->_user->getEmail())) {
         $valid = false;
         $this->_error($this->_view->translate('You must entre a valid email'));
     }
     if ($this->_user->isNew()) {
         $usernameValidator = new Zend_Validate();
         $usernameValidator->addValidator(new Zend_Validate_NotEmpty(Zend_Validate_NotEmpty::STRING))->addValidator(new Zend_Validate_Alnum(array('allowWhiteSpace' => false)))->addValidator(new Zend_Validate_StringLength(array('min' => 5)));
         if (!$usernameValidator->isValid($this->_user->getUsername())) {
             $this->_error($this->_view->translate('The username must have at least 5 characters and contains no white spaces'));
         }
     }
     return $valid;
 }
 public function mailAction()
 {
     $error = array();
     $posts = array('First Name' => $_POST['first_name'], 'Last Name' => $_POST['last_name'], 'Email' => $_POST['email'], 'Message' => $_POST['message']);
     $validatorChain = new Zend_Validate();
     $validatorChain->addValidator(new Zend_Validate_NotEmpty());
     $valid_email = new Zend_Validate_EmailAddress();
     if ($valid_email->isValid($posts['Email'])) {
     } else {
         foreach ($valid_email->getMessages() as $message) {
             $error[] = "Email {$message}\n";
         }
     }
     foreach ($posts as $key => $post) {
         if ($validatorChain->isValid($post)) {
         } else {
             foreach ($validatorChain->getMessages() as $message) {
                 $error[] = "{$key} {$message}\n";
             }
         }
     }
     if (count($error) != 0) {
         $this->view->alerts = $error;
     } else {
         $to = '*****@*****.**';
         $subject = 'Email from Illustrated Portland';
         $message = $posts['Message'];
         $headers = "From: {$posts['First Name']} {$posts['Last Name']} <{$posts['Email']}>";
         mail($to, $subject, $message, $headers);
         //$this->view->alerts = array("Thank You! Your message has been sent.");
     }
 }
 /**
  * Save changes to an existing panel. This can be expanded to allow adding of new Panels in the future.
  *
  * @return void
  */
 protected function _savePanel()
 {
     // First of all we need to validate and sanitise the input from the form
     $urlFilter = new Zend_Filter();
     $urlFilter->addFilter(new Zend_Filter_StringTrim());
     $urlFilter->addFilter(new Zend_Filter_StringTrim('/'));
     $requiredText = new Zend_Validate();
     $requiredText->addValidator(new Zend_Validate_NotEmpty());
     $filters = array('id' => 'Digits');
     $validators = array('id' => array('allowEmpty' => true), 'content' => array('allowEmpty' => true));
     $input = new Zend_Filter_Input($filters, $validators, $_POST);
     if ($input->isValid()) {
         // Data is all valid, formatted and sanitized so we can save it in the database
         $panel = new Datasource_Cms_Panels();
         if (!$input->id) {
             // This is a new panel so we need to create a new ID
             // NOT IMPLEMENTED - YET
         } else {
             $panel->saveChanges($input->id, $input->getUnescaped('content'));
             $panelID = $input->id;
         }
         // Changes saved - so send them back with a nice success message
         $this->_helper->getHelper('FlashMessenger')->addMessage(array('saved' => true));
         $this->_helper->getHelper('Redirector')->goToUrl('/cms-admin/panels/edit?id=' . $panelID);
     } else {
         // Invalid data in form
         /*
         print_r($_POST);
         print_r($input->getErrors());
         print_r($input->getInvalid());
         */
     }
 }
示例#6
0
 /**
  * Initializes the form element.
  */
 function init()
 {
     // set label
     $this->setLabel('Email');
     // set required
     $this->setRequired(true);
     // set filter
     $this->addFilter('StringTrim');
     // add validator for max string length
     $this->addValidator('StringLength', false, array(0, 256));
     // add validator for email addresses
     $emailValidator = new Zend_Validate_EmailAddress(Zend_Validate_Hostname::ALLOW_DNS | Zend_Validate_Hostname::ALLOW_LOCAL);
     $this->addValidator($emailValidator);
     // add validator for beeing unique in the database
     $validator = new Zend_Validate();
     $message = 'The email is already in the database, please check if you are already registered.';
     $userTableValidator = new Zend_Validate_Db_NoRecordExists('Auth_User', 'email');
     $userTableValidator->setMessage($message);
     if (!empty($this->_excludeId)) {
         $userTableValidator->setExclude(array('field' => 'id', 'value' => $this->_excludeId));
     }
     $registrationTableValidator = new Zend_Validate_Db_NoRecordExists('Auth_Registration', 'email');
     $registrationTableValidator->setMessage($message);
     // chainvalidators and add to field
     $validator->addValidator($userTableValidator)->addValidator($registrationTableValidator);
     $this->addValidator($validator);
 }
示例#7
0
 /**
  * Initializes the form element.
  */
 function init()
 {
     $this->setLabel('Email');
     // set required
     $this->setRequired(true);
     // set filter
     $this->addFilter('StringTrim');
     // add validator for max string length
     $this->addValidator('StringLength', false, array(0, 256));
     // add validator for email addresses
     $this->addValidator('emailAddress');
     // add validator for beeing unique in the database
     $validator = new Zend_Validate();
     $message = 'The email is already in the database, please check if you are already registered.';
     $participantsTableValidator = new Meetings_Form_Validate_Email('Meetings_Participants', 'email');
     $participantsTableValidator->setMessage($message);
     $participantsTableValidator->setMeetingId($this->_meetingId);
     if (!empty($this->_excludeId)) {
         $participantsTableValidator->setExcludeId($this->_excludeId);
     }
     $registrationTableValidator = new Meetings_Form_Validate_Email('Meetings_Registration', 'email');
     $registrationTableValidator->setMessage($message);
     $registrationTableValidator->setMeetingId($this->_meetingId);
     // chainvalidators and add to field
     $validator->addValidator($participantsTableValidator)->addValidator($registrationTableValidator);
     $this->addValidator($validator);
 }
示例#8
0
 /**
  * Initializes the form element.
  */
 function init()
 {
     // set filter
     $this->addFilter('StringTrim');
     // set required
     $this->setRequired(true);
     // set label
     $this->setLabel(ucfirst($this->getName()));
     // set validator for lowercase or regular alnum
     if (Daiquiri_Config::getInstance()->auth->lowerCaseUsernames) {
         $this->addValidator(new Daiquiri_Form_Validator_LowerCaseAlnum());
     } else {
         $this->addValidator(new Daiquiri_Form_Validator_AlnumUnderscore());
     }
     // add validator for min and max string length
     $minLength = Daiquiri_Config::getInstance()->auth->usernameMinLength;
     $this->addValidator('StringLength', false, array($minLength, 256));
     // add validator for beeing unique in the database
     $validator = new Zend_Validate();
     $message = 'The username is in use, please use another username.';
     $userTableValidator = new Zend_Validate_Db_NoRecordExists('Auth_User', 'username');
     $userTableValidator->setMessage($message);
     if (!empty($this->_excludeId)) {
         $userTableValidator->setExclude(array('field' => 'id', 'value' => $this->_excludeId));
     }
     $registrationTableValidator = new Zend_Validate_Db_NoRecordExists('Auth_Registration', 'username');
     $registrationTableValidator->setMessage($message);
     $appTableValidator = new Zend_Validate_Db_NoRecordExists('Auth_Apps', 'appname');
     $appTableValidator->setMessage($message);
     $validator->addValidator($userTableValidator)->addValidator($registrationTableValidator)->addValidator($appTableValidator);
     $this->addValidator($validator);
 }
示例#9
0
 /**
  *
  */
 protected function initStatusValidator()
 {
     $validator = new ZendValidator();
     $validator->addValidator($this->getNotEmpty());
     $validator->addValidator($this->getDigits());
     $this->elements['status'] = $validator;
 }
 public function indexAction()
 {
     $emailValidator = new Zend_Validate_EmailAddress();
     $nameValidator = new Zend_Validate_NotEmpty(array(Zend_Validate_NotEmpty::STRING, Zend_Validate_NotEmpty::SPACE));
     $password1_Validator = new Zend_Validate();
     $password1_Validator->addValidator(new Zend_Validate_StringLength(array('min' => 6, 'max' => 12)))->addValidator(new Zend_Validate_Alnum());
     $password2_Validator = new Zend_Validate();
     $password2_Validator->addValidator(new Zend_Validate_StringLength(array('min' => 6, 'max' => 12)))->addValidator(new Zend_Validate_Alnum());
     $captcha = new Zend_Captcha_Image();
     $captcha->setName('captchaword')->setFont(APPLICATION_PATH . '/data/arial.ttf')->setFontSize(28)->setImgDir(APPLICATION_PATH . '/../public/img')->setImgUrl('/img')->setWordLen(5)->setDotNoiseLevel(20)->setExpiration(300);
     $request = $this->getRequest();
     $post = $request->getPost();
     // $passwordIdentical = new Zend_Validate_Identical(array('token' => $post['password1']));
     $messages = array();
     $error = array();
     $noValiError = true;
     if ($this->getRequest()->isPost()) {
         if (!$emailValidator->isValid($post['user-email'])) {
             $error['user-emailVali'] = '請輸入正確的Email帳號';
             $noValiError = false;
         }
         if (!$nameValidator->isValid($post['name'])) {
             $error['nameVali'] = '姓名必填';
             $noValiError = false;
         }
         if (!$password1_Validator->isValid($post['password1'])) {
             $error['password1_Vali'] = '1.密碼長度需介於6~12之間,而且只能使用數字、英文';
             $noValiError = false;
         }
         if (!$password2_Validator->isValid($post['password2'])) {
             $error['password2_Vali'] = '1.密碼長度需介於6~12之間,而且只能使用數字、英文';
             $noValiError = false;
         }
         if (isset($post['password1']) && isset($post['password2']) && !($post['password1'] == $post['password2'])) {
             $error['passwordIdentical'] = '2.密碼輸入不同';
             $noValiError = false;
         }
         if (!($post['agree'] == 1)) {
             $error['agreeVali'] = '需同意服務條款及隱私權政策,才可以註冊';
             $noValiError = false;
         }
         if (!$captcha->isValid($post['captchaword'])) {
             $error['captchawordVali'] = '認證碼輸入錯誤';
             $noValiError = false;
         }
         if ($noValiError) {
             // register process
             $this->_signup($post);
             $this->view->messages = $post;
             $this->redirect('index/index');
         } else {
             $this->_genCaptcha($captcha);
             $this->view->error = $error;
             $this->view->messages = $post;
         }
     } else {
         $this->_genCaptcha($captcha);
     }
 }
示例#11
0
文件: Text.php 项目: laiello/xinhuxi
 public function validInput($data)
 {
     $validator = new Zend_Validate();
     //$validator->addValidator(new Zend_Validate_Int());
     if ($validator->isValid($data)) {
         return $data;
     } else {
         //$this->_model->isValid = false;
         return $this->_info['errMsg'];
     }
 }
 /**
  * @expectedException \Magento\Framework\Exception\LocalizedException
  * @expectedExceptionMessage The file 'File Title' for 'Option Title' has an invalid extension.
  */
 public function testValidateWithInvalidFile()
 {
     $relativePath = '/custom_options/quote/file';
     $optionValues = ['quote_path' => '/custom_options/quote/file', 'title' => 'File Title'];
     $this->prepare();
     $this->directoryRead->expects($this->once())->method('isReadable')->with($relativePath)->willReturn(false);
     $this->option->expects($this->once())->method('getTitle')->willReturn('Option Title');
     $this->zendValidator->expects($this->at(2))->method('getErrors')->willReturn(true);
     $this->zendValidator->expects($this->at(3))->method('getErrors')->willReturn([\Zend_Validate_File_ExcludeExtension::FALSE_EXTENSION]);
     $this->validator->validate($optionValues, $this->option);
 }
 public function __construct($arrParam = array(), $options = null)
 {
     //////////////////////////////////
     //Kiem tra Name /////////////
     //////////////////////////////////
     if ($arrParam['action'] == 'add') {
         $options = array('table' => 'da_album', 'field' => 'album_name');
     } elseif ($arrParam['action'] == 'edit') {
         $options = array('table' => 'da_album', 'field' => 'album_name', 'exclude' => array('field' => 'id', 'value' => $arrParam['id']));
     }
     $validator = new Zend_Validate();
     $validator->addValidator(new Zend_Validate_NotEmpty(), true)->addValidator(new Zend_Validate_StringLength(3, 100), true);
     if (!$validator->isValid($arrParam['album_name'])) {
         $message = $validator->getMessages();
         $this->_messageError['album_name'] = 'Tên album: ' . current($message);
         $arrParam['album_name'] = '';
     }
     //////////////////////////////////
     //Kiem tra Picture small ///////////
     //////////////////////////////////
     $upload = new Zend_File_Transfer_Adapter_Http();
     $fileInfo = $upload->getFileInfo('picture');
     $fileName = $fileInfo['picture']['name'];
     if (!empty($fileName)) {
         $upload->addValidator('Extension', true, array('jpg', 'gif', 'png'), 'picture');
         $upload->addValidator('Size', true, array('min' => '2KB', 'max' => '1000KB'), 'picture');
         if (!$upload->isValid('picture')) {
             $message = $upload->getMessages();
             $this->_messageError['picture'] = 'Hình ảnh đại diện: ' . current($message);
         }
     }
     //////////////////////////////////
     //Kiem tra Order /////////////
     //////////////////////////////////
     $validator = new Zend_Validate();
     $validator->addValidator(new Zend_Validate_StringLength(1, 10), true)->addValidator(new Zend_Validate_Digits(), true);
     if (!$validator->isValid($arrParam['order'])) {
         $message = $validator->getMessages();
         $this->_messageError['order'] = 'Sắp xếp: ' . current($message);
         $arrParam['order'] = '';
     }
     //////////////////////////////////
     //Kiem tra Status /////////////
     //////////////////////////////////
     if (empty($arrParam['status']) || !isset($arrParam['status'])) {
         $arrParam['status'] = 0;
     }
     //========================================
     // TRUYEN CAC GIA TRI DUNG VAO MANG $_arrData
     //========================================
     $this->_arrData = $arrParam;
 }
示例#14
0
 /**
  * Add rule to be applied to a validation scope
  *
  * @param \Zend_Validate_Interface $validator
  * @param string $fieldName Field name to apply validation to, or empty value to validate entity as a whole
  * @return \Magento\Framework\Validator\DataObject
  * @api
  */
 public function addRule(\Zend_Validate_Interface $validator, $fieldName = '')
 {
     if (!array_key_exists($fieldName, $this->_rules)) {
         $this->_rules[$fieldName] = $validator;
     } else {
         $existingValidator = $this->_rules[$fieldName];
         if (!$existingValidator instanceof \Zend_Validate) {
             $compositeValidator = new \Zend_Validate();
             $compositeValidator->addValidator($existingValidator);
             $this->_rules[$fieldName] = $compositeValidator;
         }
         $this->_rules[$fieldName]->addValidator($validator);
     }
     return $this;
 }
示例#15
0
 public function isValidText($value, $maxLenghtValue)
 {
     $validator = new Zend_Validate();
     // Create a validator chain and add validators to it
     $validator->addValidator(new Zend_Validate_NotEmpty())->addValidator(new Zend_Validate_StringLength(1, $maxLenghtValue));
     // Validate the value
     if ($validator->isValid($value)) {
         return true;
     } else {
         // value failed validation; print reasons
         foreach ($validator->getMessages() as $message) {
             return array('Error' => $message);
         }
     }
 }
示例#16
0
 /**
  * Used by the Zendesk single sign on functionality to authenticate users.
  * Only works for admin panel users, not for customers.
  */
 public function authenticateAction()
 {
     if (!Mage::getStoreConfig('zendesk/sso/enabled')) {
         Mage::getSingleton('adminhtml/session')->addError(Mage::helper('zendesk')->__('Single sign-on disabled.'));
         $this->_redirect(Mage::getSingleton('admin/session')->getUser()->getStartupPageUrl());
     }
     $domain = Mage::getStoreConfig('zendesk/general/domain');
     $token = Mage::getStoreConfig('zendesk/sso/token');
     if (!Zend_Validate::is($domain, 'NotEmpty')) {
         Mage::getSingleton('adminhtml/session')->addError(Mage::helper('zendesk')->__('Zendesk domain not set. Please add this to the settings page.'));
         $this->_redirect(Mage::getSingleton('admin/session')->getUser()->getStartupPageUrl());
     }
     if (!Zend_Validate::is($token, 'NotEmpty')) {
         Mage::getSingleton('adminhtml/session')->addError(Mage::helper('zendesk')->__('Zendesk SSO token not set. Please add this to the settings page.'));
         $this->_redirect(Mage::getSingleton('admin/session')->getUser()->getStartupPageUrl());
     }
     $now = time();
     $jti = md5($now . rand());
     $user = Mage::getSingleton('admin/session')->getUser();
     $name = $user->getName();
     $email = $user->getEmail();
     $externalId = $user->getId();
     $payload = array("iat" => $now, "jti" => $jti, "name" => $name, "email" => $email, "external_id" => $externalId);
     Mage::log('Admin JWT: ' . var_export($payload, true), null, 'zendesk.log');
     $jwt = JWT::encode($payload, $token);
     $url = "http://" . $domain . "/access/jwt?jwt=" . $jwt;
     Mage::log('Admin URL: ' . $url, null, 'zendesk.log');
     $this->_redirectUrl($url);
 }
示例#17
0
 public function validate()
 {
     $errors = array();
     if (!Zend_Validate::is(trim($this->getFirstname()), 'NotEmpty')) {
         $errors[] = Mage::helper('customer')->__('The first name cannot be empty.');
     }
     if (!Zend_Validate::is(trim($this->getLastname()), 'NotEmpty')) {
         $errors[] = Mage::helper('customer')->__('The last name cannot be empty.');
     }
     if (!Zend_Validate::is($this->getEmail(), 'EmailAddress')) {
         $errors[] = Mage::helper('customer')->__('Invalid email address "%s".', $this->getEmail());
     }
     if (!Zend_Validate::is($this->getPermission(), 'Int')) {
         $errors[] = Mage::helper('customer')->__('Invalid permissions "%s".', $this->getPermission());
     }
     if (!Zend_Validate::is($this->getParentCustomerId(), 'NotEmpty')) {
         $errors[] = Mage::helper('customer')->__('Invalid main account "%s".', $this->getParentCustomerId());
     }
     $password = $this->getPassword();
     if (!$this->getId() && !Zend_Validate::is($password, 'NotEmpty')) {
         $errors[] = Mage::helper('customer')->__('The password cannot be empty.');
     }
     if (strlen($password) && !Zend_Validate::is($password, 'StringLength', array(6))) {
         $errors[] = Mage::helper('customer')->__('The minimum password length is %s', 6);
     }
     $confirmation = $this->getPasswordConfirmation();
     if ($password != $confirmation) {
         $errors[] = Mage::helper('customer')->__('Please make sure your passwords match.');
     }
     if (empty($errors)) {
         return true;
     }
     return $errors;
 }
示例#18
0
 public function checkemailregisterAction()
 {
     if (!Mage::helper('magenotification')->checkLicenseKeyFrontController($this)) {
         return;
     }
     $email_address = $this->getRequest()->getParam('email_address');
     $isvalid_email = true;
     if (!Zend_Validate::is(trim($email_address), 'EmailAddress')) {
         $isvalid_email = false;
     }
     if ($isvalid_email) {
         $error = false;
         $email = Mage::getResourceModel('customer/customer_collection')->addAttributeToFilter('email', $email_address)->getFirstItem();
         $customer = Mage::getSingleton('customer/session')->getCustomer();
         if ($email->getId() && (!$customer || !$customer->getId() || $customer && $customer->getId() != $email->getId())) {
             $error = true;
         }
         if ($error) {
             $html = "<div class='error-msg'>" . $this->__('The email %s belongs to a customer. If it is your email address, you can use it to <a href="%s">login</a> our system.', $email_address, Mage::getUrl('*/*/login', array('id' => $this->getRequest()->getParam('id')))) . "</div>";
             $html .= '<input type="hidden" id="is_valid_email" value="0"/>';
         } else {
             $html = "<div class='success-msg'>" . $this->__('You can use this email address.') . "</div>";
             $html .= '<input type="hidden" id="is_valid_email" value="1"/>';
         }
     } else {
         $html = "<div class='error-msg'>" . $this->__('Invalid email address.') . "</div>";
         $html .= '<input type="hidden" id="is_valid_email" value="1"/>';
     }
     $this->getResponse()->setBody($html);
 }
 /**
  * Forgot customer password action
  *
  * @return \Magento\Framework\Controller\Result\Redirect
  */
 public function execute()
 {
     /** @var \Magento\Framework\Controller\Result\Redirect $resultRedirect */
     $resultRedirect = $this->resultRedirectFactory->create();
     $email = (string) $this->getRequest()->getPost('email');
     if ($email) {
         if (!\Zend_Validate::is($email, 'EmailAddress')) {
             $this->session->setForgottenEmail($email);
             $this->messageManager->addErrorMessage(__('Please correct the email address.'));
             return $resultRedirect->setPath('*/*/forgotpassword');
         }
         try {
             $this->customerAccountManagement->initiatePasswordReset($email, AccountManagement::EMAIL_RESET);
         } catch (NoSuchEntityException $exception) {
             // Do nothing, we don't want anyone to use this action to determine which email accounts are registered.
         } catch (SecurityViolationException $exception) {
             $this->messageManager->addErrorMessage($exception->getMessage());
             return $resultRedirect->setPath('*/*/forgotpassword');
         } catch (\Exception $exception) {
             $this->messageManager->addExceptionMessage($exception, __('We\'re unable to send the password reset email.'));
             return $resultRedirect->setPath('*/*/forgotpassword');
         }
         $this->messageManager->addSuccessMessage($this->getSuccessMessage($email));
         return $resultRedirect->setPath('*/*/');
     } else {
         $this->messageManager->addErrorMessage(__('Please enter your email.'));
         return $resultRedirect->setPath('*/*/forgotpassword');
     }
 }
 public function postAction()
 {
     if ($data = Zend_Json::decode($this->getRequest()->getRawBody())) {
         $customer = new Customer_Model_Customer();
         try {
             if (!Zend_Validate::is($data['email'], 'EmailAddress')) {
                 throw new Exception($this->_('Please enter a valid email address'));
             }
             $dummy = new Customer_Model_Customer();
             $dummy->find(array('email' => $data['email'], "app_id" => $this->getApplication()->getId()));
             if ($dummy->getId()) {
                 throw new Exception($this->_('We are sorry but this address is already used.'));
             }
             if (empty($data['show_in_social_gaming'])) {
                 $data['show_in_social_gaming'] = 0;
             }
             if (empty($data['password'])) {
                 throw new Exception($this->_('Please enter a password'));
             }
             $customer->setData($data)->setAppId($this->getApplication()->getId())->setPassword($data['password'])->save();
             $this->getSession()->setCustomer($customer);
             $this->_sendNewAccountEmail($customer, $data['password']);
             $html = array('success' => 1, 'customer_id' => $customer->getId(), 'can_access_locked_features' => $customer->canAccessLockedFeatures());
         } catch (Exception $e) {
             $html = array('error' => 1, 'message' => $e->getMessage());
         }
         $this->_sendHtml($html);
     }
 }
示例#21
0
 public function forgotpasswordpostAction()
 {
     $block = Mage::app()->getLayout()->createBlock('amajaxlogin/customer_form_login', 'form_login')->setTemplate('amasty/amajaxlogin/customer/form/forgotpassword.phtml');
     $message = $block->toHtml();
     $title = $this->__('Forgot Your Password?');
     $email = (string) $this->getRequest()->getPost('email');
     if ($email) {
         if (!Zend_Validate::is($email, 'EmailAddress')) {
             $this->_getSession()->setForgottenEmail($email);
             $this->showCartPopup($title, $this->__('Invalid email address.'), $message, 1);
             return;
         }
         /** @var $customer Mage_Customer_Model_Customer */
         $customer = Mage::getModel('customer/customer')->setWebsiteId(Mage::app()->getStore()->getWebsiteId())->loadByEmail($email);
         if ($customer->getId()) {
             try {
                 $newResetPasswordLinkToken = Mage::helper('customer')->generateResetPasswordLinkToken();
                 $customer->changeResetPasswordLinkToken($newResetPasswordLinkToken);
                 $customer->sendPasswordResetConfirmationEmail();
             } catch (Exception $exception) {
                 $this->showCartPopup($title, $exception->getMessage(), $message, 1);
                 return;
             }
         }
         $this->showCartPopup($title, Mage::helper('customer')->__('If there is an account associated with %s you will receive an email with a link to reset your password.', Mage::helper('customer')->htmlEscape($email)), $message, 2);
         return;
     } else {
         $this->showCartPopup($title, $this->__('Please enter your email.'), $message, 1);
         return;
     }
     $this->showCartPopup($title, "", $message, 3);
 }
示例#22
0
文件: Pupils.php 项目: nasibli/skyeng
 public function save($post)
 {
     $res = array('success' => true, 'errors' => array());
     if (!isset($post['name']) || empty($post['name'])) {
         $res['success'] = false;
         $res['errors'][] = 'Имя обязательно для ввода';
     }
     if (!isset($post['email']) || empty($post['email']) || !Zend_Validate::is($post['email'], 'EmailAddress')) {
         $res['success'] = false;
         $res['errors'][] = 'Введите корректно электронную почту';
     }
     if (!isset($post['date_birth']) || empty($post['date_birth']) || !strtotime($post['date_birth'])) {
         $res['success'] = false;
         $res['errors'][] = 'Введите корректно дату рождения';
     }
     if (!isset($post['level_id']) || empty($post['level_id']) || !in_array($post['level_id'], array(1, 2, 3, 4, 5, 6))) {
         $res['success'] = false;
         $res['errors'][] = 'Укажите корректно уровень';
     }
     if ($this->_pupilsModel->existsName($post['name'])) {
         $res['success'] = false;
         $res['errors'][] = 'Пользователь с именем ' . $post['name'] . ' уже существует';
     }
     if ($this->_pupilsModel->existsEmail($post['email'])) {
         $res['success'] = false;
         $res['errors'][] = 'Пользователь с почтой ' . $post['email'] . ' уже существует';
     }
     if (!$res['success']) {
         return $res;
     }
     $this->_pupilsModel->save(array('name' => $post['name'], 'email' => $post['email'], 'level_id' => $post['level_id'], 'date_birth' => strtotime($post['date_birth'])));
     return $res;
 }
 /**
  * action for customer forgot password
  */
 public function customerForgotPasswordAction()
 {
     if ($this->_expireAjax()) {
         return;
     }
     $customerSession = Mage::getSingleton('customer/session');
     $result = array('success' => true, 'messages' => array());
     $email = (string) $this->getRequest()->getPost('email');
     if ($email) {
         if (Zend_Validate::is($email, 'EmailAddress')) {
             /** @var $customer Mage_Customer_Model_Customer */
             $customer = Mage::getModel('customer/customer')->setWebsiteId(Mage::app()->getStore()->getWebsiteId())->loadByEmail($email);
             if ($customer->getId()) {
                 try {
                     Mage::helper('onestepcheckout/customer')->sendForgotPasswordForCustomer($customer);
                 } catch (Exception $exception) {
                     $result['success'] = false;
                     $result['messages'][] = $exception->getMessage();
                 }
             }
         } else {
             $customerSession->setForgottenEmail($email);
             $result['success'] = false;
             $result['messages'][] = $this->__('Invalid email address.');
         }
     } else {
         $result['success'] = false;
         $result['messages'][] = $this->__('Please enter your email.');
     }
     $this->getResponse()->setBody(Mage::helper('core')->jsonEncode($result));
 }
 /**
  * Forgot customer password action
  *
  * @return \Magento\Framework\Controller\Result\Redirect
  */
 public function execute()
 {
     /** @var \Magento\Framework\Controller\Result\Redirect $resultRedirect */
     $resultRedirect = $this->resultRedirectFactory->create();
     $email = (string) $this->getRequest()->getPost('email');
     if ($email) {
         if (!\Zend_Validate::is($email, 'EmailAddress')) {
             $this->_getSession()->setForgottenEmail($email);
             $this->messageManager->addError(__('Please correct the email address.'));
             $resultRedirect->setPath('*/*/forgotpassword');
             return $resultRedirect;
         }
         try {
             $this->customerAccountManagement->initiatePasswordReset($email, AccountManagement::EMAIL_RESET);
         } catch (NoSuchEntityException $e) {
             // Do nothing, we don't want anyone to use this action to determine which email accounts are registered.
         } catch (\Exception $exception) {
             $this->messageManager->addException($exception, __('Unable to send password reset email.'));
             $resultRedirect->setPath('*/*/forgotpassword');
             return $resultRedirect;
         }
         $email = $this->escaper->escapeHtml($email);
         // @codingStandardsIgnoreStart
         $this->messageManager->addSuccess(__('If there is an account associated with %1 you will receive an email with a link to reset your password.', $email));
         // @codingStandardsIgnoreEnd
         $resultRedirect->setPath('*/*/');
         return $resultRedirect;
     } else {
         $this->messageManager->addError(__('Please enter your email.'));
         $resultRedirect->setPath('*/*/forgotpassword');
         return $resultRedirect;
     }
 }
示例#25
0
 public function personalAction()
 {
     $aclUserDao = $this->dao->load('Core_User');
     $userId = $this->admin['id'] ? $this->admin['id'] : 0;
     $user = $aclUserDao->read($this->admin['id']);
     // do post
     if ($_POST) {
         // validation
         if (!$userId) {
             $this->addError('common.notempty', 'User Id');
         }
         if (!Zend_Validate::is($this->param('name'), 'NotEmpty')) {
             $this->addError('common.notempty', 'User name');
         }
         if ($this->noError()) {
             $data['name'] = $this->param('name');
             if ($this->param('pass')) {
                 $data['pass'] = Hush_Util::md5($this->param('pass'));
             }
             // do update
             if ($userId) {
                 $aclUserDao->update($data, 'id=' . $userId);
                 $this->addErrorMsg('Personal Infomation updated successfully');
             }
         }
     }
     $this->view->user = $user;
 }
示例#26
0
 /**
  * New subscription action
  */
 public function newAction()
 {
     if ($this->getRequest()->isPost() && $this->getRequest()->getPost('email')) {
         $session = Mage::getSingleton('core/session');
         $customerSession = Mage::getSingleton('customer/session');
         $email = (string) $this->getRequest()->getPost('email');
         try {
             if (!Zend_Validate::is($email, 'EmailAddress')) {
                 Mage::throwException($this->__('Please enter a valid email address.'));
             }
             if (Mage::getStoreConfig(Mage_Newsletter_Model_Subscriber::XML_PATH_ALLOW_GUEST_SUBSCRIBE_FLAG) != 1 && !$customerSession->isLoggedIn()) {
                 Mage::throwException($this->__('Sorry, but administrator denied subscription for guests. Please <a href="%s">register</a>.', Mage::helper('customer')->getRegisterUrl()));
             }
             $ownerId = Mage::getModel('customer/customer')->setWebsiteId(Mage::app()->getStore()->getWebsiteId())->loadByEmail($email)->getId();
             if ($ownerId !== null && $ownerId != $customerSession->getId()) {
                 Mage::throwException($this->__('This email address is already assigned to another user.'));
             }
             $status = Mage::getModel('newsletter/subscriber')->subscribe($email);
             if ($status == Mage_Newsletter_Model_Subscriber::STATUS_NOT_ACTIVE) {
                 $session->addSuccess($this->__('Confirmation request has been sent.'));
             } else {
                 $session->addSuccess($this->__('Thank you for your subscription.'));
             }
         } catch (Mage_Core_Exception $e) {
             $session->addException($e, $this->__('There was a problem with the subscription: %s', $e->getMessage()));
         } catch (Exception $e) {
             $session->addException($e, $this->__('There was a problem with the subscription.'));
         }
     }
     $this->_redirectReferer();
 }
示例#27
0
 /**
  * Get Data Order
  *
  * @throws \Exception
  * @throws \Zend_Validate_Exception
  */
 public function execute()
 {
     $orderId = $this->getRequest()->getParam('orderID');
     //check orderId is number
     if (\Zend_Validate::is($orderId, 'Regex', array('pattern' => '/^\\s*-?\\d*(\\.\\d*)?\\s*$/'))) {
         $order = $this->_orderFactory->create();
         $order->load($orderId);
         $orderData = [];
         if ($order->getId()) {
             $orderData['status'] = $order->getStatus();
             $orderData['total'] = $order->getGrandTotal();
             $items = [];
             foreach ($order->getAllVisibleItems() as $item) {
                 $items[] = ['sku' => $item->getSku(), 'item_id' => $item->getId(), 'price' => $item->getPriceInclTax()];
             }
             $orderData['items'] = $items;
             $orderData['total_invoiced'] = $order->getTotalInvoiced();
         }
         if (empty($orderData)) {
             $this->getResponse()->setBody('Order not found!');
         } else {
             $this->getResponse()->setBody(json_encode($orderData));
         }
     } else {
         $this->getResponse()->setBody('Error! OrderID must is number!');
     }
 }
示例#28
0
 /**
  * Displays a form to register a new user.
  *
  * @return XenForo_ControllerResponse_Abstract
  */
 public function actionIndex()
 {
     if (XenForo_Visitor::getUserId()) {
         throw $this->responseException($this->responseRedirect(XenForo_ControllerResponse_Redirect::RESOURCE_CANONICAL, $this->getDynamicRedirect()));
     }
     $this->_assertRegistrationActive();
     $username = '';
     $email = '';
     if ($login = $this->_input->filterSingle('login', XenForo_Input::STRING)) {
         if (Zend_Validate::is($login, 'EmailAddress')) {
             $email = $login;
         } else {
             $username = $login;
         }
     }
     $fields = array('username' => $username, 'email' => $email);
     $writer = XenForo_DataWriter::create('XenForo_DataWriter_User');
     if ($username !== '') {
         $writer->set('username', $username);
     }
     if ($email !== '') {
         $writer->set('email', $email);
     }
     return $this->_getRegisterFormResponse($fields, $writer->getErrors());
 }
 public function forgotpassPostAction()
 {
     $email = $this->getRequest()->getPost('email');
     if ($email) {
         if (!Zend_Validate::is($email, 'EmailAddress')) {
             $message = $this->__('Invalid email address.');
         } else {
             $customer = Mage::getModel('customer/customer')->setWebsiteId(Mage::app()->getStore()->getWebsiteId())->loadByEmail($email);
             if ($customer->getId()) {
                 try {
                     $newPassword = $customer->generatePassword();
                     $customer->changePassword($newPassword, false);
                     $customer->sendPasswordReminderEmail();
                     $message = $this->__('A new password has been sent.');
                 } catch (Exception $e) {
                     $message = $e->getMessage();
                 }
             } else {
                 $message = $this->__('This email address was not found in our records.');
             }
         }
     } else {
         $message = $this->__('Please enter your email.');
     }
     $result['error'] = $message;
     $this->getResponse()->setBody(Zend_Json::encode($result));
 }
 public function convertEmailsToSubscribers($emailsString)
 {
     // Get emails from test fields
     $emails = nl2br($emailsString);
     $newEmString = array();
     if (isset($emails) && $emails != "") {
         $mails = explode('<br />', $emails);
         foreach ($mails as $mail) {
             try {
                 if (!Zend_Validate::is($mail, 'EmailAddress')) {
                 }
                 if ($mail && $mail != "") {
                     $status = Mage::getModel('newsletter/subscriber')->subscribe(trim($mail));
                     if ($status > 0) {
                         $user = Mage::getModel('newsletter/subscriber')->loadByEmail(trim($mail));
                         $id = $user->getId();
                         $user->confirm($user->getCode());
                         $newEmString[] = $id;
                     }
                 }
             } catch (Mage_Core_Exception $e) {
             } catch (Exception $e) {
             }
         }
     }
     return $newEmString;
 }