diff --git a/htdocs/core/modules/mailings/modules_mailings.php b/htdocs/core/modules/mailings/modules_mailings.php
index 46b50579eb0..06fb4f6125a 100644
--- a/htdocs/core/modules/mailings/modules_mailings.php
+++ b/htdocs/core/modules/mailings/modules_mailings.php
@@ -316,12 +316,12 @@ class MailingTargets // This can't be abstract as it is used for some method
$orders = array();
$i = 0;
- $dirwidget = array('/core/emailings/'); // $conf->modules_parts['emailings'] is not required
+ $diremailselector = array('/core/modules/mailings/'); // $conf->modules_parts['emailings'] is not required
if (is_array($forcedir)) {
- $dirwidget = $forcedir;
+ $diremailselector = $forcedir;
}
- foreach ($dirwidget as $reldir) {
+ foreach ($diremailselector as $reldir) {
$dir = dol_buildpath($reldir, 0);
$newdir = dol_osencode($dir);
@@ -334,20 +334,22 @@ class MailingTargets // This can't be abstract as it is used for some method
if (is_resource($handle)) {
while (($file = readdir($handle)) !== false) {
$reg = array();
- if (is_readable($newdir.'/'.$file) && preg_match('/^(.+)\.php/', $file, $reg)) {
+ if (is_readable($newdir.'/'.$file) && preg_match('/^(.+)\.modules.php/', $file, $reg)) {
if (preg_match('/\.back$/', $file) || preg_match('/^(.+)\.disabled\.php/', $file)) {
continue;
}
$part1 = $reg[1];
- $modName = ucfirst($reg[1]);
- //print "file=$file"; print "modName=$modName"; exit;
+ //$modName = ucfirst($reg[1]);
+ $modName = 'mailing_'.$reg[1]; // name of selector submodule
+ //print "file=$file modName=$modName"; exit;
if (in_array($modName, $modules)) {
$langs->load("errors");
- print '
'.$langs->trans("Error").' : '.$langs->trans("ErrorDuplicateWidget", $modName, "").'
';
+ print ''.$langs->trans("Error").' : '.$langs->trans("ErrorDuplicateEmalingSelector", $modName, "").'
';
} else {
try {
+ //print $newdir.'/'.$file;
include_once $newdir.'/'.$file;
} catch (Exception $e) {
print $e->getMessage();
@@ -357,7 +359,7 @@ class MailingTargets // This can't be abstract as it is used for some method
$files[$i] = $file;
$fullpath[$i] = $dir.'/'.$file;
$relpath[$i] = preg_replace('/^\//', '', $reldir).'/'.$file;
- $iscoreorexternal[$i] = ($reldir == '/core/boxes/' ? 'internal' : 'external');
+ $iscoreorexternal[$i] = ($reldir == '/core/modules/mailings/' ? 'internal' : 'external');
$modules[$i] = $modName;
$orders[$i] = $part1; // Set sort criteria value
@@ -374,7 +376,7 @@ class MailingTargets // This can't be abstract as it is used for some method
$widget = array();
$j = 0;
- // Loop on each widget
+ // Loop on each emailing selector
foreach ($orders as $key => $value) {
$modName = $modules[$key];
if (empty($modName)) {
@@ -382,7 +384,7 @@ class MailingTargets // This can't be abstract as it is used for some method
}
if (!class_exists($modName)) {
- print 'Error: A widget file was found but its class "'.$modName.'" was not found.'."
\n";
+ print 'Error: An emailing selector file was found but its class "'.$modName.'" was not found.'."
\n";
continue;
}
diff --git a/htdocs/modulebuilder/index.php b/htdocs/modulebuilder/index.php
index 85c5f27a81a..73ab1f316c7 100644
--- a/htdocs/modulebuilder/index.php
+++ b/htdocs/modulebuilder/index.php
@@ -643,6 +643,40 @@ if ($dirins && $action == 'initwidget' && !empty($module)) {
}
+// init EmailSelector
+if ($dirins && $action == 'initemailing' && !empty($module)) {
+ dol_mkdir($dirins.'/'.strtolower($module).'/core/modules/mailings');
+ $srcdir = DOL_DOCUMENT_ROOT.'/modulebuilder/template';
+ $srcfile = $srcdir.'/core/modules/mailings/mailing_mymodule_myobject.modules.php';
+ $destfile = $dirins.'/'.strtolower($module).'/core/modules/mailings/mailing_'.strtolower($module).'_selector1.modules.php';
+ //var_dump($srcfile);
+ //var_dump($destfile);
+ $result = dol_copy($srcfile, $destfile, 0, 0);
+
+ if ($result > 0) {
+ $modulename = ucfirst($module); // Force first letter in uppercase
+
+ //var_dump($phpfileval['fullname']);
+ $arrayreplacement = array(
+ 'mymodule'=>strtolower($modulename),
+ 'MyModule'=>$modulename,
+ 'MYMODULE'=>strtoupper($modulename),
+ 'My module'=>$modulename,
+ 'my module'=>$modulename,
+ 'Mon module'=>$modulename,
+ 'mon module'=>$modulename,
+ 'htdocs/modulebuilder/template'=>strtolower($modulename),
+ '---Put here your own copyright and developer email---'=>dol_print_date($now, '%Y').' '.$user->getFullName($langs).($user->email ? ' <'.$user->email.'>' : '')
+ );
+
+ dolReplaceInFile($destfile, $arrayreplacement);
+ } else {
+ $langs->load("errors");
+ setEventMessages($langs->trans('ErrorFailToCreateFile', $destfile), null, 'errors');
+ }
+}
+
+
// init CSS
if ($dirins && $action == 'initcss' && !empty($module)) {
dol_mkdir($dirins.'/'.strtolower($module).'/css');
@@ -3299,7 +3333,7 @@ if ($module == 'initmodule') {
$countMenus = count($moduleobj->menu);
$countTriggers = countItemsInDirectory(dol_buildpath($modulelowercase, 0)."/core/triggers");
$countWidgets = countItemsInDirectory(dol_buildpath($modulelowercase, 0)."/core/boxes");
- $countEmailingSelectors = countItemsInDirectory(dol_buildpath($modulelowercase, 0)."/core/emailings");
+ $countEmailingSelectors = countItemsInDirectory(dol_buildpath($modulelowercase, 0)."/core/modules/mailings");
$countCss = countItemsInDirectory(dol_buildpath($modulelowercase, 0)."/css");
$countJs = countItemsInDirectory(dol_buildpath($modulelowercase, 0)."/js");
$countCLI = countItemsInDirectory(dol_buildpath($modulelowercase, 0)."/scripts");
@@ -5947,7 +5981,7 @@ if ($module == 'initmodule') {
print ''."\n";
require_once DOL_DOCUMENT_ROOT.'/core/modules/mailings/modules_mailings.php';
- $emailingselectors = MailingTargets::getEmailingSelectorsList(array('/'.strtolower($module).'/core/mailings'));
+ $emailingselectors = MailingTargets::getEmailingSelectorsList(array('/'.strtolower($module).'/core/modules/mailings'));
if ($action != 'editfile' || empty($file)) {
print ''.$langs->trans("EmailingSelectorDesc").'
';
diff --git a/htdocs/modulebuilder/template/core/modules/mailings/mailinglist_mymodule_myobject.modules.php b/htdocs/modulebuilder/template/core/modules/mailings/mailing_mymodule_selector1.modules.php
similarity index 96%
rename from htdocs/modulebuilder/template/core/modules/mailings/mailinglist_mymodule_myobject.modules.php
rename to htdocs/modulebuilder/template/core/modules/mailings/mailing_mymodule_selector1.modules.php
index 1e1a2267067..2b29b250353 100644
--- a/htdocs/modulebuilder/template/core/modules/mailings/mailinglist_mymodule_myobject.modules.php
+++ b/htdocs/modulebuilder/template/core/modules/mailings/mailing_mymodule_selector1.modules.php
@@ -15,12 +15,12 @@ dol_include_once("/mymodule/class/myobject.class.php");
/**
* mailing_mailinglist_mymodule
*/
-class mailing_mailinglist_mymodule_myobject extends MailingTargets
+class mailing_mailing_mymodule_selector1 extends MailingTargets
{
// CHANGE THIS: Put here a name not already used
- public $name = 'mailinglist_mymodule_myobject';
+ public $name = 'mailing_mymodule_selector1';
// CHANGE THIS: Put here a description of your selector module
- public $desc = 'My object emailing target selector';
+ public $desc = 'Emailing target selector1';
// CHANGE THIS: Set to 1 if selector is available for admin users only
public $require_admin = 0;