1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
|
<?php
namespace phinde;
class Helper
{
public static function isUrlAllowed($url)
{
$urlDomain = parse_url($url, PHP_URL_HOST);
if (!in_array($urlDomain, $GLOBALS['phinde']['domains'])) {
return false;
}
return true;
}
public static function noSchema($url)
{
return str_replace(
array('http://', 'https://'),
'',
$url
);
}
public static function addSchema($url)
{
if (substr($url, 0, 7) == 'http://'
|| substr($url, 0, 8) == 'https://'
) {
return $url;
}
return 'http://' . $url;
}
public static function removeAnchor($url)
{
$parts = explode('#', $url, 2);
return $parts[0];
}
public static function sanitizeTitle($str)
{
return trim(
str_replace(
array("\r", "\n", ' ', ' '),
array('', ' ', ' ', ' '),
$str
)
);
}
/**
* Create a full URL with protocol and host name
*
* @param string $path Path to the file, with leading /
*
* @return string Full URL
*/
public static function fullUrl($path = '/')
{
if (isset($_SERVER['HTTPS']) && $_SERVER['HTTPS']) {
$prot = 'https';
} else {
$prot = 'http';
}
return $prot . '://' . $_SERVER['HTTP_HOST'] . $path;
}
static $timer = [];
public static function start($timer = 'timer')
{
static::$timer[$timer] = microtime(true);
}
public static function stop($timer = 'timer')
{
$diff = microtime(true) - static::$timer[$timer];
echo '+timer: ' . number_format($diff, 3) . 'ms ' . $timer . "\n";
}
public static function baseDoc($url)
{
$esDoc = new \stdClass();
$esDoc->status = new \stdClass();
$esDoc->url = $url;
$esDoc->schemalessUrl = Helper::noSchema($url);
return $esDoc;
}
}
?>
|