Open Journal Systems  3.3.0
DisplayTrait.php
1 <?php
2 /*
3  * citeproc-php
4  *
5  * @link http://github.com/seboettg/citeproc-php for the source repository
6  * @copyright Copyright (c) 2016 Sebastian Böttger.
7  * @license https://opensource.org/licenses/MIT
8  */
9 
10 namespace Seboettg\CiteProc\Styles;
11 
12 use SimpleXMLElement;
13 
19 trait DisplayTrait
20 {
21 
25  private static $allowedValues = [
26  "block",
27  "left-margin",
28  "right-inline",
29  "indent"
30  ];
31 
35  private $display;
36 
40  public function initDisplayAttributes(SimpleXMLElement $node)
41  {
42  foreach ($node->attributes() as $attribute) {
43  switch ($attribute->getName()) {
44  case 'display':
45  $this->display = (string) $attribute;
46  return;
47  }
48  }
49  }
50 
55  public function wrapDisplayBlock($text)
56  {
57  if (!in_array($this->display, self::$allowedValues)) {
58  return $text;
59  }
60  $divStyle = "class=\"csl-".$this->display."\"";
61  return "<div $divStyle>$text</div>";
62  }
63 }
Seboettg\CiteProc\Styles\DisplayTrait
trait DisplayTrait
Definition: DisplayTrait.php:20
Seboettg\CiteProc\Styles\wrapDisplayBlock
wrapDisplayBlock($text)
Definition: DisplayTrait.php:58
Seboettg\CiteProc\Styles
Definition: AffixesTrait.php:10
Seboettg\CiteProc\Styles\initDisplayAttributes
initDisplayAttributes(SimpleXMLElement $node)
Definition: DisplayTrait.php:43