From b1a1879c26728a94e78bd9b2d3c9e691c3b54970 Mon Sep 17 00:00:00 2001 From: jerome Date: Thu, 22 Jan 2009 05:22:57 +0000 Subject: [PATCH] web service MDL-12886 rename lib.php into locallib.php --- webservice/rest/lib.php | 110 ---------------------------------------- 1 file changed, 110 deletions(-) delete mode 100644 webservice/rest/lib.php diff --git a/webservice/rest/lib.php b/webservice/rest/lib.php deleted file mode 100644 index d5848133f4..0000000000 --- a/webservice/rest/lib.php +++ /dev/null @@ -1,110 +0,0 @@ - _mod_forum_) - $classname = substr($classname,1, strlen($classname) - 1); //remove first _ (e.g. _mod_forum => mod_forum) - $classname .= 'external'; - - require_once($CFG->dirroot.$apipath.'external.php'); - $wsapi = new $classname(); - $description = $wsapi->get_function_webservice_description($functionname); //retrieve the web service description for this function - -///This following line is only REST protocol - $params = retrieve_params ($description); //retrieve the REST params - -///Generic part to any protocols - if ($params === false) { - //return an error message, the REST params doesn't match with the web service description - } - $res = call_user_func_array ( $classname.'::'.$functionname, $params); - -///Transform result into xml in order to send the REST response - $return = mdl_conn_rest_object_to_xml ($res,key($description['return'])); - - return "$return"; -} - - -/** - * - * @author Jerome Mouneyrac - * @param $description - * @return - */ -function retrieve_params ($description) { - //retrieve REST param matching the description (warning: PHP assign the first instanciation as the first position in the table) - foreach ($description['wsparams'] as $paramname => $paramtype) { - $value = optional_param($paramname,null,$paramtype); - if (!empty($value)) { - $params[$paramname] = $value; - } - } - - return $params; -} - -/** - * auxiliar function for simplexml_object_to_xml - * @author Ferran Recio, David Castro Garcia - * @param $obj - * @param $tag - * @param $atts assoc array (key => value) - * @return string - */ -function mdl_conn_rest_object_to_xml ($obj, $tag,$atts=false) { - $res = ''; - $tag_atts = ''; - if ($atts) { - $main_atts = array(); - foreach ($atts as $att=>$val) { - $main_atts[] = "$att=\"".urlencode($val)."\""; - } - if (count($main_atts)) $tag_atts = ' '.implode(' ',$main_atts); - } - - //if is an object - if (is_object($obj)) { - $parts = get_object_vars($obj); - foreach ($parts as $tag2 => $val) { - $res.= mdl_conn_rest_object_to_xml ($val, $tag2); - } - return "<$tag$tag_atts>\n$res\n"; - } - //if it's an array all elements will be inside te same tag but with a new atribute key - if (is_array($obj)){ - if (!$atts) $atts = array(); - //we came from another array - if (isset($atts['keys'])) $atts = array(); - foreach ($obj as $key=>$val) { - $array_atts = $atts; - $array_atts['key'] = $key; - $res.= mdl_conn_rest_object_to_xml ($val, $tag,$array_atts); - } - return $res; - } - //any other type, just encapsule it - $obj = htmlentities($obj); - return "<$tag$tag_atts>$obj\n"; - -} - -?> \ No newline at end of file -- 2.39.5