123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106 |
- <?php
- namespace Themes\Pro\modunawa\app\Http\Controllers;
- use App\Helpers\File;
- use App\Http\Controllers\Controller;
- use App\Services\CallApiService;
- class PolicyController extends Controller
- {
- private $callApiService;
- public function __construct(CallApiService $callApiService)
- {
- $this->callApiService = $callApiService;
- }
- public function index()
- {
- $limit = (int)request('limit', 10);
- $page = (int)request('page', 1);
- $policyPage = $this->callApiService->callApi([
- 'url' => 'simple-join-page',
- 'data' => [
- 'QueryVars' => [
- 'QueryName' => 'post-member-user',
- 'SimpleFilter' => "post_type_id = 11 and mx.status = '0'"
- ],
- 'PageVars' => [
- 'Desc' => 'Id',
- 'Limit' => $limit,
- 'Offset' => ($page - 1) * $limit
- ]
- ]
- ]);
- // dd($policyPage);
- $policy = $policyPage['Page'][0];
- if (empty($policy)) {
- notify()->error(__('이용약관이 존재하지 않습니다'), 'Error', 'bottomRight');
- return redirect()->back();
- }
- if (empty($policy['PostSlug'])) {
- $key = $policy['Id'];
- } else {
- $key = $policy['PostSlug'];
- }
- return redirect()->route('policy.show', $key);
- }
- public function show($slug)
- {
- $postPick = $this->pickPost([ 'PostSlug' => $slug ]);
- if ($this->callApiService->verifyApiError($postPick)) {
- $postPick = $this->pickPost([ 'Id' => (int)$slug ]);
- }
- if ($this->callApiService->verifyApiError($postPick)) {
- return redirect()->back();
- }
- $post = $postPick['Page'][0];
- if ($post['Status'] === '1') {
- notify()->error(__('이용약관이 존재하지 않습니다'), 'Error', 'bottomRight');
- return redirect()->back();
- }
- $policyPage = $this->callApiService->callApi([
- 'url' => 'simple-join-page',
- 'data' => [
- 'QueryVars' => [
- 'QueryName' => 'post-member-user',
- 'SimpleFilter' => "post_type_id = 11 and mx.status = '0'"
- ],
- 'PageVars' => [
- 'Desc' => 'Id',
- 'Limit' => 9999,
- 'Offset' => 0
- ]
- ]
- ]);
- $currKey = collect($policyPage['Page'])->search(function($policy) use ($post) {
- return $policy['Id'] === $post['Id'];
- });
- $title = __('이용약관');
- // dd($post);
- //dd(count($policyPage['Page']));
- return view('views.policy-or-privacy', compact('policyPage', 'currKey', 'post', 'title'));
- }
- public function pickPost($page)
- {
- return $this->callApiService->callApi([
- 'url' => 'post-pick',
- 'data' => [
- 'Page' => [ $page ],
- ]
- ]);
- }
- }
|