/** * @return string JSON or JavaScript API declaration for the classes on "api_classes" configuration array */ public function get_api() { if (isset($_GET['javascript']) || ExtDirect::$default_api_output == 'javascript') { return ExtDirect::get_api_javascript(); } else { return ExtDirect::get_api_json(); } }
<?php require 'ExtDirect.php'; class Server { public function date($format) { return date($format); } } ExtDirect::provide('Server');
require 'ExtDirect.php'; ExtDirect::$namespace = 'RPC'; ExtDirect::$descriptor = 'RPC.REMOTING_API'; class Actors { public function create($config) { return array("success" => true, "data" => array("name" => "New Actor", "id" => rand(1, 22000))); } public function read($config) { return array("success" => true, "data" => array(array("id" => rand(1, 22000), "name" => "John Travolta"), array("id" => rand(1, 22000), "name" => "Benny Hill"), array("id" => rand(1, 22000), "name" => "Bruce Willis"), array("id" => rand(1, 22000), "name" => "Rowan Atkinson"))); } public function update($config) { return array("success" => true, "data" => $config); } public function destroy($config) { return array("success" => true); } } class Util { public function date($format) { return date($format); } } ExtDirect::provide(array('Actors', 'Util'));
return $json; } public function getTree($node, $ontology) { $filename = getcwd() . "/cache/onto-" . urlencode($ontology->url) . ".json"; if (is_readable($filename)) { return json_decode(file_get_contents($filename)); } $count = new PrefixCounter($ontology->prefix); $graph = new Graphite(); $xml = simplexml_load_file($ontology->url); foreach ($xml->getNamespaces(true) as $prefix => $uri) { $graph->ns($prefix, stripslashes($uri)); } $graph->load($ontology->url); $classes = $graph->allOfType("owl:Class"); $classes = $classes->append($graph->allOfType("rdfs:Class")); $toplevel = $classes->except($classes->all("-rdfs:subClassOf")); $json = array(); foreach ($toplevel as $class) { $uri = $graph->shrinkUri($class); $children = Ontology::getChildren($graph, $class, $count); $count->step(); $json[] = array("id" => $count->value(), "text" => $uri, "iconCls" => "class", "children" => $children, "leaf" => empty($children)); } file_put_contents($filename, json_encode($json)); return $json; } } ExtDirect::provide('Ontology');
<?php //ini_set('display_errors', 1); //error_reporting(E_ALL ^ E_NOTICE); require_once 'ExtDirect.php'; require_once 'Judges.php'; require_once 'Invites.php'; require_once 'Questions.php'; //require_once 'History.php'; require_once 'Settings.php'; require_once 'Students.php'; require_once 'Livestats.php'; require_once 'Email.php'; require_once 'LoginMain.php'; require_once 'PendingGrades.php'; ExtDirect::$allowCors = true; ExtDirect::provide(array('Settings', 'Judges', 'Students', 'Invites', 'Questions', 'Livestats', 'Email', 'LoginMain', 'PendingGrades'));