ILIAS  release_8 Revision v8.19
All Data Structures Namespaces Files Functions Variables Modules Pages
ilLearningSequenceXMLParser Class Reference
+ Inheritance diagram for ilLearningSequenceXMLParser:
+ Collaboration diagram for ilLearningSequenceXMLParser:

Public Member Functions

 __construct (ilObjLearningSequence $obj, string $xml)
 
 start ()
 
 setHandlers ($a_xml_parser)
 
 handleBeginTag ( $parser, string $name, array $attributes)
 
 handleEndTag ($parser, string $name)
 
 handleCharacterData ($parser, $data)
 
- Public Member Functions inherited from ilSaxParser
 __construct (?string $path_to_file='', ?bool $throw_exception=false)
 
 setXMLContent (string $a_xml_content)
 
 getXMLContent ()
 
 getInputType ()
 
 startParsing ()
 stores xml data in array More...
 
 createParser ()
 
 setHandlers ($a_xml_parser)
 
 parse ($a_xml_parser, $a_fp=null)
 

Protected Member Functions

 beginStoreCData ()
 
 endStoreCData ()
 
 storeData ()
 
- Protected Member Functions inherited from ilSaxParser
 openXMLFile ()
 
 handleError (string $message)
 
 setThrowException (bool $throw_exception)
 

Protected Attributes

ilObjLearningSequence $obj
 
bool $storing = false
 
array $object = []
 
array $ls_item_data = []
 
array $settings = []
 
array $lp_settings = []
 
int $counter = 0
 
string $actual_name
 
string $cdata = ''
 
- Protected Attributes inherited from ilSaxParser
ilLanguage $lng = null
 

Additional Inherited Members

- Data Fields inherited from ilSaxParser
string $xml_file
 
bool $throw_exception = false
 

Detailed Description

Definition at line 21 of file class.ilLearningSequenceXMLParser.php.

Constructor & Destructor Documentation

◆ __construct()

ilLearningSequenceXMLParser::__construct ( ilObjLearningSequence  $obj,
string  $xml 
)

Definition at line 46 of file class.ilLearningSequenceXMLParser.php.

References $obj, ILIAS\GlobalScreen\Provider\__construct(), and ilSaxParser\setXMLContent().

47  {
49 
50  $this->obj = $obj;
51  $this->setXMLContent($xml);
52  $this->lp_settings["lp_item_ref_ids"] = [];
53  }
$xml
Definition: metadata.php:351
__construct(Container $dic, ilPlugin $plugin)
setXMLContent(string $a_xml_content)
+ Here is the call graph for this function:

Member Function Documentation

◆ beginStoreCData()

ilLearningSequenceXMLParser::beginStoreCData ( )
protected

Definition at line 158 of file class.ilLearningSequenceXMLParser.php.

Referenced by handleBeginTag().

158  : void
159  {
160  $this->storing = true;
161  }
+ Here is the caller graph for this function:

◆ endStoreCData()

ilLearningSequenceXMLParser::endStoreCData ( )
protected

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

Referenced by handleEndTag().

163  : void
164  {
165  $this->storing = false;
166  }
+ Here is the caller graph for this function:

◆ handleBeginTag()

ilLearningSequenceXMLParser::handleBeginTag (   $parser,
string  $name,
array  $attributes 
)

Definition at line 78 of file class.ilLearningSequenceXMLParser.php.

References $counter, $name, and beginStoreCData().

82  : void {
83  $this->actual_name = $name;
84 
85  switch ($name) {
86  case "lso":
87  $this->object["ref_id"] = $attributes["ref_id"];
88  break;
89  case "ls_item":
90  $this->ls_item_data[$this->counter]["id"] = $attributes["id"];
91  $this->beginStoreCData();
92  break;
93  default:
94  break;
95  }
96  }
$attributes
Definition: metadata.php:248
if($format !==null) $name
Definition: metadata.php:247
+ Here is the call graph for this function:

◆ handleCharacterData()

ilLearningSequenceXMLParser::handleCharacterData (   $parser,
  $data 
)

Definition at line 152 of file class.ilLearningSequenceXMLParser.php.

References $data, and storeData().

152  : void
153  {
154  $this->cdata .= ($data ?? "");
155  $this->storeData();
156  }
+ Here is the call graph for this function:

◆ handleEndTag()

ilLearningSequenceXMLParser::handleEndTag (   $parser,
string  $name 
)

Definition at line 98 of file class.ilLearningSequenceXMLParser.php.

References endStoreCData(), and ILIAS\Repository\settings().

