XOOPS 2.5.6  Final
 All Classes Namespaces Files Functions Variables Pages
themesetparser.php
Go to the documentation of this file.
1 <?php
20 defined('XOOPS_ROOT_PATH') or die('Restricted access');
21 
22 include_once XOOPS_ROOT_PATH . '/class/xml/saxparser.php';
23 include_once XOOPS_ROOT_PATH . '/class/xml/xmltaghandler.php';
24 
26 {
27  var $tempArr = array();
28  var $themeSetData = array();
29  var $imagesData = array();
30  var $templatesData = array();
31 
32  function XoopsThemeSetParser(&$input)
33  {
34  $this->SaxParser($input);
35  $this->addTagHandler(new ThemeSetThemeNameHandler());
36  $this->addTagHandler(new ThemeSetDateCreatedHandler());
37  $this->addTagHandler(new ThemeSetAuthorHandler());
38  $this->addTagHandler(new ThemeSetDescriptionHandler());
39  $this->addTagHandler(new ThemeSetGeneratorHandler());
40  $this->addTagHandler(new ThemeSetNameHandler());
41  $this->addTagHandler(new ThemeSetEmailHandler());
42  $this->addTagHandler(new ThemeSetLinkHandler());
43  $this->addTagHandler(new ThemeSetTemplateHandler());
44  $this->addTagHandler(new ThemeSetImageHandler());
45  $this->addTagHandler(new ThemeSetModuleHandler());
46  $this->addTagHandler(new ThemeSetFileTypeHandler());
47  $this->addTagHandler(new ThemeSetTagHandler());
48  }
49 
50  function setThemeSetData($name, &$value)
51  {
52  $this->themeSetData[$name] = & $value;
53  }
54 
55  function &getThemeSetData($name = null)
56  {
57  if (isset($name)) {
58  if (isset($this->themeSetData[$name])) {
59  return $this->themeSetData[$name];
60  }
61  return false;
62  }
63  return $this->themeSetData;
64  }
65 
66  function setImagesData(&$imagearr)
67  {
68  $this->imagesData[] = & $imagearr;
69  }
70 
71  function &getImagesData()
72  {
73  return $this->imagesData;
74  }
75 
76  function setTemplatesData(&$tplarr)
77  {
78  $this->templatesData[] = & $tplarr;
79  }
80 
81  function &getTemplatesData()
82  {
83  return $this->templatesData;
84  }
85 
86  function setTempArr($name, &$value, $delim = '')
87  {
88  if (! isset($this->tempArr[$name])) {
89  $this->tempArr[$name] = & $value;
90  } else {
91  $this->tempArr[$name] .= $delim . $value;
92  }
93  }
94 
95  function getTempArr()
96  {
97  return $this->tempArr;
98  }
99 
100  function resetTempArr()
101  {
102  unset($this->tempArr);
103  $this->tempArr = array();
104  }
105 }
106 
108 {
109 
111  {
112 
113  }
114 
115  function getName()
116  {
117  return 'dateCreated';
118  }
119 
120  function handleCharacterData(&$parser, &$data)
121  {
122  switch ($parser->getParentTag()) {
123  case 'themeset':
124  $parser->setThemeSetData('date', $data);
125  break;
126  default:
127  break;
128  }
129  }
130 }
131 
133 {
135  {
136 
137  }
138 
139  function getName()
140  {
141  return 'author';
142  }
143 
144  function handleBeginElement(&$parser, &$attributes)
145  {
146  $parser->resetTempArr();
147  }
148 
150  {
151  $parser->setCreditsData($parser->getTempArr());
152  }
153 }
154 
156 {
158  {
159 
160  }
161 
162  function getName()
163  {
164  return 'description';
165  }
166 
167  function handleCharacterData(&$parser, &$data)
168  {
169  switch ($parser->getParentTag()) {
170  case 'template':
171  $parser->setTempArr('description', $data);
172  break;
173  case 'image':
174  $parser->setTempArr('description', $data);
175  break;
176  default:
177  break;
178  }
179  }
180 }
181 
183 {
185  {
186 
187  }
188 
189  function getName()
190  {
191  return 'generator';
192  }
193 
194  function handleCharacterData(&$parser, &$data)
195  {
196  switch ($parser->getParentTag()) {
197  case 'themeset':
198  $parser->setThemeSetData('generator', $data);
199  break;
200  default:
201  break;
202  }
203  }
204 }
205 
207 {
209  {
210 
211  }
212 
213  function getName()
214  {
215  return 'name';
216  }
217 
218  function handleCharacterData(&$parser, &$data)
219  {
220  switch ($parser->getParentTag()) {
221  case 'themeset':
222  $parser->setThemeSetData('name', $data);
223  break;
224  case 'author':
225  $parser->setTempArr('name', $data);
226  break;
227  default:
228  break;
229  }
230  }
231 }
232 
234 {
236  {
237 
238  }
239 
240  function getName()
241  {
242  return 'email';
243  }
244 
245  function handleCharacterData(&$parser, &$data)
246  {
247  switch ($parser->getParentTag()) {
248  case 'author':
249  $parser->setTempArr('email', $data);
250  break;
251  default:
252  break;
253  }
254  }
255 }
256 
258 {
260  {
261 
262  }
263 
264  function getName()
265  {
266  return 'link';
267  }
268 
269  function handleCharacterData(&$parser, &$data)
270  {
271  switch ($parser->getParentTag()) {
272  case 'author':
273  $parser->setTempArr('link', $data);
274  break;
275  default:
276  break;
277  }
278  }
279 }
280 
282 {
284  {
285 
286  }
287 
288  function getName()
289  {
290  return 'template';
291  }
292 
293  function handleBeginElement(&$parser, &$attributes)
294  {
295  $parser->resetTempArr();
296  $parser->setTempArr('name', $attributes['name']);
297  }
298 
300  {
301  $parser->setTemplatesData($parser->getTempArr());
302  }
303 }
304 
306 {
308  {
309 
310  }
311 
312  function getName()
313  {
314  return 'image';
315  }
316 
317  function handleBeginElement(&$parser, &$attributes)
318  {
319  $parser->resetTempArr();
320  $parser->setTempArr('name', $attributes[0]);
321  }
322 
324  {
325  $parser->setImagesData($parser->getTempArr());
326  }
327 }
328 
330 {
332  {
333 
334  }
335 
336  function getName()
337  {
338  return 'module';
339  }
340 
341  function handleCharacterData(&$parser, &$data)
342  {
343  switch ($parser->getParentTag()) {
344  case 'template':
345  case 'image':
346  $parser->setTempArr('module', $data);
347  break;
348  default:
349  break;
350  }
351  }
352 }
353 
355 {
357  {
358 
359  }
360 
361  function getName()
362  {
363  return 'fileType';
364  }
365 
366  function handleCharacterData(&$parser, &$data)
367  {
368  switch ($parser->getParentTag()) {
369  case 'template':
370  $parser->setTempArr('type', $data);
371  break;
372  default:
373  break;
374  }
375  }
376 }
377 
379 {
381  {
382 
383  }
384 
385  function getName()
386  {
387  return 'tag';
388  }
389 
390  function handleCharacterData(&$parser, &$data)
391  {
392  switch ($parser->getParentTag()) {
393  case 'image':
394  $parser->setTempArr('tag', $data);
395  break;
396  default:
397  break;
398  }
399  }
400 }
401 ?>