XML writer class. More...
Inheritance diagram for ilObjectXMLWriter:
Collaboration diagram for ilObjectXMLWriter:Public Member Functions | |
| ilObjectXMLWriter () | |
| constructor | |
| setUserId ($a_id) | |
| getUserId () | |
| enableOperations ($a_status) | |
| enabledOperations () | |
| setObjects ($objects) | |
| __getObjects () | |
| start () | |
| getXML () | |
| __appendObject (&$object) | |
| __appendOperations ($a_ref_id, $a_type) | |
| __buildHeader () | |
| __buildFooter () | |
| __getAccessInfo (&$object, $ref_id) | |
Data Fields | |
| $ilias | |
| $xml | |
| $enable_operations = false | |
| $objects = array() | |
| $user_id = 0 | |
XML writer class.
Class to simplify manual writing of xml documents. It only supports writing xml sequentially, because the xml document is saved in a string with no additional structure information. The author is responsible for well-formedness and validity of the xml document.
Definition at line 40 of file class.ilObjectXMLWriter.php.
| ilObjectXMLWriter::__appendObject | ( | &$ | object | ) |
Definition at line 122 of file class.ilObjectXMLWriter.php.
References $ref_id, __appendOperations(), __getAccessInfo(), ilObject::_getAllReferences(), ilXmlWriter::xmlElement(), ilXmlWriter::xmlEndTag(), and ilXmlWriter::xmlStartTag().
Referenced by start().
{
global $tree, $rbacreview;
$id = $object->getId();
if ($object->getType() == "role" && $rbacreview->isRoleDeleted($id))
{
return;
}
$attrs = array('type' => $object->getType(),
'obj_id' => $id);
$this->xmlStartTag('Object',$attrs);
$this->xmlElement('Title',null,$object->getTitle());
$this->xmlElement('Description',null,$object->getDescription());
$this->xmlElement('Owner',null,$object->getOwner());
$this->xmlElement('CreateDate',null,$object->getCreateDate());
$this->xmlElement('LastUpdate',null,$object->getLastUpdateDate());
$this->xmlElement('ImportId',null,$object->getImportId());
foreach(ilObject::_getAllReferences($object->getId()) as $ref_id)
{
if (!$tree->isInTree($ref_id))
continue;
$attr = array('ref_id' => $ref_id, 'parent_id'=> $tree->getParentId(intval($ref_id)));
$attr['accessInfo'] = $this->__getAccessInfo($object,$ref_id);
$this->xmlStartTag('References',$attr);
$this->__appendOperations($ref_id,$object->getType());
$this->xmlEndTag('References');
}
$this->xmlEndTag('Object');
}
Here is the call graph for this function:
Here is the caller graph for this function:| ilObjectXMLWriter::__appendOperations | ( | $ | a_ref_id, | |
| $ | a_type | |||
| ) |
Definition at line 158 of file class.ilObjectXMLWriter.php.
References enabledOperations(), and ilXmlWriter::xmlElement().
Referenced by __appendObject().
{
global $ilAccess,$rbacreview;
if($this->enabledOperations())
{
$ops = $rbacreview->getOperationsOnTypeString($a_type);
if (is_array($ops))
{
foreach($ops as $ops_id)
{
$operation = $rbacreview->getOperation($ops_id);
if(count ($operation) && $ilAccess->checkAccessOfUser($this->getUserId(),$operation['operation'],'view',$a_ref_id))
{
$this->xmlElement('Operation',null,$operation['operation']);
}
}
}
}
return true;
}
Here is the call graph for this function:
Here is the caller graph for this function:| ilObjectXMLWriter::__buildFooter | ( | ) |
Definition at line 191 of file class.ilObjectXMLWriter.php.
References ilXmlWriter::xmlEndTag().
Referenced by start().
{
$this->xmlEndTag('Objects');
}
Here is the call graph for this function:
Here is the caller graph for this function:| ilObjectXMLWriter::__buildHeader | ( | ) |
Definition at line 182 of file class.ilObjectXMLWriter.php.
References ilXmlWriter::xmlHeader(), ilXmlWriter::xmlSetDtdDef(), ilXmlWriter::xmlSetGenCmt(), and ilXmlWriter::xmlStartTag().
Referenced by start().
{
$this->xmlSetDtdDef("<!DOCTYPE Objects PUBLIC \"-//ILIAS//DTD ILIAS Repositoryobjects//EN\" \"".ILIAS_HTTP_PATH."/xml/ilias_object_3_7.dtd\">");
$this->xmlSetGenCmt("Export of ILIAS objects");
$this->xmlHeader();
$this->xmlStartTag("Objects");
return true;
}
Here is the call graph for this function:
Here is the caller graph for this function:| ilObjectXMLWriter::__getAccessInfo | ( | &$ | object, | |
| $ | ref_id | |||
| ) |
Definition at line 196 of file class.ilObjectXMLWriter.php.
References $ref_id, and getUserId().
Referenced by __appendObject().
{
global $ilAccess;
include_once 'Services/AccessControl/classes/class.ilAccessHandler.php';
$ilAccess->checkAccessOfUser($this->getUserId(),'read','view',$ref_id,$object->getType(),$object->getId());
if(!$info = $ilAccess->getInfo())
{
return 'granted';
}
else
{
return $info[0]['type'];
}
}
Here is the call graph for this function:
Here is the caller graph for this function:| ilObjectXMLWriter::__getObjects | ( | ) |
Definition at line 92 of file class.ilObjectXMLWriter.php.
Referenced by start().
{
return $this->objects ? $this->objects : array();
}
Here is the caller graph for this function:| ilObjectXMLWriter::enabledOperations | ( | ) |
Definition at line 82 of file class.ilObjectXMLWriter.php.
Referenced by __appendOperations().
{
return $this->enable_operations;
}
Here is the caller graph for this function:| ilObjectXMLWriter::enableOperations | ( | $ | a_status | ) |
Definition at line 75 of file class.ilObjectXMLWriter.php.
{
$this->enable_operations = $a_status;
return true;
}
| ilObjectXMLWriter::getUserId | ( | ) |
Definition at line 70 of file class.ilObjectXMLWriter.php.
Referenced by __getAccessInfo().
{
return $this->user_id;
}
Here is the caller graph for this function:| ilObjectXMLWriter::getXML | ( | ) |
Definition at line 115 of file class.ilObjectXMLWriter.php.
References ilXmlWriter::xmlDumpMem().
{
return $this->xmlDumpMem(FALSE);
}
Here is the call graph for this function:| ilObjectXMLWriter::ilObjectXMLWriter | ( | ) |
constructor
| string | xml version | |
| string | output encoding | |
| string | input encoding public |
Definition at line 56 of file class.ilObjectXMLWriter.php.
References $ilias, and ilXmlWriter::ilXmlWriter().
{
global $ilias,$ilUser;
parent::ilXmlWriter();
$this->ilias =& $ilias;
$this->user_id = $ilUser->getId();
}
Here is the call graph for this function:| ilObjectXMLWriter::setObjects | ( | $ | objects | ) |
Definition at line 87 of file class.ilObjectXMLWriter.php.
References $objects.
{
$this->objects = $objects;
}
| ilObjectXMLWriter::setUserId | ( | $ | a_id | ) |
Definition at line 66 of file class.ilObjectXMLWriter.php.
{
$this->user_id = $a_id;
}
| ilObjectXMLWriter::start | ( | ) |
Definition at line 97 of file class.ilObjectXMLWriter.php.
References __appendObject(), __buildFooter(), __buildHeader(), and __getObjects().
{
/*if(!count($objects = $this->__getObjects()))
{
return false;
}*/
$this->__buildHeader();
foreach($this->__getObjects() as $object)
{
$this->__appendObject($object);
}
$this->__buildFooter();
return true;
}
Here is the call graph for this function:| ilObjectXMLWriter::$enable_operations = false |
Definition at line 45 of file class.ilObjectXMLWriter.php.
| ilObjectXMLWriter::$ilias |
Definition at line 42 of file class.ilObjectXMLWriter.php.
Referenced by ilObjectXMLWriter().
| ilObjectXMLWriter::$objects = array() |
Definition at line 46 of file class.ilObjectXMLWriter.php.
Referenced by setObjects().
| ilObjectXMLWriter::$user_id = 0 |
Definition at line 47 of file class.ilObjectXMLWriter.php.
| ilObjectXMLWriter::$xml |
Definition at line 44 of file class.ilObjectXMLWriter.php.
1.7.1