create.php 2.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. <?php
  2. /* For license terms, see /license.txt */
  3. use Chamilo\PluginBundle\Entity\ImsLti\ImsLtiTool;
  4. $cidReset = true;
  5. require_once __DIR__.'/../../main/inc/global.inc.php';
  6. api_protect_admin_script();
  7. $plugin = ImsLtiPlugin::create();
  8. $em = Database::getManager();
  9. $form = new FormValidator('ism_lti_create_tool');
  10. $form->addText('name', get_lang('Name'));
  11. $form->addText('base_url', $plugin->get_lang('LaunchUrl'));
  12. $form->addText('consumer_key', $plugin->get_lang('ConsumerKey'));
  13. $form->addText('shared_secret', $plugin->get_lang('SharedSecret'));
  14. $form->addButtonAdvancedSettings('lti_adv');
  15. $form->addHtml('<div id="lti_adv_options" style="display:none;">');
  16. $form->addTextarea('description', get_lang('Description'), ['rows' => 3]);
  17. $form->addTextarea('custom_params', [$plugin->get_lang('CustomParams'), $plugin->get_lang('CustomParamsHelp')]);
  18. $form->addCheckBox('deep_linking', $plugin->get_lang('SupportDeepLinking'), get_lang('Yes'));
  19. $form->addHtml('</div>');
  20. $form->addButtonCreate($plugin->get_lang('AddExternalTool'));
  21. if ($form->validate()) {
  22. $formValues = $form->exportValues();
  23. $externalTool = new ImsLtiTool();
  24. $externalTool
  25. ->setName($formValues['name'])
  26. ->setDescription($formValues['description'])
  27. ->setLaunchUrl($formValues['base_url'])
  28. ->setConsumerKey($formValues['consumer_key'])
  29. ->setSharedSecret($formValues['shared_secret'])
  30. ->setCustomParams($formValues['custom_params'])
  31. ->setIsGlobal(true)
  32. ->setActiveDeepLinking(
  33. isset($formValues['deep_linking'])
  34. );
  35. $em->persist($externalTool);
  36. $em->flush();
  37. Display::addFlash(
  38. Display::return_message($plugin->get_lang('ToolAdded'), 'success')
  39. );
  40. header('Location: '.api_get_path(WEB_PLUGIN_PATH).'ims_lti/admin.php');
  41. exit;
  42. }
  43. $template = new Template($plugin->get_lang('AddExternalTool'));
  44. $template->assign('form', $form->returnForm());
  45. $content = $template->fetch('ims_lti/view/add.tpl');
  46. $template->assign('header', $plugin->get_title());
  47. $template->assign('content', $content);
  48. $template->display_one_col_template();