. /** * External Web Service Template * * @package localws_evl * @copyright 2011 Moodle Pty Ltd (http://moodle.com) * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later */ require_once($CFG->libdir . "/externallib.php"); class local_ws_evl_external extends external_api { /** * Returns description of method parameters * @return external_function_parameters */ public static function hello_world_parameters() { return new external_function_parameters( array('welcomemessage' => new external_value(PARAM_TEXT, 'The welcome message. By default it is "Hello world,"', VALUE_DEFAULT, 'Hello world, ')) ); } /** * Returns welcome message * @return string welcome message */ public static function hello_world($welcomemessage = 'Hello world, ') { global $USER; //Parameter validation //REQUIRED $params = self::validate_parameters(self::hello_world_parameters(), array('welcomemessage' => $welcomemessage)); //Context validation //OPTIONAL but in most web service it should present $context = get_context_instance(CONTEXT_USER, $USER->id); self::validate_context($context); //Capability checking //OPTIONAL but in most web service it should present if (!has_capability('moodle/user:viewdetails', $context)) { throw new moodle_exception('cannotviewprofile'); } return $params['welcomemessage'] . $USER->firstname ;; } /** * Returns description of method result value * @return external_description */ public static function hello_world_returns() { return new external_value(PARAM_TEXT, 'The welcome message + user first name'); } public static function get_usage_statistics($whatever='qq coisa') { global $USER; return '{"cursos": "10", "alunos":"20", "certificados":"12"}'; } public static function get_usage_statistics_parameters() { return new external_function_parameters( array('welcomemessage' => new external_value(PARAM_TEXT, 'The welcome message. By default it is "Hello world,"', VALUE_DEFAULT, 'Hello world, ')) ); } public static function get_usage_statistics_returns() { return new external_value(PARAM_TEXT, 'The welcome message + user first name'); } }