PageRenderTime 44ms CodeModel.GetById 32ms app.highlight 8ms RepoModel.GetById 2ms app.codeStats 0ms

/mod/lti/edit_form.php

https://bitbucket.org/synergylearning/campusconnect
PHP | 186 lines | 84 code | 32 blank | 70 comment | 4 complexity | 1822ee88d555979c79d8b04c9f011692 MD5 | raw file
  1<?php
  2// This file is part of Moodle - http://moodle.org/
  3//
  4// Moodle is free software: you can redistribute it and/or modify
  5// it under the terms of the GNU General Public License as published by
  6// the Free Software Foundation, either version 3 of the License, or
  7// (at your option) any later version.
  8//
  9// Moodle is distributed in the hope that it will be useful,
 10// but WITHOUT ANY WARRANTY; without even the implied warranty of
 11// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 12// GNU General Public License for more details.
 13//
 14// You should have received a copy of the GNU General Public License
 15// along with Moodle.  If not, see <http://www.gnu.org/licenses/>.
 16//
 17// This file is part of BasicLTI4Moodle
 18//
 19// BasicLTI4Moodle is an IMS BasicLTI (Basic Learning Tools for Interoperability)
 20// consumer for Moodle 1.9 and Moodle 2.0. BasicLTI is a IMS Standard that allows web
 21// based learning tools to be easily integrated in LMS as native ones. The IMS BasicLTI
 22// specification is part of the IMS standard Common Cartridge 1.1 Sakai and other main LMS
 23// are already supporting or going to support BasicLTI. This project Implements the consumer
 24// for Moodle. Moodle is a Free Open source Learning Management System by Martin Dougiamas.
 25// BasicLTI4Moodle is a project iniciated and leaded by Ludo(Marc Alier) and Jordi Piguillem
 26// at the GESSI research group at UPC.
 27// SimpleLTI consumer for Moodle is an implementation of the early specification of LTI
 28// by Charles Severance (Dr Chuck) htp://dr-chuck.com , developed by Jordi Piguillem in a
 29// Google Summer of Code 2008 project co-mentored by Charles Severance and Marc Alier.
 30//
 31// BasicLTI4Moodle is copyright 2009 by Marc Alier Forment, Jordi Piguillem and Nikolas Galanis
 32// of the Universitat Politecnica de Catalunya http://www.upc.edu
 33// Contact info: Marc Alier Forment granludo @ gmail.com or marc.alier @ upc.edu
 34
 35/**
 36 * This file defines de main basiclti configuration form
 37 *
 38 * @package    mod
 39 * @subpackage lti
 40 * @copyright  2009 Marc Alier, Jordi Piguillem, Nikolas Galanis
 41 *  marc.alier@upc.edu
 42 * @copyright  2009 Universitat Politecnica de Catalunya http://www.upc.edu
 43 * @author     Marc Alier
 44 * @author     Jordi Piguillem
 45 * @author     Nikolas Galanis
 46 * @author     Charles Severance
 47 * @author     Chris Scribner
 48 * @license    http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
 49 */
 50
 51defined('MOODLE_INTERNAL') || die;
 52
 53require_once($CFG->libdir.'/formslib.php');
 54require_once($CFG->dirroot.'/mod/lti/locallib.php');
 55
 56class mod_lti_edit_types_form extends moodleform{
 57    public function definition() {
 58        $mform    =& $this->_form;
 59
 60        //-------------------------------------------------------------------------------
 61        // Add basiclti elements
 62        $mform->addElement('header', 'setup', get_string('tool_settings', 'lti'));
 63
 64        $mform->addElement('text', 'lti_typename', get_string('typename', 'lti'));
 65        $mform->setType('lti_typename', PARAM_TEXT);
 66        $mform->addHelpButton('lti_typename', 'typename', 'lti');
 67        $mform->addRule('lti_typename', null, 'required', null, 'client');
 68
 69        $mform->addElement('text', 'lti_toolurl', get_string('toolurl', 'lti'), array('size'=>'64'));
 70        $mform->setType('lti_toolurl', PARAM_TEXT);
 71        $mform->addHelpButton('lti_toolurl', 'toolurl', 'lti');
 72        $mform->addRule('lti_toolurl', null, 'required', null, 'client');
 73
 74        $mform->addElement('text', 'lti_resourcekey', get_string('resourcekey_admin', 'lti'));
 75        $mform->setType('lti_resourcekey', PARAM_TEXT);
 76        $mform->addHelpButton('lti_resourcekey', 'resourcekey_admin', 'lti');
 77
 78        $mform->addElement('passwordunmask', 'lti_password', get_string('password_admin', 'lti'));
 79        $mform->setType('lti_password', PARAM_TEXT);
 80        $mform->addHelpButton('lti_password', 'password_admin', 'lti');
 81
 82        $mform->addElement('textarea', 'lti_customparameters', get_string('custom', 'lti'), array('rows'=>4, 'cols'=>60));
 83        $mform->setType('lti_customparameters', PARAM_TEXT);
 84        $mform->addHelpButton('lti_customparameters', 'custom', 'lti');
 85
 86        if (!empty($this->_customdata->isadmin)) {
 87            $mform->addElement('checkbox', 'lti_coursevisible', '&nbsp;', ' ' . get_string('show_in_course', 'lti'));
 88            $mform->addHelpButton('lti_coursevisible', 'show_in_course', 'lti');
 89        } else {
 90            $mform->addElement('hidden', 'lti_coursevisible', '1');
 91        }
 92        $mform->setType('lti_coursevisible', PARAM_BOOL);
 93
 94        $mform->addElement('hidden', 'typeid');
 95        $mform->setType('typeid', PARAM_INT);
 96
 97        $launchoptions=array();
 98        $launchoptions[LTI_LAUNCH_CONTAINER_EMBED] = get_string('embed', 'lti');
 99        $launchoptions[LTI_LAUNCH_CONTAINER_EMBED_NO_BLOCKS] = get_string('embed_no_blocks', 'lti');
100        $launchoptions[LTI_LAUNCH_CONTAINER_WINDOW] = get_string('new_window', 'lti');
101
102        $mform->addElement('select', 'lti_launchcontainer', get_string('default_launch_container', 'lti'), $launchoptions);
103        $mform->setDefault('lti_launchcontainer', LTI_LAUNCH_CONTAINER_EMBED_NO_BLOCKS);
104        $mform->addHelpButton('lti_launchcontainer', 'default_launch_container', 'lti');
105        $mform->setType('lti_launchcontainer', PARAM_INT);
106
107        // Add privacy preferences fieldset where users choose whether to send their data
108        $mform->addElement('header', 'privacy', get_string('privacy', 'lti'));
109
110        $options=array();
111        $options[0] = get_string('never', 'lti');
112        $options[1] = get_string('always', 'lti');
113        $options[2] = get_string('delegate', 'lti');
114
115        $mform->addElement('select', 'lti_sendname', get_string('share_name_admin', 'lti'), $options);
116        $mform->setType('lti_sendname', PARAM_INT);
117        $mform->setDefault('lti_sendname', '2');
118        $mform->addHelpButton('lti_sendname', 'share_name_admin', 'lti');
119
120        $mform->addElement('select', 'lti_sendemailaddr', get_string('share_email_admin', 'lti'), $options);
121        $mform->setType('lti_sendemailaddr', PARAM_INT);
122        $mform->setDefault('lti_sendemailaddr', '2');
123        $mform->addHelpButton('lti_sendemailaddr', 'share_email_admin', 'lti');
124
125        //-------------------------------------------------------------------------------
126        // LTI Extensions
127
128        // Add grading preferences fieldset where the tool is allowed to return grades
129        $mform->addElement('select', 'lti_acceptgrades', get_string('accept_grades_admin', 'lti'), $options);
130        $mform->setType('lti_acceptgrades', PARAM_INT);
131        $mform->setDefault('lti_acceptgrades', '2');
132        $mform->addHelpButton('lti_acceptgrades', 'accept_grades_admin', 'lti');
133
134        // Add grading preferences fieldset where the tool is allowed to retrieve rosters
135        //$mform->addElement('select', 'lti_allowroster', get_string('share_roster_admin', 'lti'), $options);
136        //$mform->setDefault('lti_allowroster', '2');
137        //$mform->addHelpButton('lti_allowroster', 'share_roster_admin', 'lti');
138
139        $mform->addElement('checkbox', 'lti_forcessl', '&nbsp;', ' ' . get_string('force_ssl', 'lti'), $options);
140        $mform->setType('lti_forcessl', PARAM_BOOL);
141        $mform->setDefault('lti_forcessl', '0');
142        $mform->addHelpButton('lti_forcessl', 'force_ssl', 'lti');
143
144        if (!empty($this->_customdata->isadmin)) {
145            //-------------------------------------------------------------------------------
146            // Add setup parameters fieldset
147            $mform->addElement('header', 'setupoptions', get_string('miscellaneous', 'lti'));
148
149            // Adding option to change id that is placed in context_id
150            $idoptions = array();
151            $idoptions[0] = get_string('id', 'lti');
152            $idoptions[1] = get_string('courseid', 'lti');
153
154            $mform->addElement('text', 'lti_organizationid', get_string('organizationid', 'lti'));
155            $mform->setType('lti_organizationid', PARAM_TEXT);
156            $mform->addHelpButton('lti_organizationid', 'organizationid', 'lti');
157
158            $mform->addElement('text', 'lti_organizationurl', get_string('organizationurl', 'lti'));
159            $mform->setType('lti_organizationurl', PARAM_TEXT);
160            $mform->addHelpButton('lti_organizationurl', 'organizationurl', 'lti');
161        }
162
163        /* Suppress this for now - Chuck
164        $mform->addElement('text', 'lti_organizationdescr', get_string('organizationdescr', 'lti'));
165        $mform->setType('lti_organizationdescr', PARAM_TEXT);
166        $mform->addHelpButton('lti_organizationdescr', 'organizationdescr', 'lti');
167        */
168
169        //-------------------------------------------------------------------------------
170        // Add a hidden element to signal a tool fixing operation after a problematic backup - restore process
171        //$mform->addElement('hidden', 'lti_fix');
172
173        $tab = optional_param('tab', '', PARAM_ALPHAEXT);
174        $mform->addElement('hidden', 'tab', $tab);
175        $mform->setType('tab', PARAM_ALPHAEXT);
176
177        $courseid = optional_param('course', 1, PARAM_INT);
178        $mform->addElement('hidden', 'course', $courseid);
179        $mform->setType('course', PARAM_INT);
180
181        //-------------------------------------------------------------------------------
182        // Add standard buttons, common to all modules
183        $this->add_action_buttons();
184
185    }
186}