diff --git a/admin-dev/tabs/AdminEmails.php b/admin-dev/tabs/AdminEmails.php
index 45ee96040..5293cb872 100644
--- a/admin-dev/tabs/AdminEmails.php
+++ b/admin-dev/tabs/AdminEmails.php
@@ -1,6 +1,6 @@
table = 'configuration';
parent::__construct();
-
+
foreach (Contact::getContacts($this->context->language->id) AS $contact)
$arr[] = array('email_message' => $contact['id_contact'], 'name' => $contact['name']);
@@ -53,7 +53,7 @@ class AdminEmails extends AdminPreferences
'title' => $this->l('E-mail'),
'icon' => 'email',
'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_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),
@@ -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'])))
$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()
{
parent::display();
$this->_displayMailTest();
}
-
+
private function _displayMailTest()
{
echo '
diff --git a/classes/AdminTab.php b/classes/AdminTab.php
index 265f99396..8599114a5 100644
--- a/classes/AdminTab.php
+++ b/classes/AdminTab.php
@@ -958,7 +958,7 @@ abstract class AdminTabCore
if (!Tools::getValue($field) AND isset($values['default']))
$_POST[$field] = $values['default'];
- if (!sizeof($this->_errors))
+ if (1||!sizeof($this->_errors))
{
foreach ($fields as $key => $options)
{
@@ -1024,8 +1024,7 @@ abstract class AdminTabCore
{
if (isset($field['validation']))
{
- $validate = new Validate();
- if (method_exists($validate, $field['validation']))
+ if ((!isset($field['empty']) || !$field['empty'] || (isset($field['empty']) && $field['empty'] && $value)) && method_exists('Validate', $field['validation']))
{
if (!Validate::$field['validation']($value))
{
@@ -1962,7 +1961,7 @@ abstract class AdminTabCore
public function displayOptionTypeRadio($key, $field, $value)
{
foreach ($field['choices'] as $k => $v)
- echo '
';
+ echo '
';
echo '
';
}