Fix IMS/LTI plugin - refs #5333

remotes/angel/1.11.x
Angel Fernando Quiroz Campos 8 years ago
parent 13b1de87ea
commit 43f1870868
  1. 2
      plugin/ims_lti/create.php
  2. 25
      plugin/ims_lti/form.php
  3. 8
      plugin/ims_lti/start.php

@ -23,7 +23,7 @@ if ($form->validate()) {
$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'])

@ -1,5 +1,9 @@
<?php
/* For license terms, see /license.txt */
use Chamilo\UserBundle\Entity\User;
use Chamilo\CoreBundle\Entity\Course;
require '../../main/inc/global.inc.php';
require './OAuthSimple.php';
@ -8,12 +12,21 @@ api_protect_course_script();
$toolId = isset($_GET['id']) ? intval($_GET['id']) : 0;
$em = Database::getManager();
/** @var ImsLtiPlugin $imsLtiPlugin */
$imsLtiPlugin = ImsLtiPlugin::create();
/** @var ImsLtiTool $tool */
$tool = ImsLtiTool::fetch($toolId);
/** @var Course $course */
$course = $em->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 @@ $params = [
'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 @@ $params = [
'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!',

@ -7,7 +7,13 @@ api_protect_course_script();
$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();

Loading…
Cancel
Save