skala
aportugal 16 years ago
commit c04a4e8a57
  1. 6
      main/admin/settings.php
  2. 2
      main/document/edit_document.php
  3. 3
      main/document/slideshow.php
  4. 1121
      main/exercice/exercice_submit.php
  5. 4
      main/exercice/exercise.lib.php
  6. 2
      main/forum/newthread.php
  7. 2
      main/forum/reply.php
  8. BIN
      main/img/message_reply_forum.png
  9. 48
      main/inc/lib/fckeditor/editor/plugins/glossary/fck_glossary_automatic.js
  10. 1
      main/inc/lib/fckeditor/fcktemplates.xml.php
  11. 47
      main/inc/lib/javascript/glossary.js
  12. 67
      main/inc/lib/javascript/jquery.highlight.js
  13. 2
      main/install/dokeos_main.sql
  14. 1
      main/lang/bulgarian/admin.inc.php
  15. 1
      main/lang/bulgarian/trad4all.inc.php
  16. 1
      main/lang/catalan/admin.inc.php
  17. 1
      main/lang/catalan/trad4all.inc.php
  18. 1
      main/lang/english/admin.inc.php
  19. 1
      main/lang/english/exercice.inc.php
  20. 2
      main/lang/english/glossary.inc.php
  21. 1
      main/lang/english/trad4all.inc.php
  22. 1
      main/lang/english/userInfo.inc.php
  23. 1
      main/lang/italian/admin.inc.php
  24. 1
      main/lang/italian/trad4all.inc.php
  25. 1
      main/lang/portuguese/admin.inc.php
  26. 125
      main/lang/portuguese/reservation.inc.php
  27. 82
      main/lang/portuguese/resourcelinker.inc.php
  28. 64
      main/lang/portuguese/scorm.inc.php
  29. 1
      main/lang/portuguese/trad4all.inc.php
  30. 9
      main/lang/spanish/admin.inc.php
  31. 3
      main/lang/spanish/exercice.inc.php
  32. 2
      main/lang/spanish/glossary.inc.php
  33. 1
      main/lang/spanish/trad4all.inc.php
  34. 1
      main/lang/spanish/userInfo.inc.php
  35. 30
      main/tracking/courseLog.php
  36. 82
      main/user/subscribe_user.php
  37. 2
      main/user/user.php

