Moodle  2.2.1
http://www.collinsharper.com
C:/xampp/htdocs/moodle/admin/webservice/service_users.php
Go to the documentation of this file.
00001 <?php
00002 
00003 // This file is part of Moodle - http://moodle.org/
00004 //
00005 // Moodle is free software: you can redistribute it and/or modify
00006 // it under the terms of the GNU General Public License as published by
00007 // the Free Software Foundation, either version 3 of the License, or
00008 // (at your option) any later version.
00009 //
00010 // Moodle is distributed in the hope that it will be useful,
00011 // but WITHOUT ANY WARRANTY; without even the implied warranty of
00012 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00013 // GNU General Public License for more details.
00014 //
00015 // You should have received a copy of the GNU General Public License
00016 // along with Moodle.  If not, see <http://www.gnu.org/licenses/>.
00017 
00025 require_once('../../config.php');
00026 require_once($CFG->libdir . '/adminlib.php');
00027 require_once($CFG->dirroot . '/' . $CFG->admin . '/webservice/lib.php');
00028 require_once($CFG->dirroot . '/webservice/lib.php');
00029 
00030 $id = required_param('id', PARAM_INT);
00031 
00032 admin_externalpage_setup('externalserviceusers');
00033 
00034 //define nav bar
00035 $PAGE->set_url('/' . $CFG->admin . '/webservice/service_users.php', array('id' => $id));
00036 $node = $PAGE->settingsnav->find('externalservices', navigation_node::TYPE_SETTING);
00037 if ($node) {
00038     $node->make_active();
00039 }
00040 $PAGE->navbar->add(get_string('serviceusers', 'webservice'),
00041         new moodle_url('/' . $CFG->admin . '/webservice/service_users.php', array('id' => $id)));
00042 
00043 $webservicemanager = new webservice();
00044 
00046 $potentialuserselector = new service_user_selector('addselect',
00047                 array('serviceid' => $id, 'displayallowedusers' => 0));
00048 $alloweduserselector = new service_user_selector('removeselect',
00049                 array('serviceid' => $id, 'displayallowedusers' => 1));
00050 
00052 if (optional_param('add', false, PARAM_BOOL) && confirm_sesskey()) {
00053     $userstoassign = $potentialuserselector->get_selected_users();
00054     if (!empty($userstoassign)) {
00055         foreach ($userstoassign as $adduser) {
00056             $serviceuser = new stdClass();
00057             $serviceuser->externalserviceid = $id;
00058             $serviceuser->userid = $adduser->id;
00059             $webservicemanager->add_ws_authorised_user($serviceuser);
00060             add_to_log(SITEID, 'core', 'assign', $CFG->admin . '/webservice/service_users.php?id='
00061                     . $id, 'add', '', $adduser->id);
00062         }
00063         $potentialuserselector->invalidate_selected_users();
00064         $alloweduserselector->invalidate_selected_users();
00065     }
00066 }
00067 
00069 if (optional_param('remove', false, PARAM_BOOL) && confirm_sesskey()) {
00070     $userstoremove = $alloweduserselector->get_selected_users();
00071     if (!empty($userstoremove)) {
00072         foreach ($userstoremove as $removeuser) {
00073             $webservicemanager->remove_ws_authorised_user($removeuser, $id);
00074             add_to_log(SITEID, 'core', 'assign', $CFG->admin . '/webservice/service_users.php?id='
00075                     . $id, 'remove', '', $removeuser->id);
00076         }
00077         $potentialuserselector->invalidate_selected_users();
00078         $alloweduserselector->invalidate_selected_users();
00079     }
00080 }
00083 $renderer = $PAGE->get_renderer('core', 'webservice');
00084 
00085 echo $OUTPUT->header();
00086 
00087 echo $OUTPUT->heading(get_string('selectauthorisedusers', 'webservice'), 3, 'main');
00088 $selectoroptions = new stdClass();
00089 $selectoroptions->serviceid = $id;
00090 $selectoroptions->alloweduserselector = $alloweduserselector;
00091 $selectoroptions->potentialuserselector = $potentialuserselector;
00092 echo $renderer->admin_authorised_user_selector($selectoroptions);
00093 
00095 $allowedusers = $webservicemanager->get_ws_authorised_users($id);
00096 $usersmissingcaps = $webservicemanager->get_missing_capabilities_by_users($allowedusers, $id);
00097 
00098 //add the missing capabilities to the allowed users object to be displayed by renderer
00099 foreach ($allowedusers as &$alloweduser) {
00100     if (!is_siteadmin($alloweduser->id) and key_exists($alloweduser->id, $usersmissingcaps)) {
00101         $alloweduser->missingcapabilities = implode(', ', $usersmissingcaps[$alloweduser->id]);
00102     }
00103 }
00104 
00106 //check that the user has the service required capability (if needed)
00107 if (!empty($allowedusers)) {
00108     $renderer = $PAGE->get_renderer('core', 'webservice');
00109     echo $OUTPUT->heading(get_string('serviceuserssettings', 'webservice'), 3, 'main');
00110     echo $renderer->admin_authorised_user_list($allowedusers, $id);
00111 }
00112 
00113 echo $OUTPUT->footer();
 All Data Structures Namespaces Files Functions Variables Enumerations