98  : void
99  {
100  $this->cdata = trim($this->cdata);
101 
102  switch ($name) {
103  case "title":
104  $this->obj->setTitle(trim($this->cdata));
105  break;
106  case "description":
107  $this->obj->setDescription(trim($this->cdata));
108  break;
109  case "ls_item":
110  $this->endStoreCData();
111  break;
112  case "ls_item_order_number":
113  $this->counter++;
114  break;
115  case "abstract":
116  $this->settings["abstract"] = base64_decode(trim($this->cdata));
117  break;
118  case "extro":
119  $this->settings["extro"] = base64_decode(trim($this->cdata));
120  break;
121  case "abstract_img":
122  $this->settings["abstract_img"] = trim($this->cdata);
123  break;
124  case "extro_img":
125  $this->settings["extro_img"] = trim($this->cdata);
126  break;
127  case "abstract_img_data":
128  $this->settings["abstract_img_data"] = trim($this->cdata);
129  break;
130  case "extro_img_data":
131  $this->settings["extro_img_data"] = trim($this->cdata);
132  break;
133  case "members_gallery":
134  $this->settings["members_gallery"] = trim($this->cdata);
135  break;
136  case "lp_item_ref_id":
137  $this->lp_settings["lp_item_ref_ids"][] = trim($this->cdata);
138  break;
139  case "lp_type":
140  $this->lp_settings["lp_type"] = trim($this->cdata);
141  break;
142  case "lp_mode":
143  $this->lp_settings["lp_mode"] = trim($this->cdata);
144  break;
145  default:
146  break;
147  }
148 
149  $this->cdata = '';
150  }
if($format !==null) $name
Definition: metadata.php:247
+ Here is the call graph for this function:

◆ setHandlers()

ilLearningSequenceXMLParser::setHandlers (   $a_xml_parser)

Definition at line 71 of file class.ilLearningSequenceXMLParser.php.

71  : void
72  {
73  xml_set_object($a_xml_parser, $this);
74  xml_set_element_handler($a_xml_parser, "handleBeginTag", "handleEndTag");
75  xml_set_character_data_handler($a_xml_parser, 'handleCharacterData');
76  }

◆ start()

ilLearningSequenceXMLParser::start ( )
Returns
array<string, mixed>

Definition at line 58 of file class.ilLearningSequenceXMLParser.php.

References $lp_settings, $ls_item_data, $object, $settings, and ilSaxParser\startParsing().

58  : array
59  {
60  $this->startParsing();
61 
62  $ret = array();
63  $ret["object"] = $this->object;
64  $ret["item_data"] = $this->ls_item_data;
65  $ret["settings"] = $this->settings;
66  $ret["lp_settings"] = $this->lp_settings;
67 
68  return $ret;
69  }
startParsing()
stores xml data in array
+ Here is the call graph for this function:

◆ storeData()

ilLearningSequenceXMLParser::storeData ( )
protected

Definition at line 168 of file class.ilLearningSequenceXMLParser.php.

References $actual_name, $cdata, and $counter.

Referenced by handleCharacterData().

+ Here is the caller graph for this function:

Field Documentation

◆ $actual_name

string ilLearningSequenceXMLParser::$actual_name
protected

Definition at line 43 of file class.ilLearningSequenceXMLParser.php.

Referenced by storeData().

◆ $cdata

string ilLearningSequenceXMLParser::$cdata = ''
protected

Definition at line 44 of file class.ilLearningSequenceXMLParser.php.

Referenced by storeData().

◆ $counter

int ilLearningSequenceXMLParser::$counter = 0
protected

Definition at line 42 of file class.ilLearningSequenceXMLParser.php.

Referenced by handleBeginTag(), and storeData().

◆ $lp_settings

array ilLearningSequenceXMLParser::$lp_settings = []
protected

Definition at line 41 of file class.ilLearningSequenceXMLParser.php.

Referenced by start().

◆ $ls_item_data

array ilLearningSequenceXMLParser::$ls_item_data = []
protected

Definition at line 34 of file class.ilLearningSequenceXMLParser.php.

Referenced by start().

◆ $obj

ilObjLearningSequence ilLearningSequenceXMLParser::$obj
protected

Definition at line 23 of file class.ilLearningSequenceXMLParser.php.

Referenced by __construct().

◆ $object

array ilLearningSequenceXMLParser::$object = []
protected

Definition at line 29 of file class.ilLearningSequenceXMLParser.php.

Referenced by start().

◆ $settings

array ilLearningSequenceXMLParser::$settings = []
protected

Definition at line 39 of file class.ilLearningSequenceXMLParser.php.

Referenced by start().

◆ $storing

bool ilLearningSequenceXMLParser::$storing = false
protected

Definition at line 24 of file class.ilLearningSequenceXMLParser.php.


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