library/SimplePie/Source.php Quellcode

Source.php
gehe zur Dokumentation dieser Datei
1 <?php
56 {
57  var $item;
58  var $data = array();
59  protected $registry;
60 
61  public function __construct($item, $data)
62  {
63  $this->item = $item;
64  $this->data = $data;
65  }
66 
68  {
69  $this->registry = $registry;
70  }
71 
72  public function __toString()
73  {
74  return md5(serialize($this->data));
75  }
76 
77  public function get_source_tags($namespace, $tag)
78  {
79  if (isset($this->data['child'][$namespace][$tag]))
80  {
81  return $this->data['child'][$namespace][$tag];
82  }
83  else
84  {
85  return null;
86  }
87  }
88 
89  public function get_base($element = array())
90  {
91  return $this->item->get_base($element);
92  }
93 
94  public function sanitize($data, $type, $base = '')
95  {
96  return $this->item->sanitize($data, $type, $base);
97  }
98 
99  public function get_item()
100  {
101  return $this->item;
102  }
103 
104  public function get_title()
105  {
106  if ($return = $this->get_source_tags(SIMPLEPIE_NAMESPACE_ATOM_10, 'title'))
107  {
108  return $this->sanitize($return[0]['data'], $this->registry->call('Misc', 'atom_10_construct_type', array($return[0]['attribs'])), $this->get_base($return[0]));
109  }
110  elseif ($return = $this->get_source_tags(SIMPLEPIE_NAMESPACE_ATOM_03, 'title'))
111  {
112  return $this->sanitize($return[0]['data'], $this->registry->call('Misc', 'atom_03_construct_type', array($return[0]['attribs'])), $this->get_base($return[0]));
113  }
114  elseif ($return = $this->get_source_tags(SIMPLEPIE_NAMESPACE_RSS_10, 'title'))
115  {
116  return $this->sanitize($return[0]['data'], SIMPLEPIE_CONSTRUCT_MAYBE_HTML, $this->get_base($return[0]));
117  }
118  elseif ($return = $this->get_source_tags(SIMPLEPIE_NAMESPACE_RSS_090, 'title'))
119  {
120  return $this->sanitize($return[0]['data'], SIMPLEPIE_CONSTRUCT_MAYBE_HTML, $this->get_base($return[0]));
121  }
122  elseif ($return = $this->get_source_tags(SIMPLEPIE_NAMESPACE_RSS_20, 'title'))
123  {
124  return $this->sanitize($return[0]['data'], SIMPLEPIE_CONSTRUCT_MAYBE_HTML, $this->get_base($return[0]));
125  }
126  elseif ($return = $this->get_source_tags(SIMPLEPIE_NAMESPACE_DC_11, 'title'))
127  {
128  return $this->sanitize($return[0]['data'], SIMPLEPIE_CONSTRUCT_TEXT);
129  }
130  elseif ($return = $this->get_source_tags(SIMPLEPIE_NAMESPACE_DC_10, 'title'))
131  {
132  return $this->sanitize($return[0]['data'], SIMPLEPIE_CONSTRUCT_TEXT);
133  }
134  else
135  {
136  return null;
137  }
138  }
139 
140  public function get_category($key = 0)
141  {
142  $categories = $this->get_categories();
143  if (isset($categories[$key]))
144  {
145  return $categories[$key];
146  }
147  else
148  {
149  return null;
150  }
151  }
152 
153  public function get_categories()
154  {
155  $categories = array();
156 
157  foreach ((array) $this->get_source_tags(SIMPLEPIE_NAMESPACE_ATOM_10, 'category') as $category)
158  {
159  $term = null;
160  $scheme = null;
161  $label = null;
162  if (isset($category['attribs']['']['term']))
163  {
164  $term = $this->sanitize($category['attribs']['']['term'], SIMPLEPIE_CONSTRUCT_TEXT);
165  }
166  if (isset($category['attribs']['']['scheme']))
167  {
168  $scheme = $this->sanitize($category['attribs']['']['scheme'], SIMPLEPIE_CONSTRUCT_TEXT);
169  }
170  if (isset($category['attribs']['']['label']))
171  {
172  $label = $this->sanitize($category['attribs']['']['label'], SIMPLEPIE_CONSTRUCT_TEXT);
173  }
174  $categories[] = $this->registry->create('Category', array($term, $scheme, $label));
175  }
176  foreach ((array) $this->get_source_tags(SIMPLEPIE_NAMESPACE_RSS_20, 'category') as $category)
177  {
178  // This is really the label, but keep this as the term also for BC.
179  // Label will also work on retrieving because that falls back to term.
180  $term = $this->sanitize($category['data'], SIMPLEPIE_CONSTRUCT_TEXT);
181  if (isset($category['attribs']['']['domain']))
182  {
183  $scheme = $this->sanitize($category['attribs']['']['domain'], SIMPLEPIE_CONSTRUCT_TEXT);
184  }
185  else
186  {
187  $scheme = null;
188  }
189  $categories[] = $this->registry->create('Category', array($term, $scheme, null));
190  }
191  foreach ((array) $this->get_source_tags(SIMPLEPIE_NAMESPACE_DC_11, 'subject') as $category)
192  {
193  $categories[] = $this->registry->create('Category', array($this->sanitize($category['data'], SIMPLEPIE_CONSTRUCT_TEXT), null, null));
194  }
195  foreach ((array) $this->get_source_tags(SIMPLEPIE_NAMESPACE_DC_10, 'subject') as $category)
196  {
197  $categories[] = $this->registry->create('Category', array($this->sanitize($category['data'], SIMPLEPIE_CONSTRUCT_TEXT), null, null));
198  }
199 
200  if (!empty($categories))
201  {
202  return array_unique($categories);
203  }
204  else
205  {
206  return null;
207  }
208  }
209 
210  public function get_author($key = 0)
211  {
212  $authors = $this->get_authors();
213  if (isset($authors[$key]))
214  {
215  return $authors[$key];
216  }
217  else
218  {
219  return null;
220  }
221  }
222 
223  public function get_authors()
224  {
225  $authors = array();
226  foreach ((array) $this->get_source_tags(SIMPLEPIE_NAMESPACE_ATOM_10, 'author') as $author)
227  {
228  $name = null;
229  $uri = null;
230  $email = null;
231  if (isset($author['child'][SIMPLEPIE_NAMESPACE_ATOM_10]['name'][0]['data']))
232  {
233  $name = $this->sanitize($author['child'][SIMPLEPIE_NAMESPACE_ATOM_10]['name'][0]['data'], SIMPLEPIE_CONSTRUCT_TEXT);
234  }
235  if (isset($author['child'][SIMPLEPIE_NAMESPACE_ATOM_10]['uri'][0]['data']))
236  {
237  $uri = $this->sanitize($author['child'][SIMPLEPIE_NAMESPACE_ATOM_10]['uri'][0]['data'], SIMPLEPIE_CONSTRUCT_IRI, $this->get_base($author['child'][SIMPLEPIE_NAMESPACE_ATOM_10]['uri'][0]));
238  }
239  if (isset($author['child'][SIMPLEPIE_NAMESPACE_ATOM_10]['email'][0]['data']))
240  {
241  $email = $this->sanitize($author['child'][SIMPLEPIE_NAMESPACE_ATOM_10]['email'][0]['data'], SIMPLEPIE_CONSTRUCT_TEXT);
242  }
243  if ($name !== null || $email !== null || $uri !== null)
244  {
245  $authors[] = $this->registry->create('Author', array($name, $uri, $email));
246  }
247  }
248  if ($author = $this->get_source_tags(SIMPLEPIE_NAMESPACE_ATOM_03, 'author'))
249  {
250  $name = null;
251  $url = null;
252  $email = null;
253  if (isset($author[0]['child'][SIMPLEPIE_NAMESPACE_ATOM_03]['name'][0]['data']))
254  {
255  $name = $this->sanitize($author[0]['child'][SIMPLEPIE_NAMESPACE_ATOM_03]['name'][0]['data'], SIMPLEPIE_CONSTRUCT_TEXT);
256  }
257  if (isset($author[0]['child'][SIMPLEPIE_NAMESPACE_ATOM_03]['url'][0]['data']))
258  {
259  $url = $this->sanitize($author[0]['child'][SIMPLEPIE_NAMESPACE_ATOM_03]['url'][0]['data'], SIMPLEPIE_CONSTRUCT_IRI, $this->get_base($author[0]['child'][SIMPLEPIE_NAMESPACE_ATOM_03]['url'][0]));
260  }
261  if (isset($author[0]['child'][SIMPLEPIE_NAMESPACE_ATOM_03]['email'][0]['data']))
262  {
263  $email = $this->sanitize($author[0]['child'][SIMPLEPIE_NAMESPACE_ATOM_03]['email'][0]['data'], SIMPLEPIE_CONSTRUCT_TEXT);
264  }
265  if ($name !== null || $email !== null || $url !== null)
266  {
267  $authors[] = $this->registry->create('Author', array($name, $url, $email));
268  }
269  }
270  foreach ((array) $this->get_source_tags(SIMPLEPIE_NAMESPACE_DC_11, 'creator') as $author)
271  {
272  $authors[] = $this->registry->create('Author', array($this->sanitize($author['data'], SIMPLEPIE_CONSTRUCT_TEXT), null, null));
273  }
274  foreach ((array) $this->get_source_tags(SIMPLEPIE_NAMESPACE_DC_10, 'creator') as $author)
275  {
276  $authors[] = $this->registry->create('Author', array($this->sanitize($author['data'], SIMPLEPIE_CONSTRUCT_TEXT), null, null));
277  }
278  foreach ((array) $this->get_source_tags(SIMPLEPIE_NAMESPACE_ITUNES, 'author') as $author)
279  {
280  $authors[] = $this->registry->create('Author', array($this->sanitize($author['data'], SIMPLEPIE_CONSTRUCT_TEXT), null, null));
281  }
282 
283  if (!empty($authors))
284  {
285  return array_unique($authors);
286  }
287  else
288  {
289  return null;
290  }
291  }
292 
293  public function get_contributor($key = 0)
294  {
295  $contributors = $this->get_contributors();
296  if (isset($contributors[$key]))
297  {
298  return $contributors[$key];
299  }
300  else
301  {
302  return null;
303  }
304  }
305 
306  public function get_contributors()
307  {
308  $contributors = array();
309  foreach ((array) $this->get_source_tags(SIMPLEPIE_NAMESPACE_ATOM_10, 'contributor') as $contributor)
310  {
311  $name = null;
312  $uri = null;
313  $email = null;
314  if (isset($contributor['child'][SIMPLEPIE_NAMESPACE_ATOM_10]['name'][0]['data']))
315  {
316  $name = $this->sanitize($contributor['child'][SIMPLEPIE_NAMESPACE_ATOM_10]['name'][0]['data'], SIMPLEPIE_CONSTRUCT_TEXT);
317  }
318  if (isset($contributor['child'][SIMPLEPIE_NAMESPACE_ATOM_10]['uri'][0]['data']))
319  {
320  $uri = $this->sanitize($contributor['child'][SIMPLEPIE_NAMESPACE_ATOM_10]['uri'][0]['data'], SIMPLEPIE_CONSTRUCT_IRI, $this->get_base($contributor['child'][SIMPLEPIE_NAMESPACE_ATOM_10]['uri'][0]));
321  }
322  if (isset($contributor['child'][SIMPLEPIE_NAMESPACE_ATOM_10]['email'][0]['data']))
323  {
324  $email = $this->sanitize($contributor['child'][SIMPLEPIE_NAMESPACE_ATOM_10]['email'][0]['data'], SIMPLEPIE_CONSTRUCT_TEXT);
325  }
326  if ($name !== null || $email !== null || $uri !== null)
327  {
328  $contributors[] = $this->registry->create('Author', array($name, $uri, $email));
329  }
330  }
331  foreach ((array) $this->get_source_tags(SIMPLEPIE_NAMESPACE_ATOM_03, 'contributor') as $contributor)
332  {
333  $name = null;
334  $url = null;
335  $email = null;
336  if (isset($contributor['child'][SIMPLEPIE_NAMESPACE_ATOM_03]['name'][0]['data']))
337  {
338  $name = $this->sanitize($contributor['child'][SIMPLEPIE_NAMESPACE_ATOM_03]['name'][0]['data'], SIMPLEPIE_CONSTRUCT_TEXT);
339  }
340  if (isset($contributor['child'][SIMPLEPIE_NAMESPACE_ATOM_03]['url'][0]['data']))
341  {
342  $url = $this->sanitize($contributor['child'][SIMPLEPIE_NAMESPACE_ATOM_03]['url'][0]['data'], SIMPLEPIE_CONSTRUCT_IRI, $this->get_base($contributor['child'][SIMPLEPIE_NAMESPACE_ATOM_03]['url'][0]));
343  }
344  if (isset($contributor['child'][SIMPLEPIE_NAMESPACE_ATOM_03]['email'][0]['data']))
345  {
346  $email = $this->sanitize($contributor['child'][SIMPLEPIE_NAMESPACE_ATOM_03]['email'][0]['data'], SIMPLEPIE_CONSTRUCT_TEXT);
347  }
348  if ($name !== null || $email !== null || $url !== null)
349  {
350  $contributors[] = $this->registry->create('Author', array($name, $url, $email));
351  }
352  }
353 
354  if (!empty($contributors))
355  {
356  return array_unique($contributors);
357  }
358  else
359  {
360  return null;
361  }
362  }
363 
364  public function get_link($key = 0, $rel = 'alternate')
365  {
366  $links = $this->get_links($rel);
367  if (isset($links[$key]))
368  {
369  return $links[$key];
370  }
371  else
372  {
373  return null;
374  }
375  }
376 
380  public function get_permalink()
381  {
382  return $this->get_link(0);
383  }
384 
385  public function get_links($rel = 'alternate')
386  {
387  if (!isset($this->data['links']))
388  {
389  $this->data['links'] = array();
390  if ($links = $this->get_source_tags(SIMPLEPIE_NAMESPACE_ATOM_10, 'link'))
391  {
392  foreach ($links as $link)
393  {
394  if (isset($link['attribs']['']['href']))
395  {
396  $link_rel = (isset($link['attribs']['']['rel'])) ? $link['attribs']['']['rel'] : 'alternate';
397  $this->data['links'][$link_rel][] = $this->sanitize($link['attribs']['']['href'], SIMPLEPIE_CONSTRUCT_IRI, $this->get_base($link));
398  }
399  }
400  }
401  if ($links = $this->get_source_tags(SIMPLEPIE_NAMESPACE_ATOM_03, 'link'))
402  {
403  foreach ($links as $link)
404  {
405  if (isset($link['attribs']['']['href']))
406  {
407  $link_rel = (isset($link['attribs']['']['rel'])) ? $link['attribs']['']['rel'] : 'alternate';
408  $this->data['links'][$link_rel][] = $this->sanitize($link['attribs']['']['href'], SIMPLEPIE_CONSTRUCT_IRI, $this->get_base($link));
409 
410  }
411  }
412  }
413  if ($links = $this->get_source_tags(SIMPLEPIE_NAMESPACE_RSS_10, 'link'))
414  {
415  $this->data['links']['alternate'][] = $this->sanitize($links[0]['data'], SIMPLEPIE_CONSTRUCT_IRI, $this->get_base($links[0]));
416  }
417  if ($links = $this->get_source_tags(SIMPLEPIE_NAMESPACE_RSS_090, 'link'))
418  {
419  $this->data['links']['alternate'][] = $this->sanitize($links[0]['data'], SIMPLEPIE_CONSTRUCT_IRI, $this->get_base($links[0]));
420  }
421  if ($links = $this->get_source_tags(SIMPLEPIE_NAMESPACE_RSS_20, 'link'))
422  {
423  $this->data['links']['alternate'][] = $this->sanitize($links[0]['data'], SIMPLEPIE_CONSTRUCT_IRI, $this->get_base($links[0]));
424  }
425 
426  $keys = array_keys($this->data['links']);
427  foreach ($keys as $key)
428  {
429  if ($this->registry->call('Misc', 'is_isegment_nz_nc', array($key)))
430  {
431  if (isset($this->data['links'][SIMPLEPIE_IANA_LINK_RELATIONS_REGISTRY . $key]))
432  {
433  $this->data['links'][SIMPLEPIE_IANA_LINK_RELATIONS_REGISTRY . $key] = array_merge($this->data['links'][$key], $this->data['links'][SIMPLEPIE_IANA_LINK_RELATIONS_REGISTRY . $key]);
434  $this->data['links'][$key] =& $this->data['links'][SIMPLEPIE_IANA_LINK_RELATIONS_REGISTRY . $key];
435  }
436  else
437  {
438  $this->data['links'][SIMPLEPIE_IANA_LINK_RELATIONS_REGISTRY . $key] =& $this->data['links'][$key];
439  }
440  }
441  elseif (substr($key, 0, 41) === SIMPLEPIE_IANA_LINK_RELATIONS_REGISTRY)
442  {
443  $this->data['links'][substr($key, 41)] =& $this->data['links'][$key];
444  }
445  $this->data['links'][$key] = array_unique($this->data['links'][$key]);
446  }
447  }
448 
449  if (isset($this->data['links'][$rel]))
450  {
451  return $this->data['links'][$rel];
452  }
453  else
454  {
455  return null;
456  }
457  }
458 
459  public function get_description()
460  {
461  if ($return = $this->get_source_tags(SIMPLEPIE_NAMESPACE_ATOM_10, 'subtitle'))
462  {
463  return $this->sanitize($return[0]['data'], $this->registry->call('Misc', 'atom_10_construct_type', array($return[0]['attribs'])), $this->get_base($return[0]));
464  }
465  elseif ($return = $this->get_source_tags(SIMPLEPIE_NAMESPACE_ATOM_03, 'tagline'))
466  {
467  return $this->sanitize($return[0]['data'], $this->registry->call('Misc', 'atom_03_construct_type', array($return[0]['attribs'])), $this->get_base($return[0]));
468  }
469  elseif ($return = $this->get_source_tags(SIMPLEPIE_NAMESPACE_RSS_10, 'description'))
470  {
471  return $this->sanitize($return[0]['data'], SIMPLEPIE_CONSTRUCT_MAYBE_HTML, $this->get_base($return[0]));
472  }
473  elseif ($return = $this->get_source_tags(SIMPLEPIE_NAMESPACE_RSS_090, 'description'))
474  {
475  return $this->sanitize($return[0]['data'], SIMPLEPIE_CONSTRUCT_MAYBE_HTML, $this->get_base($return[0]));
476  }
477  elseif ($return = $this->get_source_tags(SIMPLEPIE_NAMESPACE_RSS_20, 'description'))
478  {
479  return $this->sanitize($return[0]['data'], SIMPLEPIE_CONSTRUCT_MAYBE_HTML, $this->get_base($return[0]));
480  }
481  elseif ($return = $this->get_source_tags(SIMPLEPIE_NAMESPACE_DC_11, 'description'))
482  {
483  return $this->sanitize($return[0]['data'], SIMPLEPIE_CONSTRUCT_TEXT);
484  }
485  elseif ($return = $this->get_source_tags(SIMPLEPIE_NAMESPACE_DC_10, 'description'))
486  {
487  return $this->sanitize($return[0]['data'], SIMPLEPIE_CONSTRUCT_TEXT);
488  }
489  elseif ($return = $this->get_source_tags(SIMPLEPIE_NAMESPACE_ITUNES, 'summary'))
490  {
491  return $this->sanitize($return[0]['data'], SIMPLEPIE_CONSTRUCT_HTML, $this->get_base($return[0]));
492  }
493  elseif ($return = $this->get_source_tags(SIMPLEPIE_NAMESPACE_ITUNES, 'subtitle'))
494  {
495  return $this->sanitize($return[0]['data'], SIMPLEPIE_CONSTRUCT_HTML, $this->get_base($return[0]));
496  }
497  else
498  {
499  return null;
500  }
501  }
502 
503  public function get_copyright()
504  {
505  if ($return = $this->get_source_tags(SIMPLEPIE_NAMESPACE_ATOM_10, 'rights'))
506  {
507  return $this->sanitize($return[0]['data'], $this->registry->call('Misc', 'atom_10_construct_type', array($return[0]['attribs'])), $this->get_base($return[0]));
508  }
509  elseif ($return = $this->get_source_tags(SIMPLEPIE_NAMESPACE_ATOM_03, 'copyright'))
510  {
511  return $this->sanitize($return[0]['data'], $this->registry->call('Misc', 'atom_03_construct_type', array($return[0]['attribs'])), $this->get_base($return[0]));
512  }
513  elseif ($return = $this->get_source_tags(SIMPLEPIE_NAMESPACE_RSS_20, 'copyright'))
514  {
515  return $this->sanitize($return[0]['data'], SIMPLEPIE_CONSTRUCT_TEXT);
516  }
517  elseif ($return = $this->get_source_tags(SIMPLEPIE_NAMESPACE_DC_11, 'rights'))
518  {
519  return $this->sanitize($return[0]['data'], SIMPLEPIE_CONSTRUCT_TEXT);
520  }
521  elseif ($return = $this->get_source_tags(SIMPLEPIE_NAMESPACE_DC_10, 'rights'))
522  {
523  return $this->sanitize($return[0]['data'], SIMPLEPIE_CONSTRUCT_TEXT);
524  }
525  else
526  {
527  return null;
528  }
529  }
530 
531  public function get_language()
532  {
533  if ($return = $this->get_source_tags(SIMPLEPIE_NAMESPACE_RSS_20, 'language'))
534  {
535  return $this->sanitize($return[0]['data'], SIMPLEPIE_CONSTRUCT_TEXT);
536  }
537  elseif ($return = $this->get_source_tags(SIMPLEPIE_NAMESPACE_DC_11, 'language'))
538  {
539  return $this->sanitize($return[0]['data'], SIMPLEPIE_CONSTRUCT_TEXT);
540  }
541  elseif ($return = $this->get_source_tags(SIMPLEPIE_NAMESPACE_DC_10, 'language'))
542  {
543  return $this->sanitize($return[0]['data'], SIMPLEPIE_CONSTRUCT_TEXT);
544  }
545  elseif (isset($this->data['xml_lang']))
546  {
547  return $this->sanitize($this->data['xml_lang'], SIMPLEPIE_CONSTRUCT_TEXT);
548  }
549  else
550  {
551  return null;
552  }
553  }
554 
555  public function get_latitude()
556  {
557  if ($return = $this->get_source_tags(SIMPLEPIE_NAMESPACE_W3C_BASIC_GEO, 'lat'))
558  {
559  return (float) $return[0]['data'];
560  }
561  elseif (($return = $this->get_source_tags(SIMPLEPIE_NAMESPACE_GEORSS, 'point')) && preg_match('/^((?:-)?[0-9]+(?:\.[0-9]+)) ((?:-)?[0-9]+(?:\.[0-9]+))$/', trim($return[0]['data']), $match))
562  {
563  return (float) $match[1];
564  }
565  else
566  {
567  return null;
568  }
569  }
570 
571  public function get_longitude()
572  {
573  if ($return = $this->get_source_tags(SIMPLEPIE_NAMESPACE_W3C_BASIC_GEO, 'long'))
574  {
575  return (float) $return[0]['data'];
576  }
577  elseif ($return = $this->get_source_tags(SIMPLEPIE_NAMESPACE_W3C_BASIC_GEO, 'lon'))
578  {
579  return (float) $return[0]['data'];
580  }
581  elseif (($return = $this->get_source_tags(SIMPLEPIE_NAMESPACE_GEORSS, 'point')) && preg_match('/^((?:-)?[0-9]+(?:\.[0-9]+)) ((?:-)?[0-9]+(?:\.[0-9]+))$/', trim($return[0]['data']), $match))
582  {
583  return (float) $match[2];
584  }
585  else
586  {
587  return null;
588  }
589  }
590 
591  public function get_image_url()
592  {
593  if ($return = $this->get_source_tags(SIMPLEPIE_NAMESPACE_ITUNES, 'image'))
594  {
595  return $this->sanitize($return[0]['attribs']['']['href'], SIMPLEPIE_CONSTRUCT_IRI);
596  }
597  elseif ($return = $this->get_source_tags(SIMPLEPIE_NAMESPACE_ATOM_10, 'logo'))
598  {
599  return $this->sanitize($return[0]['data'], SIMPLEPIE_CONSTRUCT_IRI, $this->get_base($return[0]));
600  }
601  elseif ($return = $this->get_source_tags(SIMPLEPIE_NAMESPACE_ATOM_10, 'icon'))
602  {
603  return $this->sanitize($return[0]['data'], SIMPLEPIE_CONSTRUCT_IRI, $this->get_base($return[0]));
604  }
605  else
606  {
607  return null;
608  }
609  }
610 }
611 




Korrekturen, Hinweise und Ergänzungen

Bitte scheuen Sie sich nicht und melden Sie, was auf dieser Seite sachlich falsch oder irreführend ist, was ergänzt werden sollte, was fehlt usw. Dazu bitte oben aus dem Menü Seite den Eintrag Support Forum wählen. Es ist eine kostenlose Anmeldung erforderlich, um Anmerkungen zu posten. Unpassende Postings, Spam usw. werden kommentarlos entfernt.