@ -9,27 +9,34 @@ $this_section = SECTION_PLATFORM_ADMIN;
api_protect_admin_script();
if (api_get_setting('activate_email_template') != 'true') {
api_not_allowed();
}
$interbreadcrumb[] = array('url' => 'index.php', 'name' => get_lang('PlatformAdmin'));
$interbreadcrumb[] = array('url' => 'event_controller.php', 'name' => get_lang('Events'));
$tool_name = get_lang('events_title');
$action = isset($_POST['action']) ? $_POST['action'] : null;
//$eventId = isset($_POST['eventId'])?$_POST['eventId']:null;
$eventName = isset($_POST['eventList']) ? $_POST['eventList'] : null;
$eventUsers = isset($_POST['eventUsers']) ? $_POST['eventUsers'] : null;
$eventMessage = isset($_POST['eventMessage']) ? $_POST['eventMessage'] : null;
$eventSubject = isset($_POST['eventSubject']) ? $_POST['eventSubject'] : null;
$eventMessageLanguage = isset($_POST['languages']) ? $_POST['languages'] : null;
$activated = isset($_POST['activated']) ? $_POST['activated'] : 0;
$event_name = isset($_REQUEST['event_type_name']) ? addslashes($_REQUEST['event_type_name']) : 0;
if ($action == 'modEventType') {
if ($eventUsers) {
$users = explode(';', $eventUsers);
} else {
$users = array();
}
}
if (!empty($event_name)) {
$eventName = $event_name;
}
save_event_type_message($eventName, $users, $eventMessage, $eventSubject, $eventMessageLanguage, $activated);
header('location: event_type.php');
header('location: event_controller.php');
exit;
}
@ -40,20 +47,37 @@ $languages = api_get_languages();
$ajaxPath = api_get_path(WEB_CODE_PATH) . 'inc/ajax/events.ajax.php';
Display::display_header($tool_name);
$action_array = array(array('url' =>'event_controller.php?action=listing' , 'content' => get_lang('List')));
$action_array = array(array('url' =>'event_controller.php?action=listing' , 'content' => Display::return_icon('view_text.png', get_lang('List'), array(), ICON_SIZE_MEDIUM )));
echo Display::actions($action_array);
$key_lang = get_lang('unsaved_changes');
$users = UserManager::get_user_list();
$users = UserManager::get_user_list(array(), array('firstname'));
$new_user_list = array();
foreach($users as $user) {
if ($user['status'] == ANONYMOUS) {
continue;
}
$new_user_list[] = $user;
}
?>
< script >
var usersList = <?php print json_encode ( $users ) ?> ;
var usersList = <?php print json_encode ( $new_ user_li st ) ?> ;
var eventTypes = <?php print json_encode ( $ets ) ?> ;
var eventsConfig = <?php print json_encode ( $event_config ) ?> ;
var currentLanguage = <?php print json_encode ( api_get_interface_language ()) ?> ;
var flagContentHasChanged = false;
var key_lang = "<?php print $key_lang ?> ";
var key_lang = "<?php print $key_lang ?> ";
var event_type_name = "<?php echo $event_name ?> ";
$(document).ready(function() {
confirmMessage("eventList");
if (event_type_name != 0) {
$("#event_list_group").hide();
}
});
function ajax(params,func) {
$.ajax({
@ -61,64 +85,62 @@ $users = UserManager::get_user_list();
type: "POST",
data: params,
success: func
}
);
});
}
function refreshUsersList() {
removeAllOption($('#usersList'));
$.each(usersList, function(ind,item) {
console.log(item.firstname);
$.each(usersList, function(ind,item) {
addOption($('#usersList'), item.user_id, item.firstname + ' '+item.lastname);
});
}
function getCurrentEventTypeInd() {
var ind=false;
$.each(eventTypes,function(i,item) {
if(item.event_type_name == $('#eventList option:selected').first().attr('value')) {
ind=i;
return false;
}
}
)
return ind;
}
function getCurrentEventTypeName() {
var name = false;
return $('#eventList option:selected').first().attr('value');
if (event_type_name != 0) {
return event_type_name;
} else {
return $('#eventList option:selected').first().attr('value');
}
}
function self_sent_lock(self_sent) {
if (self_sent == true) {
$(".registration_case").show();
$("#usersList").attr('disabled', 'true');
$("#usersSubList").attr('disabled', 'true');
removeAllOption($('#usersSubList'));
} else {
$(".registration_case").show();
$("#usersList").removeAttr('disabled');
$("#usersSubList").removeAttr('disabled');
}
}
function showEventType() {
cleanInput();
eInd = getCurrentEventTypeInd();
cleanInput();
currentEventName = getCurrentEventTypeName();
$("span#activated_checkbox").css("display", "inline"); // make checkbox visible
$('input[name=activated]').attr('checked', false);
var self_sent = false;
if (typeof(eventsConfig[currentEventName])!='undefined') {
// if registration, only sent to self_user
if (eventsConfig[currentEventName].self_sent == true) {
//hide
$(".registration_case").show();
$("#usersList").attr('disabled', 'true');
$("#usersSubList").attr('disabled', 'true');
} else {
$(".registration_case").show();
$("#usersList").removeAttr('disabled');
$("#usersSubList").removeAttr('disabled');
if (eventsConfig[currentEventName].self_sent == true) {
self_sent = true;
}
} else {
$(".registration_case").show();
$("#usersList").removeAttr('disabled');
$("#usersSubList").removeAttr('disabled');
}
self_sent_lock(self_sent);
// List of events configuration
$('#eventName').attr('value', currentEventName);
// $('#descLangVar').text(eventsConfig[currentEventName].desc_lang_var);
$('#eventNameTitle').text('');
//$('#descLangVar').text(eventsConfig[currentEventName].desc_lang_var);
// Set message and subject accoding to the current interface language
$.each(eventTypes,function(key,value) {
@ -143,28 +165,30 @@ $users = UserManager::get_user_list();
$('#keys').append('< li > '+key+'< / li > ');
});
}
$.ajax({
url: '<?php echo $ajaxPath ?> ?action=get_event_users& eventName=' +currentEventName,
dataType: 'json',
success: function(data) {
removeAllOption($('#usersSubList'));
refreshUsersList();
usersIds = new Array();
var json = jQuery.parseJSON(data);
$.each(json, function(ind,item) {
addOption($('#usersSubList'),item.user_id, item.firstname + ' '+item.lastname);
usersIds[ind] = item.value;
removeOption($('#usersList'),item.user_id);
});
$('#eventUsers').attr('value',usersIds.join(';'));
}
});
if (self_sent == false ) {
$.ajax({
url: '<?php echo $ajaxPath ?> ?action=get_event_users& eventName=' +currentEventName,
dataType: 'json',
success: function(data) {
removeAllOption($('#usersSubList'));
refreshUsersList();
usersIds = new Array();
var json = jQuery.parseJSON(data);
$.each(json, function(ind,item) {
addOption($('#usersSubList'),item.user_id, item.firstname + ' '+item.lastname);
usersIds[ind] = item.value;
removeOption($('#usersList'),item.user_id);
});
$('#eventUsers').attr('value',usersIds.join(';'));
}
});
}
}
function submitForm() {
if($('#eventId')) {
if ($('#eventId')) {
usersIds = new Array();
$('#usersSubList option').each(function(ind,item) {
@ -185,7 +209,7 @@ $users = UserManager::get_user_list();
select.find('option[value='+value+']').remove();
}
function removeAllOption(select) {
function removeAllOption(select) {
select.find('option').remove();
}
@ -228,12 +252,12 @@ $users = UserManager::get_user_list();
/**
* Asks if user want to abandon the changes he's done
*/
function confirmMessage(sender) {
console.log(sender);
if(flagContentHasChanged == true) {
if(confirm(key_lang)) {
function confirmMessage(sender) {
if (flagContentHasChanged == true) {
if (confirm(key_lang)) {
flagContentHasChanged = false;
if(sender == "eventList") {
if (sender == "eventList") {
cleanInput();
showEventType();
} else if(sender == "languages") {
@ -252,65 +276,55 @@ $users = UserManager::get_user_list();
/**
* Empty the input and the textarea
*/
function cleanInput()
{
function cleanInput() {
$('#eventMessage').val("");
$('#eventSubject').val("");
}
< / script >
< div class = "page-header" >
< h2 > <?php print get_lang ( 'events_title' ) ?> </ h2 >
< / div >
< form method = "POST" onSubmit = "return submitForm(); " >
< table id = "" width = "90%" >
< tr >
< td width = "5%" >
< h4 > <?php print get_lang ( 'events_listTitle' ); ?> </ h4 >
< / td >
< td width = "5%" >
< h4 > <?php print get_lang ( 'events_userListTile' ); ?> </ h4 >
< / td >
< td width = "5%" >
< / td >
< td width = "5%" >
< h4 > <?php print get_lang ( 'events_userSubListTile' ); ?> </ h4 >
< / td >
< / tr >
< tr >
< td >
< select multiple = "1" id = "eventList" onchange = "confirmMessage(this.name); return false;" name = "eventList" >
<?php
foreach ($event_config as $key => $config) {
print '< option value = "' . $key . '" > ' . get_lang($config['name_lang_var']) . '< / option > ';
}
?>
< / select >
< / td >
< td >
< select multiple = "1" id = "usersList" class = "registration_case" > < / select >
< / td >
< td valign = "middle" class = "registration_case" >
< button class = "arrowr" onclick = 'moveUsers($("#usersList"),$("#usersSubList")); return false;' > < / button >
< br / >
< br / >
< button class = "arrowl" onclick = 'moveUsers($("#usersSubList"),$("#usersList")); return false;' > < / button >
< / td >
< td >
< select multiple = "1" id = "usersSubList" class = "registration_case" > < / select >
< / td >
< / tr >
< / table >
< div class = "row" >
< div class = "span12" id = "event_list_group" >
< h4 > <?php print get_lang ( 'events_listTitle' ); ?> </ h4 >
< select class = "span6" multiple = "1" id = "eventList" onchange = "confirmMessage(this.name); return false;" name = "eventList" >
<?php
foreach ($event_config as $key => $config) {
print '< option value = "' . $key . '" > ' . get_lang($config['name_lang_var']) . '< / option > ';
}
?>
< / select >
< / div >
< div class = "span4" >
< h4 > <?php print get_lang ( 'events_userListTile' ); ?> </ h4 >
< select multiple = "1" id = "usersList" class = "span3 registration_case" > < / select >
< / div >
< div class = "span4" >
< div class = "registration_case" >
< button class = "arrowr" onclick = 'moveUsers($("#usersList"),$("#usersSubList")); return false;' > < / button >
< br / >
< br / >
< button class = "arrowl" onclick = 'moveUsers($("#usersSubList"),$("#usersList")); return false;' > < / button >
< / div >
< / div >
< div class = "span4" >
< h4 > <?php print get_lang ( 'events_userSubListTile' ); ?> </ h4 >
< select class = "span3" multiple = "1" id = "usersSubList" class = "registration_case" > < / select >
< / div >
< / div >
< br / >
< span id = "activated_checkbox" >
< h2 id = "eventNameTitle" > < / h2 >
< span id = "activated_checkbox" >
< label for = "activated" style = "display:inline;" > <?php print get_lang ( 'checkbox_activated' ); ?> </ label >
< input type = "checkbox" name = "activated" value = "1" / >
< / span >
< / span >
< br / >
< h2 id = "eventNameTitle" > < / h2 >
< select id = "languages" name = "languages" style = "margin-top:20px;" onclick = 'confirmMessage(this.name); return false;' >
<?php foreach ( $languages [ "name" ] as $key => $value ) {
$english_name = $languages['folder'][$key]; ?>
@ -319,9 +333,9 @@ foreach ($event_config as $key => $config) {
< / select >
< input type = "hidden" name = "action" value = "modEventType" / >
< input type = "hidden" name = "eventId" id = "eventId" / >
< input type = "hidden" name = "eventId" id = "eventId" / >
< input type = "hidden" name = "eventUsers" id = "eventUsers" / >
< input type = "hidden" id = "eventName" / >
< input type = "hidden" id = "eventName" value = " <?php echo $event_name ?> " />
< br / >
<!-- <div id="descLangVar">