From 84b10b85a426733eb933df3768b76694c59ccb0c Mon Sep 17 00:00:00 2001 From: cuneytsenturk Date: Fri, 30 Nov 2018 17:24:03 +0300 Subject: [PATCH] close #655 Added: App Store add app documentation --- app/Http/Controllers/Modules/Item.php | 15 ++++++ app/Traits/Modules.php | 11 +++++ resources/lang/en-GB/modules.php | 3 ++ .../modules/item/documentation.blade.php | 48 +++++++++++++++++++ resources/views/modules/item/show.blade.php | 12 ++++- routes/web.php | 1 + 6 files changed, 89 insertions(+), 1 deletion(-) create mode 100644 resources/views/modules/item/documentation.blade.php diff --git a/app/Http/Controllers/Modules/Item.php b/app/Http/Controllers/Modules/Item.php index 82db63785..b5d64e6d6 100644 --- a/app/Http/Controllers/Modules/Item.php +++ b/app/Http/Controllers/Modules/Item.php @@ -325,4 +325,19 @@ class Item extends Controller 'html' => $html, ]); } + + public function documentation($alias) + { + $this->checkApiToken(); + + $documentation = $this->getDocumentation($alias); + + if (empty($documentation)) { + return redirect('apps/' . $alias)->send(); + } + + $back = 'apps/' . $alias; + + return view('modules.item.documentation', compact('documentation', 'back')); + } } diff --git a/app/Traits/Modules.php b/app/Traits/Modules.php index 0fc41d6e6..89df5c919 100644 --- a/app/Traits/Modules.php +++ b/app/Traits/Modules.php @@ -57,6 +57,17 @@ trait Modules return []; } + public function getDocumentation($alias) + { + $response = $this->getRemote('apps/docs/' . $alias); + + if ($response && ($response->getStatusCode() == 200)) { + return json_decode($response->getBody())->data; + } + + return []; + } + public function getModuleReviews($alias, $data = []) { $response = $this->getRemote('apps/' . $alias . '/reviews', 'GET', $data); diff --git a/resources/lang/en-GB/modules.php b/resources/lang/en-GB/modules.php index 3a2a9a373..7e58d6a79 100644 --- a/resources/lang/en-GB/modules.php +++ b/resources/lang/en-GB/modules.php @@ -23,6 +23,9 @@ return [ 'added' => 'Added', 'updated' => 'Updated', 'compatibility' => 'Compatibility', + 'documentation' => 'Documentation', + 'view' => 'View', + 'back' => 'Back', 'installed' => ':module installed', 'uninstalled' => ':module uninstalled', diff --git a/resources/views/modules/item/documentation.blade.php b/resources/views/modules/item/documentation.blade.php new file mode 100644 index 000000000..85a90e176 --- /dev/null +++ b/resources/views/modules/item/documentation.blade.php @@ -0,0 +1,48 @@ +@extends('layouts.modules') + +@section('title', trans_choice('general.modules', 2)) + +@section('new_button') +  {{ trans('modules.api_token') }} +  {{ trans('modules.my_apps') }} +@endsection + +@section('content') + @include('partials.modules.bar') + +
+
+
+
+
+ @if ($documentation) + {!! $documentation->body !!} + @else + {{ trans('general.na') }} + @endif +
+
+
+ + +
+
+@endsection + +@push('stylesheet') + +@endpush \ No newline at end of file diff --git a/resources/views/modules/item/show.blade.php b/resources/views/modules/item/show.blade.php index 3efd3c878..c660f56a2 100644 --- a/resources/views/modules/item/show.blade.php +++ b/resources/views/modules/item/show.blade.php @@ -85,7 +85,7 @@ @endforeach diff --git a/routes/web.php b/routes/web.php index 6e35dcdcc..eb2910458 100644 --- a/routes/web.php +++ b/routes/web.php @@ -173,6 +173,7 @@ Route::group(['middleware' => 'language'], function () { Route::resource('my', 'Modules\My'); Route::get('categories/{alias}', 'Modules\Tiles@categoryModules'); Route::get('vendors/{alias}', 'Modules\Tiles@vendorModules'); + Route::get('docs/{alias}', 'Modules\Item@documentation'); Route::get('paid', 'Modules\Tiles@paidModules'); Route::get('new', 'Modules\Tiles@newModules'); Route::get('free', 'Modules\Tiles@freeModules');