admin interface for sending notification on event : traduction + optimisation + bug correction

skala
Administrateur 14 years ago
parent ec43a0fcc7
commit 1870ceaa31
  1. 76
      main/admin/event_type.php
  2. 3
      main/inc/lib/database.lib.php
  3. 46
      main/inc/lib/events.lib.inc.php
  4. 22
      main/install/db_main.sql
  5. 4
      main/install/migrate-db-1.8.6.2-1.8.7-pre.sql
  6. 27
      main/lang/french/events.inc.php

@ -1,11 +1,4 @@
<?php // $Id: course_list.php 21855 2009-07-07 18:26:10Z juliomontoya $
/* For licensing terms, see /license.txt */
/**
* This script shows a list of courses and allows searching for courses codes
* and names
* @package chamilo.admin
*/
/* INIT SECTION */
<?php
// name of the language file that needs to be included
$language_file = array('admin','events');
@ -18,6 +11,7 @@ $action = isset($_POST['action'])?$_POST['action']:null;
$eventId = isset($_POST['eventId'])?$_POST['eventId']:null;
$eventUsers = isset($_POST['eventUsers'])?$_POST['eventUsers']:null;
$eventMessage = isset($_POST['eventMessage'])?$_POST['eventMessage']:null;
$eventSubject = isset($_POST['eventSubject'])?$_POST['eventSubject']:null;
if($action == 'modEventType') {
if($eventUsers) {
@ -27,12 +21,14 @@ if($action == 'modEventType') {
$users = array();
}
eventType_mod($eventId,$users,$eventMessage);
eventType_mod($eventId,$users,$eventMessage,$eventSubject);
// echo mysql_error();
header('location: event_type.php');
exit;
}
$ets = eventType_getAll();
$tool_name = get_lang('events_title');
$ajaxPath = api_get_path(WEB_CODE_PATH).'inc/ajax/events.ajax.php';
@ -44,7 +40,7 @@ Display::display_header($tool_name);
<script language="javascript">
var usersList;
var eventTypes;
var eventTypes = <?php print json_encode($ets) ?>;
$(document).ready(function(){
ajax({action:"getUsers"},function(data) {
@ -52,11 +48,11 @@ Display::display_header($tool_name);
}
);
ajax({action:"getEventTypes"},function(data) {
eventTypes = data;
showEventTypes(data);
}
);
// ajax({action:"getEventTypes"},function(data) {
// eventTypes = data;
// showEventTypes(data);
// }
// );
});
function ajax(params,func) {
@ -77,34 +73,38 @@ Display::display_header($tool_name);
);
}
function showEventTypes(data) {
$.each(data,function(ind,item) {
addOption($('#eventList'),item.event_type_id,item.name);
}
);
}
// function showEventTypes(data) {
// $.each(data,function(ind,item) {
// addOption($('#eventList'),item.id,item.name);
// }
// );
// }
function getCurrentEventTypeInd() {
var ind=false;
$.each(eventTypes,function(i,item)
{
if(item.event_type_id == $('#eventList option:selected').first().attr('value')) {
if(item.id == $('#eventList option:selected').first().attr('value')) {
ind=i;
return false;
}
}
}
)
return ind;
}
function showEventType() {
eInd = getCurrentEventTypeInd();
$('#eventId').attr('value',eventTypes[eInd].event_type_id);
$('#eventId').attr('value',eventTypes[eInd].id);
$('#eventName').attr('value',eventTypes[eInd].name);
$('#eventNameTitle').text(eventTypes[eInd].name);
$('#eventMessage').text(eventTypes[eInd].message);
ajax({action:"getEventTypeUsers","id":eventTypes[eInd].event_type_id},function(data) {
$('#eventNameTitle').text(eventTypes[eInd].nameLangVar);
$('#eventMessage').text(eventTypes[eInd].message);
$('#eventSubject').attr('value',eventTypes[eInd].subject);
$('#descLangVar').text(eventTypes[eInd].descLangVar);
ajax({action:"getEventTypeUsers","id":eventTypes[eInd].id},function(data) {
removeAllOption($('#usersSubList'));
refreshUsersList();
@ -182,7 +182,15 @@ Display::display_header($tool_name);
</tr>
<tr>
<td>
<select multiple="1" id="eventList" onChange="showEventType()"></select>
<select multiple="1" id="eventList" onChange="showEventType()">
<?php
foreach($ets as $et) {
print '<option value="'.$et['id'].'">'.$et['nameLangVar'].'</option>';
}
?>
</select>
</td>
<td>
<select multiple="1" id="usersList"></select>
@ -207,7 +215,17 @@ Display::display_header($tool_name);
<input type="hidden" name="eventId" id="eventId" />
<input type="hidden" name="eventUsers" id="eventUsers" />
<input type="hidden" id="eventName" />
<br />
<div id="descLangVar">
</div>
<br />
<label for="eventSubject"><h4><?php print get_lang('events_labelSubject'); ?></h4></label>
<input type="text" id="eventSubject" name="eventSubject" />
<br /><br />
<label for="eventMessage"><h4><?php print get_lang('events_labelMessage'); ?></h4></label>
<textarea cols="100" rows="10" name="eventMessage" id="eventMessage">
</textarea>

@ -998,7 +998,8 @@ class Database {
}
if(mysql_error()) {
error_log($query."\n".mysql_error());
}error_log($query);
}
// error_log($query);
return $result;
}

@ -678,7 +678,7 @@ function event_system($event_type, $event_value_type, $event_value, $timestamp =
global $language_file;
//prepare message
$message = get_event_message($event_type);
list($message, $subject) = get_event_message_and_subject($event_type);
$mail_body=$message;
if ( is_array($notification_infos) ){
foreach ($notification_infos as $variable => $value) {
@ -687,10 +687,12 @@ function event_system($event_type, $event_value_type, $event_value, $timestamp =
}
//prepare mail common variables
$subject = get_lang($event_type);
if ( $event_type == 'user_created' ){
$subject = "Création d'un utilisateur";
if(!$subject) {
$subject = get_lang($event_type);
}
// if ( $event_type == 'user_created' ){
// $subject = "Création d'un utilisateur";
// }
$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');
@ -707,35 +709,46 @@ function event_system($event_type, $event_value_type, $event_value, $timestamp =
return true;
}
function get_event_message($event_name){
function get_event_message_and_subject($event_name){
$event_name = Database::escape_string($event_name);
$sql = 'SELECT m.message FROM '.Database::get_main_table(TABLE_MAIN_EVENT_TYPE).' e,'
$sql = 'SELECT m.message, m.subject FROM '.Database::get_main_table(TABLE_MAIN_EVENT_TYPE).' e,'
.Database::get_main_table(TABLE_MAIN_EVENT_TYPE_MESSAGE).' m
WHERE m.event_type_id = e.id '.
"AND e.name = '$event_name'";
$res = Database::store_result(Database::query($sql));
$res = Database::store_result(Database::query($sql),'ASSOC');
$ret = array();
if ( isset($res[0]['message']) ) {
return $res[0]['message'];
$ret[0] = $res[0]['message'];
}else {
return '';
$ret[0] = '';
}
if ( isset($res[0]['subject']) ) {
$ret[1] = $res[0]['subject'];
}else {
$ret[1] = '';
}
return $ret;
}
function eventType_getAll($etId=0) {
$etId = intval($etId);
$sql = 'SELECT * FROM '.Database::get_main_table(TABLE_MAIN_EVENT_TYPE).' et
$sql = 'SELECT et.id, et.name, et.desc_lang_var, et.name_lang_var, em.message,em.subject FROM '.Database::get_main_table(TABLE_MAIN_EVENT_TYPE).' et
LEFT JOIN '.Database::get_main_table(TABLE_MAIN_EVENT_TYPE_MESSAGE).' em ON em.event_type_id = et.id';
//WHERE em.language_id = 10
//';
$eventsTypes = Database::store_result(Database::query($sql));
$eventsTypes = Database::store_result(Database::query($sql),'ASSOC');
// echo $sql;
$to_return = array();
foreach ($eventsTypes as $et){
$et['name'] = get_lang($et['name']);
$et['nameLangVar'] = get_lang($et['name_lang_var']);
$et['descLangVar'] = get_lang($et['desc_lang_var']);
$to_return[] = $et;
}
return $to_return;
@ -750,7 +763,7 @@ function get_users_subscribed_to_event($event_name){
AND e.name = \''.$event_name.'\'
AND e.id = ue.event_type_id';
return Database::store_result(Database::query($sql));
return Database::store_result(Database::query($sql),'ASSOC');
}
function eventType_getUsers($etId) {
@ -762,12 +775,12 @@ function eventType_getUsers($etId) {
WHERE et.id = '.$etId.'
';
$eventsTypes = Database::store_result(Database::query($sql));
$eventsTypes = Database::store_result(Database::query($sql),'ASSOC');
return $eventsTypes;
}
function eventType_mod($etId,$users,$message) {
function eventType_mod($etId,$users,$message,$subject) {
$etId = intval($etId);
$sql = 'DELETE FROM '.Database::get_main_table(TABLE_MAIN_EVENT_TYPE_REL_USER).'
@ -786,7 +799,8 @@ function eventType_mod($etId,$users,$message) {
}
$sql = 'UPDATE '.Database::get_main_table(TABLE_MAIN_EVENT_TYPE_MESSAGE).'
SET message = "'.Database::escape_string($message).'"
SET message = "'.Database::escape_string($message).'",
subject = "'.Database::escape_string($subject).'"
WHERE event_type_id = '.$etId.'
';

@ -2482,22 +2482,30 @@ CREATE TABLE `reports_values` (
--
-- Table structure for event alert sending
--
CREATE TABLE IF NOT EXISTS `event_type` (
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 IF NOT EXISTS `event_type_message` (
);
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 IF NOT EXISTS `user_rel_event_type` (
);
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`)
);
INSERT INTO `event_type` VALUES (1, 'course_deleted'),(2,'course_created'),(3,'user_deleted'),(4,'user_created'), (5, 'session_created'), (6,'session_deleted'), (7,'session_category_created'),(8,'session_category_deleted'),(9,'settings_changed'),(10,'user_subscribed'), (11,'user_unsubscribed');
);
INSERT INTO `event_type` VALUES (1, 'course_deleted','courseDeletedTitle','courseDeletedComment'),(2,'course_created','courseCreatedTitle','courseCreatedComment'),(3,'user_deleted','userDeletedTitle','userDeletedComment'),(4,'user_created','userCreatedTitle','userCreatedComment'), (5, 'session_created','sessionCreatedTitle','sessionCreatedComment'), (6,'session_deleted','sessionDeletedTitle','sessionDeletedComment'), (7,'session_category_created','sessionCategoryCreatedTitle','sessionCategoryCreatedComment'),(8,'session_category_deleted','sessionCategoryDeletedTitle','sessionCategoryDeletedComment'),(9,'settings_changed','settingsChangedTitle','settingsChangedComment'),(10,'user_subscribed','userSubscribedTitle','userSubscribedComment'), (11,'user_unsubscribed','userUnsubscribedTitle','userUnsubscribedComment');
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 é 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','');

@ -119,7 +119,9 @@ CREATE TABLE `event_type` (`id` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(
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, 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`) );
INSERT INTO `event_type` VALUES (1, 'course_deleted'),(2,'course_created'),(3,'user_deleted'),(4,'user_created'), (5, 'session_created'), (6,'session_deleted'), (7,'session_category_created'),(8,'session_category_deleted'),(9,'settings_changed'),(10,'user_subscribed'), (11,'user_unsubscribed');
INSERT INTO `event_type_message` (`event_type_id`, `language_id`, `message`) VALUES (1, 10, 'Delete formation'), (2,10,'Create formation'), (3,10,'Delete user'), (4,10,'Create user'), (5,10,'Create session'), (6,10,'Delete session'), (7,10,'Create category session'), (8,10,'Delete category session'), (9,10,'Change setting'), (10,10,'Subscribe'), (11,10,'Unsubscribe');
/*INSERT INTO `event_type_message` (`event_type_id`, `language_id`, `message`) VALUES (1, 10, 'Delete formation'), (2,10,'Create formation'), (3,10,'Delete user'), (4,10,'Create user'), (5,10,'Create session'), (6,10,'Delete session'), (7,10,'Create category session'), (8,10,'Delete category session'), (9,10,'Change setting'), (10,10,'Subscribe'), (11,10,'Unsubscribe');*/
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 é 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','');
-- xxSTATSxx
CREATE TABLE track_e_item_property(id int NOT NULL auto_increment PRIMARY KEY, course_id int NOT NULL, item_property_id int NOT NULL, title varchar(255), content text, progress int NOT NULL default 0, lastedit_date datetime NOT NULL default '0000-00-00 00:00:00', lastedit_user_id int NOT NULL, session_id int NOT NULL default 0);

@ -3,17 +3,20 @@ $events_title = 'Gestion des alertes d\'évenements';
$events_listTitle = 'Evenements';
$events_userListTile = 'Utilisateurs de la plate-forme';
$events_userSubListTile = 'Liste des utilisateurs à prévenir';
$events_labelSubject = 'Sujet du message';
$events_labelMessage = 'Message';
$events_btnMod = 'Modifier l\'évenement';
$course_deleted = 'Suppression d\'une formation';
$course_created = 'Création d\'une formation';
$user_deleted = 'Suppression d\'un utilisateur';
$user_created = 'Création d\'un utilisateur';
$session_created = 'Création d\'une session';
$session_deleted ='Suppression d\'une session';
$session_category_created = 'Création d\'une catégorie de session';
$session_category_deleted = 'Suppression d\'une catégorie de session';
$settings_changed = 'Changement d\'un paramètre de configuration';
$user_subscribed = 'Inscription d\'un utilisateur';
$user_unsubscribed = 'Désinscription d\'un utilisateur';
$courseDeletedTitle = 'Suppression d\'une formation';
$courseCreatedTitle = 'Création d\'une formation';
$userDeletedTitle = 'Suppression d\'un utilisateur';
$userCreatedTitle = 'Création d\'un utilisateur';
$sessionCreatedTitle = 'Création d\'une session';
$sessionDeletedTitle ='Suppression d\'une session';
$sessionCategoryCreatedTitle = 'Création d\'une catégorie de session';
$sessionCategoryDeletedTitle = 'Suppression d\'une catégorie de session';
$settingsChangedTitle = 'Changement d\'un paramètre de configuration';
$userSubscribedTitle = 'Inscription d\'un utilisateur';
$userUnsubscribedTitle = 'Désinscription d\'un utilisateur';
?>

Loading…
Cancel
Save