Open Journal Systems
3.3.0
Citation.inc.php
1
<?php
2
20
import
(
'lib.pkp.classes.core.DataObject'
);
21
22
class
Citation
extends
DataObject
{
27
function
__construct
($rawCitation =
null
) {
28
parent::__construct();
29
$this->
setRawCitation
($rawCitation);
30
}
31
32
//
33
// Getters and Setters
34
//
35
40
function
getCitationWithLinks
() {
41
$citation = $this->
getRawCitation
();
42
if
(stripos($citation,
'<a href='
) ===
false
) {
43
$citation = preg_replace_callback(
44
'#(http|https|ftp)://[\d\w\.-]+\.[\w\.]{2,6}[^\s\]\[<>]*/?#'
,
45
function
($matches) {
46
$trailingDot = in_array($char = substr($matches[0], -1), array(
'.'
,
','
));
47
$url = rtrim($matches[0],
'.,'
);
48
return
"<a href=\"$url\">$url</a>"
. ($trailingDot?$char:
''
);
49
},
50
$citation
51
);
52
}
53
return
$citation;
54
}
55
60
function
getRawCitation
() {
61
return
$this->
getData
(
'rawCitation'
);
62
}
63
68
function
setRawCitation
($rawCitation) {
69
$rawCitation = $this->
_cleanCitationString
($rawCitation);
70
$this->
setData
(
'rawCitation'
, $rawCitation);
71
}
72
77
function
getSequence
() {
78
return
$this->
getData
(
'seq'
);
79
}
80
85
function
setSequence
($seq) {
86
$this->
setData
(
'seq'
, $seq);
87
}
88
89
//
90
// Private methods
91
//
97
function
_cleanCitationString
($citationString) {
98
// 1) Strip slashes and whitespace
99
$citationString = trim(stripslashes($citationString));
100
101
// 2) Normalize whitespace
102
$citationString =
PKPString::regexp_replace
(
'/[\s]+/'
,
' '
, $citationString);
103
104
return
$citationString;
105
}
106
}
Citation\getRawCitation
getRawCitation()
Definition:
Citation.inc.php:60
DataObject\getData
& getData($key, $locale=null)
Definition:
DataObject.inc.php:100
PKPString\regexp_replace
static regexp_replace($pattern, $replacement, $subject, $limit=-1)
Definition:
PKPString.inc.php:279
DataObject
Any class with an associated DAO should extend this class.
Definition:
DataObject.inc.php:18
Citation\getCitationWithLinks
getCitationWithLinks()
Definition:
Citation.inc.php:40
Citation\setSequence
setSequence($seq)
Definition:
Citation.inc.php:85
Citation
Class representing a citation (bibliographic reference)
Definition:
Citation.inc.php:22
Citation\_cleanCitationString
_cleanCitationString($citationString)
Definition:
Citation.inc.php:97
Citation\getSequence
getSequence()
Definition:
Citation.inc.php:77
Citation\__construct
__construct($rawCitation=null)
Definition:
Citation.inc.php:27
Citation\setRawCitation
setRawCitation($rawCitation)
Definition:
Citation.inc.php:68
DataObject\setData
setData($key, $value, $locale=null)
Definition:
DataObject.inc.php:132
lib
pkp
classes
citation
Citation.inc.php
Generated on Fri Aug 28 2020 14:51:03 for Open Journal Systems by
1.8.17