From 43f1870868ad0e8a75b332422d436bdf644ddc7f Mon Sep 17 00:00:00 2001 From: Angel Fernando Quiroz Campos Date: Wed, 14 Sep 2016 17:58:36 -0500 Subject: [PATCH] Fix IMS/LTI plugin - refs #5333 --- plugin/ims_lti/create.php | 2 +- plugin/ims_lti/form.php | 25 +++++++++++++++++++------ plugin/ims_lti/start.php | 8 +++++++- 3 files changed, 27 insertions(+), 8 deletions(-) diff --git a/plugin/ims_lti/create.php b/plugin/ims_lti/create.php index 374c6f6b768..d555d9502ac 100644 --- a/plugin/ims_lti/create.php +++ b/plugin/ims_lti/create.php @@ -23,7 +23,7 @@ $externalTool ->setName($formValues['name']) ->setDescription($formValues['description']) - ->setLaunchUrl($formValues['url']) + ->setLaunchUrl($formValues['base_url']) ->setConsumerKey($formValues['consumer_key']) ->setSharedSecret($formValues['shared_secret']) ->setCustomParams($formValues['custom_params']) diff --git a/plugin/ims_lti/form.php b/plugin/ims_lti/form.php index 26083082e3e..36d67a2f8f1 100644 --- a/plugin/ims_lti/form.php +++ b/plugin/ims_lti/form.php @@ -1,5 +1,9 @@ find('ChamiloCoreBundle:Course', api_get_course_int_id()); +/** @var User $user */ $user = $em->find('ChamiloUserBundle:User', api_get_user_id()); +$siteName = api_get_setting('siteName'); +$institution = api_get_setting('Institution'); +$toolUserId = "$siteName - $institution - {$user->getId()}"; +$toolUserId = api_replace_dangerous_char($toolUserId); + $params = [ 'lti_message_type' => 'basic-lti-launch-request', 'lti_version' => 'LTI-1p0', @@ -21,7 +34,7 @@ 'resource_link_id' => $tool->getId(), 'resource_link_title' => $tool->getName(), - 'user_id' => 'chamilo110x-' . $user->getId(), + 'user_id' => $toolUserId, 'roles' => api_is_teacher() ? 'Instructor' : 'Student', 'lis_person_name_given' => $user->getFirstname(), @@ -36,11 +49,11 @@ 'launch_presentation_locale' => api_get_language_isocode(), 'launch_presentation_document_target' => 'embed', - 'tool_consumer_info_product_family_code' => 'canvas', - 'tool_consumer_info_version' => '1.10.2', - 'tool_consumer_instance_guid' => 'campus.chamilo.org', - 'tool_consumer_instance_name' => api_get_setting('siteName'), - 'tool_consumer_instance_url' => api_get_setting('InstitutionUrl'), + 'tool_consumer_info_product_family_code' => 'Chamilo LMS', + 'tool_consumer_info_version' => api_get_version(), + 'tool_consumer_instance_guid' => api_get_setting('InstitutionUrl'), + 'tool_consumer_instance_name' => $siteName, + 'tool_consumer_instance_url' => api_get_path(WEB_PATH), 'tool_consumer_instance_contact_email' => api_get_setting('emailAdministrator'), 'resource_link_description' => 'A quick revision PowerPoint about the Water cycle. Make sure you\'re clear about it!', diff --git a/plugin/ims_lti/start.php b/plugin/ims_lti/start.php index 7e70d2b42f4..fe6e54d6cb1 100644 --- a/plugin/ims_lti/start.php +++ b/plugin/ims_lti/start.php @@ -7,7 +7,13 @@ $toolId = isset($_GET['id']) ? intval($_GET['id']) : 0; if (empty($toolId)) { - api_not_allowed(); + if (api_is_platform_admin()) { + header('Location: ' . api_get_path(WEB_PLUGIN_PATH) . 'ims_lti/create.php'); + exit; + } + + api_not_allowed(true); + exit; } $imsLtiPlugin = ImsLtiPlugin::create();