Skip to content
This repository was archived by the owner on Feb 17, 2022. It is now read-only.

Commit 98da8db

Browse files
author
Robert Kummer
committed
Merge pull request #11 from ipunkt/laravel5
Laravel 5 support
2 parents c49ae9a + 8594e3d commit 98da8db

File tree

3 files changed

+50
-10
lines changed

3 files changed

+50
-10
lines changed

README.md

Lines changed: 15 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# Analytics tracking package for Laravel 4.x
1+
# Analytics tracking package for Laravel
22

33
[![Latest Stable Version](https://poser.pugx.org/ipunkt/laravel-analytics/v/stable.svg)](https://packagist.org/packages/ipunkt/laravel-analytics) [![Latest Unstable Version](https://poser.pugx.org/ipunkt/laravel-analytics/v/unstable.svg)](https://packagist.org/packages/ipunkt/laravel-analytics) [![License](https://poser.pugx.org/ipunkt/laravel-analytics/license.svg)](https://packagist.org/packages/ipunkt/laravel-analytics) [![Total Downloads](https://poser.pugx.org/ipunkt/laravel-analytics/downloads.svg)](https://packagist.org/packages/ipunkt/laravel-analytics)
44

@@ -10,14 +10,26 @@ Add to your composer.json following lines
1010
"ipunkt/laravel-analytics": "~1.0"
1111
}
1212

13+
### With Laravel 5
14+
15+
Add `'Ipunkt\LaravelAnalytics\AnalyticsServiceProvider',` to `providers` in `app/config/app.php`.
16+
17+
Optional: Add `'Analytics' => 'Ipunkt\LaravelAnalytics\AnalyticsFacade',` to `aliases` in `app/config/app.php`.
18+
19+
Run `php artisan vendor:publish`
20+
21+
Then edit `analytics.php` in `config` to your needs. We do config merge in the service provider, so your local settings
22+
will stay the same.
23+
24+
### With Laravel 4
25+
1326
Run `php artisan config:publish ipunkt/laravel-analytics`
1427

1528
Then edit `analytics.php` in `app/config/packages/ipunkt/laravel-analytics` to your needs.
1629

1730
Add `'Ipunkt\LaravelAnalytics\AnalyticsServiceProvider',` to `providers` in `app/config/app.php`.
1831

19-
Add `'Analytics' => 'Ipunkt\LaravelAnalytics\AnalyticsFacade',` to `aliases` in `app/config/app.php`.
20-
32+
Optional: Add `'Analytics' => 'Ipunkt\LaravelAnalytics\AnalyticsFacade',` to `aliases` in `app/config/app.php`.
2133

2234
## Configuration
2335

composer.json

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,12 @@
1212
],
1313
"require": {
1414
"php": ">=5.4.0",
15-
"illuminate/support": "~4.0",
16-
"illuminate/session": "~4.0"
15+
"illuminate/support": "~4.0|~5.0",
16+
"illuminate/session": "~4.0|~5.0",
17+
"illuminate/config": "~4.0|~5.0"
18+
},
19+
"require-dev": {
20+
"laravel/framework": "~4.0|~5.0"
1721
},
1822
"autoload": {
1923
"psr-0": {

src/Ipunkt/LaravelAnalytics/AnalyticsServiceProvider.php

Lines changed: 29 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,19 @@ class AnalyticsServiceProvider extends ServiceProvider
1919
*/
2020
public function boot()
2121
{
22-
$this->package('ipunkt/laravel-analytics');
22+
if ($this->isLaravel4()) {
23+
$this->package('ipunkt/laravel-analytics');
24+
25+
return;
26+
}
27+
28+
$config = realpath(__DIR__ . '/../../config/analytics.php');
29+
30+
$this->mergeConfigFrom($config, 'analytics');
31+
32+
$this->publishes([
33+
$config => config_path('analytics.php'),
34+
]);
2335
}
2436

2537
/**
@@ -29,18 +41,20 @@ public function boot()
2941
*/
3042
public function register()
3143
{
32-
$this->app->bind('analytics', function () {
44+
$packageNamespace = $this->isLaravel4() ? 'laravel-analytics::' : '';
45+
46+
$this->app->bind('analytics', function () use ($packageNamespace) {
3347

3448
// get analytics provider name
35-
$provider = Config::get('laravel-analytics::analytics.provider');
49+
$provider = Config::get($packageNamespace . 'analytics.provider');
3650

3751
// make it a class
3852
$providerClass = 'Ipunkt\LaravelAnalytics\Providers\\' . $provider;
3953

4054
// getting the config
4155
$providerConfig = [];
42-
if (Config::has('laravel-analytics::analytics.configurations.' . $provider)) {
43-
$providerConfig = Config::get('laravel-analytics::analytics.configurations.' . $provider);
56+
if (Config::has($packageNamespace . 'analytics.configurations.' . $provider)) {
57+
$providerConfig = Config::get($packageNamespace . 'analytics.configurations.' . $provider);
4458
}
4559

4660
// return an instance
@@ -57,4 +71,14 @@ public function provides()
5771
{
5872
return array();
5973
}
74+
75+
/**
76+
* are we on laravel 4
77+
*
78+
* @return bool
79+
*/
80+
private function isLaravel4()
81+
{
82+
return version_compare(\Illuminate\Foundation\Application::VERSION, '5', '<');
83+
}
6084
}

0 commit comments

Comments
 (0)