Go to the documentation of this file.00001 <?php
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00034 include_once './webservice/soap/classes/class.ilSoapAdministration.php';
00035
00036 class ilSOAPStructureObjectAdministration extends ilSoapAdministration
00037 {
00038 function ilSOAPStructureObjectAdministration ()
00039 {
00040 parent::ilSoapAdministration();
00041 }
00042
00043
00044 function getStructureObjects ($sid, $ref_id)
00045 {
00046
00047 if(!$this->__checkSession($sid))
00048 {
00049 return $this->__raiseError($this->sauth->getMessage(),$this->sauth->getMessageCode());
00050 }
00051
00052 include_once './include/inc.header.php';
00053
00054 if(!$target_obj =& ilObjectFactory::getInstanceByRefId($ref_id, false))
00055 {
00056 return $this->__raiseError('No valid reference id given.', 'Client');
00057 }
00058
00059 $structureReaderClassname = "ilSoap".strtoupper($target_obj->getType())."StructureReader";
00060 $filename = "./webservice/soap/classes/class.".$structureReaderClassname.".php";
00061
00062 if (!file_exists($filename))
00063 {
00064 return $this->__raiseError("Object type '".$target_obj->getType()."'is not supported.", 'Client');
00065 }
00066
00067 include_once $filename;
00068
00069 $structureReader = new $structureReaderClassname($target_obj);
00070
00071 include_once './webservice/soap/classes/class.ilSoapStructureObjectXMLWriter.php';
00072
00073 $xml_writer = new ilSoapStructureObjectXMLWriter();
00074
00075 $structureObject = & $structureReader->getStructureObject();
00076
00077 $xml_writer->setStructureObject ($structureObject);
00078
00079 if(!$xml_writer->start())
00080 {
00081 return $this->__raiseError('Cannot create object xml !','Server');
00082 }
00083
00084 return $xml_writer->getXML();
00085
00086 }
00087 }
00088
00089 ?>