Open Journal Systems  3.3.0
CiteProcHelper.php
1 <?php
2 /*
3  * citeproc-php
4  *
5  * @link http://github.com/seboettg/citeproc-php for the source repository
6  * @copyright Copyright (c) 2017 Sebastian Böttger.
7  * @license https://opensource.org/licenses/MIT
8  */
9 
11 
13 use stdClass;
14 
16 {
17 
26  public static function applyAdditionMarkupFunction($dataItem, $valueToRender, $renderedText)
27  {
28  $markupExtension = CiteProc::getContext()->getMarkupExtension();
29  if (array_key_exists($valueToRender, $markupExtension)) {
30  $function = $markupExtension[$valueToRender];
31  if (is_callable($function)) {
32  $renderedText = $function($dataItem, $renderedText);
33  }
34  } elseif (array_key_exists($mode = CiteProc::getContext()->getMode(), $markupExtension)) {
35  if (array_key_exists($valueToRender, $markupExtension[$mode])) {
36  $function = CiteProc::getContext()->getMarkupExtension()[$mode][$valueToRender];
37  if (is_callable($function)) {
38  $renderedText = $function($dataItem, $renderedText);
39  }
40  }
41  }
42  return $renderedText;
43  }
44 
49  public static function cloneArray(array $array)
50  {
51  $newArray = [];
52  foreach ($array as $key => $value) {
53  $newArray[$key] = clone $value;
54  }
55  return $newArray;
56  }
57 }
Seboettg\CiteProc\CiteProc
Definition: CiteProc.php:32
Seboettg\CiteProc\Util\CiteProcHelper\applyAdditionMarkupFunction
static applyAdditionMarkupFunction($dataItem, $valueToRender, $renderedText)
Definition: CiteProcHelper.php:26
Seboettg\CiteProc\Util
Definition: CiteProcHelper.php:10
Seboettg\CiteProc\Util\CiteProcHelper\cloneArray
static cloneArray(array $array)
Definition: CiteProcHelper.php:49
Seboettg\CiteProc\CiteProc\getContext
static getContext()
Definition: CiteProc.php:45
Seboettg\CiteProc\Util\CiteProcHelper
Definition: CiteProcHelper.php:15