diff --git a/htdocs/comm/mailing/card.php b/htdocs/comm/mailing/card.php
index 678ea8f622d..ef9f29815c4 100644
--- a/htdocs/comm/mailing/card.php
+++ b/htdocs/comm/mailing/card.php
@@ -94,6 +94,13 @@ $object->substitutionarrayfortest=array(
//,'__PERSONALIZED__' => 'TESTPersonalized' // Not used yet
);
+// List of sending methods
+$listofmethods=array();
+$listofmethods['mail']='PHP mail function';
+//$listofmethods['simplemail']='Simplemail class';
+$listofmethods['smtps']='SMTP/SMTPS socket library';
+
+
/*
* Actions
@@ -741,10 +748,21 @@ else
{
// Define message to recommand from command line
- // Pour des raisons de securite, on ne permet pas cette fonction via l'IHM,
- // on affiche donc juste un message
+ $sendingmode=$conf->global->MAIN_MAIL_SENDMODE;
+ if (empty($sendingmode)) $sendingmode='mail'; // If not defined, we use php mail function
- if (empty($conf->global->MAILING_LIMIT_SENDBYWEB))
+ if (! empty($conf->global->MAILING_NO_USING_PHPMAIL) && $sendingmode == 'mail')
+ {
+ // EMailing feature may be a spam problem, so when you host several users/instance, having this option may force each user to use their own SMTP agent.
+ // You ensure that every user is using its own SMTP server.
+ $linktoadminemailbefore='';
+ $linktoadminemailend='';
+ setEventMessage($langs->trans("MailSendSetupIs", $listofmethods[$sendingmode]), 'warnings');
+ setEventMessage($langs->trans("MailSendSetupIs2", $linktoadminemailbefore, $linktoadminemailend, $langs->transnoentitiesnoconv("MAIN_MAIL_SENDMODE"), $listofmethods['smtps']), 'warnings');
+ if (! empty($conf->global->MAILING_SMTP_SETUP_EMAILS_FOR_QUESTIONS)) setEventMessage($langs->trans("MailSendSetupIs3", $conf->global->MAILING_SMTP_SETUP_EMAILS_FOR_QUESTIONS), 'warnings');
+ $_GET["action"]='';
+ }
+ else if (empty($conf->global->MAILING_LIMIT_SENDBYWEB))
{
// Pour des raisons de securite, on ne permet pas cette fonction via l'IHM,
// on affiche donc juste un message
@@ -764,7 +782,7 @@ else
}
$text.=$langs->trans('ConfirmSendingEmailing').' ';
$text.=$langs->trans('LimitSendingEmailing',$conf->global->MAILING_LIMIT_SENDBYWEB);
- print $form->formconfirm($_SERVER['PHP_SELF'].'?id='.$object->id,$langs->trans('SendMailing'),$text,'sendallconfirmed',$formquestion,'',1,260);
+ print $form->formconfirm($_SERVER['PHP_SELF'].'?id='.$object->id,$langs->trans('SendMailing'),$text,'sendallconfirmed',$formquestion,'',1,270);
}
}
diff --git a/htdocs/comm/mailing/cibles.php b/htdocs/comm/mailing/cibles.php
index 49d2f1befa2..75f2399017b 100644
--- a/htdocs/comm/mailing/cibles.php
+++ b/htdocs/comm/mailing/cibles.php
@@ -276,7 +276,8 @@ if ($object->fetch($id) >= 0)
$obj = new $classname($db);
- $qualified=1;
+ // Check dependencies
+ $qualified=(isset($obj->enabled)?$obj->enabled:1);
foreach ($obj->require_module as $key)
{
if (! $conf->$key->enabled || (! $user->admin && $obj->require_admin))
diff --git a/htdocs/core/class/html.formadmin.class.php b/htdocs/core/class/html.formadmin.class.php
index 042474781d7..30ecadedb55 100644
--- a/htdocs/core/class/html.formadmin.class.php
+++ b/htdocs/core/class/html.formadmin.class.php
@@ -53,9 +53,10 @@ class FormAdmin
* @param array $filter Array of keys to exclude in list
* @param int $showempty Add empty value
* @param int $showwarning Show a warning if language is not complete
+ * @param int $disabled Disable edit of select
* @return string Return HTML select string with list of languages
*/
- function select_language($selected='',$htmlname='lang_id',$showauto=0,$filter=0,$showempty=0,$showwarning=0)
+ function select_language($selected='',$htmlname='lang_id',$showauto=0,$filter=0,$showempty=0,$showwarning=0,$disabled=0)
{
global $langs;
@@ -63,7 +64,7 @@ class FormAdmin
$out='';
- $out.= '