From c8309e7d3f1a35bed011dd4fbfb02e63c16ebe3c Mon Sep 17 00:00:00 2001 From: Frank John Begornia Date: Wed, 19 Jun 2019 21:53:01 +0800 Subject: [PATCH] google analytics test --- app/Http/Controllers/MainController.php | 5 +- .../designer/DesignerController.php | 2 +- app/Http/Controllers/user/UserController.php | 4 +- app/Http/routes.php | 6 +- composer.lock | 145 ++++++++++++------ config/app.php | 10 +- config/laravel-analytics.php | 48 ++++++ .../views/designer/design_preview.blade.php | 2 + resources/views/layout/main.blade.php | 9 ++ resources/views/layout/navbar.blade.php | 5 +- .../views/user-layouts/add_item.blade.php | 5 +- .../hardy-beach-228905-fab35080b667.p12 | Bin 0 -> 2479 bytes 12 files changed, 183 insertions(+), 58 deletions(-) create mode 100644 config/laravel-analytics.php create mode 100644 storage/laravel-analytics/hardy-beach-228905-fab35080b667.p12 diff --git a/app/Http/Controllers/MainController.php b/app/Http/Controllers/MainController.php index fd524d1..6a8e2ed 100644 --- a/app/Http/Controllers/MainController.php +++ b/app/Http/Controllers/MainController.php @@ -6,6 +6,7 @@ use App\Http\Controllers\Controller; use Illuminate\Http\Request; use App\Models\MainModel; // use Illuminate\Support\Facades\Request; +use Analytics; class MainController extends Controller { @@ -15,7 +16,9 @@ class MainController extends Controller { * @return Response */ public function index() - { + { + $analyticsData = Analytics::getMostVisitedPages(365, 20); + var_dump($analyticsData); return view('sublayouts.index'); } diff --git a/app/Http/Controllers/designer/DesignerController.php b/app/Http/Controllers/designer/DesignerController.php index 7c4ead5..edba8fd 100644 --- a/app/Http/Controllers/designer/DesignerController.php +++ b/app/Http/Controllers/designer/DesignerController.php @@ -551,7 +551,7 @@ class DesignerController extends Controller { // var_dump($this->getProductCode()); $templatepaths_arrays = $newDesignerModel->selectTemplatePathsByTemplateCode($client_design_array[0]->TemplateCode); $array_cat_name = $newMainModel->selectCategoryName($client_design_array[0]->TemplateCode); - $array_cat_name = $newMainModel->selectCategoryName($client_design_array[0]->TemplateCode); + // $array_cat_name = $newMainModel->selectCategoryName($client_design_array[0]->TemplateCode); $array_templates = $newDesignerModel->selectTemplate(md5($client_design_array[0]->TemplateCode)); // var_dump($array_templates); return view('designer.design_preview') diff --git a/app/Http/Controllers/user/UserController.php b/app/Http/Controllers/user/UserController.php index cc983c9..1f665b3 100644 --- a/app/Http/Controllers/user/UserController.php +++ b/app/Http/Controllers/user/UserController.php @@ -598,8 +598,8 @@ class UserController extends Controller { $getYear = date('y'); $store_id = Auth::user()->store_id; - $templateCode = null; - $designCode = null; + $templateCode = $post['templateCode']; + $designCode = $post['designCode']; $itemName = $post['itemName']; $itemDescription = $post['itemDescription']; $itemPrice = $post['itemPrice']; diff --git a/app/Http/routes.php b/app/Http/routes.php index 199e22a..40aff3d 100644 --- a/app/Http/routes.php +++ b/app/Http/routes.php @@ -170,4 +170,8 @@ Route::group(['middleware' => 'admin'], function () { -Route::get('cliparts/index', 'cliparts\ClipartsController@index'); \ No newline at end of file +Route::get('cliparts/index', 'cliparts\ClipartsController@index'); + +Route::get('analytics', function (){ + $analyticsData = LaravelAnalytics::getVisitorsAndPageViews(7); +}); \ No newline at end of file diff --git a/composer.lock b/composer.lock index aa5016a..5e0233e 100644 --- a/composer.lock +++ b/composer.lock @@ -267,25 +267,25 @@ }, { "name": "google/recaptcha", - "version": "1.2.1", + "version": "1.2.2", "source": { "type": "git", "url": "https://github.com/google/recaptcha.git", - "reference": "e7add3be59211482ecdb942288f52da64a35f61a" + "reference": "c4a17d6af648d4f3814430cd103cba50b75b571c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/google/recaptcha/zipball/e7add3be59211482ecdb942288f52da64a35f61a", - "reference": "e7add3be59211482ecdb942288f52da64a35f61a", + "url": "https://api.github.com/repos/google/recaptcha/zipball/c4a17d6af648d4f3814430cd103cba50b75b571c", + "reference": "c4a17d6af648d4f3814430cd103cba50b75b571c", "shasum": "" }, "require": { "php": ">=5.5" }, "require-dev": { - "friendsofphp/php-cs-fixer": "^2.2.20|^2.12", + "friendsofphp/php-cs-fixer": "^2.2.20|^2.15", "php-coveralls/php-coveralls": "^2.1", - "phpunit/phpunit": "^4.8.36|^5.7.27|^6.59|^7" + "phpunit/phpunit": "^4.8.36|^5.7.27|^6.59|^7.5.11" }, "type": "library", "extra": { @@ -310,7 +310,7 @@ "recaptcha", "spam" ], - "time": "2018-08-05T09:31:53+00:00" + "time": "2019-05-24T12:44:03+00:00" }, { "name": "guzzlehttp/guzzle", @@ -652,6 +652,51 @@ ], "time": "2018-03-21T22:21:57+00:00" }, + { + "name": "kylekatarnls/update-helper", + "version": "1.1.1", + "source": { + "type": "git", + "url": "https://github.com/kylekatarnls/update-helper.git", + "reference": "b34a46d7f5ec1795b4a15ac9d46b884377262df9" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/kylekatarnls/update-helper/zipball/b34a46d7f5ec1795b4a15ac9d46b884377262df9", + "reference": "b34a46d7f5ec1795b4a15ac9d46b884377262df9", + "shasum": "" + }, + "require": { + "composer-plugin-api": "^1.1.0", + "php": ">=5.3.0" + }, + "require-dev": { + "codeclimate/php-test-reporter": "dev-master", + "composer/composer": "^2.0.x-dev", + "phpunit/phpunit": ">=4.8.35 <6.0" + }, + "type": "composer-plugin", + "extra": { + "class": "UpdateHelper\\ComposerPlugin" + }, + "autoload": { + "psr-0": { + "UpdateHelper\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Kyle", + "email": "kylekatarnls@gmail.com" + } + ], + "description": "Update helper", + "time": "2019-06-05T08:34:23+00:00" + }, { "name": "laravel/framework", "version": "v5.0.35", @@ -780,16 +825,16 @@ }, { "name": "league/flysystem", - "version": "1.0.51", + "version": "1.0.53", "source": { "type": "git", "url": "https://github.com/thephpleague/flysystem.git", - "reference": "755ba7bf3fb9031e6581d091db84d78275874396" + "reference": "08e12b7628f035600634a5e76d95b5eb66cea674" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/thephpleague/flysystem/zipball/755ba7bf3fb9031e6581d091db84d78275874396", - "reference": "755ba7bf3fb9031e6581d091db84d78275874396", + "url": "https://api.github.com/repos/thephpleague/flysystem/zipball/08e12b7628f035600634a5e76d95b5eb66cea674", + "reference": "08e12b7628f035600634a5e76d95b5eb66cea674", "shasum": "" }, "require": { @@ -860,7 +905,7 @@ "sftp", "storage" ], - "time": "2019-03-30T13:22:34+00:00" + "time": "2019-06-18T20:09:29+00:00" }, { "name": "league/flysystem-sftp", @@ -1033,31 +1078,34 @@ }, { "name": "nesbot/carbon", - "version": "1.36.2", + "version": "1.38.4", "source": { "type": "git", "url": "https://github.com/briannesbitt/Carbon.git", - "reference": "cd324b98bc30290f233dd0e75e6ce49f7ab2a6c9" + "reference": "8dd4172bfe1784952c4d58c4db725d183b1c23ad" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/briannesbitt/Carbon/zipball/cd324b98bc30290f233dd0e75e6ce49f7ab2a6c9", - "reference": "cd324b98bc30290f233dd0e75e6ce49f7ab2a6c9", + "url": "https://api.github.com/repos/briannesbitt/Carbon/zipball/8dd4172bfe1784952c4d58c4db725d183b1c23ad", + "reference": "8dd4172bfe1784952c4d58c4db725d183b1c23ad", "shasum": "" }, "require": { + "kylekatarnls/update-helper": "^1.1", "php": ">=5.3.9", "symfony/translation": "~2.6 || ~3.0 || ~4.0" }, "require-dev": { + "composer/composer": "^1.2", + "friendsofphp/php-cs-fixer": "~2", "phpunit/phpunit": "^4.8.35 || ^5.7" }, - "suggest": { - "friendsofphp/php-cs-fixer": "Needed for the `composer phpcs` command. Allow to automatically fix code style.", - "phpstan/phpstan": "Needed for the `composer phpstan` command. Allow to detect potential errors." - }, + "bin": [ + "bin/upgrade-carbon" + ], "type": "library", "extra": { + "update-helper": "Carbon\\Upgrade", "laravel": { "providers": [ "Carbon\\Laravel\\ServiceProvider" @@ -1087,7 +1135,7 @@ "datetime", "time" ], - "time": "2018-12-28T10:07:33+00:00" + "time": "2019-06-03T15:41:40+00:00" }, { "name": "netshell/paypal", @@ -1095,19 +1143,19 @@ "source": { "type": "git", "url": "https://github.com/net-shell/laravel-paypal.git", - "reference": "daced0597091da6aafba3441faebd04f71dfb57a" + "reference": "61cccff88b3fba4ab32bafc9542bf2e95c149b5b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/net-shell/laravel-paypal/zipball/daced0597091da6aafba3441faebd04f71dfb57a", - "reference": "daced0597091da6aafba3441faebd04f71dfb57a", + "url": "https://api.github.com/repos/net-shell/laravel-paypal/zipball/61cccff88b3fba4ab32bafc9542bf2e95c149b5b", + "reference": "61cccff88b3fba4ab32bafc9542bf2e95c149b5b", "shasum": "" }, "require": { "ext-curl": "*", "ext-json": "*", "illuminate/support": "~5.0", - "paypal/rest-api-sdk-php": "1.6.4", + "paypal/rest-api-sdk-php": "1.13.0", "php": ">=5.3.0" }, "require-dev": { @@ -1130,7 +1178,7 @@ } ], "description": "Laravel-Paypal is simple package help you process direct credit card payments, stored credit card payments and PayPal account payments with your Laravel 5 projects using paypal REST API SDK.", - "time": "2017-02-16T19:13:59+00:00" + "time": "2019-04-03T23:00:23+00:00" }, { "name": "nikic/php-parser", @@ -1227,25 +1275,26 @@ }, { "name": "paypal/rest-api-sdk-php", - "version": "v1.6.4", + "version": "1.13.0", "source": { "type": "git", "url": "https://github.com/paypal/PayPal-PHP-SDK.git", - "reference": "06837d290c4906578cfd92786412dff330a1429c" + "reference": "192e217beed14c8e75624e821fdc8ec51e2a21f5" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/paypal/PayPal-PHP-SDK/zipball/06837d290c4906578cfd92786412dff330a1429c", - "reference": "06837d290c4906578cfd92786412dff330a1429c", + "url": "https://api.github.com/repos/paypal/PayPal-PHP-SDK/zipball/192e217beed14c8e75624e821fdc8ec51e2a21f5", + "reference": "192e217beed14c8e75624e821fdc8ec51e2a21f5", "shasum": "" }, "require": { "ext-curl": "*", "ext-json": "*", - "php": ">=5.3.0" + "php": ">=5.3.0", + "psr/log": "^1.0.0" }, "require-dev": { - "phpunit/phpunit": "3.7.*" + "phpunit/phpunit": "^4.8.35" }, "type": "library", "autoload": { @@ -1255,7 +1304,7 @@ }, "notification-url": "https://packagist.org/downloads/", "license": [ - "Apache2" + "Apache-2.0" ], "authors": [ { @@ -1271,20 +1320,20 @@ "rest", "sdk" ], - "time": "2016-01-20T17:45:52+00:00" + "time": "2017-11-13T19:21:59+00:00" }, { "name": "phpseclib/phpseclib", - "version": "2.0.15", + "version": "2.0.18", "source": { "type": "git", "url": "https://github.com/phpseclib/phpseclib.git", - "reference": "11cf67cf78dc4acb18dc9149a57be4aee5036ce0" + "reference": "60519001db8d791215a822efd366d24cafee9e63" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpseclib/phpseclib/zipball/11cf67cf78dc4acb18dc9149a57be4aee5036ce0", - "reference": "11cf67cf78dc4acb18dc9149a57be4aee5036ce0", + "url": "https://api.github.com/repos/phpseclib/phpseclib/zipball/60519001db8d791215a822efd366d24cafee9e63", + "reference": "60519001db8d791215a822efd366d24cafee9e63", "shasum": "" }, "require": { @@ -1363,7 +1412,7 @@ "x.509", "x509" ], - "time": "2019-03-10T16:53:45+00:00" + "time": "2019-06-13T06:15:54+00:00" }, { "name": "psr/log", @@ -1766,7 +1815,7 @@ }, { "name": "symfony/event-dispatcher", - "version": "v2.8.49", + "version": "v2.8.50", "source": { "type": "git", "url": "https://github.com/symfony/event-dispatcher.git", @@ -1826,7 +1875,7 @@ }, { "name": "symfony/filesystem", - "version": "v2.8.49", + "version": "v2.8.50", "source": { "type": "git", "url": "https://github.com/symfony/filesystem.git", @@ -2941,16 +2990,16 @@ }, { "name": "phpspec/prophecy", - "version": "1.8.0", + "version": "1.8.1", "source": { "type": "git", "url": "https://github.com/phpspec/prophecy.git", - "reference": "4ba436b55987b4bf311cb7c6ba82aa528aac0a06" + "reference": "1927e75f4ed19131ec9bcc3b002e07fb1173ee76" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpspec/prophecy/zipball/4ba436b55987b4bf311cb7c6ba82aa528aac0a06", - "reference": "4ba436b55987b4bf311cb7c6ba82aa528aac0a06", + "url": "https://api.github.com/repos/phpspec/prophecy/zipball/1927e75f4ed19131ec9bcc3b002e07fb1173ee76", + "reference": "1927e75f4ed19131ec9bcc3b002e07fb1173ee76", "shasum": "" }, "require": { @@ -2971,8 +3020,8 @@ } }, "autoload": { - "psr-0": { - "Prophecy\\": "src/" + "psr-4": { + "Prophecy\\": "src/Prophecy" } }, "notification-url": "https://packagist.org/downloads/", @@ -3000,7 +3049,7 @@ "spy", "stub" ], - "time": "2018-08-05T17:53:17+00:00" + "time": "2019-06-13T12:50:23+00:00" }, { "name": "phpunit/php-code-coverage", diff --git a/config/app.php b/config/app.php index fc7843d..c6b85c3 100644 --- a/config/app.php +++ b/config/app.php @@ -145,9 +145,16 @@ return [ 'App\Providers\EventServiceProvider', 'App\Providers\RouteServiceProvider', - // paypal + /* + * Paypal + */ 'Netshell\Paypal\PaypalServiceProvider', + /* + * Google analytics + */ + 'Spatie\LaravelAnalytics\LaravelAnalyticsServiceProvider', + ], /* @@ -196,6 +203,7 @@ return [ 'Validator' => 'Illuminate\Support\Facades\Validator', 'View' => 'Illuminate\Support\Facades\View', 'Paypal' => 'Netshell\Paypal\Facades\Paypal', + 'Analytics' => 'Spatie\LaravelAnalytics\LaravelAnalyticsFacade', ], diff --git a/config/laravel-analytics.php b/config/laravel-analytics.php new file mode 100644 index 0000000..a204af1 --- /dev/null +++ b/config/laravel-analytics.php @@ -0,0 +1,48 @@ + env('ANALYTICS_SITE_ID'), + + /* + * Set the client id + * + * Should look like: + * xxxxxxxxxxxx-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.apps.googleusercontent.com + */ + 'clientId' => env('ANALYTICS_CLIENT_ID'), + + /* + * Set the service account name + * + * Should look like: + * xxxxxxxxxxxx-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx@developer.gserviceaccount.com + */ + 'serviceEmail' => env('ANALYTICS_SERVICE_EMAIL'), + + /* + * You need to download a p12-certifciate from the Google API console + * Be sure to store this file in a secure location. + */ + 'certificatePath' => storage_path('laravel-analytics/hardy-beach-228905-fab35080b667.p12'), + + /* + * The amount of minutes the Google API responses will be cached. + * If you set this to zero, the responses won't be cached at all. + */ + 'cacheLifetime' => 60 * 24 * 2, + + /* + * The amount of seconds the Google API responses will be cached for + * queries that use the real time query method. If you set this to zero, + * the responses of real time queries won't be cached at all. + */ + 'realTimeCacheLifetimeInSeconds' => 5, + ]; diff --git a/resources/views/designer/design_preview.blade.php b/resources/views/designer/design_preview.blade.php index 6f14ae7..df1a660 100644 --- a/resources/views/designer/design_preview.blade.php +++ b/resources/views/designer/design_preview.blade.php @@ -111,12 +111,14 @@ + @if (!Auth::guest()) + @endif diff --git a/resources/views/layout/main.blade.php b/resources/views/layout/main.blade.php index d637e01..1b5e050 100644 --- a/resources/views/layout/main.blade.php +++ b/resources/views/layout/main.blade.php @@ -60,6 +60,15 @@ margin: auto; } + + + diff --git a/resources/views/layout/navbar.blade.php b/resources/views/layout/navbar.blade.php index 909ee45..0a8be2d 100644 --- a/resources/views/layout/navbar.blade.php +++ b/resources/views/layout/navbar.blade.php @@ -47,12 +47,13 @@ @else @if(Auth::user()->role == "admin") - +
  • Dashboard
  • @elseif(Auth::user()->role == "store_owner") +
  • Dashboard
  • @else - +
  • Dashboard
  • @endif diff --git a/resources/views/user-layouts/add_item.blade.php b/resources/views/user-layouts/add_item.blade.php index be2645c..1335644 100644 --- a/resources/views/user-layouts/add_item.blade.php +++ b/resources/views/user-layouts/add_item.blade.php @@ -72,7 +72,8 @@
    - + +
    @@ -95,7 +96,7 @@ - + diff --git a/storage/laravel-analytics/hardy-beach-228905-fab35080b667.p12 b/storage/laravel-analytics/hardy-beach-228905-fab35080b667.p12 new file mode 100644 index 0000000000000000000000000000000000000000..a8bfa67a9df8023d24e23cd1aaa7236a976b7e43 GIT binary patch literal 2479 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 literal 0 HcmV?d00001