Open Journal Systems
3.3.0
QuotesTrait.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
10
namespace
Seboettg\CiteProc\Styles
;
11
12
use
Seboettg\CiteProc\CiteProc
;
13
use
Seboettg\CiteProc\Util\StringHelper
;
14
use SimpleXMLElement;
15
26
trait
QuotesTrait
27
{
28
32
private
$quotes =
false
;
33
34
public
function
initQuotesAttributes
(SimpleXMLElement $node)
35
{
36
if
(isset($node[
'quotes'
]) &&
"true"
=== (
string
) $node[
'quotes'
]) {
37
$this->quotes =
true
;
38
}
39
}
40
45
public
function
addSurroundingQuotes
($text)
46
{
47
if
($this->quotes) {
48
$openQuote =
CiteProc::getContext
()->getLocale()->filter(
"terms"
,
"open-quote"
)->single;
49
$closeQuote =
CiteProc::getContext
()->getLocale()->filter(
"terms"
,
"close-quote"
)->single;
50
$text = $this->replaceOuterQuotes($text, $openQuote, $closeQuote);
51
return
$openQuote . $text . $closeQuote;
52
}
53
return
$text;
54
}
55
62
private
function
replaceOuterQuotes($text, $outerOpenQuote, $outerCloseQuote)
63
{
64
$innerOpenQuote =
CiteProc::getContext
()
65
->getLocale()
66
->filter(
"terms"
,
"open-inner-quote"
)
67
->single;
68
$innerCloseQuote =
CiteProc::getContext
()
69
->getLocale()
70
->filter(
"terms"
,
"close-inner-quote"
)
71
->single;
72
$text =
StringHelper::replaceOuterQuotes
(
73
$text,
74
"\""
,
75
"\""
,
76
$innerOpenQuote,
77
$innerCloseQuote
78
);
79
$text =
StringHelper::replaceOuterQuotes
(
80
$text,
81
$outerOpenQuote,
82
$outerCloseQuote,
83
$innerOpenQuote,
84
$innerCloseQuote
85
);
86
return
$text;
87
}
88
}
Seboettg\CiteProc\Styles\addSurroundingQuotes
addSurroundingQuotes($text)
Definition:
QuotesTrait.php:48
Seboettg\CiteProc\Styles
Definition:
AffixesTrait.php:10
Seboettg\CiteProc\Util\StringHelper\replaceOuterQuotes
static replaceOuterQuotes( $text, $outerOpenQuote, $outerCloseQuote, $innerOpenQuote, $innerCloseQuote)
Definition:
StringHelper.php:252
Seboettg\CiteProc\Util\StringHelper
Definition:
StringHelper.php:22
Seboettg\CiteProc\CiteProc
Definition:
CiteProc.php:32
Seboettg\CiteProc\Styles\initQuotesAttributes
initQuotesAttributes(SimpleXMLElement $node)
Definition:
QuotesTrait.php:37
Seboettg\CiteProc\CiteProc\getContext
static getContext()
Definition:
CiteProc.php:45
Seboettg\CiteProc\Styles\QuotesTrait
trait QuotesTrait
Definition:
QuotesTrait.php:27
plugins
generic
citationStyleLanguage
lib
vendor
seboettg
citeproc-php
src
Styles
QuotesTrait.php
Generated on Fri Aug 28 2020 14:53:20 for Open Journal Systems by
1.8.17