@@ -15,9 +15,10 @@ class UrlServiceProvider extends ServiceProvider
1515 */
1616 public function register ()
1717 {
18+ $ this ->registerRelativeHelpers ();
19+ $ this ->registerRequestHelpers ();
20+
1821 $ this ->registerUrlGeneratorPolicy ();
19- $ this ->registerRelativeHelper ();
20- $ this ->registerPjaxCached ();
2122
2223 $ this ->app ['events ' ]->listen ('site.changed ' , function () {
2324 $ this ->registerUrlGeneratorPolicy ();
@@ -32,7 +33,7 @@ public function register()
3233 * insecure - detect hostname and force HTTP schema
3334 * force - force hostname and schema using app.url config value
3435 */
35- public function registerUrlGeneratorPolicy ()
36+ protected function registerUrlGeneratorPolicy ()
3637 {
3738 $ provider = $ this ->app ['url ' ];
3839 $ policy = $ this ->app ['config ' ]->get ('system.link_policy ' , 'detect ' );
@@ -62,9 +63,9 @@ public function registerUrlGeneratorPolicy()
6263 }
6364
6465 /**
65- * registerRelativeHelper
66+ * registerRelativeHelpers
6667 */
67- public function registerRelativeHelper ()
68+ protected function registerRelativeHelpers ()
6869 {
6970 $ provider = $ this ->app ['url ' ];
7071
@@ -82,14 +83,20 @@ public function registerRelativeHelper()
8283 }
8384
8485 /**
85- * registerPjaxCached
86+ * registerRequestHelpers
8687 */
87- public function registerPjaxCached ()
88+ protected function registerRequestHelpers ()
8889 {
8990 $ provider = $ this ->app ['request ' ];
9091
9192 $ provider ->macro ('pjaxCached ' , function () use ($ provider ) {
9293 return $ provider ->headers ->get ('X-PJAX-CACHED ' ) == true ;
9394 });
95+
96+ $ provider ->macro ('isCrawler ' , function ($ userAgent = null ) use ($ provider ) {
97+ return (new \Jaybizzle \CrawlerDetect \CrawlerDetect ($ provider ->server ()))
98+ ->isCrawler ($ userAgent )
99+ ;
100+ });
94101 }
95102}
0 commit comments