Verzeichnisstruktur phpBB-3.2.0
- Veröffentlicht
- 06.01.2017
So funktioniert es
|
Auf das letzte Element klicken. Dies geht jeweils ein Schritt zurück |
Auf das Icon klicken, dies öffnet das Verzeichnis. Nochmal klicken schließt das Verzeichnis. |
|
(Beispiel Datei-Icons)
|
Auf das Icon klicken um den Quellcode anzuzeigen |
TemplateBuilder.php
01 <?php
02
03 /*
04 * @package s9e\TextFormatter
05 * @copyright Copyright (c) 2010-2016 The s9e Authors
06 * @license http://www.opensource.org/licenses/mit-license.php The MIT License
07 */
08 namespace s9e\TextFormatter\Plugins\MediaEmbed\Configurator;
09 use DOMXPath;
10 use s9e\TextFormatter\Configurator\Helpers\TemplateHelper;
11 use s9e\TextFormatter\Plugins\MediaEmbed\Configurator\TemplateGenerators\Choose;
12 use s9e\TextFormatter\Plugins\MediaEmbed\Configurator\TemplateGenerators\Flash;
13 use s9e\TextFormatter\Plugins\MediaEmbed\Configurator\TemplateGenerators\Iframe;
14 class TemplateBuilder
15 {
16 protected $templateGenerators = array();
17 public function __construct()
18 {
19 $this->templateGenerators['choose'] = new Choose($this);
20 $this->templateGenerators['flash'] = new Flash;
21 $this->templateGenerators['iframe'] = new Iframe;
22 }
23 public function build($siteId, array $siteConfig)
24 {
25 return $this->addSiteId($siteId, $this->getTemplate($siteConfig));
26 }
27 public function getTemplate(array $config)
28 {
29 foreach ($this->templateGenerators as $type => $generator)
30 if (isset($config[$type]))
31 return $generator->getTemplate($config[$type]);
32 return '';
33 }
34 protected function addSiteId($siteId, $template)
35 {
36 $dom = TemplateHelper::loadTemplate($template);
37 $xpath = new DOMXPath($dom);
38 $query = '//*[namespace-uri() != "' . TemplateHelper::XMLNS_XSL . '"][not(ancestor::*[namespace-uri() != "' . TemplateHelper::XMLNS_XSL . '"])]';
39 foreach ($xpath->query($query) as $element)
40 $element->setAttribute('data-s9e-mediaembed', $siteId);
41 return TemplateHelper::saveTemplate($dom);
42 }
43 }