Configuration for default sort order
[phinde.git] / src / phinde / Helper.php
index 312c5e54a35ba4790c15842ca349504f241468ac..aeb8ba5d4e8c08874963fc5cf2b28843677d753f 100644 (file)
@@ -31,6 +31,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 +47,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;
+    }
 }
 ?>