diff options
Diffstat (limited to 'odd/handler.php')
| -rw-r--r-- | odd/handler.php | 95 |
1 files changed, 0 insertions, 95 deletions
diff --git a/odd/handler.php b/odd/handler.php deleted file mode 100644 index 187addb13..000000000 --- a/odd/handler.php +++ /dev/null @@ -1,95 +0,0 @@ -<?php - /** - * Open Document Definition Handler. - * This file acts as the endpoint for ODD UUID url requests, exporting the requested data as an - * ODD XML file. - * - * @package Elgg - * @subpackage ODD - * @license http://www.gnu.org/licenses/old-licenses/gpl-2.0.html GNU Public License version 2 - * @author Marcus Povey <marcus@dushka.co.uk> - * @copyright Curverider Ltd 2008 - * @link http://elgg.org/ - */ - - require_once("../engine/start.php"); - - // Get input values, these will be mapped via modrewrite - $guid = get_input("guid"); // guid of the entity - - // For attributes eg http://example.com/odd/73/attr/owner_uuid/ or http://example.com/odd/73/metadata/86/ - $type = get_input("type"); // attr, metadata, annotation - $id_or_name = get_input("idname"); // Either a number or the key name (if attribute) - - $owner = page_owner(); // Obvious - - if ( - ($guid!="") && - ($type=="") && - ($id_or_name=="") - ) - { - // Only export the GUID, easy. - $export = export($guid); - - header("Content-Type: text/xml"); - echo $export; - } - else if ( - ($guid!="") && - ($type!="") && - ($id_or_name!="") - ) - { - // Outputting an individual attribute - - - $odd = ""; - $entity = get_entity($guid); - $uuid = guid_to_uuid($entity->getGUID()); - - if (!$entity) throw new InvalidParameterException("Could not find an entity matching query."); - - switch ($type) - { - case 'attr' : // TODO: Do this better - $odd = new ODDMetaData($uuid . "attr/$id_or_name/", $uuid, $id_or_name, $entity->get($id_or_name)); - break; - - case 'metadata' : - $m = get_metadata($id_or_name); - if (!$m) - throw new InvalidParameterException("Could not find specified item of metadata"); - - if ($m->entity_guid!=$entity->guid) - throw new InvalidParameterException("Does not belong to entity."); - - $odd = new ODDMetaData($uuid . "metadata/$id_or_name/", $uuid, $id_or_name, $m->value); - break; - - case 'annotation' : - $m = get_annotation($id_or_name); - if (!$m) - throw new InvalidParameterException("Could not find specified annotation"); - - if ($m->entity_guid!=$entity->guid) - throw new InvalidParameterException("Does not belong to entity."); - - $odd = new ODDMetaData($uuid . "annotation/$id_or_name/", $uuid, $id_or_name, $m->value); - break; - - default : - throw new InvalidParameterException("Sorry, I don't know how to export '$type'"); - - } - - // echo it - header("Content-Type: text/xml"); - echo "<odd>\n"; - echo new ODDHeader(); - echo "$odd"; - echo "</odd>\n"; - } - else - throw new InvalidParameterException("Missing parmeter, you need to provide a GUID "); -?>
\ No newline at end of file |
