// Fix validation of emails preferences

git-svn-id: http://dev.prestashop.com/svn/v1/branches/1.5.x@8685 b9a71923-0436-4b27-9f14-aed3839534dd
This commit is contained in:
rMalie
2011-09-21 12:55:57 +00:00
parent d0102a81b7
commit fd45c7bb4d
2 changed files with 8 additions and 9 deletions
+5 -5
View File
@@ -1,6 +1,6 @@
<?php <?php
/* /*
* 2007-2011 PrestaShop * 2007-2011 PrestaShop
* *
* NOTICE OF LICENSE * NOTICE OF LICENSE
* *
@@ -35,7 +35,7 @@ class AdminEmails extends AdminPreferences
$this->table = 'configuration'; $this->table = 'configuration';
parent::__construct(); parent::__construct();
foreach (Contact::getContacts($this->context->language->id) AS $contact) foreach (Contact::getContacts($this->context->language->id) AS $contact)
$arr[] = array('email_message' => $contact['id_contact'], 'name' => $contact['name']); $arr[] = array('email_message' => $contact['id_contact'], 'name' => $contact['name']);
@@ -53,7 +53,7 @@ class AdminEmails extends AdminPreferences
'title' => $this->l('E-mail'), 'title' => $this->l('E-mail'),
'icon' => 'email', 'icon' => 'email',
'fields' => array( 'fields' => array(
'PS_MAIL_DOMAIN' => array('title' => $this->l('Mail domain:'), 'desc' => $this->l('Fully qualified domain name (keep it empty if you do not know)'), 'validation' => 'isUrl', 'size' => 30, 'type' => 'text', 'visibility' => Shop::CONTEXT_ALL), 'PS_MAIL_DOMAIN' => array('title' => $this->l('Mail domain:'), 'desc' => $this->l('Fully qualified domain name (keep it empty if you do not know)'), 'empty' => true, 'validation' => 'isUrl', 'size' => 30, 'type' => 'text', 'visibility' => Shop::CONTEXT_ALL),
'PS_MAIL_SERVER' => array('title' => $this->l('SMTP server:'), 'desc' => $this->l('IP or server name (e.g., smtp.mydomain.com)'), 'validation' => 'isGenericName', 'size' => 30, 'type' => 'text', 'visibility' => Shop::CONTEXT_ALL), 'PS_MAIL_SERVER' => array('title' => $this->l('SMTP server:'), 'desc' => $this->l('IP or server name (e.g., smtp.mydomain.com)'), 'validation' => 'isGenericName', 'size' => 30, 'type' => 'text', 'visibility' => Shop::CONTEXT_ALL),
'PS_MAIL_USER' => array('title' => $this->l('SMTP user:'), 'desc' => $this->l('Leave blank if not applicable'), 'validation' => 'isGenericName', 'size' => 30, 'type' => 'text', 'visibility' => Shop::CONTEXT_ALL), 'PS_MAIL_USER' => array('title' => $this->l('SMTP user:'), 'desc' => $this->l('Leave blank if not applicable'), 'validation' => 'isGenericName', 'size' => 30, 'type' => 'text', 'visibility' => Shop::CONTEXT_ALL),
'PS_MAIL_PASSWD' => array('title' => $this->l('SMTP password:'), 'desc' => $this->l('Leave blank if not applicable'), 'validation' => 'isAnything', 'size' => 30, 'type' => 'password', 'visibility' => Shop::CONTEXT_ALL), 'PS_MAIL_PASSWD' => array('title' => $this->l('SMTP password:'), 'desc' => $this->l('Leave blank if not applicable'), 'validation' => 'isAnything', 'size' => 30, 'type' => 'password', 'visibility' => Shop::CONTEXT_ALL),
@@ -69,13 +69,13 @@ class AdminEmails extends AdminPreferences
if ($_POST['PS_MAIL_METHOD'] == 2 AND (empty($_POST['PS_MAIL_SERVER']) OR empty($_POST['PS_MAIL_SMTP_PORT']))) if ($_POST['PS_MAIL_METHOD'] == 2 AND (empty($_POST['PS_MAIL_SERVER']) OR empty($_POST['PS_MAIL_SMTP_PORT'])))
$this->_errors[] = Tools::displayError('You must define a SMTP server and a SMTP port. If you do not know, use the PHP mail() function instead.'); $this->_errors[] = Tools::displayError('You must define a SMTP server and a SMTP port. If you do not know, use the PHP mail() function instead.');
} }
public function display() public function display()
{ {
parent::display(); parent::display();
$this->_displayMailTest(); $this->_displayMailTest();
} }
private function _displayMailTest() private function _displayMailTest()
{ {
echo ' echo '
+3 -4
View File
@@ -958,7 +958,7 @@ abstract class AdminTabCore
if (!Tools::getValue($field) AND isset($values['default'])) if (!Tools::getValue($field) AND isset($values['default']))
$_POST[$field] = $values['default']; $_POST[$field] = $values['default'];
if (!sizeof($this->_errors)) if (1||!sizeof($this->_errors))
{ {
foreach ($fields as $key => $options) foreach ($fields as $key => $options)
{ {
@@ -1024,8 +1024,7 @@ abstract class AdminTabCore
{ {
if (isset($field['validation'])) if (isset($field['validation']))
{ {
$validate = new Validate(); if ((!isset($field['empty']) || !$field['empty'] || (isset($field['empty']) && $field['empty'] && $value)) && method_exists('Validate', $field['validation']))
if (method_exists($validate, $field['validation']))
{ {
if (!Validate::$field['validation']($value)) if (!Validate::$field['validation']($value))
{ {
@@ -1962,7 +1961,7 @@ abstract class AdminTabCore
public function displayOptionTypeRadio($key, $field, $value) public function displayOptionTypeRadio($key, $field, $value)
{ {
foreach ($field['choices'] as $k => $v) foreach ($field['choices'] as $k => $v)
echo '<input type="radio" name="'.$key.'" id="'.$key.$k.'_on" value="'.(int)$v.'"'.(($k == $value) ? ' checked="checked"' : '').(isset($field['js'][$k]) ? ' '.$field['js'][$k] : '').' /><label class="t" for="'.$key.$k.'_on"> '.$v.'</label><br />'; echo '<input type="radio" name="'.$key.'" id="'.$key.$k.'_on" value="'.(int)$k.'"'.(($k == $value) ? ' checked="checked"' : '').(isset($field['js'][$k]) ? ' '.$field['js'][$k] : '').' /><label class="t" for="'.$key.$k.'_on"> '.$v.'</label><br />';
echo '<br />'; echo '<br />';
} }