Index: moodle/mod/lamslesson/classes/event/course_module_viewed.php =================================================================== diff -u --- moodle/mod/lamslesson/classes/event/course_module_viewed.php (revision 0) +++ moodle/mod/lamslesson/classes/event/course_module_viewed.php (revision 0ef795fd4bdb5b139a36e0fb45b3fedfc17f6bc5) @@ -0,0 +1,60 @@ + + */ + +namespace mod_lamslesson\event; + +defined('MOODLE_INTERNAL') || die(); + +/** + * The mod_lamslesson course module viewed event class. + * + * @package mod_quiz + * @since Moodle 3.9 + * @copyright 2020 LAMS Foundation + * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v2 + */ +class course_module_viewed extends \core\event\course_module_viewed { + + /** + * Init method. + * + * @return void + */ + protected function init() { + $this->data['crud'] = 'r'; + $this->data['objecttable'] = 'lamslesson'; + $this->data['edulevel'] = self::LEVEL_PARTICIPATING; + } + + /** + * This is used when restoring course logs where it is required that we + * map the objectid to it's new value in the new course. + * + * @return array + */ + public static function get_objectid_mapping() { + return ['db' => 'lamslesson', 'restore' => 'lamslesson']; + } + + /** + * Replace add_to_log() statement. + * + * @return array of parameters to be passed to legacy add_to_log() function. + */ + protected function get_legacy_logdata() { + return array($this->courseid, 'lamslesson', 'pre-view', 'view.php?id=' . $this->contextinstanceid, $this->objectid, $this->contextinstanceid); + } + + // public static function get_objectid_mapping() { + // return array('db' => 'lamslesson', 'restore' => 'lmslesson'); + // } +} Index: moodle/mod/lamslesson/lang/es/lamslesson.php =================================================================== diff -u --- moodle/mod/lamslesson/lang/es/lamslesson.php (revision 0) +++ moodle/mod/lamslesson/lang/es/lamslesson.php (revision 0ef795fd4bdb5b139a36e0fb45b3fedfc17f6bc5) @@ -0,0 +1,123 @@ +. + + +/** + * Spanish strings for lamslesson + * + * You can have a rather longer description of the file as well, + * if you like, and it can span multiple lines. + * + * @package mod_lamslesson + * @copyright 2011 LAMS Foundation - Ernie Ghiglione (ernieg@lamsfoundation.org) + * @license http://www.gnu.org/licenses/gpl-2.0.html GNU GPL v2 + */ + +defined('MOODLE_INTERNAL') || die(); + +$string['modulename'] = 'LAMS Lesson'; +$string['modulenameplural'] = 'LAMS Lessons'; +$string['modulename_help'] = 'El módulo de lección LAMS permite a los profesores crear lecciones LAMS dentro de Moodle. + +LAMS proporciona a los profesores un entorno de creación visual intuitivo para crear secuencias de actividades de aprendizaje. Estas actividades pueden incluir una variedad de tareas individuales, trabajo en grupos pequeños y actividades de toda la clase basadas tanto en contenido como en colaboración. + +Una vez que se crea una secuencia, se puede reutilizar en uno o varios cursos. + +Además, LAMS proporciona una interfaz de seguimiento y seguimiento en tiempo real donde los maestros pueden interactuar con los estudiantes a medida que avanzan en las actividades de aprendizaje. + +Para obtener más información, visite: lamsfoundation.org.'; +$string['modulename_link'] = 'lamslesson'; +$string['lamslessonfieldset'] = 'Conjunto de campos de ejemplo personalizado'; +$string['lamslessonname'] = 'Nombre de lección'; +$string['lamslessonname_help'] = 'Nombre que desea darle a la lección'; +$string['lamslesson'] = 'Lección LAMS'; +$string['pluginadministration'] = 'Administración de Lecciones LAMS'; +$string['pluginname'] = 'Lecciones LAMS'; +$string['selectsequence'] = 'Seleccionar diseño'; +$string['displaydesign'] = '¿Mostrar imagen del diseño?'; +$string['allowlearnerrestart'] = 'Learners can restart the lesson?'; +$string['availablesequences'] = 'Diseños'; +$string['openauthor'] = 'Crear nuevos diseños'; + +// Capabilities +$string['lamslesson:manage'] = 'Administrar lecciones'; +$string['lamslesson:participate'] = 'Participar de lecciones'; + + +// Admin interface +$string['adminheader'] = 'Configuración del servidor LAMS'; +$string['admindescription'] = 'Configure los detalles de su servidor LAMS. Asegúrese de que los valores proporcionados sean los mismos que han sido configurados en el servidor LAMS. De otra manera, la integración no funcionará.'; + +$string['serverurl'] = 'URL servidor LAMS:'; +$string['serverurlinfo'] = 'Aqui debe ingresar la URL del servidor LAMS ie: http://lams.com:8080/lams/.'; + +$string['serverid'] = '¿Server ID:'; +$string['serveridinfo'] = 'Cuál es el Server ID que ha configurado en LAMS?'; + +$string['serverkey'] = 'Server Key:'; +$string['serverkeyinfo'] = '¿Cuál es el Server Key que ha configurado en?'; + +$string['validationbutton'] = "Validar configuración"; +$string['validationheader'] = 'Validación de configuración'; +$string['validationinfo'] = 'Antes de guardar sus configuraciones, presione el botón para validarlas con el servidor LAMS. Si la validación es correcta, guarde esta configuración. En caso contrario, compruebe que la configuración que ha introducido coincida con los valores del servidor LAMS.'; +$string['validationhelp'] = 'Necesita ayuda'; + +$string['offsetbutton'] = "Calcular diferencia horaria"; +$string['offsetinfo'] = "Si está aplicando el límite de tiempo de vida de la solicitud de inicio de sesión, es importante que configure la diferencia de tiempo (en minutos) entre el LAMS y su servidor Moodle. Haga clic en Calcular compensación para ver si hay una diferencia de tiempo entre su servidor LAMS y Moodle. Tome el tiempo de compensación que se muestra y agréguelo al ajuste \"Diferencia de tiempo de compensación\"."; + +$string['servertimeoffset'] = "Diferencia horaria (minutos)"; + +$string['servertimeoffsetinfo'] = "Esta es la diferencia horaria (o compensación de tiempo) entre el servidor LAMS y Moodle."; + +$string['offsetheader'] = "Diferencia horaria"; + + + +$string['lamsmoodlehelp'] = 'LAMS-Moodle integration tutorial'; + +$string['validationsuccessful'] = '¡Validación exitosa! Ahora puede guardar su configuración y comenzar a usar LAMS dentro de Moodle.'; +$string['validationfailed'] = 'Error de validación: compruebe que la configuración que ha introducido coincida con la configuración de LAMS.'; +// + + +// Labels for errors when calling LAMS Server +$string['restcallfail'] = 'La comunicación con LAMS ha fallado: no se recibió respuesta o se rechazó la conexión. Compruebe que tiene la URL correcta del servidor LAMS y que está en línea.'; +$string['sequencenotselected'] = 'Debe seleccionar un diseño antes de continuar.'; +$string['previewthislesson'] = 'Vista previa'; +$string['updatewarning'] = 'Atención: seleccionar un diseño distinto al actualmente seleccionado creará una nueva lección para los estudiantes. Esto puede resultar en algunos estudiantes un poco confundidos'; +$string['currentsequence'] = 'Diseño actual:'; + +// view.php + +$string['nolessons'] = 'No hay lecciones hasta ahora.'; +$string['lessonname'] = 'Lección'; +$string['links'] = 'Enlaces'; +$string['introduction'] = 'Introducción'; +$string['openmonitor'] = 'Seguimiento de lección'; +$string['lastmodified'] = 'Última modificación'; +$string['openlesson'] = 'Abrir lección'; +$string['empty'] = 'vacio'; +$string['completionfinish'] = 'Mostrar como completo cuando el usuario terminó la lección'; +$string['yourprogress'] = 'Progreso'; +$string['youhavecompleted'] = 'Ha completado: '; +$string['outof'] = 'de aproximadamente'; +$string['lessonincompleted'] = 'La lección no ha sido completada'; +$string['lessoncompleted'] = 'Ha completado esta lección'; +$string['activities'] = 'actividades'; +$string['ymmv'] = 'Las actividades totales dependen de su ruta de aprendizaje.'; +$string['yourmarkis'] = 'Su puntaje final es:'; +$string['outofmark'] = 'de'; Index: moodle/mod/lamslesson/lib.php =================================================================== diff -u -r838dc1f2f02215e3ee88c3030fb2b911db52a957 -r0ef795fd4bdb5b139a36e0fb45b3fedfc17f6bc5 --- moodle/mod/lamslesson/lib.php (.../lib.php) (revision 838dc1f2f02215e3ee88c3030fb2b911db52a957) +++ moodle/mod/lamslesson/lib.php (.../lib.php) (revision 0ef795fd4bdb5b139a36e0fb45b3fedfc17f6bc5) @@ -37,7 +37,7 @@ require_once($CFG->libdir.'/moodlelib.php'); require_once($CFG->libdir.'/xmlize.php'); require_once($CFG->libdir.'/filelib.php'); - +include 'classes/event/course_module_viewed.php'; /// CONSTANTS /////////////////////////////////////////////////////////// define('LAMSLESSON_LOGIN_REQUEST', '/LoginRequest'); @@ -1049,3 +1049,27 @@ return "LAMS time: " . date('m-d-Y H:i:s.u', $result/1000) . " \rMoodle time:" . date('m-d-Y H:i:s.u', $localtime/1000) . " \rOffset: " . $offset/1000/60 . " minutes"; } + +/** + * Trigger the course_module_viewed event. + * + * @param stdClass $lamslesson lamslesson object + * @param stdClass $course course object + * @param stdClass $cm course module object + * @param stdClass $context context object + * @since Moodle 3.0 + */ +function lamslesson_view($lamslesson, $course, $cm, $context) { + + // Trigger course_module_viewed event. + $params = array( + 'context' => $context, + 'objectid' => $lamslesson->id + ); + + $event = \mod_lamslesson\event\course_module_viewed::create($params); + $event->add_record_snapshot('course_modules', $cm); + $event->add_record_snapshot('course', $course); + $event->add_record_snapshot('lamslesson', $lamslesson); + $event->trigger(); +} Index: moodle/mod/lamslesson/version.php =================================================================== diff -u -r62aaf160878735888d077bf28fac3c1989bb8fbd -r0ef795fd4bdb5b139a36e0fb45b3fedfc17f6bc5 --- moodle/mod/lamslesson/version.php (.../version.php) (revision 62aaf160878735888d077bf28fac3c1989bb8fbd) +++ moodle/mod/lamslesson/version.php (.../version.php) (revision 0ef795fd4bdb5b139a36e0fb45b3fedfc17f6bc5) @@ -29,8 +29,8 @@ defined('MOODLE_INTERNAL') || die(); -$plugin->version = 2018083010; // If version == 0 then module will not be installed -$plugin->requires = 2015111000; // Requires this Moodle version +$plugin->version = 2020080710; // If version == 0 then module will not be installed +$plugin->requires = 2018083010; // Requires this Moodle version $plugin->component = 'mod_lamslesson'; // Full name of the plugin (used for diagnostics) $plugin->cron = 0; // Period for cron to check this module (secs) Index: moodle/mod/lamslesson/view.php =================================================================== diff -u -r14c3743d2e7b7013f29247abb8091f7248f88aa0 -r0ef795fd4bdb5b139a36e0fb45b3fedfc17f6bc5 --- moodle/mod/lamslesson/view.php (.../view.php) (revision 14c3743d2e7b7013f29247abb8091f7248f88aa0) +++ moodle/mod/lamslesson/view.php (.../view.php) (revision 0ef795fd4bdb5b139a36e0fb45b3fedfc17f6bc5) @@ -48,9 +48,25 @@ require_login($course, true, $cm); $context = get_context_instance(CONTEXT_MODULE, $cm->id); +$context = context_module::instance($cm->id); -add_to_log($course->id, 'lamslesson', 'view', "view.php?id=$cm->id", $lamslesson->name, $cm->id); +// Trigger module viewed event. +if (!empty($id)) { + if (! $cm = get_coursemodule_from_id('lamslesson', $id, 0, true)) { + print_error('invalidcoursemodule'); + } + if (! $course = $DB->get_record("course", array("id" => $cm->course))) { + print_error('coursemisconf'); + } + if (! $lamslesson = $DB->get_record("lamslesson", array("id" => $cm->instance))) { + print_error('invalidcoursemodule'); + } +} else { + print_error('missingparameter'); +} +lamslesson_view($lamslesson, $course, $cm, $context); + /// Print the page header $PAGE->set_url('/mod/lamslesson/view.php', array('id' => $cm->id)); @@ -63,14 +79,28 @@ $canmanage = has_capability('mod/lamslesson:manage', $context); // Log the lamslesson view. -add_to_log($course->id, "lamslesson", "view lamslesson", "view.php?id=$cm->id", "$lamslesson->id", $cm->id); + +if (!empty($id)) { + if (! $cm = get_coursemodule_from_id('lamslesson', $id, 0, true)) { + print_error('invalidcoursemodule'); + } + if (! $course = $DB->get_record("course", array("id" => $cm->course))) { + print_error('coursemisconf'); + } + if (! $lamslesson = $DB->get_record("lamslesson", array("id" => $cm->instance))) { + print_error('invalidcoursemodule'); + } +} else { + print_error('missingparameter'); +} +lamslesson_view($lamslesson, $course, $cm, $context); + // Check capabilities $canparticipate = has_capability('mod/lamslesson:participate', $context); - // Output starts here echo $OUTPUT->header();