@ -357,7 +357,7 @@ Display :: display_header($tool_name);
// displaying the message that the settings have been stored
if (!empty($_GET['action']) && $_GET['action'] == "stored")
{
Display :: display_normal_message(get_lang('SettingsStored'));
Display :: display_confirmation_message(get_lang('SettingsStored'));
}
// the action images
@ -467,7 +467,7 @@ function handle_plugins()
$category = $_GET['category'];
event_system(LOG_CONFIGURATION_SETTINGS_CHANGE, LOG_CONFIGURATION_SETTINGS_CATEGORY, $category, $time, $user_id);
Display :: display_normal_message(get_lang('SettingsStored'));
Display :: display_confirmation_message(get_lang('SettingsStored'));
}
echo get_lang('AvailablePlugins')."<br/><br/>";
@ -928,7 +928,7 @@ function handle_search() {
$result = api_set_setting($key,$value,null,null);
}
Display :: display_normal_message($SettingsStored);
Display :: display_confirmation_message($SettingsStored);
} else {
echo '<div id="search-options-form">';
$form->display();

@ -599,7 +599,7 @@ if(isset($msgError))
if( isset($info_message))
{
Display::display_normal_message($info_message); //main API
Display::display_confirmation_message($info_message); //main API
}

@ -286,7 +286,8 @@ if ($slide_id !== "all") {
echo '<tr>';
echo '<td align="center">';
echo '<a href="edit_document.php?'.api_get_cidreq().'&curdirpath='.$pathurl.'&amp;file='.urlencode($path).$image_files_only[$slide].'"><img src="../img/edit.gif" border="0" title="'.get_lang('Modify').'" alt="'.get_lang('Modify').'" /></a><br />';
echo '<a href="edit_document.php?'.api_get_cidreq().'&curdirpath='.$pathurl.'&amp;file='.urlencode($path).'/'.$image_files_only[$slide].'"><img src="../img/edit.gif" border="0" title="'.get_lang('Modify').'" alt="'.get_lang('Modify').'" /></a><br />';
list($width, $high) = getimagesize($image);
echo $width.' x '.$high.' <br />';

File diff suppressed because it is too large Load Diff

@ -45,8 +45,8 @@ require_once '../inc/lib/fckeditor/fckeditor.php';
function showQuestion($questionId, $onlyAnswers=false, $origin=false,$current_item, $total_item)
{
if (!ereg("MSIE", $_SERVER["HTTP_USER_AGENT"])) {
echo '<script src="'.api_get_path(WEB_LIBRARY_PATH).'javascript/jquery.js" type="text/javascript"></script>';
echo '<script src="'.api_get_path(WEB_LIBRARY_PATH).'javascript/jquery.corners.min.js" type="text/javascript"></script>';
//echo '<script src="'.api_get_path(WEB_LIBRARY_PATH).'javascript/jquery.js" type="text/javascript"></script>';
//echo '<script src="'.api_get_path(WEB_LIBRARY_PATH).'javascript/jquery.corners.min.js" type="text/javascript"></script>';
}

@ -201,7 +201,7 @@ handle_forum_and_forumcategories();
echo '<div class="actions">';
echo '<span style="float:right;">'.search_link().'</span>';
echo '<a href="index.php?gradebook='.$gradebook.'">'.Display::return_icon('back.png',get_lang('BackToForumOverview')).' '.get_lang('BackToForumOverview').'</a>';
echo '<a href="viewforum.php?forum='.Security::remove_XSS($_GET['forum']).'">'.Display::return_icon('forum.gif',get_lang('BackToForum')).' '.get_lang('BackToForum').'</a>';
echo '<a href="viewforum.php?forum='.Security::remove_XSS($_GET['forum']).'&amp;gidReq='.$_SESSION['toolgroup'].'">'.Display::return_icon('forum.gif',get_lang('BackToForum')).' '.get_lang('BackToForum').'</a>';
echo '</div>';
/*

@ -191,7 +191,7 @@ if ($origin != 'learnpath') {
echo '<div class="actions">';
echo '<span style="float:right;">'.search_link().'</span>';
echo '<a href="index.php?gradebook='.$gradebook.'">'.Display::return_icon('back.png',get_lang('BackToForumOverview')).' '.get_lang('BackToForumOverview').'</a>';
echo '<a href="viewforum.php?forum='.Security::remove_XSS($_GET['forum']).'">'.Display::return_icon('forum.gif',get_lang('BackToForum')).' '.get_lang('BackToForum').'</a>';
echo '<a href="viewforum.php?forum='.Security::remove_XSS($_GET['forum']).'&amp;gidReq='.$_SESSION['toolgroup'].'">'.Display::return_icon('forum.gif',get_lang('BackToForum')).' '.get_lang('BackToForum').'</a>';
echo '<a href="viewthread.php?forum='.Security::remove_XSS($_GET['forum']).'&amp;gradebook='.$gradebook.'&amp;thread='.Security::remove_XSS($_GET['thread']).'">'.Display::return_icon('forumthread.gif',get_lang('BackToThread')).' '.get_lang('BackToThread').'</a>';
echo '</div>';
} else {

Binary file not shown.

Before

Width:  |  Height:  |  Size: 916 B

After

Width:  |  Height:  |  Size: 3.4 KiB

@ -1,9 +1,10 @@
$(document).ready(function() {
$(window).load(function () {
var my_text=$("body").html();
my_protocol = location.protocol;
my_pathname=location.pathname;
work_path = my_pathname.substr(0,my_pathname.indexOf('/courses/'));
$.ajax({
contentType: "application/x-www-form-urlencoded",
beforeSend: function(content_object) {
@ -11,19 +12,43 @@ $(document).ready(function() {
type: "POST",
url: my_protocol+"//"+location.host+work_path+"/main/glossary/glossary_ajax_request.php",
data: "glossary_data=true",
success: function(datos) {
if (datos.length==0) {
success: function(datas) {
if (datas.length==0) {
return false;
}
data_terms=datas.split("[|.|_|.|-|.|]");
var complex_array = new Array();
var cp_complex_array = new Array();
for(i=0;i<data_terms.length;i++) {
specific_terms=data_terms[i].split("__|__|");
var real_term = specific_terms[1];
var my_specific_terms = new RegExp('([^A-Za-z0-9/_\<>])'+specific_terms[1]+'[\ .,]{0,1}',"gi");
new_html=my_text.replace(my_specific_terms,function(m){return replace_complete_char(m)});
$("body").html(new_html);
my_text=$("body").html();
var real_code = specific_terms[0];
complex_array[real_code] = real_term;
cp_complex_array[real_code] = real_term;
}
complex_array.reverse();
for (var my_index in complex_array) {
n = complex_array[my_index];
if (n == null) {
n = '';
} else {
for (var cp_my_index in cp_complex_array) {
cp_data = cp_complex_array[cp_my_index];
if (cp_data == null) {
cp_data = '';
} else {
if (cp_data == n) {
my_index = cp_my_index;
}
}
}
$('body').removeHighlight().highlight(n,my_index)
}
}
var complex_array = new Array();
//mouse over event
$("body .glossary-ajax").mouseover(function(){
@ -56,14 +81,7 @@ $(document).ready(function() {
div_show_id=current_element.find("div").attr("id");
$("div#"+div_show_id).remove();
});
//Callback Helper
function replace_complete_char(m) {
var complete_term_pattern = new RegExp(real_term,"i");
var tag = m.replace(complete_term_pattern," <span class=\"glossary-ajax\" style='color:blue' name=\"link"+specific_terms[0]+"\">$&</span>");
return tag;
}
}
});

@ -25,6 +25,7 @@ if (api_get_setting('show_glossary_in_documents') != 'none') {
if (api_get_setting('show_glossary_in_documents') == 'ismanual') {
$js .= '<script language="javascript" src="'.api_get_path(WEB_LIBRARY_PATH).'fckeditor/editor/plugins/glossary/fck_glossary_manual.js"/>';
} else {
$js .= '<script language="javascript" src="'.api_get_path(WEB_LIBRARY_PATH).'javascript/jquery.highlight.js"/>'.PHP_EOL;
$js .= '<script language="javascript" src="'.api_get_path(WEB_LIBRARY_PATH).'fckeditor/editor/plugins/glossary/fck_glossary_automatic.js"/>';
}
}

@ -17,17 +17,39 @@ $(document).ready(function() {
return false;
}
data_terms=datas.split("[|.|_|.|-|.|]");
var complex_array = new Array();
var cp_complex_array = new Array();
for(i=0;i<data_terms.length;i++) {
specific_terms=data_terms[i].split("__|__|");
var real_term = specific_terms[1];
var my_specific_terms = new RegExp('([^A-Za-z0-9/_\<>])'+specific_terms[1]+'[\ .,]{0,1}',"gi");
new_html=my_text.replace(my_specific_terms,function(m){return replace_complete_char(m)});
$(".glossary-content").html(new_html);
my_text=$(".glossary-content").html();
var real_code = specific_terms[0];
complex_array[real_code] = real_term;
cp_complex_array[real_code] = real_term;
}
$(".glossary-content .glossary-ajax").mouseover(function(){
complex_array.reverse();
for (var my_index in complex_array) {
n = complex_array[my_index];
if (n == null) {
n = '';
} else {
for (var cp_my_index in cp_complex_array) {
cp_data = cp_complex_array[cp_my_index];
if (cp_data == null) {
cp_data = '';
} else {
if (cp_data == n) {
my_index = cp_my_index;
}
}
}
$('#highlight-plugin').removeHighlight().highlight(n,my_index)
}
}
var complex_array = new Array();
$("#highlight-plugin .glossary-ajax").mouseover(function(){
random_id=Math.round(Math.random()*100);
div_show_id="div_show_id"+random_id;
div_content_id="div_content_id"+random_id;
@ -49,19 +71,14 @@ $(document).ready(function() {
}
});
});
$(".glossary-content .glossary-ajax").mouseout(function(){
$("#highlight-plugin .glossary-ajax").mouseout(function(){
var current_element,
current_element=$(this);
div_show_id=current_element.find("div").attr("id");
$("div#"+div_show_id).remove();
});
function replace_complete_char(m) {
var complete_term_pattern = new RegExp(real_term,"i");
var tag = m.replace(complete_term_pattern," <span class=\"glossary-ajax\" style='color:blue' name=\"link"+specific_terms[0]+"\">$&</span>");
return tag;
}
//helpers
}
});

@ -0,0 +1,67 @@
/*
highlight v3
Highlights arbitrary terms.
<http://johannburkard.de/blog/programming/javascript/highlight-javascript-text-higlighting-jquery-plugin.html>
MIT license.
Johann Burkard
<http://johannburkard.de>
<mailto:jb@eaio.com>
*/
jQuery.fn.highlight = function(pat,real_code) {
function innerHighlight(node, pat) {
var skip = 0;
if (node.nodeType == 3) {
var pos = node.data.toUpperCase().indexOf(pat);
if (pos >= 0) {
var spannode = document.createElement('a');
spannode.className = 'glossary-ajax';
spannode.style.color = 'blue';
spannode.name = 'link'+real_code;
spannode.href = '#';
var SearchRegExp = new RegExp("(" + pat +")","gi");
var MatchRegExp = node.nodeValue.match(SearchRegExp);
if (MatchRegExp == null) {
MatchRegExp = new Array();
}
//alert(node.nodeValue+'-----'+'---'+node.nodeValue[pat.length+1])
if (MatchRegExp.length > 0 && node.nodeValue[pat.length+1] != '') {
var middlebit = node.splitText(pos);
var endbit = middlebit.splitText(pat.length);
if (endbit.nodeValue[0] == null || endbit.nodeValue[0] == ' ') {
var middleclone = middlebit.cloneNode(true);
spannode.appendChild(middleclone);
middlebit.parentNode.replaceChild(spannode, middlebit);
}
}
skip = 1;
}
}
else if (node.nodeType == 1 && node.childNodes && !/(script|style)/i.test(node.tagName)) {
for (var i = 0; i <node.childNodes.length ; ++i) {
i += innerHighlight(node.childNodes[i], pat);
}
}
return skip;
}
return this.each(function() {
innerHighlight(this, pat.toUpperCase());
});
};
jQuery.fn.removeHighlight = function() {
return this.find("a.highlight").each(function() {
this.parentNode.firstChild.nodeName;
with (this.parentNode) {
replaceChild(this.firstChild, this);
normalize();
}
}).end();
};

@ -727,8 +727,6 @@ VALUES
('allow_use_sub_language', NULL, 'radio', 'Platform', 'false', 'AllowUseSubLanguageTitle', 'AllowUseSubLanguageComment', NULL, NULL,0),
('show_glossary_in_documents', NULL, 'radio', 'Course', 'none', 'ShowGlossaryInDocumentsTitle', 'ShowGlossaryInDocumentsComment', NULL, NULL,1),
('allow_terms_conditions', NULL, 'radio', 'Platform', 'false', 'AllowTermsAndConditionsTitle', 'AllowTermsAndConditionsComment', NULL, NULL,0),
('show_tutor_data',NULL,'radio','Platform','true','ShowTutorDataTitle','ShowTutorDataComment',NULL,NULL, 1),
('show_teacher_data',NULL,'radio','Platform','true','ShowTeacherDataTitle','ShowTeacherDataComment',NULL,NULL, 1),
('course_create_active_tools','enable_search','checkbox','Tools','false','CourseCreateActiveToolsTitle','CourseCreateActiveToolsComment',NULL,'Search',0),
('search_enabled',NULL,'radio','Tools','false','EnableSearchTitle','EnableSearchComment',NULL,NULL,1),
('search_prefilter_prefix',NULL, NULL,'Search','','SearchPrefilterPrefix','SearchPrefilterPrefixComment',NULL,NULL,0),

@ -991,5 +991,4 @@ $DeleteSelectedFullSessionCategory = "&#1048;&#1079;&#1090;&#1088;&#1080;&#1074;
$EditTopRegister = "&#1056;&#1077;&#1076;&#1072;&#1082;&#1090;&#1080;&#1088;&#1072;&#1085;&#1077; &#1085;&#1072; &#1073;&#1077;&#1083;&#1077;&#1078;&#1082;&#1072;&#1090;&#1072;";
$InsertTabs = "&#1044;&#1086;&#1073;&#1072;&#1074;&#1103;&#1085;&#1077; &#1085;&#1072; &#1088;&#1072;&#1079;&#1076;&#1077;&#1083;";
$EditTabs = "&#1056;&#1077;&#1076;&#1072;&#1082;&#1090;&#1080;&#1088;&#1072;&#1085;&#1077; &#1085;&#1072; &#1088;&#1072;&#1079;&#1076;&#1077;&#1083;&#1072;";
$Coachs = "&#1048;&#1085;&#1089;&#1090;&#1088;&#1091;&#1082;&#1090;&#1086;&#1088;&#1080;";
?>

@ -730,4 +730,5 @@ $ReadOnly = "&#1057;&#1072;&#1084;&#1086; &#1079;&#1072; &#1095;&#1077;&#1090;&#
$HistoryTrainingSession = "&#1048;&#1089;&#1090;&#1086;&#1088;&#1080;&#1103; &#1085;&#1072; &#1086;&#1073;&#1091;&#1095;&#1080;&#1090;&#1077;&#1083;&#1085;&#1072;&#1090;&#1072; &#1089;&#1077;&#1089;&#1080;&#1103;";
$FirstPage = "&#1055;&#1098;&#1088;&#1074;&#1072; &#1089;&#1090;&#1088;&#1072;&#1085;&#1080;&#1094;&#1072;";
$LastPage = "&#1055;&#1086;&#1089;&#1083;&#1077;&#1076;&#1085;&#1072; &#1089;&#1090;&#1088;&#1072;&#1085;&#1080;&#1094;&#1072;";
$Coachs = "&#1048;&#1085;&#1089;&#1090;&#1088;&#1091;&#1082;&#1090;&#1086;&#1088;&#1080;";
?>

@ -1068,5 +1068,4 @@ $DeleteSelectedFullSessionCategory = "Eliminar les categorias seleccionades amb
$EditTopRegister = "Editar avis";
$InsertTabs = "Insertar Tabs";
$EditTabs = "Editar Tabs";
$Coachs = "Tutors";
?>

@ -725,4 +725,5 @@ $HistoryTrainingSession = "Historial de sessions de formaci
$Until = "Fins";
$FirstPage = "Primera pàgina";
$LastPage = "Última pàgina";
$Coachs = "Tutors";
?>

@ -1086,7 +1086,6 @@ $DeleteSelectedFullSessionCategory = "Delete the selected categories to sessions
$EditTopRegister = "Edit Note";
$InsertTabs = "Add Tabs";
$EditTabs = "Edit Tabs";
$Coachs = "Coachs";
$IsAdministrator = "Is administrator";
$IsNotAdministrator = "Is not administrator";
?>

@ -347,4 +347,5 @@ $TooManyIterationsPleaseTryUsingMoreStraightforwardPolygons = "Too many iteratio
$Thresholds = "Thresholds";
$Delineation = "Delineation";
$QuestionTypeDoesNotBelongToFeedbackTypeInExercise = "Question type does not belong to feedback type in exercise";
$SessionIsReadOnly = "The session is read only";
?>

@ -22,4 +22,6 @@ $TableView = "Table view";
$GlossaryTermAlreadyExistsYouShouldEditIt = "This glossary term already exists. Please change the term name.";
$GlossaryManagement = "Glossary management";
$TermMoved = "The term has moved ";
$ShowGlossaryInExtraToolsTitle = "Show the glossary terms in extra tools";
$ShowGlossaryInExtraToolsComment = "From here you can configure how to add the glossary terms in extra tools as learning path and exercice tool";
?>

@ -749,4 +749,5 @@ $HistoryTrainingSession = "History training session";
$Until = "Until";
$FirstPage = "First Page";
$LastPage = "Last Page";
$Coachs = "Coachs";
?>

@ -91,4 +91,5 @@ $ClearSearchResults = "Clear search results";
$SendInvitation = "Send invitation";
$SocialInvitationToFriends = "Invite to join my group of friends";
$MyCertificates = "My certificates";
$ToChangeYourEmailMustTypeYourPassword = "To Change Your Email Must Type Your Password";
?>

@ -1086,7 +1086,6 @@ $DeleteSelectedFullSessionCategory = "Elimina le categorie selezionate CON sessi
$EditTopRegister = "Modifica appunto";
$InsertTabs = "Aggiungi separatore";
$EditTabs = "Modifica separatore";
$Coachs = "Tutor";
$IsAdministrator = "E\' amministratore";
$IsNotAdministrator = "Non è amministratore";
?>

@ -749,4 +749,5 @@ $HistoryTrainingSession = "Storico delle sessioni formative";
$Until = "Fino a";
$FirstPage = "Prima pagina";
$LastPage = "Ultima pagina";
$Coachs = "Tutor";
?>

@ -1086,5 +1086,4 @@ $DeleteSelectedFullSessionCategory = "Eliminar as categorias seleccionadas para
$EditTopRegister = "Editar Nota";
$InsertTabs = "Adicionar Separadores";
$EditTabs = "Editar Separadores";
$Coachs = "Tutores";
?>

@ -1,33 +1,134 @@
<?php /*
for more information: see languages.txt in the lang folder.
*/
$BookingPeriods = "Tempos de reserva";
$ReservationPeriodToSmall = "O período de reservas é demasiado curto.";
$BookingSystem = "Sistema de Reservas";
$BookingPeriodList = "Lista do período de Reservas";
$BookingListView = "Lista de Reservas";
$BookingCalendarView = "Visualização do calendário de Reservas";
$BookingPeriods = "Agendar Reserva";
$ResourceList = "Lista de recursos";
$GoToCalendarView = "Vista de calendário";
$GoToCalendarView = "Visualização do calendário";
$GoToListView = "Visualização da lista";
$ManageResources = "Gerir recursos";
$EditResource = "Editar recurso";
$BookIt = "Reservar um recurso";
$GoTo = "Ir para";
$AddNewBookingPeriod = "Acrescentar um novo tempo de reserva";
$ResourceTypeName = "Nome do tipo de recurso";
$NoTimePicker = "Sem temporizador";
$TimePicker = "Temporizador";
$ManageBookingPeriods = "Gerir períodos de reserva";
$BookingPeriodToSmall = "O período de reserva é demasiado curto.";
$BookingPeriodToBig = "O período de reservas é demasiado longo.";
$BookingPeriodTimePickerError1 = "Um período de reserva sem um temporizador não pode ser efectuado se, o tempo mínimo e máximo de um período de tempo for diferente de zero.";
$BookingPeriodTimePickerError2 = "Um período de reserva com um temporizador não pode ser efectuado se, o tempo máximo for menor que o mínimo num período de tempo.";
$BookingPeriodTimePickerError3 = "Um período de reserva com um temporizador não pode ser efectuado se, o tempo máximo do período de tempo não se encaixa entre a data de início e de fim.";
$BookingPeriodHasSubscriptions = "O período de reserva possui #NUM# de reservas activas, não sendo possível editar o período de reserva ";
$TimePickerMaxUsers = "* Quando o temporizador se encontra em utilização, o número máximo de inscrições é ignorado.";
$TimePickerMinMaxNull = "* Se os valores mínimo e máximo do temporizador for zero, o tempo pode ser definido como variável.";
$DeleteSelectedBookingPeriod = "Eliminar os períodos de reserva seleccionados";
$EditNewBookingPeriod = "Editar um período de reserva";
$BookingPeriodAdded = "O período de reserva foi adicionado";
$BookingPeriodDeleted = "O período de reserva foi eliminado ";
$ConfirmDeleteBookingPeriod = "Tem a certeza que deseja eliminar permanentemente este período de reserva?";
$DeleteBookingPeriod = "Remover este período de reserva";
$BookingPeriodEdited = "O período de reserva foi editado";
$BookingPeriodDateOverlap = "Uma parte do período de reserva já está em utilização no período de #START# até #END#";
$BookingPeriodSubscribeUntilAfterStart = "O inscrever-se até a data é superior à data de início";
$BookingPeriodPast = "Não é possível efectuar reservas antes do horário definido";
$ReservationMaxUsersOverrun = "Já se encontram mais pessoas inscritas do que o número máximo de utilizadores que seleccionados";
$AddNewBookingPeriod = "Adicionar um novo período de reserva";
$BookingPeriodTimePickerLimitation = "Não é possível efectuar reservas com um temporizador se a data de início e de fim não forem as mesmas.";
$ResourceTypeName = "Tipo de recurso";
$AddNewResourceType = "Acrescentar um novo tipo de recurso";
$ResourceTypeAdded = "O tipo de recurso foi adicionado";
$ResourceTypeEdited = "O tipo de recurso foi editado";
$ResourceTypeDeleted = "O tipo de recurso foi eliminado";
$ConfirmDeleteResourceType = "Tem a certeza que deseja eliminar permanentemente este tipo de recurso?";
$EditResourceType = "Editar o tipo de recurso";
$DeleteResourceType = "Apagar tipo de recurso";
$DeleteSelectedCategories = "Apagar recursos seleccionados";
$DeleteResourceType = "Eliminar o tipo de recurso";
$DeleteSelectedCategories = "Eliminar os recursos seleccionados";
$NoResourcesType = "Não existe tipo de recurso ainda";
$ResourceType = "Tipo de recurso";
$DeleteSelectedSubscriptions = "Reserva seleccionada apagada";
$DeleteSubscription = "Apagar reserva";
$ReservationAdded = "Reserva acrescentada";
$ResourceTypeExist = "Este tipo de recurso já existe";
$ResourceTypeHasItems = "O tipo de recurso tem #NUM# de itens ! A eliminação foi abortada";
$ResourceTypeNotDeleted = "Algumas categoria não puderam ser removidas porque contém recursos";
$DeleteSelectedSubscriptions = "Eliminar a reserva seleccionada";
$DeleteSubscription = "Eliminar reserva";
$SubscriptionDeleted = "A sua reserva foi eliminada";
$ConfirmDeleteSubscription = "Tem a certeza que deseja eliminar estas reservas?";
$SubscribeInformation = "Por favor, confirme que deseja efectuar uma reserva desde #start# até #end# para #name#";
$SubscribeTimePickerInformation = "Por favor seleccione para #name# um período #from_till between: #start_end";
$ReservationAdded = "Reserva adicionada";
$ReservationTresspassing = "Esta reserva já se encontra completamente preenchida, não tem permissões para esta página";
$ReservationOutOfDate = "A data que seleccionou já está em utilização/ou não é o período de reserva de #START# até #END#";
$ReservationAlready = "Já possui este recurso reservado";
$ReservationMadeTitle = "A sua reserva de #ITEM# foi efectuada com sucesso";
$ReservationMadeMessage = "Exmo/a. Sr./Sra., n\\nA sua reserva para #ITEM# de #START# até #END# foi efectuada com sucesso.";
$ReservationDeleteTitle = "O período de reserva de #NAME# foi eliminado";
$ReservationDeleteMessage = "Exmo/a. Sr./Sra., n\\nO período de reserva para de #NAME# de #START# até #END# foi removido";
$OutPeriod = "Fora de período";
$ReservationFromUntilError = "Operíodo de reserva de #START# até #END# não foi efectuado porque uma parte do período de reserva já se encontra reservado\\n";
$RepeatFor = "Repetir cada";
$RepeatUntil = "Repetir até";
$Recurrence = "Recorrência";
$NoRecurrence = "Sem recorrência ";
$UntilRecurrence = "Utilizar recorrência";
$TimePickerLimitation = "* Quando o temporizador se encontra em utilização, a data de início e de fim deverão ser as mesmas.";
$OverviewSubscriptions = "Vista geral das inscrições";
$OverviewReservedPeriods = "Vista geral dos períodos reservados";
$SubscribedStartDate = "Inscrito a partir da data final";
$SubscribedEndDate = "Inscrito até à data final";
$SubscribedPerson = "Pessoa inscrita";
$BookingView = "Visualização das Reservas";
$SubscribeUntil = "Inscrever-se até";
$SubscribeFrom = "Inscrever-se a partir de";
$Notes = "Notas";
$ResourceName = "Nome do recurso";
$ResourceAdded = "Recurso acrescentado";
$SubscriptionPeriod = "Período de inscrição";
$NoPeriod = "Não existe período de inscrição";
$FixedPeriod = "Período de inscrição fixa";
$ResourceFilter = "Filtro de recursos";
$NoReservation = "Não existe período de reservas ainda";
$MaxUsers = "Máximo de inscrições";
$AutoAccept = "Aceitar utilizadores automaticamente";
$ResourceName = "Recurso";
$ResourceAdded = "Recurso adicionado";
$ResourceEdited = "Recurso editado";
$ResourceDeleted = "O recurso foi eliminado";
$AddNewResource = "Adicionar um novo recurso";
$ConfirmDeleteResource = "Tem a certeza que deseja eliminar permanentemente este recurso?";
$ResourceInactivated = "O recurso foi desactivado";
$ResourceActivated = "O recurso foi activado";
$Resource = "Recurso";
$OpenBooking = "Reservas abertas";
$DeleteResource = "Apagar recurso";
$DeleteSelectedResources = "Eliminar os recursos seleccionados";
$ResourceExist = "O recurso já existe";
$AcceptUsers = "Aceitar utilizadores";
$UnacceptedUsers = "Não aceitar utilizadores";
$DeleteSubscriptions = "Apagar inscrições";
$NoItems = "Ainda não existem itens";
$NoItems = "Não existem recursos ainda";
$ItemNotDeleted = "Alguns recursos não forma removidos porque existem ainda reservas pendentes";
$ItemHasReservations = "O recurso ainda possui #NUM# reserva(s) activa(s)";
$NoItemsReservation = "Não existem recursos disponíveis aqui para si";
$ReservationAccepted = "A sua reserva de #ITEM# foi aceite";
$ReservationDenied = "A sua reserva para #ITEM# foi recusada";
$ReservationForItemAccepted = "Exmo/a. Sr./Sra., n\\nA sua reserva para #ITEM# de #BEGIN até #END foi aceite";
$ReservationForItemDenied = "Exmo/a. Sr./Sra., n\\nA sua reserva para #ITEM# de #BEGIN até #END foi rejeitada";
$ReservationCancelled = "AS Reservas encontram-se canceladas, #NAME# está temporariamente indisponível";
$ReservationActive = "As Reservas encontram-se novamente activas, #NAME# está novamente disponível";
$ReservationUnavailable = "Exmo/a. Sr./Sra., n\\nO Recurso #NAME# está temporariamente indisponível, como tal, a sua reserva de #BEGIN# até #END# foi cancelada.\\nReceberá uma mensagem na sua caixa de e-mail assim que estiver novamente disponível.";
$ReservationAvailable = "Exmo/a. Sr./Sra., n\\nVimos informá-lo de que #NAME# está novamente disponível, como tal, a sua reserva de #BEGIN# até #END# está novamente activa.";
$Resources = "Recursos";
$EditBookingPeriod = "Editar período de reservas";
$CreateResourceType = "Criar tipo de recurso";
$ModifyResourceType = "Editar tipo de recurso";
$ViewResourceTypes = "Visualizar os tipos de recursos";
$ViewResources = "Visualizar os recursos";
$ViewBookingPeriods = "Visualizar os períodos de reservas";
$AlwaysAvailable = "Sempre disponível";
$SelectResourceTypeAndResource = "Seleccione o tipo de recurso";
$Step1SelectResourceType = "Passo 1: Seleccione o tipo de recurso";
$Step2SelectResource = "Passo 2: seleccione o recurso";
$Step3SelectBookingPeriod = "Passo 3: seleccione o período de reserva";
$NoReservations = "Não existem reservas";
?>

@ -1,58 +1,58 @@
<?php /*
for more information: see languages.txt in the lang folder.
*/
$ResourceAdded = "Recurso acrescentado. Pode voltar para a Sequência ou acrescentar mais recursos.";
$LearningPath = "Sequência de Aprendizagem";
$ResourceAdded = "Recurso adicionado. Pode regressar ao caminho/atalho do curso ou adicionar mais recursos.";
$LearningPath = "Cursos";
$LevelUp = "nível acima";
$AddIt = "Acrescentá-lo";
$AddIt = "Adicioná-lo";
$MainCategory = "categoria principal";
$lang_delete_added_resources = "Apagar recursos acrescentados";
$AddToLinks = "Acrescentar às ligações do curso";
$DontAdd = "não acrescentar";
$lang_show_all_added_resources = "Mostrar todos os recursos acrescentados";
$ResourcesAdded = "Recursos acrescentados";
$BackTo = "Para trás";
$lang_delete_added_resources = "Eliminar os recursos adicionados";
$AddToLinks = "Adicionar às ligações/links do curso";
$DontAdd = "não adicionar";
$lang_show_all_added_resources = "Apresentar todos os recursos adicionados";
$ResourcesAdded = "Recursos adicionados";
$BackTo = "Regressar a";
$ExternalResources = "Recursos externos";
$CourseResources = "Recursos do Curso";
$ExternalLink = "Ligação externa";
$DropboxAdd = "Acrescentar a página da Dropbox a este capítulo.";
$AddAssignmentPage = "Acrescentar a página dos Trabalhos dos Estudantes a este capítulo.";
$Exercise = "Exercício";
$Link = "Ligação";
$ExternalLink = "Ligação/link externa";
$DropboxAdd = "Adicionar a caixa de entrega a esta secção.";
$AddAssignmentPage = "Adicionar a ferramenta de Trabalhos/tarefas ao curso";
$Exercise = "Exercícios";
$Link = "Ligações/links";
$AdValvas = "Anúncios";
$Document = "Documentos";
$ShowDelete = "Mostrar / Apagar";
$IntroductionText = "Texto de apresentação";
$Document = "Documento";
$ShowDelete = "Mostrar / Eliminar";
$IntroductionText = "Texto de introdução";
$CourseDescription = "Descrição do Curso";
$Groups = "Grupos";
$Users = "Utilizadores";
$IntroductionTextAdd = "Acrescentar a página do Texto de Apresentação a este capítulo.";
$CourseDescriptionAdd = "Acrescentar a página da Descrição do Curso a este capítulo.";
$GroupsAdd = "Acrescentar a página dos Grupos a este capítulo.";
$UsersAdd = "Acrescentar a página dos Utilizadores a este capítulo.";
$ExportableCourseResources = "Recursos do curso a exportar";
$DokeosRelatedCourseMaterial = "recursos do curso relacionados com Dokeos";
$LinkTarget = "Publicar em";
$SameWindow = "Mesma janela";
$NewWindow = "Nova janela";
$IntroductionTextAdd = "Adicionar uma página contendo o texto de introdução a esta secção.";
$CourseDescriptionAdd = "Adicionar uma página contendo a descrição do curso a esta secção. ";
$GroupsAdd = "Adicionar a ferramenta de Grupos a esta secção.";
$UsersAdd = "Adicionar a ferramenta de Utilizadores a esta secção.";
$ExportableCourseResources = "Recursos do curso que podem ser exportados";
$DokeosRelatedCourseMaterial = "Recursos do curso relacionados com o Dokeos";
$LinkTarget = "Destino da Ligação/link";
$SameWindow = "Na mesma janela";
$NewWindow = "Numa nova janela";
$StepDeleted1 = "Este";
$StepDeleted2 = "item foi apagado nessa ferramenta.";
$Modify = "Alterar";
$Chapter = "Capítulo";
$NoAgendaItems = "Não há itens na Agenda";
$AgendaAdd = "Acrescentar item";
$UserGroupFilter = "Usar filtro de grupo";
$AgendaSortChronologicallyUp = "Mais antigos primeiro";
$ShowCurrent = "Mostrar itens da Agenda";
$ModifyCalendarItem = "Alterar item da Agenda";
$StepDeleted2 = "item foi eliminado nessa ferramenta.";
$Modify = "Editar";
$Chapter = "Secção";
$NoAgendaItems = "Não existem eventos na agenda";
$AgendaAdd = "Adicionar um evento";
$UserGroupFilter = "Utilizar o filtro do grupo";
$AgendaSortChronologicallyUp = "Ordenar cronologicamente (ascendente)";
$ShowCurrent = "Mês actual";
$ModifyCalendarItem = "Editar evento";
$ItemTitle = "Título";
$Detail = "Detalhes";
$EditSuccess = "Publicação bem sucedida";
$AddCalendarItem = "Acrescentar item na Agenda";
$AddAnn = "Acrescentar anúncio";
$ForumAddNewTopic = "Fórum: novo tópico";
$EditSuccess = "Edição concluída com sucesso";
$AddCalendarItem = "Adicionar um evento";
$AddAnn = "Adicionar anúncio";
$ForumAddNewTopic = "Fórum: adicionar novo tópico";
$ForumEditTopic = "Fórum: editar tópico";
$ExerciseAnswers = "Exercício: responder";
$ExerciseAnswers = "Exercício: Respostas";
$ForumReply = "Fórum: responder";
$AgendaSortChronologicallyDown = "Publicar itens da Agenda cronologicamente (do mais recente para o mais antigo)";
$AgendaSortChronologicallyDown = "Ordenar cronologicamente (descendente) ";
?>

@ -2,54 +2,54 @@
for more information: see languages.txt in the lang folder.
*/
$langScormVersion = "versão";
$langScormRestarted = "Todas as etapas estão agora incompletas";
$langScormNoNext = "Última sequência. Não existem mais.";
$langScormNoPrev = "Primeira sequência.";
$langScormRestarted = "Todos os objectos de aprendizagem estão incompletos.";
$langScormNoNext = "Este é o último objecto de aprendizagem.";
$langScormNoPrev = "Este é o primeiro objecto de aprendizagem.";
$langScormTime = "Tempo";
$langScormNoOrder = "A ordem é arbitrária; pode clicar em qualquer sequência.";
$langScormScore = "Resultado";
$langScormLessonTitle = "Título da lição (sequência)";
$langScormNoOrder = "Não existe uma ordem pré-definida, pode clicar em qualquer objecto de aprendizagem.";
$langScormScore = "Pontuação";
$langScormLessonTitle = "Nome do objecto de aprendizagem";
$langScormStatus = "Estado";
$langScormToEnter = "Para realizar";
$langScormToEnter = "Para aceder";
$langScormFirstNeedTo = "necessita primeiro completar";
$langScormThisStatus = "Esta lição está";
$langScormClose = "Terminada";
$langScormThisStatus = "Este objecto de aprendizagem é agora";
$langScormClose = "Terminar";
$langScormRestart = "Recomeçar";
$langScormCompstatus = "Completa";
$langScormIncomplete = "Incompleta";
$langScormCompstatus = "Concluído";
$langScormIncomplete = "Incompleto";
$langScormPassed = "Aprovado";
$langScormFailed = "Não aprovado";
$langScormPrevious = "Anterior";
$langScormNext = "Seguinte";
$langScormTitle = "Programa Scorm Dokeos";
$langScormMystatus = "Ponto da situação";
$langScormNoItems = "Este conteúdo não contém itens.";
$langScormNoStatus = "Conteúdo sem estatística";
$langScormLoggedout = "Sair do Scorm";
$langScormCloseWindow = "Fechar janela";
$ScormBrowsed = "Visto";
$langScormExitFullScreen = "Voltar écrã normal";
$langScormFullScreen = "Écrã grande";
$langScormNotAttempted = "Tentativa falhada";
$langCharset = "Tipo de caracteres";
$langScormTitle = "Dokeos Scorm player";
$langScormMystatus = "O meu progresso";
$langScormNoItems = "Este curso encontra-se vazio.";
$langScormNoStatus = "Não existe estado para este conteúdo";
$langScormLoggedout = "desconectado da área de Scorm";
$langScormCloseWindow = "Fechar janelas";
$ScormBrowsed = "Acedido";
$langScormExitFullScreen = "Regressar ao ecrã normal";
$langScormFullScreen = "Ecrã total";
$langScormNotAttempted = "Não acedido";
$langCharset = "Conjunto de caracteres";
$langLocal = "Local";
$langRemote = "Remoto";
$langAutodetect = "Detectar automaticamente";
$langAccomplishedStepsTotal = "Total de etapas completas";
$langAccomplishedStepsTotal = "Total de objectos de aprendizagem concluídos";
$langUnknown = "Desconhecido";
$AreYouSureToDeleteSteps = "Tem a certeza que deseja apagar estas etapas?";
$Origin = "Origem";
$AreYouSureToDeleteSteps = "Tem a certeza que deseja eliminar estes passos?";
$Origin = "Ferramenta de Autoría";
$Local = "Local";
$Remote = "Remoto";
$FileToUpload = "Ficheiro a enviar";
$ContentMaker = "Criação de conteúdos";
$FileToUpload = "Ficheiro SCORM ou AICC a enviar";
$ContentMaker = "Ferramenta de Autoría";
$ContentProximity = "Situação";
$UploadLocalFileFromGarbageDir = "Enviar ficheiro a partir da directoria principal/reciclagem";
$ThisItemIsNotExportable = "Este item, de momento, não é compatível com Scorm. É por isso que não é exportável.";
$MoveCurrentChapter = "Mover capítulo actual";
$UploadLocalFileFromGarbageDir = "Enviar ficheiro local a partir da pasta/directório principal";
$ThisItemIsNotExportable = "Este objecto de aprendizagem ou actividade não é SCORM compliant ou não está conforme com a norma SCORM. Por isso não é possível exportá-lo.";
$MoveCurrentChapter = "Mover a secção actual";
$GenericScorm = "Scorm genérico";
$UnknownPackageFormat = "O formato do pacote não é reconhecido. Por favor, verifique se o pacote contém erros. Alguns problemas são devidos ao formato do programa ZIP ou à transferência de ficheiros longos. Em caso de dúvida, evite usar ficheiros zipados.";
$UnknownPackageFormat = "O formato do pacote não é reconhecido. Por favor, verifique se o pacote está correctamente construído e não contém erros. Alguns problemas poderão ser devidos às propriedades do formato ou do programa ZIP, ou à transferência de ficheiros demasiado pesados. Se não tiver certeza sobre o ZIP, por favor, tente utilizar configurações mínimas ao zipar.";
$Attempt = "Tentativa";
$MoveTheCurrentForum = "Mover este fórum";
$WarningWhenEditingScorm = "Atenção !<br /> Quando altera o conteúdo de uma etapa SCORM, as estatísticas ficam alteradas e a etapa da sequência de aprendizagem inutilizada.";
$WarningWhenEditingScorm = "Atenção !<br /> Quando edita o conteúdo de um objecto de aprendizagem, a informação do curso poderá ser alterada ou até danificar o objecto de aprendizagem.";
?>

@ -693,4 +693,5 @@ $SendAMessage = "Enviar uma mensagem";
$Menu = "Menu";
$BackToUserList = "Voltar para a lista de utilizadores";
$GraphicNotAvailable = "Gráficos não disponíveis";
$Coachs = "Tutores";
?>

@ -299,7 +299,7 @@ $CourseQuota = "Cuota de espacio del curso en el servidor";
$EditNotice = "Editar aviso";
$General = "general";
$LostPassword = "Olvidé mi contraseña";
$Registration = "registro";
$Registration = "Registro";
$Password = "Contraseña";
$InsertLink = "Insertar enlace";
$EditNews = "Editar noticias";
@ -863,7 +863,7 @@ $SelectAResponsible = "Seleccione a un responsable";
$ThereIsNotStillAResponsible = "Aún no hay responsables";
$AllowStudentsToBrowseCoursesTitle = "Los estudiantes pueden consultar el catálogo de cursos";
$SharedSettingIconComment = "Esta configuración está compartida";
$GlobalAgenda = "Agenda Global";
$GlobalAgenda = "Agenda global";
$AdvancedFileManagerTitle = "Gestor avanzado de ficheros para el editor WYSIWYG";
$AdvancedFileManagerComment = "¿ Activar el gestor avanzado de archivos para el editor WYSIWYG ? Esto añadirá un considerable número de opciones al gestor de ficheros que se abre en una ventana cuando se envían archivos al servidor.";
$ScormAndLPProgressTotalAverage = "Promedio total de progreso de SCORM y soló lecciones";
@ -1037,9 +1037,9 @@ $ListSessionCategory = "Categor
$AddSessionCategory = "Añadir categoría";
$SessionCategoryName = "Nombre de la categoría";
$EditSessionCategory = "Editar categoría de sesión";
$SessionCategoryAdded = "La categoría de la sesión ha sido añadido";
$SessionCategoryAdded = "La categoría ha sido añadida";
$SessionCategoryUpdate = "Categoría actualizada";
$SessionCategoryDelete = "Las categorías seleccionadas han sido borradas";
$SessionCategoryDelete = "Se han eliminado las categorías seleccionadas";
$SessionCategoryNameIsRequired = "Debe dar un nombre de la categoría de sesión";
$ThereIsNotStillASession = "No hay aún una sesión";
$SelectASession = "Seleccione una sesión";
@ -1086,7 +1086,6 @@ $DeleteSelectedFullSessionCategory = "Eliminar las categorias seleccionadas con
$EditTopRegister = "Editar Aviso";
$InsertTabs = "Insertar Tabs";
$EditTabs = "Editar Tabs";
$Coachs = "Tutores";
$IsAdministrator = "Es administrador";
$IsNotAdministrator = "No es administrador";
?>

@ -308,7 +308,7 @@ $langDefaultUniqueAnswer1 = "leche";
$langDefaultUniqueComment1 = "La leche es la base de numerosos productos lácteos, como la mantequilla, el queso, el yogur, entre otros";
$langDefaultUniqueAnswer2 = "Avena";
$langDefaultUniqueComment2 = "La avena es uno de los cereales más completos. Por sus cualidades energéticas y nutritivas ha sido la base de la alimentación de pueblos";
$langDefaultMultipleQuestion = "¿Qué países no pertenecen al continente europeo?";
$langDefaultMultipleQuestion = "¿Qué país no pertenece al continente europeo?";
$langDefaultMultipleAnswer1 = "España";
$langDefaultMultipleComment1 = "Es un país soberano miembro de la Unión Europea, constituido en Estado social y democrático de Derecho, y cuya forma de gobierno es la monarquía parlamentaria";
$langDefaultMultipleAnswer2 = "Perú";
@ -347,4 +347,5 @@ $TooManyIterationsPleaseTryUsingMoreStraightforwardPolygons = "Demasiadas iterac
$Thresholds = "Thresholds";
$Delineation = "Delineación";
$QuestionTypeDoesNotBelongToFeedbackTypeInExercise = "Tipo de pregunta no pertenece al tipo de retroalimentación en ejercicios";
$SessionIsReadOnly = "La sesión es de sólo lectura";
?>

@ -22,4 +22,6 @@ $TableView = "Ver como tabla";
$GlossaryTermAlreadyExistsYouShouldEditIt = "Este termino del glosario ya existe, por favor cambielo por otro nombre";
$GlossaryManagement = "Administración de glosario";
$TermMoved = "El término se ha movido";
$ShowGlossaryInExtraToolsTitle = "Muestra los términos del glosario en las herramientas lecciones(scorm) y ejercicios";
$ShowGlossaryInExtraToolsComment = "Desde aquí usted puede configurar como añadir los términos del glosario en herramientas como lecciones(scorm) y ejercicios";
?>

@ -749,4 +749,5 @@ $HistoryTrainingSession = "Historial de sesiones de formaci
$Until = "Hasta";
$FirstPage = "Primera página";
$LastPage = "Última página";
$Coachs = "Tutores";
?>

@ -91,4 +91,5 @@ $ClearSearchResults = "Limpiar el resultado de la b
$SendInvitation = "Enviar invitación";
$SocialInvitationToFriends = "Invitar a unirse a mi red de amigos";
$MyCertificates = "Mis certificados";
$ToChangeYourEmailMustTypeYourPassword = "Para cambiar su correo electrónico debe escribir su contraseña";
?>

@ -116,25 +116,10 @@ $nameTools = get_lang('Tracking');
// display the header
Display::display_header($nameTools, 'Tracking');
require api_get_path(LIBRARY_PATH).'statsUtils.lib.inc.php';
require api_get_path(SYS_CODE_PATH).'resourcelinker/resourcelinker.inc.php';
// getting all the students of the course
$a_students = CourseManager :: get_student_list_from_course_code($_course['id'], true, (empty($_SESSION['id_session']) ? null : $_SESSION['id_session']));
$nbStudents = count($a_students);
/**
* count the number of students in this course (used for SortableTable)
*/
function count_student_in_course() {
global $nbStudents;
return $nbStudents;
}
function sort_users($a, $b) {
return api_strcmp(trim(api_strtolower($a[$_SESSION['tracking_column']])), trim(api_strtolower($b[$_SESSION['tracking_column']])));
}
function count_item_resources() {
$table_item_property = Database :: get_course_table(TABLE_ITEM_PROPERTY);
$table_user = Database :: get_main_table(TABLE_MAIN_USER);
@ -800,6 +785,21 @@ if ($_GET['studentlist'] == 'false') {
</table>
<?php
Display::display_footer();
/**
* Display all the additionally defined user profile fields
* This function will only display the fields, not the values of the field because it does not act as a filter
* but it adds an additional column instead.
*
* @author Patrick Cool <patrick.cool@UGent.be>, Ghent University, Belgium
* @since October 2009
* @version 1.8.7
*/
function display_additional_profile_fields(){
// getting all the extra profile fields that are defined by the platform administrator
$extra_fields = UserManager :: get_extra_fields(0,50,5,'ASC');
// creating the form
$return = '<form action="courseLog.php" method="get" name="additional_profile_field_form" id="additional_profile_field_form">';

@ -35,7 +35,10 @@
*/
// name of the language file that needs to be included
$language_file = array('registration','admin');
require '../inc/global.inc.php';
// including the global Dokeos file
include ('../inc/global.inc.php');
// the section (for the tabs)
$this_section = SECTION_COURSES;
// access restriction
@ -43,11 +46,10 @@ if (!api_is_allowed_to_edit()) {
api_not_allowed(true);
}
// including additional libraries
$libpath = api_get_path(LIBRARY_PATH);
require_once $libpath.'course.lib.php';
require_once $libpath.'sortabletable.class.php';
require_once $libpath.'formvalidator/FormValidator.class.php';
require_once $libpath.'usermanager.lib.php';
require_once (api_get_path(LIBRARY_PATH).'course.lib.php');
require_once (api_get_path(LIBRARY_PATH).'sortabletable.class.php');
require_once (api_get_path(LIBRARY_PATH).'formvalidator/FormValidator.class.php');
require_once (api_get_path(LIBRARY_PATH).'usermanager.lib.php');
/*
==============================================================================
@ -197,6 +199,7 @@ function get_number_of_users() {
$user_table = Database :: get_main_table(TABLE_MAIN_USER);
$course_user_table = Database :: get_main_table(TABLE_MAIN_COURSE_USER);
$table_user_field_values = Database::get_main_table(TABLE_MAIN_USER_FIELD_VALUES);
if (isset($_REQUEST['type']) && $_REQUEST['type']=='teacher') {
$sql = "SELECT u.user_id
FROM $user_table u
@ -225,7 +228,7 @@ function get_number_of_users() {
LEFT JOIN $course_user_table cu on u.user_id = cu.user_id and course_code='".$_SESSION['_course']['id']."'";
// we change the SQL when we have a filter
if (isset($_GET['subscribe_user_filter_value'])){
if (isset($_GET['subscribe_user_filter_value']) AND api_get_setting('ProfilingFilterAddingUsers') == 'true'){
$field_identification = explode('*',$_GET['subscribe_user_filter_value']);
$sql .= "
LEFT JOIN $table_user_field_values field_values
@ -262,8 +265,11 @@ function get_number_of_users() {
if (isset ($_REQUEST['keyword'])) {
$keyword = Database::escape_string($_REQUEST['keyword']);
$sql .= " AND (firstname LIKE '%".$keyword."%' OR lastname LIKE '%".$keyword."%' OR email LIKE '%".$keyword."%' OR username LIKE '%".$keyword."%' OR official_code LIKE '%".$keyword."%')";
// we also want to search for users who have something in their profile fields that matches the keyword
$additional_users = search_additional_profile_fields($keyword);
if (api_get_setting('ProfilingFilterAddingUsers') == 'true') {
$additional_users = search_additional_profile_fields($keyword);
}
// getting all the users of the course (to make sure that we do not display users that are already in the course)
if (!empty($_SESSION["id_session"])) {
@ -286,7 +292,7 @@ function get_number_of_users() {
$result = Database::num_rows($res);
// we add 1 for every additional user (a user where the keyword matches one of the additional profile fields)
// that is not yet in the course and not yet in the search result
if (isset ($_REQUEST['keyword'])) {
if (isset ($_REQUEST['keyword']) AND api_get_setting('ProfilingFilterAddingUsers') == 'true') {
foreach($additional_users as $additional_user_key=>$additional_user_value){
if (!in_array($additional_user_key,$users) AND !in_array($additional_user_key,$users_of_course)){
$result++;
@ -327,7 +333,7 @@ function get_user_data($from, $number_of_items, $column, $direction) {
LEFT JOIN $tbl_session_rel_course_user cu on u.user_id = cu.id_user and course_code='".$_SESSION['_course']['id']."'";
// applying the filter of the additional user profile fields
if (isset($_GET['subscribe_user_filter_value'])){
if (isset($_GET['subscribe_user_filter_value']) AND api_get_setting('ProfilingFilterAddingUsers') == 'true'){
$field_identification = explode('*',$_GET['subscribe_user_filter_value']);
$sql .= "
LEFT JOIN $table_user_field_values field_values
@ -335,6 +341,8 @@ function get_user_data($from, $number_of_items, $column, $direction) {
WHERE cu.user_id IS NULL
AND field_values.field_id = '".Database::escape_string($field_identification[0])."'
AND field_values.field_value = '".Database::escape_string($field_identification[1])."'";
} else {
$sql .= "WHERE cu.user_id IS NULL";
}
} else {
// adding a teacher NOT through a session
@ -353,7 +361,7 @@ function get_user_data($from, $number_of_items, $column, $direction) {
LEFT JOIN $course_user_table cu on u.user_id = cu.user_id and course_code='".$_SESSION['_course']['id']."'";
// applying the filter of the additional user profile fields
if (isset($_GET['subscribe_user_filter_value'])){
if (isset($_GET['subscribe_user_filter_value']) AND api_get_setting('ProfilingFilterAddingUsers') == 'true'){
$field_identification = explode('*',$_GET['subscribe_user_filter_value']);
$sql .= "
LEFT JOIN $table_user_field_values field_values
@ -366,6 +374,8 @@ function get_user_data($from, $number_of_items, $column, $direction) {
}
//showing only the courses of the current Dokeos access_url_id
global $_configuration;
// adding a teacher NOT trough a session on a portal with multiple URLs
if ($_configuration['multiple_access_urls']==true) {
$url_access_id = api_get_current_access_url_id();
if ($url_access_id !=-1) {
@ -389,7 +399,7 @@ function get_user_data($from, $number_of_items, $column, $direction) {
// applying the filter of the additional user profile fields
if (isset($_GET['subscribe_user_filter_value'])){
if (isset($_GET['subscribe_user_filter_value']) AND api_get_setting('ProfilingFilterAddingUsers') == 'true'){
$field_identification = explode('*',$_GET['subscribe_user_filter_value']);
$sql .= "
LEFT JOIN $table_user_field_values field_values
@ -404,6 +414,7 @@ function get_user_data($from, $number_of_items, $column, $direction) {
}
}
} else {
// adding a student
if (!empty($_SESSION["id_session"])) {
$sql = "SELECT
u.user_id AS col0,
@ -417,9 +428,20 @@ function get_user_data($from, $number_of_items, $column, $direction) {
u.active AS col5,
u.user_id AS col6
FROM $user_table u
LEFT JOIN $tbl_session_rel_course_user cu on u.user_id = cu.id_user and course_code='".$_SESSION['_course']['id']."'
WHERE cu.id_user IS NULL
";
LEFT JOIN $tbl_session_rel_course_user cu on u.user_id = cu.id_user and course_code='".$_SESSION['_course']['id']."'";
// applying the filter of the additional user profile fields
if (isset($_GET['subscribe_user_filter_value'])){
$field_identification = explode('*',$_GET['subscribe_user_filter_value']);
$sql .= "
LEFT JOIN $table_user_field_values field_values
ON field_values.user_id = u.user_id
WHERE cu.user_id IS NULL
AND field_values.field_id = '".Database::escape_string($field_identification[0])."'
AND field_values.field_value = '".Database::escape_string($field_identification[1])."'";
} else {
$sql .= "WHERE cu.user_id IS NULL";
}
} else {
$sql = "SELECT
u.user_id AS col0,
@ -433,8 +455,21 @@ function get_user_data($from, $number_of_items, $column, $direction) {
u.active AS col5,
u.user_id AS col6
FROM $user_table u
LEFT JOIN $course_user_table cu on u.user_id = cu.user_id and course_code='".$_SESSION['_course']['id']."'
WHERE cu.user_id IS NULL";
LEFT JOIN $course_user_table cu on u.user_id = cu.user_id and course_code='".$_SESSION['_course']['id']."'";
// applying the filter of the additional user profile fields
if (isset($_GET['subscribe_user_filter_value'])){
$field_identification = explode('*',$_GET['subscribe_user_filter_value']);
$sql .= "
LEFT JOIN $table_user_field_values field_values
ON field_values.user_id = u.user_id
WHERE cu.user_id IS NULL
AND field_values.field_id = '".Database::escape_string($field_identification[0])."'
AND field_values.field_value = '".Database::escape_string($field_identification[1])."'";
} else {
$sql .= "WHERE cu.user_id IS NULL";
}
//showing only the courses of the current Dokeos access_url_id
global $_configuration;
if ($_configuration['multiple_access_urls']==true) {
@ -460,7 +495,7 @@ function get_user_data($from, $number_of_items, $column, $direction) {
// applying the filter of the additional user profile fields
if (isset($_GET['subscribe_user_filter_value'])){
if (isset($_GET['subscribe_user_filter_value']) AND api_get_setting('ProfilingFilterAddingUsers') == 'true'){
$field_identification = explode('*',$_GET['subscribe_user_filter_value']);
$sql .= "
LEFT JOIN $table_user_field_values field_values
@ -481,8 +516,11 @@ function get_user_data($from, $number_of_items, $column, $direction) {
if (isset ($_REQUEST['keyword'])) {
$keyword = Database::escape_string($_REQUEST['keyword']);
$sql .= " AND (firstname LIKE '%".$keyword."%' OR lastname LIKE '%".$keyword."%' OR email LIKE '%".$keyword."%' OR username LIKE '%".$keyword."%' OR official_code LIKE '%".$keyword."%')";
// we also want to search for users who have something in their profile fields that matches the keyword
$additional_users = search_additional_profile_fields($keyword);
if (api_get_setting('ProfilingFilterAddingUsers') == 'true') {
// we also want to search for users who have something in their profile fields that matches the keyword
$additional_users = search_additional_profile_fields($keyword);
}
// getting all the users of the course (to make sure that we do not display users that are already in the course)
if (!empty($_SESSION["id_session"])) {
@ -582,7 +620,9 @@ if ($_GET['subscribe_user_filter_value'] AND !empty($_GET['subscribe_user_filter
{
$actions .= '<a href="subscribe_user.php?type='.Security::remove_XSS($_GET['type']).'">'.Display::return_icon('clean_group.gif').' '.get_lang('ClearFilterResults').'</a>';
}
display_extra_profile_fields_filter();
if (api_get_setting('ProfilingFilterAddingUsers') == 'true') {
display_extra_profile_fields_filter();
}
$form = new FormValidator('search_user', 'POST',api_get_self().'?type='.$_REQUEST['type'],'',null,false);
$renderer = & $form->defaultRenderer();

@ -604,7 +604,7 @@ if (api_is_allowed_to_edit()) {
$table->set_header($header_nr++, get_lang('Active'), false);
$table->set_column_filter(9, 'active_filter');
//actions column
$table->set_header($header_nr++, get_lang('Modify'), false);
$table->set_header($header_nr++, get_lang('Action'), false);
$table->set_column_filter($header_nr-1, 'modify_filter');
if (api_is_allowed_to_edit()) {
$table->set_form_actions(array('unsubscribe' => get_lang('Unreg')), 'user');

Loading…
Cancel
Save