66
77use Illuminate \Support \ServiceProvider ;
88
9- use OsiemSiedem \Autolink \Parsers \UrlParser ;
10- use OsiemSiedem \Autolink \Parsers \WwwParser ;
11- use OsiemSiedem \Autolink \Filters \TrimFilter ;
12- use OsiemSiedem \Autolink \Parsers \EmailParser ;
13- use OsiemSiedem \Autolink \Filters \LimitLengthFilter ;
14-
159class AutolinkServiceProvider extends ServiceProvider
1610{
1711 /**
@@ -21,6 +15,22 @@ class AutolinkServiceProvider extends ServiceProvider
2115 */
2216 protected $ defer = true ;
2317
18+ /**
19+ * Perform post-registration booting of services.
20+ *
21+ * @return void
22+ */
23+ public function boot ()
24+ {
25+ $ this ->mergeConfigFrom (
26+ __DIR__ .'/../config/autolink.php ' , 'autolink '
27+ );
28+
29+ $ this ->publishes ([
30+ __DIR__ .'/../config/autolink.php ' => config_path ('autolink.php ' ),
31+ ], 'config ' );
32+ }
33+
2434 /**
2535 * Register the service provider.
2636 *
@@ -29,14 +39,19 @@ class AutolinkServiceProvider extends ServiceProvider
2939 public function register ()
3040 {
3141 $ this ->app ->singleton ('osiemsiedem.autolink ' , function ($ app ) {
42+ $ config = $ app ['config ' ]->get ('autolink ' );
43+
3244 $ autolink = new Autolink ;
3345
34- $ autolink ->addFilter (new TrimFilter );
35- $ autolink ->addFilter (new LimitLengthFilter );
46+ $ autolink ->ignore ($ config ['ignored ' ]);
47+
48+ foreach ($ config ['filters ' ] as $ filter ) {
49+ $ autolink ->addFilter (new $ filter );
50+ }
3651
37- $ autolink -> addParser ( new UrlParser );
38- $ autolink ->addParser (new WwwParser );
39- $ autolink -> addParser ( new EmailParser );
52+ foreach ( $ config [ ' parsers ' ] as $ parser ) {
53+ $ autolink ->addParser (new $ parser );
54+ }
4055
4156 return $ autolink ;
4257 });
0 commit comments