rocket-a


git -C '/home/opc/rocketa.git' show c8c5ba6 -- app/Http/Controllers/Media/Site.php

commit c8c5ba61b1fb4c40e219ffbcf4e593c54f7d4ac6
Author: Satoshi Ujihara <satoshi_ujihara@fivegate.jp>
Date:   Thu Dec 18 12:00:15 2025 +0900

    メディア会員登録フロー変更

diff --git a/app/Http/Controllers/Media/Site.php b/app/Http/Controllers/Media/Site.php
index 0eefa6f..05f6329 100644
--- a/app/Http/Controllers/Media/Site.php
+++ b/app/Http/Controllers/Media/Site.php
@@ -8,8 +8,9 @@ use Illuminate\Http\Request;
 use Illuminate\Http\Response;
 use App\Http\Controllers\Controller;
 use App\Http\Controllers\Media\Traits\Common;
-
+use App\Mail\registMedia;
 use App\Models\La\MediaDatas;
+use Illuminate\Support\Facades\Mail;
 
 class Site extends Controller
 {
@@ -39,10 +40,17 @@ class Site extends Controller
                 'name',
                 'domain',
                 'category',
+                'custom_param',
+                'api_url',
+                'api_url_test',
+                'status_0',
+                'status_1',
+                'status_2',
                 'type',
                 'monthly_pv',
                 'monthly_uu',
                 'description',
+                'status',
             )
             ->where('id', $request->site_id)
             ->where('company_id', Auth::user('medias')->media_company_id)
@@ -51,7 +59,6 @@ class Site extends Controller
         if (!$media_data) {
             return redirect('/');
         }
-
         return view('media.site.detail')
             ->with('media_category', \Config::get('const.media_category'))
             ->with('media_type', \Config::get('const.media_type'))
@@ -66,7 +73,8 @@ class Site extends Controller
                 'id',
                 'name',
                 'category',
-                'type'
+                'type',
+                'status'
             )
             ->where('company_id', Auth::user('medias')->media_company_id)
             ->orderByRaw('id ASC')
@@ -77,6 +85,40 @@ class Site extends Controller
             ->with('media_type', \Config::get('const.media_type'))
             ->with('media_datas', $media_datas);
     }
+    private function siteRegistGetDefaultValue()
+    {
+        $datas =  (object) [
+            'company_id' => null,
+            'name' => null,
+            'domain' => null,
+            'api_url' => null,
+            'api_url_test' => null,
+            'status_0' => null,
+            'status_1' => null,
+            'status_2' => null,
+            'custom_param' => null,
+            'category' => 1,
+            'type' => 1,
+            'monthly_pv' => 1,
+            'monthly_uu' => 1,
+            'description' => null,
+            'memo' => null,
+        ];
+
+        return $datas;
+    }
+
+    public function siteRegistNew(Request $request)
+    {
+        $media_data = $this->siteRegistGetDefaultValue();
+
+        return view('media.site.regist')
+            ->with('media_data', $media_data)
+            ->with('media_category', \Config::get('const.media_category'))
+            ->with('media_type', \Config::get('const.media_type'))
+            ->with('media_monthly_pv', \Config::get('const.media_monthly_pv'))
+            ->with('media_monthly_uu', \Config::get('const.media_monthly_uu'));
+    }
 
     public function regist(Request $request)
     {
@@ -85,6 +127,12 @@ class Site extends Controller
                 'name',
                 'domain',
                 'category',
+                'custom_param',
+                'api_url',
+                'api_url_test',
+                'status_0',
+                'status_1',
+                'status_2',
                 'type',
                 'monthly_pv',
                 'monthly_uu',
@@ -126,28 +174,57 @@ class Site extends Controller
                     ->with('datas', $request->all());
 
             } elseif ($request->input('action') == 'regist') {
-                $media_data = MediaDatas::where('id', $request->site_id)
-                    ->where('company_id', Auth::user('medias')->media_company_id)
-                    ->first();
-
-                $media_data->name = $request->input('name');
-                $media_data->domain = $request->input('domain');
-                $media_data->category = $request->input('category');
-                $media_data->type = $request->input('type');
-                $media_data->monthly_pv = $request->input('monthly_pv');
-                $media_data->monthly_uu = $request->input('monthly_uu');
-
-                if ($request->has('description') && $request->input('description') != '') {
-                    $media_data->description = $request->input('description');
 
+                if ($request->has('site_id')) {
+                    $media_data = MediaDatas::where('id', $request->site_id)
+                        ->where('company_id', Auth::user('medias')->media_company_id)
+                        ->first();
+
+                    $media_data->name = $request->input('name');
+                    $media_data->domain = $request->input('domain');
+                    $media_data->category = $request->input('category');
+                    $media_data->custom_param = $request->input('custom_param');
+                    $media_data->api_url = $request->input('api_url');
+                    $media_data->api_url_test = $request->input('api_url_test');
+                    $media_data->status_0 = $request->input('status_0');
+                    $media_data->status_1 = $request->input('status_1');
+                    $media_data->status_2 = $request->input('status_2');
+                    $media_data->type = $request->input('type');
+                    $media_data->monthly_pv = $request->input('monthly_pv');
+                    $media_data->monthly_uu = $request->input('monthly_uu');
+
+                    if ($request->has('description') && $request->input('description') != '') {
+                        $media_data->description = $request->input('description');
+
+                    } else {
+                        $media_data->description = null;
+
+                    }
+                    $media_data->save();
+                    $media_id = $request->site_id;
+                    
                 } else {
-                    $media_data->description = null;
-
+                    $edit_data =  (array) $this->siteRegistGetDefaultValue();
+                    foreach ($request->all() as $key => $value) {
+                        if (array_key_exists($key, $edit_data)) {
+                            $edit_data[$key] = $value;
+                        }
+                    }
+                    $edit_data['company_id'] = Auth::user('medias')->media_company_id;
+                    $media_data = MediaDatas::create($edit_data);
+                    $media_id = $media_data->id;
+                    
                 }
-
-                $media_data->save();
-
-                return redirect('/site/detail/'.$request->site_id);
+                if($media_data->status == 0) {
+                    $media_data_array = [
+                        'media_id' => $media_data->id
+                    ];
+                    Mail::to(['ujihara@aixinc.io'])
+                        ->send(new registMedia($media_data_array));
+
+                    return redirect('/site/detail/'.$media_id .'?msg=pending');
+                }
+                return redirect('/site/detail/'.$media_id);
             }
         } else {
             return redirect('/');

diff.txt · 最終更新: by root