[moodle] / contrib / patches / dfws / webservice / api.php Repository:

View of /contrib/patches/dfws/webservice/api.php

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.2 - (download) (annotate)
Wed Apr 23 20:26:32 2008 WST (19 months ago) by tusefomal
Branch: MAIN
CVS Tags: HEAD
Changes since 1.1: +1 -1 lines
Some news form this commit:
<?php
/**
 * Created on 05/03/2008
 * 
 * Moodle api layer main import
 *
 * @author Ferran Recio
 * @author David Castro Garcia
 */

if (!isset($CFG->dirroot)) {
	require_once ('../config.php');
}
//require api layer support library
$api_dir = dirname(__FILE__);
require_once ($api_dir.'/lib.php');

if (!isset($_SESSION['API_INFO'])) {
	$_SESSION['API_INFO'] = false;
}
$API_INFO = &$_SESSION['API_INFO'];

if (isset($API_INFO) && $API_INFO) {
	$global_apis = mdl_get_declared_apis ();
	if ($global_apis) {
		foreach ($global_apis as $api) {
			//check if is a special api (mod, block... whatever)
			$func_prefix = 'mdl';
			$apiname = $api;
			$parts = explode('.',$api,2);
			$file_path = '';
			if (count($parts)>1) {
				//check files
				$file_path = $CFG->dirroot.'/'.$parts[0].'/'.$parts[1].'/api.lib.php';
				if (!file_exists($file_path)) {
					$file_path = $api_dir.'/'.$parts[0].'/'.$parts[1].'.lib.php';
				}
				$func_prefix = $parts[0];
				$apiname = $parts[1];
			} else {
				$file_path = $api_dir.'/apis/'.$api.'.lib.php';
			}
			if (file_exists($file_path)) {
				require_once ($file_path);
				//check if api info is loaded
				if (!mdl_is_api_info_loaded ($api)) {
					$info_func = $func_prefix.'_'.$apiname.'_info';
					if (function_exists($info_func)) {
						$api_info = $info_func();
						if (!$api_info || !mdl_add_api_info ($api,$api_info)) die ("ERROR importing $api");
					}
				}
			}
		}
	}
} else {
	//include all global apis units
	$global_apis = mdl_dir_files ($api_dir.'/apis','.lib.php');
	if ($global_apis) {
		foreach ($global_apis as $api) {
			$api_name = substr($api,0,strlen($api)-8);
			if ($api_name == 'config') continue;
			require_once ($api_dir.'/apis/'.$api);
			//get api info
			$info_func = 'mdl_'.$api_name.'_info';
			if (function_exists($info_func)) {
				$api_info = $info_func();
				if (!$api_info || !mdl_add_api_info ($api_name,$api_info)) die ("ERROR importing $api_name");
			}
		}
	}
}

//print_object (mdl_get_global_api());

//print_object (mdl_course_get_course_by_user(4));

//print_object (mdl_course_get_courses());

?>

Moodle CVS Admin
ViewVC Help
Powered by ViewVC 1.0.7