PRinting the event mail template, fixing some jquery, adding security, still need more work see #4658
parent
ba2197b858
commit
0bc2807f73
@ -0,0 +1,91 @@ |
||||
<?php |
||||
// name of the language file that needs to be included |
||||
$language_file = array('admin', 'events'); |
||||
$cidReset = true; |
||||
|
||||
require_once '../inc/global.inc.php'; |
||||
|
||||
//The event type is so mess that I'm giving me the freedom to try to do a "symfony controller" style |
||||
class eventController { // extends Controller { |
||||
public function showAction() |
||||
{ |
||||
|
||||
} |
||||
|
||||
public function newAction() |
||||
{ |
||||
|
||||
} |
||||
|
||||
public function addAction() |
||||
{ |
||||
|
||||
} |
||||
|
||||
public function listingAction() |
||||
{ |
||||
$event_email_template = new EventEmailTemplate(); |
||||
return $event_email_template->display(); |
||||
} |
||||
|
||||
public function deleteAction($id) { |
||||
$event_email_template = new EventEmailTemplate(); |
||||
return $event_email_template->delete($id); |
||||
} |
||||
} |
||||
|
||||
$event_controller = new eventController(); |
||||
$action = isset($_GET['action']) ? $_GET['action'] : null; |
||||
|
||||
switch ($action) { |
||||
case 'show': |
||||
$event_controller->showAction(); |
||||
break; |
||||
case 'add': |
||||
$event_controller->addAction(); |
||||
break; |
||||
case 'new': |
||||
$event_controller->newAction(); |
||||
break; |
||||
case 'listing': |
||||
$content = $event_controller->listingAction(); |
||||
break; |
||||
case 'delete' : |
||||
$event_controller->deleteAction($_GET['id']); |
||||
$content = $event_controller->listingAction(); |
||||
break; |
||||
} |
||||
|
||||
//jqgrid will use this URL to do the selects |
||||
$url = api_get_path(WEB_AJAX_PATH).'model.ajax.php?a=get_event_email_template'; |
||||
|
||||
|
||||
//The order is important you need to check the the $column variable in the model.ajax.php file |
||||
$columns = array(get_lang('Subject'), get_lang('Message'), get_lang('EventTypeName'), get_lang('Language'), get_lang('Status'), get_lang('Actions')); |
||||
|
||||
//Column config |
||||
$column_model = array( |
||||
array('name'=>'subject', 'index'=>'subject', 'width'=>'80', 'align'=>'left'), |
||||
array('name'=>'message', 'index'=>'message', 'width'=>'500', 'align'=>'left','sortable'=>'false'), |
||||
array('name'=>'event_type_name', 'index'=>'event_type_name', 'width'=>'80', 'align'=>'left'), |
||||
array('name'=>'language_id', 'index'=>'language_id', 'width'=>'80', 'align'=>'left'), |
||||
array('name'=>'activated', 'index'=>'activated', 'width'=>'80', 'align'=>'left'), |
||||
array('name'=>'actions', 'index'=>'actions', 'width'=>'100') |
||||
); |
||||
//Autowidth |
||||
$extra_params['autowidth'] = 'true'; |
||||
//height auto |
||||
$extra_params['height'] = 'auto'; |
||||
|
||||
$htmlHeadXtra[] = api_get_jqgrid_js(); |
||||
$htmlHeadXtra[] = '<script> |
||||
$(function() { |
||||
'.Display::grid_js('event_email_template', $url,$columns,$column_model,$extra_params, array(), $action_links,true).' |
||||
}); |
||||
</script>'; |
||||
|
||||
$tpl = new Template($tool_name); |
||||
$tpl->assign('actions', $actions); |
||||
$tpl->assign('message', $message); |
||||
$tpl->assign('content', $content); |
||||
$tpl->display_one_col_template(); |
||||
@ -1,390 +1,362 @@ |
||||
<?php |
||||
|
||||
// name of the language file that needs to be included |
||||
$language_file = array('admin','events'); |
||||
$language_file = array('admin', 'events'); |
||||
$cidReset = true; |
||||
|
||||
require_once '../inc/global.inc.php'; |
||||
require_once '../inc/conf/events.conf.php'; |
||||
$this_section = SECTION_PLATFORM_ADMIN; |
||||
|
||||
api_protect_admin_script(); |
||||
|
||||
$interbreadcrumb[] = array ('url' => 'index.php', 'name' => get_lang('PlatformAdmin')); |
||||
$interbreadcrumb[] = array('url' => 'index.php', 'name' => get_lang('PlatformAdmin')); |
||||
$tool_name = get_lang('events_title'); |
||||
|
||||
$action = isset($_POST['action'])?$_POST['action']:null; |
||||
$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; |
||||
|
||||
if($action == 'modEventType') { |
||||
if($eventUsers) { |
||||
$users = explode(';',$eventUsers); |
||||
} |
||||
else { |
||||
$users = array(); |
||||
} |
||||
|
||||
save_event_type_message($eventName,$users,$eventMessage,$eventSubject, $eventMessageLanguage, $activated); |
||||
|
||||
// echo mysql_error(); |
||||
header('location: event_type.php'); |
||||
exit; |
||||
$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; |
||||
|
||||
if ($action == 'modEventType') { |
||||
if ($eventUsers) { |
||||
$users = explode(';', $eventUsers); |
||||
} else { |
||||
$users = array(); |
||||
} |
||||
save_event_type_message($eventName, $users, $eventMessage, $eventSubject, $eventMessageLanguage, $activated); |
||||
|
||||
header('location: event_type.php'); |
||||
exit; |
||||
} |
||||
|
||||
$ets = get_all_event_types(); |
||||
|
||||
$languages = api_get_languages(); |
||||
|
||||
$ajaxPath = api_get_path(WEB_CODE_PATH).'inc/ajax/events.ajax.php'; |
||||
$ajaxPath = api_get_path(WEB_CODE_PATH) . 'inc/ajax/events.ajax.php'; |
||||
Display::display_header($tool_name); |
||||
|
||||
$key_lang = get_lang('unsaved_changes'); |
||||
$action_array = array(array('url' =>'event_controller.php?action=listing' , 'content' => get_lang('List'))); |
||||
|
||||
echo Display::actions($action_array); |
||||
$key_lang = get_lang('unsaved_changes'); |
||||
$users = UserManager::get_user_list(); |
||||
|
||||
?> |
||||
|
||||
<script language="javascript"> |
||||
var usersList = <?php print json_encode($users) ?>;
|
||||
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 ?>";
|
||||
|
||||
|
||||
|
||||
function ajax(params,func) { |
||||
$.ajax({ |
||||
url: "<?php echo $ajaxPath ?>",
|
||||
type: "POST", |
||||
data: params, |
||||
success: func |
||||
} |
||||
); |
||||
} |
||||
|
||||
function refreshUsersList() { |
||||
removeAllOption($('#usersList')); |
||||
$.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'); |
||||
<script> |
||||
var usersList = <?php print json_encode($users) ?>;
|
||||
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 ?>";
|
||||
|
||||
function ajax(params,func) { |
||||
$.ajax({ |
||||
url: "<?php echo $ajaxPath ?>",
|
||||
type: "POST", |
||||
data: params, |
||||
success: func |
||||
} |
||||
|
||||
function showEventType() { |
||||
cleanInput(); |
||||
eInd = getCurrentEventTypeInd(); |
||||
currentEventName = getCurrentEventTypeName(); |
||||
|
||||
$("span#activated_checkbox").css("display", "inline"); // make checkbox visible |
||||
$('input[name=activated]').attr('checked', false); |
||||
|
||||
|
||||
if(typeof(eventsConfig[currentEventName])!='undefined') |
||||
{ |
||||
if(eventsConfig[currentEventName].self_sent == true) // if registration, only sent to self_user |
||||
{ |
||||
$(".registration_case").css("display", "none"); |
||||
} |
||||
else |
||||
{ |
||||
$(".registration_case").css("display", "block"); |
||||
} |
||||
} |
||||
else |
||||
{ |
||||
$(".registration_case").css("display", "block"); |
||||
); |
||||
} |
||||
|
||||
function refreshUsersList() { |
||||
removeAllOption($('#usersList')); |
||||
$.each(usersList, function(ind,item) { |
||||
console.log(item.firstname); |
||||
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'); |
||||
} |
||||
|
||||
function showEventType() { |
||||
cleanInput(); |
||||
eInd = getCurrentEventTypeInd(); |
||||
currentEventName = getCurrentEventTypeName(); |
||||
|
||||
$("span#activated_checkbox").css("display", "inline"); // make checkbox visible |
||||
$('input[name=activated]').attr('checked', 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'); |
||||
} |
||||
} else { |
||||
$(".registration_case").show(); |
||||
$("#usersList").removeAttr('disabled'); |
||||
$("#usersSubList").removeAttr('disabled'); |
||||
} |
||||
|
||||
// List of events configuration |
||||
$('#eventName').attr('value', currentEventName); |
||||
// $('#descLangVar').text(eventsConfig[currentEventName].desc_lang_var); |
||||
// List of events configuration |
||||
$('#eventName').attr('value', currentEventName); |
||||
// $('#descLangVar').text(eventsConfig[currentEventName].desc_lang_var); |
||||
|
||||
// set message and subject accoding to the current interface language |
||||
$.each(eventTypes,function(key,value) |
||||
{ |
||||
if(eventTypes[key]["event_type_name"] == currentEventName) |
||||
{ |
||||
$('#eventNameTitle').text(eventTypes[key]["nameLangVar"]); |
||||
} |
||||
// Set message and subject accoding to the current interface language |
||||
$.each(eventTypes,function(key,value) { |
||||
if (eventTypes[key]["event_type_name"] == currentEventName) { |
||||
$('#eventNameTitle').text(eventTypes[key]["nameLangVar"]); |
||||
} |
||||
|
||||
if(eventTypes[key]["event_type_name"] == currentEventName && eventTypes[key]["activated"] == 1) |
||||
{ |
||||
$('input[name=activated]').attr('checked', true); |
||||
} |
||||
if (eventTypes[key]["event_type_name"] == currentEventName && eventTypes[key]["activated"] == 1) { |
||||
$('input[name=activated]').attr('checked', true); |
||||
} |
||||
|
||||
if(eventTypes[key]["event_type_name"] == currentEventName && eventTypes[key]["dokeos_folder"] == currentLanguage) |
||||
{ |
||||
if (eventTypes[key]["event_type_name"] == currentEventName && eventTypes[key]["dokeos_folder"] == currentLanguage) { |
||||
$('#eventMessage').val(eventTypes[key]["message"]); |
||||
$('#eventSubject').val(eventTypes[key]["subject"]); |
||||
} |
||||
}); |
||||
|
||||
$('#eventMessage').val(eventTypes[key]["message"]); |
||||
$('#eventSubject').val(eventTypes[key]["subject"]); |
||||
// Displays the available keys for the mail template (related to an event name) |
||||
$('#keys').find('li').remove(); |
||||
if(typeof(eventsConfig[currentEventName]["available_keyvars"])!='undefined') { |
||||
$.each(eventsConfig[currentEventName]["available_keyvars"],function(key,value) { |
||||
$('#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(';')); |
||||
} |
||||
}); |
||||
} |
||||
|
||||
// displays the available keys for the mail template (related to an event name) |
||||
$('#keys').find('li').remove(); |
||||
if(typeof(eventsConfig[currentEventName]["available_keyvars"])!='undefined') |
||||
{ |
||||
$.each(eventsConfig[currentEventName]["available_keyvars"],function(key,value) |
||||
{ |
||||
$('#keys').append('<li>'+key+'</li>'); |
||||
}); |
||||
} |
||||
|
||||
|
||||
ajax({action:"get_event_users", eventName:currentEventName},function(data) { |
||||
removeAllOption($('#usersSubList')); |
||||
|
||||
refreshUsersList(); |
||||
// |
||||
usersIds = new Array(); |
||||
|
||||
$.each(data,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')) { |
||||
usersIds = new Array(); |
||||
|
||||
$('#usersSubList option').each(function(ind,item) |
||||
{ |
||||
usersIds[ind] = item.value; |
||||
} |
||||
); |
||||
|
||||
$('#eventUsers').attr('value',usersIds.join(';')); |
||||
|
||||
return true; |
||||
} |
||||
|
||||
return false; |
||||
} |
||||
|
||||
function addOption(select,value,text) { |
||||
select.append('<option value="'+value+'">'+text+'</option>'); |
||||
} |
||||
|
||||
function removeOption(select,value) { |
||||
select.find('option[value='+value+']').remove(); |
||||
} |
||||
|
||||
function removeAllOption(select) { |
||||
select.find('option').remove(); |
||||
} |
||||
|
||||
function moveUsers(src,dest) { |
||||
src.find('option:selected').each(function(index,opt) { |
||||
text = opt.text; |
||||
val = opt.value; |
||||
|
||||
addOption(dest,val,text); |
||||
removeOption(src,val); |
||||
}); |
||||
} |
||||
function submitForm() { |
||||
if($('#eventId')) { |
||||
usersIds = new Array(); |
||||
|
||||
/** |
||||
* Change the message of the mail according to the selected language |
||||
*/ |
||||
function changeLanguage() |
||||
{ |
||||
cleanInput(); |
||||
currentEventName = getCurrentEventTypeName(); |
||||
$.each(eventTypes,function(key,value) |
||||
{ |
||||
if(eventTypes[key]["event_type_name"] == currentEventName && eventTypes[key]["dokeos_folder"] == $('#languages option:selected').first().attr('value')) |
||||
{ |
||||
$('#eventSubject').val(eventTypes[key]["subject"]); |
||||
$('#eventMessage').val(eventTypes[key]["message"]); |
||||
} |
||||
$('#usersSubList option').each(function(ind,item) { |
||||
usersIds[ind] = item.value; |
||||
}); |
||||
|
||||
$('#eventUsers').attr('value',usersIds.join(';')); |
||||
return true; |
||||
} |
||||
|
||||
/** |
||||
* Set flag at true if message and/or content was changed |
||||
*/ |
||||
function contentChanged() |
||||
{ |
||||
flagContentHasChanged = true; |
||||
} |
||||
|
||||
/** |
||||
* Asks if user want to abandon the changes he's done |
||||
*/ |
||||
function confirmMessage(sender) |
||||
return false; |
||||
} |
||||
|
||||
function addOption(select,value,text) { |
||||
select.append('<option value="'+value+'">'+text+'</option>'); |
||||
} |
||||
|
||||
function removeOption(select,value) { |
||||
select.find('option[value='+value+']').remove(); |
||||
} |
||||
|
||||
function removeAllOption(select) { |
||||
select.find('option').remove(); |
||||
} |
||||
|
||||
function moveUsers(src,dest) { |
||||
src.find('option:selected').each(function(index,opt) { |
||||
text = opt.text; |
||||
val = opt.value; |
||||
|
||||
addOption(dest,val,text); |
||||
removeOption(src,val); |
||||
}); |
||||
} |
||||
|
||||
/** |
||||
* Change the message of the mail according to the selected language |
||||
*/ |
||||
function changeLanguage() |
||||
{ |
||||
cleanInput(); |
||||
currentEventName = getCurrentEventTypeName(); |
||||
$.each(eventTypes,function(key,value) |
||||
{ |
||||
if(flagContentHasChanged == true) |
||||
if(eventTypes[key]["event_type_name"] == currentEventName && eventTypes[key]["dokeos_folder"] == $('#languages option:selected').first().attr('value')) |
||||
{ |
||||
if(confirm(key_lang)) |
||||
{ |
||||
flagContentHasChanged = false; |
||||
if(sender == "eventList") |
||||
{ |
||||
cleanInput(); |
||||
showEventType(); |
||||
} |
||||
else if(sender == "languages") |
||||
{ |
||||
cleanInput(); |
||||
changeLanguage(); |
||||
} |
||||
} |
||||
$('#eventSubject').val(eventTypes[key]["subject"]); |
||||
$('#eventMessage').val(eventTypes[key]["message"]); |
||||
} |
||||
else |
||||
{ |
||||
if(sender == "eventList") |
||||
}); |
||||
|
||||
} |
||||
|
||||
/** |
||||
* Set flag at true if message and/or content was changed |
||||
*/ |
||||
function contentChanged() |
||||
{ |
||||
flagContentHasChanged = true; |
||||
} |
||||
|
||||
/** |
||||
* Asks if user want to abandon the changes he's done |
||||
*/ |
||||
function confirmMessage(sender) { |
||||
console.log(sender); |
||||
if(flagContentHasChanged == true) { |
||||
if(confirm(key_lang)) { |
||||
flagContentHasChanged = false; |
||||
if(sender == "eventList") { |
||||
cleanInput(); |
||||
showEventType(); |
||||
else if(sender == "languages") |
||||
} else if(sender == "languages") { |
||||
cleanInput(); |
||||
changeLanguage(); |
||||
} |
||||
} |
||||
} else { |
||||
if(sender == "eventList") |
||||
showEventType(); |
||||
else if(sender == "languages") |
||||
changeLanguage(); |
||||
} |
||||
|
||||
/** |
||||
* Empty the input and the textarea |
||||
*/ |
||||
function cleanInput() |
||||
{ |
||||
$('#eventMessage').val(""); |
||||
$('#eventSubject').val(""); |
||||
} |
||||
} |
||||
|
||||
/** |
||||
* Empty the input and the textarea |
||||
*/ |
||||
function cleanInput() |
||||
{ |
||||
$('#eventMessage').val(""); |
||||
$('#eventSubject').val(""); |
||||
} |
||||
</script> |
||||
|
||||
<h3><?php print get_lang('events_title') ?></h3>
|
||||
|
||||
<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 /> |
||||
<button class="arrowl" onclick='moveUsers($("#usersSubList"),$("#usersList")); return false;'></button> |
||||
</td> |
||||
<td> |
||||
<select multiple="1" id="usersSubList" class="registration_case"></select> |
||||
</td> |
||||
</tr> |
||||
</table> |
||||
<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> |
||||
<br /> |
||||
<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>
|
||||
<br /> |
||||
|
||||
<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> |
||||
|
||||
<br /> |
||||
<h2 id="eventNameTitle"></h2> |
||||
|
||||
<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]; ?> |
||||
<option value="<?php echo $english_name; ?>" <?php echo ($english_name == api_get_interface_language()) ? "selected=selected" : ""; ?>><?php echo $value; ?></option>
|
||||
<?php } ?> |
||||
</select> |
||||
|
||||
<input type="hidden" name="action" value="modEventType" /> |
||||
<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 /> |
||||
|
||||
<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]; ?> |
||||
<option value="<?php echo $english_name; ?>" <?php echo ($english_name == api_get_interface_language()) ? "selected=selected" : ""; ?>><?php echo $value; ?></option>
|
||||
<?php } ?> |
||||
</select> |
||||
|
||||
<input type="hidden" name="action" value="modEventType" /> |
||||
<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" onchange="contentChanged(); return false;" /> |
||||
<br /><br /> |
||||
<table> |
||||
<tr> |
||||
<td> |
||||
<label for="eventMessage"><h4><?php print get_lang('events_labelMessage'); ?></h4></label>
|
||||
</td> |
||||
<td class="available_keys" style="padding-left: 30px;"> |
||||
<h4><?php print get_lang('availables_keys'); ?></h4>
|
||||
</td> |
||||
</tr> |
||||
<tr> |
||||
<td> |
||||
<textarea cols="100" rows="10" name="eventMessage" id="eventMessage" onchange="contentChanged(); return false;"></textarea> |
||||
</td> |
||||
<td class="available_keys"> |
||||
<div id="keys" style="padding-left: 50px;"><ul></ul></div> |
||||
</td> |
||||
</tr> |
||||
</table> |
||||
|
||||
<br /><br /> |
||||
|
||||
<input type="submit" value="<?php print get_lang('events_btnMod'); ?>" />
|
||||
<label for="eventSubject"> |
||||
<h4><?php print get_lang('events_labelSubject'); ?></h4>
|
||||
</label> |
||||
<input class="span6" type="text" id="eventSubject" name="eventSubject" onchange="contentChanged(); return false;" /> |
||||
<br /><br /> |
||||
<table> |
||||
<tr> |
||||
<td> |
||||
<label for="eventMessage"><h4><?php print get_lang('events_labelMessage'); ?></h4></label>
|
||||
</td> |
||||
<td class="available_keys" style="padding-left: 30px;"> |
||||
<h4><?php print get_lang('availables_keys'); ?></h4>
|
||||
</td> |
||||
</tr> |
||||
<tr> |
||||
<td> |
||||
<textarea class="span6" rows="10" name="eventMessage" id="eventMessage" onchange="contentChanged(); return false;"> |
||||
</textarea> |
||||
</td> |
||||
<td class="available_keys"> |
||||
<div id="keys" style="padding-left: 50px;"><ul></ul></div> |
||||
</td> |
||||
</tr> |
||||
</table> |
||||
|
||||
<br /><br /> |
||||
|
||||
<input type="submit" value="<?php print get_lang('events_btnMod'); ?>" />
|
||||
|
||||
</form> |
||||
|
||||
|
||||
<?php |
||||
|
||||
Display :: display_footer(); |
||||
|
||||
?> |
||||
Display :: display_footer(); |
||||
@ -0,0 +1,121 @@ |
||||
<?php |
||||
/* For licensing terms, see /license.txt */ |
||||
/** |
||||
* This class provides methods for the notebook management. |
||||
* Include/require it in your code to use its features. |
||||
* @package chamilo.library |
||||
*/ |
||||
/** |
||||
* Code |
||||
*/ |
||||
define ('EVENT_EMAIL_TEMPLATE_ACTIVE', 1); |
||||
define ('EVENT_EMAIL_TEMPLATE_INACTIVE',0); |
||||
|
||||
/** |
||||
* @package chamilo.library |
||||
*/ |
||||
class EventEmailTemplate extends Model { |
||||
|
||||
var $table; |
||||
var $columns = array('id', 'message','subject','event_type_name','activated'); |
||||
|
||||
public function __construct() { |
||||
$this->table = Database::get_main_table(TABLE_EVENT_EMAIL_TEMPLATE); |
||||
} |
||||
|
||||
public function get_all($where_conditions = array()) { |
||||
return Database::select('*',$this->table, array('where'=>$where_conditions,'order' =>'name ASC')); |
||||
} |
||||
|
||||
|
||||
/** |
||||
* Displays the title + grid |
||||
*/ |
||||
public function display() { |
||||
// action links |
||||
$content = Display::actions(array(array('url' => 'event_type.php' , 'content' => get_lang('Add')))); |
||||
$content .= Display::grid_html('event_email_template'); |
||||
return $content; |
||||
} |
||||
|
||||
public function get_status_list() { |
||||
return array(EVENT_EMAIL_TEMPLATE_ACTIVE => get_lang('Enable'), EVENT_EMAIL_TEMPLATE_INACTIVE=> get_lang('Disable')); |
||||
} |
||||
|
||||
/** |
||||
* Returns a Form validator Obj |
||||
* @todo the form should be auto generated |
||||
* @param string url |
||||
* @param string action add, edit |
||||
* @return obj form validator obj |
||||
*/ |
||||
public function return_form($url, $action) { |
||||
|
||||
$oFCKeditor = new FCKeditor('description') ; |
||||
$oFCKeditor->ToolbarSet = 'careers'; |
||||
$oFCKeditor->Width = '100%'; |
||||
$oFCKeditor->Height = '200'; |
||||
$oFCKeditor->Value = ''; |
||||
$oFCKeditor->CreateHtml(); |
||||
|
||||
$form = new FormValidator('career', 'post', $url); |
||||
// Settting the form elements |
||||
$header = get_lang('Add'); |
||||
if ($action == 'edit') { |
||||
$header = get_lang('Modify'); |
||||
} |
||||
|
||||
$form->addElement('header', $header); |
||||
$id = isset($_GET['id']) ? intval($_GET['id']) : ''; |
||||
$form->addElement('hidden', 'id', $id); |
||||
|
||||
$form->addElement('text', 'name', get_lang('Name'), array('size' => '70')); |
||||
$form->add_html_editor('description', get_lang('Description'), false, false, array('ToolbarSet' => 'careers','Width' => '100%', 'Height' => '250')); |
||||
$status_list = $this->get_status_list(); |
||||
$form->addElement('select', 'status', get_lang('Status'), $status_list); |
||||
if ($action == 'edit') { |
||||
$form->addElement('text', 'created_at', get_lang('CreatedAt')); |
||||
$form->freeze('created_at'); |
||||
} |
||||
|
||||
if ($action == 'edit') { |
||||
$form->addElement('style_submit_button', 'submit', get_lang('Modify'), 'class="save"'); |
||||
} else { |
||||
$form->addElement('style_submit_button', 'submit', get_lang('Add'), 'class="save"'); |
||||
} |
||||
|
||||
// Setting the defaults |
||||
$defaults = $this->get($id); |
||||
|
||||
if (!empty($defaults['created_at'])) { |
||||
$defaults['created_at'] = api_convert_and_format_date($defaults['created_at']); |
||||
} |
||||
if (!empty($defaults['updated_at'])) { |
||||
$defaults['updated_at'] = api_convert_and_format_date($defaults['updated_at']); |
||||
} |
||||
$form->setDefaults($defaults); |
||||
|
||||
// Setting the rules |
||||
$form->addRule('name', get_lang('ThisFieldIsRequired'), 'required'); |
||||
return $form; |
||||
} |
||||
|
||||
public function get_count() { |
||||
$row = Database::select('count(*) as count', $this->table, array(),'first'); |
||||
return $row['count']; |
||||
} |
||||
|
||||
/* |
||||
public function save($params) { |
||||
$id = parent::save($params); |
||||
if (!empty($id)) { |
||||
event_system(LOG_CAREER_CREATE, LOG_CAREER_ID, $id, api_get_utc_datetime(), api_get_user_id()); |
||||
} |
||||
return $id; |
||||
} |
||||
|
||||
public function delete($id) { |
||||
parent::delete($id); |
||||
event_system(LOG_CAREER_DELETE, LOG_CAREER_ID, $id, api_get_utc_datetime(), api_get_user_id()); |
||||
} */ |
||||
} |
||||
Loading…
Reference in new issue