X-Git-Url: https://git.cweiske.de/phinde.git/blobdiff_plain/d8c39f2b0571b9734259b2f9dc218eed24412332..c32d1b6ffe81afb36fdcaebe0254ad191b72bff6:/src/phinde/Helper.php diff --git a/src/phinde/Helper.php b/src/phinde/Helper.php index 312c5e5..d22b9c8 100644 --- a/src/phinde/Helper.php +++ b/src/phinde/Helper.php @@ -3,6 +3,20 @@ namespace phinde; class Helper { + public static function rewriteUrl($url) + { + if (!isset($GLOBALS['phinde']['urlRewrites']) + || count($GLOBALS['phinde']['urlRewrites']) == 0 + ) { + return $url; + } + + foreach ($GLOBALS['phinde']['urlRewrites'] as $pattern => $replacement) { + $url = preg_replace('#' . $pattern . '#', $replacement, $url); + } + return $url; + } + public static function isUrlAllowed($url) { $urlDomain = parse_url($url, PHP_URL_HOST); @@ -31,6 +45,12 @@ class Helper return 'http://' . $url; } + public static function removeAnchor($url) + { + $parts = explode('#', $url, 2); + return $parts[0]; + } + public static function sanitizeTitle($str) { return trim( @@ -41,5 +61,44 @@ class Helper ) ); } + + /** + * 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; + } } ?>