diff --git a/main/inc/lib/events.lib.inc.php b/main/inc/lib/events.lib.inc.php index b47ce64eee..fe286ed8ce 100644 --- a/main/inc/lib/events.lib.inc.php +++ b/main/inc/lib/events.lib.inc.php @@ -687,34 +687,37 @@ function event_system($event_type, $event_value_type, $event_value, $timestamp = $res = Database::query($sql); //Sending notofications to users - global $language_file; - - //prepare message - list($message, $subject) = get_event_message_and_subject($event_type); - $mail_body=$message; - if ( is_array($notification_infos) ){ - foreach ($notification_infos as $variable => $value) { - $mail_body = str_replace('%'.$variable.'%',$value,$mail_body); - } - } - - //prepare mail common variables - if(empty($subject)) { - $subject = $event_type; - } - $mail_subject = '['.api_get_setting('siteName').'] '.$subject; - $sender_name = api_get_person_name(api_get_setting('administratorName'), api_get_setting('administratorSurname'), null, PERSON_NAME_EMAIL_ADDRESS); - $email_admin = api_get_setting('emailAdministrator'); - $emailfromaddr = api_get_setting('emailAdministrator'); - $emailfromname = api_get_setting('siteName'); - - //Send mail to all subscribed users - $users_arr = get_users_subscribed_to_event($event_type); - foreach ($users_arr as $user) { - $recipient_name = api_get_person_name($user['firstname'], $user['lastname']); - $email = $user['email']; - @api_mail($recipient_name, $email, $mail_subject, $mail_body, $sender_name, $email_admin); - } + $send_event_setting = api_get_setting('activate_send_event_by_mail'); + if (!empty($send_event_setting) && $send_event_setting == 'true') { + global $language_file; + + //prepare message + list($message, $subject) = get_event_message_and_subject($event_type); + $mail_body=$message; + if ( is_array($notification_infos) ){ + foreach ($notification_infos as $variable => $value) { + $mail_body = str_replace('%'.$variable.'%',$value,$mail_body); + } + } + + //prepare mail common variables + if(empty($subject)) { + $subject = $event_type; + } + $mail_subject = '['.api_get_setting('siteName').'] '.$subject; + $sender_name = api_get_person_name(api_get_setting('administratorName'), api_get_setting('administratorSurname'), null, PERSON_NAME_EMAIL_ADDRESS); + $email_admin = api_get_setting('emailAdministrator'); + $emailfromaddr = api_get_setting('emailAdministrator'); + $emailfromname = api_get_setting('siteName'); + + //Send mail to all subscribed users + $users_arr = get_users_subscribed_to_event($event_type); + foreach ($users_arr as $user) { + $recipient_name = api_get_person_name($user['firstname'], $user['lastname']); + $email = $user['email']; + @api_mail($recipient_name, $email, $mail_subject, $mail_body, $sender_name, $email_admin); + } + } return true; } diff --git a/main/install/db_main.sql b/main/install/db_main.sql index 4144dcf46a..9133640d2c 100644 --- a/main/install/db_main.sql +++ b/main/install/db_main.sql @@ -790,11 +790,13 @@ VALUES ('custom_tab_2_name', NULL, 'textfield', 'Platform', '', 'CustomTab2NameTitle', 'CustomTab2NameComment', NULL, NULL, 0), ('custom_tab_2_url', NULL, 'textfield', 'Platform', '', 'CustomTab2URLTitle', 'CustomTab2URLComment', NULL, NULL, 0), ('custom_tab_3_name', NULL, 'textfield', 'Platform', '', 'CustomTab3NameTitle', 'CustomTab3NameComment', NULL, NULL, 0), -('custom_tab_3_url', NULL, 'textfield', 'Platform', '', 'CustomTab3URLTitle', 'CustomTab3URLComment', NULL, NULL, 0); -('languagePriority1', NULL, 'radio', 'Languages', 'LanguagePriority1Title', 'LanguagePriority1Comment', NULL, NULL, 0); -('languagePriority2', NULL, 'radio', 'Languages', 'LanguagePriority2Title', 'LanguagePriority2Comment', NULL, NULL, 0); -('languagePriority3', NULL, 'radio', 'Languages', 'LanguagePriority3Title', 'LanguagePriority3Comment', NULL, NULL, 0); -('languagePriority4', NULL, 'radio', 'Languages', 'LanguagePriority4Title', 'LanguagePriority4Comment', NULL, NULL, 0); +('custom_tab_3_url', NULL, 'textfield', 'Platform', '', 'CustomTab3URLTitle', 'CustomTab3URLComment', NULL, NULL, 0), +('languagePriority1', NULL, 'radio', 'Languages', '', 'LanguagePriority1Title', 'LanguagePriority1Comment', NULL, NULL, 0), +('languagePriority2', NULL, 'radio', 'Languages','', 'LanguagePriority2Title', 'LanguagePriority2Comment', NULL, NULL, 0), +('languagePriority3', NULL, 'radio', 'Languages','', 'LanguagePriority3Title', 'LanguagePriority3Comment', NULL, NULL, 0), +('languagePriority4', NULL, 'radio', 'Languages', '','LanguagePriority4Title', 'LanguagePriority4Comment', NULL, NULL, 0), +('activate_send_event_by_mail', NULL, 'radio', 'Platform', 'false', 'ActivateSendEventByMailTitle', 'ActivateSendEventByMailComment', NULL, NULL, 0); + UNLOCK TABLES; @@ -1033,7 +1035,10 @@ VALUES ('languagePriority4','platform_lang','PlatformLanguage'), ('languagePriority4','user_profil_lang','UserLanguage'), ('languagePriority4','user_selected_lang','UserSelectedLanguage'), -('languagePriority4','course_lang','CourseLanguage'); +('languagePriority4','course_lang','CourseLanguage'), +('activate_send_event_by_mail', 'true', 'Yes'), +('activate_send_event_by_mail', 'false', 'No'); + UNLOCK TABLES; diff --git a/main/install/migrate-db-1.8.6.2-1.8.7-pre.sql b/main/install/migrate-db-1.8.6.2-1.8.7-pre.sql index 4396000d46..24c2a8713c 100644 --- a/main/install/migrate-db-1.8.6.2-1.8.7-pre.sql +++ b/main/install/migrate-db-1.8.6.2-1.8.7-pre.sql @@ -129,6 +129,8 @@ INSERT INTO settings_current (variable, subkey, type, category, selected_value, INSERT INTO settings_current (variable, subkey, type, category, selected_value, title, comment, scope, subkeytext, access_url_changeable) VALUES('custom_tab_3_name', NULL, 'textfield', 'Platform', '', 'CustomTab3NameTitle', 'CustomTab3NameComment', NULL, NULL, 0); INSERT INTO settings_current (variable, subkey, type, category, selected_value, title, comment, scope, subkeytext, access_url_changeable) VALUES('custom_tab_3_url', NULL, 'textfield', 'Platform', '', 'CustomTab3URLTitle', 'CustomTab3URLComment', NULL, NULL, 0); +INSERT INTO settings_current (variable, subkey, type, category, selected_value, title, comment, scope, subkeytext, access_url_changeable) VALUES ('activate_send_event_by_mail', NULL, 'radio', 'Platform', 'false', 'ActivateSendEventByMailTitle', 'ActivateSendEventByMailComment', NULL, NULL, 0); +INSERT INTO settings_options (variable, value, display_text) VALUES ('activate_send_event_by_mail', 'true', 'Yes'),('activate_send_event_by_mail', 'false', 'No'); CREATE TABLE `event_type` (`id` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(50) NOT NULL, `name_lang_var` varchar(40) NOT NULL, `desc_lang_var` varchar(50) NOT NULL, PRIMARY KEY (`id`)); CREATE TABLE `event_type_message` (`id` int(11) NOT NULL AUTO_INCREMENT, `event_type_id` int(11) NOT NULL,`language_id` int(11) NOT NULL, `message` varchar(200) NOT NULL, `subject` varchar(60) NOT NULL, PRIMARY KEY (`id`)); CREATE TABLE `user_rel_event_type` (`id` int(11) NOT NULL AUTO_INCREMENT, `user_id` int(11) NOT NULL, `event_type_id` int(11) NOT NULL, PRIMARY KEY (`id`)); @@ -136,13 +138,13 @@ INSERT INTO `event_type` VALUES (1, 'course_deleted','courseDeletedTitle','cours INSERT INTO `event_type_message` (`id`,`event_type_id`, `language_id`, `message`,`subject`) VALUES (1,4,10,'Bonjour, \r\n\r\nL\'utilisateur %username% (%firstname% %lastname%) a été créé.\r\nEmail : %mail%\r\n\r\nBien à vous.',''),(2,1,10,'Delete formation',''),(3,2,10,'Create formation',''),(4,3,10,'Bonjour, \r\n\r\nL\'utilisateur %username% (%firstname% %lastname%) a été supprimé.\r\n\r\nBien à vous.',''),(6,5,10,'Create session test',''),(7,6,10,'Delete session',''),(8,7,10,'Create category session',''),(9,8,10,'Delete category session',''),(10,9,10,'Change setting',''),(11,10,10,'Subscribe',''),(12,11,10,'Unsubscribe',''); CREATE TABLE announcement_rel_group (group_id int NOT NULL, announcement_id int NOT NULL, PRIMARY KEY (group_id, announcement_id)); - -INSERT INTO settings_current (variable, subkey, type, category, selected_value, title, comment, scope, subkeytext, access_url_changeable) VALUES ('languagePriority1', NULL, 'radio', 'Languages', 'LanguagePriority1Title', 'LanguagePriority1Comment', NULL, NULL, 0); -INSERT INTO settings_current (variable, subkey, type, category, selected_value, title, comment, scope, subkeytext, access_url_changeable) VALUES ('languagePriority2', NULL, 'radio', 'Languages', 'LanguagePriority2Title', 'LanguagePriority2Comment', NULL, NULL, 0); -INSERT INTO settings_current (variable, subkey, type, category, selected_value, title, comment, scope, subkeytext, access_url_changeable) VALUES ('languagePriority3', NULL, 'radio', 'Languages', 'LanguagePriority3Title', 'LanguagePriority3Comment', NULL, NULL, 0); -INSERT INTO settings_current (variable, subkey, type, category, selected_value, title, comment, scope, subkeytext, access_url_changeable) VALUES ('languagePriority4', NULL, 'radio', 'Languages', 'LanguagePriority4Title', 'LanguagePriority4Comment', NULL, NULL, 0); +INSERT INTO settings_current (variable, subkey, type, category, selected_value, title, comment, scope, subkeytext, access_url_changeable) VALUES ('languagePriority1', NULL, 'radio', 'Languages', '', 'LanguagePriority1Title', 'LanguagePriority1Comment', NULL, NULL, 0); +INSERT INTO settings_current (variable, subkey, type, category, selected_value, title, comment, scope, subkeytext, access_url_changeable) VALUES ('languagePriority2', NULL, 'radio', 'Languages', '', 'LanguagePriority2Title', 'LanguagePriority2Comment', NULL, NULL, 0); +INSERT INTO settings_current (variable, subkey, type, category, selected_value, title, comment, scope, subkeytext, access_url_changeable) VALUES ('languagePriority3', NULL, 'radio', 'Languages', '', 'LanguagePriority3Title', 'LanguagePriority3Comment', NULL, NULL, 0); +INSERT INTO settings_current (variable, subkey, type, category, selected_value, title, comment, scope, subkeytext, access_url_changeable) VALUES ('languagePriority4', NULL, 'radio', 'Languages', '', 'LanguagePriority4Title', 'LanguagePriority4Comment', NULL, NULL, 0); INSERT INTO settings_options (variable, value, display_text) VALUES ('languagePriority1','platform_lang','PlatformLanguage'), ('languagePriority1','user_profil_lang','UserLanguage'), ('languagePriority1','user_selected_lang','UserSelectedLanguage'), ('languagePriority1','course_lang','CourseLanguage'), ('languagePriority2','platform_lang','PlatformLanguage'), ('languagePriority2','user_profil_lang','UserLanguage'), ('languagePriority2','user_selected_lang','UserSelectedLanguage'), ('languagePriority2','course_lang','CourseLanguage'), ('languagePriority3','platform_lang','PlatformLanguage'), ('languagePriority3','user_profil_lang','UserLanguage'), ('languagePriority3','user_selected_lang','UserSelectedLanguage'), ('languagePriority3','course_lang','CourseLanguage'), ('languagePriority4','platform_lang','PlatformLanguage'), ('languagePriority4','user_profil_lang','UserLanguage'), ('languagePriority4','user_selected_lang','UserSelectedLanguage'), ('languagePriority4','course_lang','CourseLanguage'); + -- -- Table structure for LP custom storage API -- diff --git a/main/lang/english/admin.inc.php b/main/lang/english/admin.inc.php index 0e25e74e7b..1ca1aa2fb2 100644 --- a/main/lang/english/admin.inc.php +++ b/main/lang/english/admin.inc.php @@ -1343,4 +1343,6 @@ $LanguagePriority3Comment = ''; $LanguagePriority4Comment = ''; $ChooseRelationType = 'Choose a relation type'; $UserListInGroup = 'Users subscribed to this group'; +$ActivateSendEventByMailTitle='Activates the send events by mail feature'; +$ActivateSendEventByMailComment = ''; ?> diff --git a/main/lang/french/admin.inc.php b/main/lang/french/admin.inc.php index e83a06121a..8d1fd2c271 100644 --- a/main/lang/french/admin.inc.php +++ b/main/lang/french/admin.inc.php @@ -1320,4 +1320,6 @@ $LanguagePriority3Comment = ''; $LanguagePriority4Comment = ''; $ChooseRelationType = 'Choisir un type de relation'; $UserListInGroup = 'Utilisateurs inscrits au groupe'; +$ActivateSendEventByMailTitle='Activer les envois d\'évènements par email'; +$ActivateSendEventByMailComment = ''; ?>