Example #1
0
 /**
  * Authenticate user from the received hub token
  * If no token, so we use the "public" hub community token from the system (create one if don't exist)
  */
 protected function authenticate_user()
 {
     global $DB;
     //retrieve hub privacy
     $privacy = get_config('local_hub', 'privacy');
     // hub server public access (search, rate, comment, import)
     if ($this->token == 'publichub' and $privacy != HUBPRIVATE) {
         $hub = new local_hub();
         $publiccommunication = $hub->get_communication(WSSERVER, PUBLICSITE);
         if (empty($publiccommunication)) {
             $capabilities = array('local/hub:view');
             $token = $hub->create_hub_token('Public Hub User', 'Public site', 'public_hub_user', $capabilities);
             $publiccommunication = new stdClass();
             $publiccommunication->token = $token->token;
             $publiccommunication->type = WSSERVER;
             $publiccommunication->remotename = '';
             $publiccommunication->remoteentity = PUBLICSITE;
             $publiccommunication->confirmed = 1;
             $publiccommunication->id = $hub->add_communication($publiccommunication);
         }
         $this->token = $publiccommunication->token;
     }
     parent::authenticate_user();
 }
Example #2
0
//
// Moodle is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// Moodle is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with Moodle.  If not, see <http://www.gnu.org/licenses/>.
/**
 * XML-RPC web service entry point. The authentication is done via tokens.
 *
 * @package   webservice
 * @copyright 2009 Moodle Pty Ltd (http://moodle.com)
 * @license   http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
 */
// disable moodle specific debug messages and any errors in output
define('NO_DEBUG_DISPLAY', true);
define('NO_MOODLE_COOKIES', true);
require '../../config.php';
require_once "{$CFG->dirroot}/webservice/xmlrpc/locallib.php";
if (!webservice_protocol_is_enabled('xmlrpc')) {
    die;
}
$server = new webservice_xmlrpc_server(WEBSERVICE_AUTHMETHOD_PERMANENT_TOKEN);
$server->run();
die;