Пример #1
0
 /**
  * Method to test function /local/elisprogram/lib/lib.php::pm_get_select_roles_for_contexts()
  * part of ELIS-8341
  * @param array $testroles array of role 'objects' to create
  * @param array $passedcontexts  array of contexts to pass to function under  test
  * @param array $expectedresults associative array of selectable roles: roleshortname => rolename
  * @uses $DB
  * @dataProvider pm_get_select_roles_data_provider
  */
 public function test_pm_get_select_roles($testroles, $passedcontexts, $expectedresults)
 {
     global $DB;
     $id2shortname = array();
     // Create specified roles.
     foreach ($testroles as $testrole) {
         $roleid = create_role($testrole['name'], $testrole['shortname'], 'Default role description');
         // Assign role capabilities.
         foreach ($testrole['caps'] as $cap => $perm) {
             assign_capability($cap, $perm, $roleid, 1, true);
         }
         // Create assignable contexts array & assign.
         $contexts = array();
         foreach ($testrole['contexts'] as $contextlevel) {
             $contexts[$contextlevel] = $contextlevel;
         }
         set_role_contextlevels($roleid, $contexts);
         // Save roleid for later conversion.
         $id2shortname[$roleid] = $testrole['shortname'];
     }
     // Call test function.
     $results = array();
     pm_get_select_roles_for_contexts($results, $passedcontexts);
     // Convert roleid to roleshortname to validate.
     foreach ($results as $id => $name) {
         if (isset($id2shortname[$id])) {
             $results[$id2shortname[$id]] = $name;
         }
         unset($results[$id]);
     }
     $this->assertEquals($expectedresults, $results);
 }
Пример #2
0
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
 *
 * @package    elisprogram_enrolrolesync
 * @author     Remote-Learner.net Inc
 * @license    http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
 * @copyright  (C) 2008-2013 Remote-Learner.net Inc (http://www.remote-learner.net)
 *
 */
defined('MOODLE_INTERNAL') || die;
require_once dirname(__FILE__) . '/../../../../config.php';
global $CFG;
require_once $CFG->dirroot . '/local/elisprogram/lib/setup.php';
require_once elispm::lib('lib.php');
require_once elispm::file('plugins/enrolrolesync/lib.php');
if ($ADMIN->fulltree) {
    $options = array(0 => get_string('no_default_role', 'local_elisprogram'));
    pm_get_select_roles_for_contexts($options, array(CONTEXT_ELIS_CLASS));
    //setting header
    $settings->add(new admin_setting_heading('elisprogram_enrolrolesync/settings', get_string('enrolment_role_sync_settings', 'elisprogram_enrolrolesync'), ''));
    //student role setting
    $setting = new admin_setting_configselect('elisprogram_enrolrolesync/student_role', get_string('sync_student_role_setting', 'elisprogram_enrolrolesync'), get_string('sync_student_role_help', 'elisprogram_enrolrolesync'), 0, $options);
    $setting->set_updatedcallback('enrolment_role_sync_updatedcallback');
    $settings->add($setting);
    //instructor role setting
    $setting = new admin_setting_configselect('elisprogram_enrolrolesync/instructor_role', get_string('sync_instructor_role_setting', 'elisprogram_enrolrolesync'), get_string('sync_instructor_role_help', 'elisprogram_enrolrolesync'), 0, $options);
    $setting->set_updatedcallback('enrolment_role_sync_updatedcallback');
    $settings->add($setting);
}
Пример #3
0
 $settings->add(new admin_setting_configselect('local_elisprogram/default_cluster_role_id', get_string('cluster_role_setting', 'local_elisprogram'), get_string('cluster_role_help', 'local_elisprogram'), 0, $allroles));
 // Default Curriculum Role
 $allroles = array(0 => get_string('no_default_role', 'local_elisprogram'));
 pm_get_select_roles_for_contexts($allroles, array(CONTEXT_ELIS_PROGRAM));
 $settings->add(new admin_setting_configselect('local_elisprogram/default_curriculum_role_id', get_string('curriculum_role_setting', 'local_elisprogram'), get_string('curriculum_role_help', 'local_elisprogram'), 0, $allroles));
 // Default Course Role
 $allroles = array(0 => get_string('no_default_role', 'local_elisprogram'));
 pm_get_select_roles_for_contexts($allroles, array(CONTEXT_ELIS_COURSE));
 $settings->add(new admin_setting_configselect('local_elisprogram/default_course_role_id', get_string('course_role_setting', 'local_elisprogram'), get_string('course_role_help', 'local_elisprogram'), 0, $allroles));
 // Default Class Role
 $allroles = array(0 => get_string('no_default_role', 'local_elisprogram'));
 pm_get_select_roles_for_contexts($allroles, array(CONTEXT_ELIS_CLASS));
 $settings->add(new admin_setting_configselect('local_elisprogram/default_class_role_id', get_string('class_role_setting', 'local_elisprogram'), get_string('class_role_help', 'local_elisprogram'), 0, $allroles));
 // Default Track Role
 $allroles = array(0 => get_string('no_default_role', 'local_elisprogram'));
 pm_get_select_roles_for_contexts($allroles, array(CONTEXT_ELIS_TRACK));
 $settings->add(new admin_setting_configselect('local_elisprogram/default_track_role_id', get_string('track_role_setting', 'local_elisprogram'), get_string('track_role_help', 'local_elisprogram'), 0, $allroles));
 // ***Auto-create  Settings
 $settings->add(new admin_setting_heading('auto_create_settings', get_string('auto_create_settings', 'local_elisprogram'), ''));
 // Moodle courses with unknown status treated as auto-created
 $settings->add(new admin_setting_configcheckbox('local_elisprogram/autocreated_unknown_is_yes', get_string('auto_create_setting', 'local_elisprogram'), get_string('auto_create_help', 'local_elisprogram'), 1));
 //include settings for all subplugins
 include elispm::file('db/subplugins.php');
 foreach ($subplugins as $subplugintype => $subplugintyperootdir) {
     //get the list of instances of the current subplugin type
     $directories = get_plugin_list($subplugintype);
     //iterate thorugh each instance of this subplugin type
     foreach ($directories as $directory) {
         $settings_path = $directory . '/settings.php';
         if (file_exists($settings_path)) {
             //include the settings file