ILIAS  Release_3_10_x_branch Revision 61812
 All Data Structures Namespaces Files Functions Variables Groups Pages
ilCopyWizardSettingsXMLParser Class Reference
+ Inheritance diagram for ilCopyWizardSettingsXMLParser:
+ Collaboration diagram for ilCopyWizardSettingsXMLParser:

Public Member Functions

 ilCopyWizardSettingsXMLParser ($xml)
 constructor
 setHandlers ($a_xml_parser)
 set event handlers
 handlerBeginTag ($a_xml_parser, $a_name, $a_attribs)
 handler for begin of element
 getOptions ()
 read access to options array
 getSourceId ()
 read access to source id
 getTargetId ()
 read access to target id
 handlerEndTag ($a_xml_parser, $a_name)
 handlerCharacterData ($a_xml_parser, $a_data)
 handler for character data
- Public Member Functions inherited from ilSaxParser
 ilSaxParser ($a_xml_file= '', $throwException=false)
 Constructor setup ILIAS global object public.
 setXMLContent ($a_xml_content)
 getXMLContent ()
 getInputType ()
 startParsing ()
 stores xml data in array
 createParser ()
 create parser
 setOptions ($a_xml_parser)
 set parser options
 openXMLFile ()
 open xml file
 parse ($a_xml_parser, $a_fp=null)
 parse xml file
 freeParser ($a_xml_parser)
 free xml parser handle
 setThrowException ($throwException)
 set error handling

Static Private Member Functions

static getActionForString ($s)

Private Attributes

 $options
 $source_id
 $target_id
 $default_action

Additional Inherited Members

- Data Fields inherited from ilSaxParser
 $input_type = null
 $xml_content = ''
 $ilias
 $lng
 $xml_file
 $throwException = false
- Protected Member Functions inherited from ilSaxParser
 handleError ($message, $code)
 use given error handler to handle error message or internal ilias error message handle

Detailed Description

Definition at line 13 of file class.ilCopyWizardSettingsXMLParser.php.

Member Function Documentation

static ilCopyWizardSettingsXMLParser::getActionForString (   $s)
staticprivate
ilCopyWizardSettingsXMLParser::getOptions ( )

read access to options array

Returns
array key is reference id, value is assoc. array with type and action

Definition at line 123 of file class.ilCopyWizardSettingsXMLParser.php.

{
return is_array($this->options) ? $this->options : array();
}
ilCopyWizardSettingsXMLParser::getSourceId ( )

read access to source id

Returns
int

Definition at line 132 of file class.ilCopyWizardSettingsXMLParser.php.

References $source_id.

{
}
ilCopyWizardSettingsXMLParser::getTargetId ( )

read access to target id

Returns
int

Definition at line 141 of file class.ilCopyWizardSettingsXMLParser.php.

References $target_id.

{
}
ilCopyWizardSettingsXMLParser::handlerBeginTag (   $a_xml_parser,
  $a_name,
  $a_attribs 
)

handler for begin of element

Parameters
resource$a_xml_parserxml parser
string$a_nameelement name
array$a_attribselement attributes array

Definition at line 54 of file class.ilCopyWizardSettingsXMLParser.php.

References ilObject\_isInTrash(), ilCopyWizardOptions\COPY_WIZARD_COPY, ilCopyWizardOptions\COPY_WIZARD_LINK, getActionForString(), and ilObjectFactory\getTypeByRefId().

{
global $objDefinition, $ilAccess, $tree;
switch($a_name)
{
case 'Settings':
$this->options = array();
$this->source_id = (int) $a_attribs["source_id"];
if(ilObject::_isInTrash($this->source_id))
{
throw new ilSaxParserException("Source id ".$this->source_id." is in trash");
}
$this->target_id = (int) $a_attribs["target_id"];
if(ilObject::_isInTrash($this->target_id))
{
throw new ilSaxParserException("target id".$this->target_id." is in trash");
}
$this->default_action = ilCopyWizardSettingsXMLParser::getActionForString($a_attribs["default_action"]);
break;
case 'Option':
$id = (int) $a_attribs["id"];
{
throw new ilSaxParserException("Id $id is in trash");
}
if(!$tree->isInTree($id))
{
throw new ilSaxParserException("Id $id does not exist");
}
$action = ilCopyWizardSettingsXMLParser::getActionForString($a_attribs["action"]);
switch ($action) {
$perm_copy = $ilAccess->checkAccess('copy','',$id);
$copy = $objDefinition->allowCopy($type);
if ($perm_copy && $copy)
$this->options [$id] = array("type" => $action);
elseif ($copy && !$perm_copy)
throw new ilSaxParserException("Missing copy permission for object ".$id);
elseif (!$copy)
throw new ilSaxParserException("Copy for object ".$id." of type ".$type." is not supported");
break;
case ilCopyWizardOptions::COPY_WIZARD_LINK:
$perm_link = $ilAccess->checkAccess('write','',$id);
$link = $objDefinition->allowLink($type);
if ($perm_link && $link)
$this->options [$id] = array("type" => $action);
elseif ($copy && !$perm_link)
throw new ilSaxParserException("Missing write permission for object ".$id);
elseif (!$link)
throw new ilSaxParserException("Link for object ".$id." of type ".$type." is not supported");
break;
}
}
}

+ Here is the call graph for this function:

ilCopyWizardSettingsXMLParser::handlerCharacterData (   $a_xml_parser,
  $a_data 
)

handler for character data

Parameters
resource$a_xml_parserxml parser
string$a_datacharacter data

Definition at line 163 of file class.ilCopyWizardSettingsXMLParser.php.

{
}
ilCopyWizardSettingsXMLParser::handlerEndTag (   $a_xml_parser,
  $a_name 
)

Definition at line 153 of file class.ilCopyWizardSettingsXMLParser.php.

{
}
ilCopyWizardSettingsXMLParser::ilCopyWizardSettingsXMLParser (   $xml)

constructor

Parameters
stringxml version
stringoutput encoding
stringinput encoding public

Definition at line 28 of file class.ilCopyWizardSettingsXMLParser.php.

References ilSaxParser\ilSaxParser(), and ilSaxParser\setXMLContent().

{
$this->setXMLContent($xml);
}

+ Here is the call graph for this function:

ilCopyWizardSettingsXMLParser::setHandlers (   $a_xml_parser)

set event handlers

Parameters
resourcereference to the xml parser private

Reimplemented from ilSaxParser.

Definition at line 40 of file class.ilCopyWizardSettingsXMLParser.php.

{
xml_set_object($a_xml_parser,$this);
xml_set_element_handler($a_xml_parser,'handlerBeginTag','handlerEndTag');
xml_set_character_data_handler($a_xml_parser,'handlerCharacterData');
}

Field Documentation

ilCopyWizardSettingsXMLParser::$default_action
private

Definition at line 19 of file class.ilCopyWizardSettingsXMLParser.php.

ilCopyWizardSettingsXMLParser::$options
private

Definition at line 16 of file class.ilCopyWizardSettingsXMLParser.php.

ilCopyWizardSettingsXMLParser::$source_id
private

Definition at line 17 of file class.ilCopyWizardSettingsXMLParser.php.

Referenced by getSourceId().

ilCopyWizardSettingsXMLParser::$target_id
private

Definition at line 18 of file class.ilCopyWizardSettingsXMLParser.php.

Referenced by getTargetId().


The documentation for this class was generated from the following file: