From d370f56debf2f9f0646f91d8092b9dabd0dc3708 Mon Sep 17 00:00:00 2001 From: Yannick Warnier Date: Tue, 4 Mar 2014 08:57:32 -0500 Subject: [PATCH] Merged --- main/inc/lib/events.lib.inc.php | 2 + main/inc/local.inc.php | 5 ++- main/lang/english/admin.inc.php | 19 +++++---- main/lang/spanish/admin.inc.php | 73 +++++++++++++++++---------------- main/mySpace/index.php | 2 +- main/mySpace/myspace.lib.php | 2 +- 6 files changed, 55 insertions(+), 48 deletions(-) diff --git a/main/inc/lib/events.lib.inc.php b/main/inc/lib/events.lib.inc.php index 1172a1c9d9..f9f3f2be90 100644 --- a/main/inc/lib/events.lib.inc.php +++ b/main/inc/lib/events.lib.inc.php @@ -1472,9 +1472,11 @@ function event_course_login($course_code, $user_id, $session_id) { $user_id = Database::escape_string($user_id); $session_id = Database::escape_string($session_id); + //@TODO: Check if should search for a previous row (LIKE local.inc.php line 880) $sql = "INSERT INTO $course_tracking_table(course_code, user_id, login_course_date, logout_course_date, counter, session_id) VALUES('".$course_code."', '".$user_id."', '$time', '$time', '1', '".$session_id."')"; Database::query($sql); + error_log (__FILE__); // Course catalog stats modifications see #4191 CourseManager::update_course_ranking(null, null, null, null, true, false); diff --git a/main/inc/local.inc.php b/main/inc/local.inc.php index 63d13b071e..1f332ccd41 100644 --- a/main/inc/local.inc.php +++ b/main/inc/local.inc.php @@ -763,6 +763,7 @@ if (isset($cidReset) && $cidReset) { //Course login if (isset($_user['user_id'])) { event_course_login($_course['code'], $_user['user_id'], api_get_session_id()); + error_log(__FILE__); } } } else { @@ -885,7 +886,7 @@ if (isset($cidReset) && $cidReset) { login_course_date > now() - INTERVAL $session_lifetime SECOND ORDER BY login_course_date DESC LIMIT 0,1"; $result = Database::query($sql); - + if (Database::num_rows($result) > 0) { $i_course_access_id = Database::result($result,0,0); //We update the course tracking table @@ -893,11 +894,13 @@ if (isset($cidReset) && $cidReset) { WHERE course_access_id = ".intval($i_course_access_id)." AND session_id = ".api_get_session_id(); //error_log($sql); Database::query($sql); + //error_log(preg_replace('/\s+/',' ',$sql)); } else { $sql="INSERT INTO $course_tracking_table (course_code, user_id, login_course_date, logout_course_date, counter, session_id)" . "VALUES('".$course_code."', '".$_user['user_id']."', '$time', '$time', '1','".api_get_session_id()."')"; //error_log($sql); Database::query($sql); + //error_log(preg_replace('/\s+/',' ',$sql)); } } } diff --git a/main/lang/english/admin.inc.php b/main/lang/english/admin.inc.php index 405d793671..ce2e5a33da 100644 --- a/main/lang/english/admin.inc.php +++ b/main/lang/english/admin.inc.php @@ -15,10 +15,10 @@ $ShowHotCoursesComment = "The hot courses list will be added in the index page"; $ShowHotCoursesTitle = "Show hot courses"; $EnableIframeInclusionComment = "Allowing arbitrary iframes in the HTML Editor will enhance the edition capabilities of the users, but it can represent a security risk. Please make sure you can rely on your users (i.e. you know who they are) before enabling this feature."; $EnableIframeInclusionTitle = "Allow iframes in HTML Editor"; -$MailTemplateRegistrationMessage = "Dear ((firstname)) ((lastname)),\n\nYou are registered on -((sitename)) with the following settings:\n\nUsername : -((username))\nPass : ((password))\n\nThe address of ((sitename)) is : -((url))\n\nIn case of trouble, contact us.\n\nYours sincerely +$MailTemplateRegistrationMessage = "Dear ((firstname)) ((lastname)),\n\nYou are registered on +((sitename)) with the following settings:\n\nUsername : +((username))\nPass : ((password))\n\nThe address of ((sitename)) is : +((url))\n\nIn case of trouble, contact us.\n\nYours sincerely \n((admin_name)) ((admin_surname))."; $MailTemplateRegistrationTitle = "New user on ((sitename))"; $AllowTeachersToCreateSessionsComment = "Teachers can create, edit and delete their own sessions."; @@ -46,6 +46,7 @@ $ConfigureHomePage = "Edit portal homepage"; $CourseCreateActiveToolsTitle = "Modules active upon course creation"; $CourseCreateActiveToolsComment = "Which tools have to be enabled (visible) by default when a new course is created?"; $SearchUsers = "Search users"; +$SearchUser = "Search users"; $CreateUser = "Create user"; $ModifyInformation = "Edit information"; $ModifyUser = "Edit user"; @@ -1363,7 +1364,7 @@ $EnabledImageMapsTitle = "Activate Image maps"; $EnabledImageMapsComment = "Activate the button to insert Image maps. This allows you to associate URLs to areas of an image, creating hotspots."; $CourseTool = "Course tool"; $BigBlueButtonEnableTitle = "BigBlueButton videoconference tool"; -$BigBlueButtonEnableComment = "Choose whether you want to enable the BigBlueButton videoconference tool. Once enabled, it will show as an additional course tool in all courses' homepage, and teachers will be able to launch a conference at any time. Learners will not be able to launch a conference, only join one. If you don't have a BigBlueButton server, please set one up or ask the Chamilo official providers for a quote. +$BigBlueButtonEnableComment = "Choose whether you want to enable the BigBlueButton videoconference tool. Once enabled, it will show as an additional course tool in all courses' homepage, and teachers will be able to launch a conference at any time. Learners will not be able to launch a conference, only join one. If you don't have a BigBlueButton server, please set one up or ask the Chamilo official providers for a quote. BigBlueButton is a free (as in freedom *and* beer), but its installation requires a set of technical skills that might not be immediately available to all. You can install it on your own or seek professional help to assist you or do it for you. This help, however, will generate a certain cost. In the pure logic of the free software, we offer you the tools to make your work easier and recommend professionals (the Chamilo Official Providers) that will be able to help you if this were too difficult."; $BigBlueButtonHostTitle = "BigBlueButton server host"; $BigBlueButtonHostComment = "This is the name of the server where your BigBlueButton server is running. Might be localhost, an IP address (e.g. 192.168.13.54) or a domain name (e.g. my.video.com)."; @@ -1388,8 +1389,8 @@ $IncludeAsciiMathMlComment = "Activate this setting if you want to show ASCIIMat $CourseHideToolsTitle = "Hide tools from teachers"; $CourseHideToolsComment = "Check the tools you want to hide from teachers. This will prohibit access to the tool."; $MoveUserStats = "Move users results from/to a session"; -$CompareUserResultsBetweenCoursesAndCoursesInASession = "This advanced tool allows you to manually improve the tracking of users results when moving from courses methodology to sessions methodology. In most cases, you won't need to use it.
-On this screen, you can compare results of users between the context of a standalone course, and the context of the same course inside a session.
+$CompareUserResultsBetweenCoursesAndCoursesInASession = "This advanced tool allows you to manually improve the tracking of users results when moving from courses methodology to sessions methodology. In most cases, you won't need to use it.
+On this screen, you can compare results of users between the context of a standalone course, and the context of the same course inside a session.
Once you are sure about what to do, you can choose to move the tracking data of the students (exercises results and learning paths tracking) from a course to a session."; $PDFExportWatermarkEnableTitle = "Enable watermark in PDF export"; $PDFExportWatermarkEnableComment = "By enabling this option, you can upload an image or a text that will be automatically added as watermark to all PDF exports of documents on the system."; @@ -1444,8 +1445,8 @@ $EnableAccessibilityFontResizeTitle = "Font resize accessibility feature"; $EnableAccessibilityFontResizeComment = "Enable this option to show a set of font resize options on the top-right side of your campus. This will allow visually impaired to read their course contents more easily."; $GlobalEvent = "Platform event"; $SearchEnabledTitle = "Fulltext search"; -$SearchEnabledComment = "This feature allows you to index most of the documents uploaded to your portal, then provide a search feature for users.
-This feature will not index documents that have already been uploaded, so it is important to enable (if wanted) at the beginning of your implementation.
+$SearchEnabledComment = "This feature allows you to index most of the documents uploaded to your portal, then provide a search feature for users.
+This feature will not index documents that have already been uploaded, so it is important to enable (if wanted) at the beginning of your implementation.
Once enabled, a search box will appear in the courses list of every user. Searching for a specific term will bring a list of corresponding documents, exercises or forum topics, filtered depending on the availability of these contents to the user."; $SpecificSearchFieldsAvailable = "Available custom search fields"; $XapianModuleInstalled = "Xapian module installed"; diff --git a/main/lang/spanish/admin.inc.php b/main/lang/spanish/admin.inc.php index 2493f798ed..4be754321e 100644 --- a/main/lang/spanish/admin.inc.php +++ b/main/lang/spanish/admin.inc.php @@ -42,6 +42,7 @@ $ConfigureHomePage = "Configuración de la página principal"; $CourseCreateActiveToolsTitle = "Módulos activos al crear un curso"; $CourseCreateActiveToolsComment = "¿Qué herramientas serán activadas (visibles) por defecto al crear un curso?"; $SearchUsers = "Búsqueda de usuarios"; +$SearchUser = "Buscar usuarios"; $CreateUser = "Crear usuario"; $ModifyInformation = "Modificar información"; $ModifyUser = "Modificar usuario"; @@ -1359,9 +1360,9 @@ $EnabledImageMapsTitle = "Activar Mapas de imagen"; $EnabledImageMapsComment = "Activar el botón para insertar Mapas de imagen. Esto le permitirá asociar direcciones url a zonas de una imagen, generando zonas interactivas."; $CourseTool = "Herramienta del curso"; $BigBlueButtonEnableTitle = "Herramienta de videoconferencia BigBlueButton"; -$BigBlueButtonEnableComment = "Seleccione si desea habilitar la herramienta de videoconferencia BigBlueButton. Una vez activada, se mostrará como una herramienta en la página principal todos los curso. Los profesores podrán lanzar una videoconferencia en cualquier momento, pero los estudiantes sólo podrán unirse a una ya lanzada. -Si no dispone de un servidor BigBlueButton, pruebe a -configurar uno o pida ayuda a los proveedores oficiales de Chamilo. +$BigBlueButtonEnableComment = "Seleccione si desea habilitar la herramienta de videoconferencia BigBlueButton. Una vez activada, se mostrará como una herramienta en la página principal todos los curso. Los profesores podrán lanzar una videoconferencia en cualquier momento, pero los estudiantes sólo podrán unirse a una ya lanzada. +Si no dispone de un servidor BigBlueButton, pruebe a +configurar uno o pida ayuda a los proveedores oficiales de Chamilo. BigBlueButton es libre, pero su instalación requiere ciertas habilidades técnicas que no todo el mundo posee. Puede instalarlo por su cuenta o buscar ayuda profesional con el consiguiente costo. En la lógica del software libre, nosotros le ofrecemos las herramientas para hacer más fácil su trabajo y le recomendamos profesionales (los proveedores oficiales de Chamilo) que serán capaces de ayudarle."; $BigBlueButtonHostTitle = "Servidor BigBlueButton"; $BigBlueButtonHostComment = "Este es el nombre del servidor donde su servidor BigBlueButton está ejecutándose. Puede ser localhost, una dirección IP (ej., 192.168.14.54) o un nombre de dominio (por ej., my.video.com)."; @@ -1372,7 +1373,7 @@ $AsciiSvgComment = "Activación del editor de gráficos matemáticos (ASCIIsvg)" $Text2AudioTitle = "Activar servicios de conversión de texto en audio"; $Text2AudioComment = "Herramienta on-line para convertir texto en voz. Utiliza tecnología y sistemas de síntesis del habla para ofrecer recursos de voz."; $ShowUsersFoldersTitle = "Mostrar las carpetas de los usuarios en la herramienta documentos"; -$ShowUsersFoldersComment = " +$ShowUsersFoldersComment = " Esta opción le permitirá mostrar u ocultar a los profesores las carpetas que el sistema genera para cada usuario que visita la herramienta documentos o envía un archivo a través del editor web. Si muestra estas carpetas a los profesores, éstos podrán hacerlas visibles o no a los estudiantes y permitirán a cada estudiante tener un lugar específico en el curso donde, no sólo almacenar documentos, sino donde también podrán crear y modificar páginas web y poder exportarlas a pdf, realizar dibujos, realizar plantillas web personales, enviar archivos, así como crear, mover y eliminar subdirectorios y archivos, y sacar copias de seguridad de sus carpetas. Cada usuario del curso dispondrá de un completo gestor de documentos. Además, recuerde que cualquier usuario podrá copiar un archivo, que sea visible, de cualquier carpeta de la herramienta documentos (sea o no la suya) a su portafolios o área personal de documentos de la red social, donde estará disponible para que lo pueda usar en otros cursos."; $ShowDefaultFoldersTitle = "Mostrar en la herramienta documentos las carpetas que contienen los recursos multimedia suministrados por defecto."; $ShowDefaultFoldersComment = "Las carpetas de archivos multimedia suministradas por defecto contienen archivos de libre distribución organizados en las categorías de video, audio, imagen y animaciones flash que para utilizar en sus cursos. Aunque las oculte en la herramienta documentos, podrá seguir usándolas en el editor web de la plataforma."; @@ -1387,8 +1388,8 @@ $IncludeAsciiMathMlComment = "Active este parámetro si desea mostrar fórmulas $CourseHideToolsTitle = "Ocultar las herramientas a los docentes"; $CourseHideToolsComment = "Seleccione las herramientas que desea esconder del docente. Esto prohibirá el acceso a la herramienta."; $MoveUserStats = "Mover los resultados de los usuarios desde/hacia una sesión de formación"; -$CompareUserResultsBetweenCoursesAndCoursesInASession = "Esta herramienta avanzada le permite mejorar manualmente el seguimiento de los resultados de los usuarios cuando cambia de un modelo de cursos a un modelo de sesiones de formación. En una mayoría de casos, no necesitará usarla.
-En esta pantalla, puede comparar los resultados que los usuarios tienen en el contexto de un curso y en el contexto del mismo curso dentro de una sesión de formación.
+$CompareUserResultsBetweenCoursesAndCoursesInASession = "Esta herramienta avanzada le permite mejorar manualmente el seguimiento de los resultados de los usuarios cuando cambia de un modelo de cursos a un modelo de sesiones de formación. En una mayoría de casos, no necesitará usarla.
+En esta pantalla, puede comparar los resultados que los usuarios tienen en el contexto de un curso y en el contexto del mismo curso dentro de una sesión de formación.
Una vez que decidida cuál es el mejor contexto para el seguimiento (resultados de ejercicios y seguimiento de lecciones), podrá moverlo de un curso a una sesión."; $PDFExportWatermarkEnableTitle = "Marcas de agua en las exportaciones a PDF"; $PDFExportWatermarkEnableComment = "Si activa esta opción podrá cargar una imagen o un texto que serán automáticamente añadidos como marca de agua en los documentos resultantes de todas las exportaciones a PDF que realice el sistema."; @@ -1443,8 +1444,8 @@ $EnableAccessibilityFontResizeTitle = "Funcionalidad de redimensionamiento de fu $EnableAccessibilityFontResizeComment = "Activar esta opción mostrará una serie de opciones de redimensionamiento de fuentes en la parte superior derecha de su campus. Esto permitirá a las personas con problemas de vista leer más fácilmente los contenidos de sus cursos."; $GlobalEvent = "Evento de la plataforma"; $SearchEnabledTitle = "Búsqueda a texto completo"; -$SearchEnabledComment = "Esta funcionalidad permite la indexación de la mayoría de los documentos subidos a su portal, con lo que permite la búsqueda para los usuarios.
-Esta funcionalidad no indexa los documentos que ya fueron subidos, por lo que es importante (si se quiere) activarla al comienzo de su implementación.
+$SearchEnabledComment = "Esta funcionalidad permite la indexación de la mayoría de los documentos subidos a su portal, con lo que permite la búsqueda para los usuarios.
+Esta funcionalidad no indexa los documentos que ya fueron subidos, por lo que es importante (si se quiere) activarla al comienzo de su implementación.
Una vez activada, una caja de búsqueda aparecerá en la lista de cursos de cada usuario. Buscar un término específico suministra una lista de documentos, ejercicios o temas de foro correspondientes, filtrados dependiendo de su disponibilidad para el usuario."; $SpecificSearchFieldsAvailable = "Campos de búsqueda personalizados disponibles"; $XapianModuleInstalled = "Módulo Xapian instalado"; @@ -1602,37 +1603,37 @@ $GradebookEnableLockingTitle = "Activar bloqueo de Evaluaciones por los profesor $GradebookEnableLockingComment = "Una vez activada, esta opción permitirá a los profesores bloquear cualquier evaluación dentro de su curso. Esto prohibirá al profesor cualquier modificación posterior de los resultados de sus alumnos en los recursos usados para esta evaluación: exámenes, lecciones, tareas, etc. El único rol autorizado a desbloquear una evaluación es el administrador. El profesor estará informado de esta posibilidad al intentar desbloquear la evaluación. El bloqueo como el desbloqueo estarán guardados en el registro de actividades importantes del sistema."; $LdapDescriptionComment = "


I. LDAP configuration

Edit file main/inc/conf/auth.conf.php
-> Edit values of array $extldap_config

Parameters are
-> To update correspondences between user and LDAP attributes, edit array $extldap_user_correspondance
Array values are <chamilo_field> => >ldap_field>
Array structure is explained in file main/auth/external_login/ldap.conf.php


II. Activate LDAP authentication

Edit file main/inc/conf/configuration.php
-> Uncomment lines
$extAuthSource["extldap"]["login"] =$_configuration['root_sys'].$_configuration['code_append']."auth/external_login/login.ldap.php";
$extAuthSource["extldap"]["newUser"] =$_configuration['root_sys'].$_configuration['code_append']."auth/external_login/newUser.ldap.php";

N.B. : LDAP users use same fields than platform users to login.
N.B. : LDAP activation adds a menu External authentication [LDAP] in "add or modify" user pages."; $ShibbolethMainActivateTitle = "

Autenticación Shibboleth

"; -$ShibbolethMainActivateComment = "En primer lugar, tiene que configurar Shibboleth para su servidor web. - -Para configurarlo en Chamilo: - -editar el archivo main/auth/shibboleth/config/aai.class.php - -Modificar valores de \$result con el nombre de los atributos de Shibboleth - - \$result->unique_id = 'mail'; - \$result->firstname = 'cn'; - \$result->lastname = 'uid'; - \$result->email = 'mail'; - \$result->language = '-'; - \$result->gender = '-'; - \$result->address = '-'; - \$result->staff_category = '-'; - \$result->home_organization_type = '-'; - \$result->home_organization = '-'; - \$result->affiliation = '-'; - \$result->persistent_id = '-'; - ... - +$ShibbolethMainActivateComment = "En primer lugar, tiene que configurar Shibboleth para su servidor web. + +Para configurarlo en Chamilo: + +editar el archivo main/auth/shibboleth/config/aai.class.php + +Modificar valores de \$result con el nombre de los atributos de Shibboleth + + \$result->unique_id = 'mail'; + \$result->firstname = 'cn'; + \$result->lastname = 'uid'; + \$result->email = 'mail'; + \$result->language = '-'; + \$result->gender = '-'; + \$result->address = '-'; + \$result->staff_category = '-'; + \$result->home_organization_type = '-'; + \$result->home_organization = '-'; + \$result->affiliation = '-'; + \$result->persistent_id = '-'; + ... + Ir a Plug-in para añadir el botón 'Shibboleth Login' en su campus de Chamilo."; $LdapDescriptionTitle = "

Autentificacion LDAP

"; $FacebookMainActivateTitle = "Autenticación con Facebook"; -$FacebookMainActivateComment = "En primer lugar, se tiene que crear una aplicación de Facebook (ver https://developers.facebook.com/apps) con una cuenta de Facebook. En los parámetros de aplicaciones de Facebook, el valor de dirección URL del sitio debe tener \"una acción = fbconnect\" un parámetro GET (http://mychamilo.com/?action=fbconnect, por ejemplo). - -Entonces, editar el archivo main/auth/external_login/facebook.conf.php - -e ingresar en \"appId\" y \"secret\" los valores de \$facebook_config. - +$FacebookMainActivateComment = "En primer lugar, se tiene que crear una aplicación de Facebook (ver https://developers.facebook.com/apps) con una cuenta de Facebook. En los parámetros de aplicaciones de Facebook, el valor de dirección URL del sitio debe tener \"una acción = fbconnect\" un parámetro GET (http://mychamilo.com/?action=fbconnect, por ejemplo). + +Entonces, editar el archivo main/auth/external_login/facebook.conf.php + +e ingresar en \"appId\" y \"secret\" los valores de \$facebook_config. + Ir a Plug-in para añadir un botón configurable \"Facebook Login\" para el campus de Chamilo."; $LanguagePriority1Title = "Prioridad del idioma 1"; $LanguagePriority2Title = "Prioridad del idioma 2"; diff --git a/main/mySpace/index.php b/main/mySpace/index.php index e9be4ac2c9..d47ea2c0c4 100644 --- a/main/mySpace/index.php +++ b/main/mySpace/index.php @@ -752,7 +752,7 @@ if ($is_platform_admin && in_array($view, array('admin')) && $display != 'yourst $studentList[] = array('id' => $studentInfo['user_id'], 'text' => $studentInfo['username'] . ' (' . $studentInfo['firstname'] . ' ' . $studentInfo['lastname'] . ')'); } - $sessionFilter->addElement('select_ajax', 'student_name', get_lang('SearchStudent'), null, array('url' => $url, 'defaults' => $studentList, 'width' => '400px', 'class' => 'pull-right', 'minimumInputLength' => $minimumInputLength)); + $sessionFilter->addElement('select_ajax', 'student_name', get_lang('SearchUser'), null, array('url' => $url, 'defaults' => $studentList, 'width' => '400px', 'class' => 'pull-right', 'minimumInputLength' => $minimumInputLength)); $options = array( '' => get_lang('Select'), STUDENT => get_lang('Student'), diff --git a/main/mySpace/myspace.lib.php b/main/mySpace/myspace.lib.php index 7e07822673..a4e5bae621 100644 --- a/main/mySpace/myspace.lib.php +++ b/main/mySpace/myspace.lib.php @@ -659,8 +659,8 @@ class MySpace { $columns = array( get_lang('LoginDate'), get_lang('UserName'), - get_lang('FirstName'), get_lang('LastName'), + get_lang('FirstName'), get_lang('Clicks'), get_lang('IP'), get_lang('TimeLoggedIn'),