Skip to content

Commit 1b85bb7

Browse files
authored
Merge pull request #1992 from opensource-workshop/2.17.4
Merge v1.17.4 into 2
2 parents 3654f2c + 121a04a commit 1b85bb7

File tree

12 files changed

+93
-81
lines changed

12 files changed

+93
-81
lines changed

app/Http/Controllers/Auth/LoginController.php

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,8 @@
1616
// ログインエラーをCatch するために追加。
1717
use Illuminate\Validation\ValidationException;
1818

19+
use App\Plugins\Manage\UserManage\UsersTool;
20+
1921
use App\User;
2022
use App\Models\Core\Configs;
2123
use App\Models\Core\UsersRoles;
@@ -306,6 +308,7 @@ public function authMethod($request)
306308
$user->userid = $request['userid'];
307309
$user->password = Hash::make($request['password']);
308310
$user->created_event = AuthMethodType::netcommons2;
311+
$user->columns_set_id = UsersTool::COLUMNS_SET_ID_DEFAULT;
309312
$user->save();
310313

311314
// 追加権限設定があれば作成
@@ -411,6 +414,7 @@ public function authMethod($request)
411414
$user->userid = $request->userid;
412415
$user->password = $password;
413416
$user->created_event = AuthMethodType::ldap;
417+
$user->columns_set_id = UsersTool::COLUMNS_SET_ID_DEFAULT;
414418
$user->save();
415419

416420
} else {
@@ -495,6 +499,7 @@ private function authMethodShibboleth($request)
495499
$user->email = $email;
496500
$user->password = $password;
497501
$user->created_event = AuthMethodType::shibboleth;
502+
$user->columns_set_id = UsersTool::COLUMNS_SET_ID_DEFAULT;
498503
$user->save();
499504

500505
// [TODO] 区分 (unscoped-affiliation), faculty (教員),staff (職員), student (学生)

app/Plugins/Api/Nc2Sso/Nc2Sso.php

Lines changed: 7 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -2,25 +2,21 @@
22

33
namespace App\Plugins\Api\Nc2Sso;
44

5-
use Illuminate\Http\Request;
6-
use Illuminate\Support\Facades\Auth;
7-
use Illuminate\Support\Facades\Log;
8-
use Illuminate\Support\Facades\Validator;
9-
10-
use DB;
11-
125
use App\Models\Core\UsersRoles;
13-
use App\User;
146
use App\Plugins\Api\ApiPluginBase;
7+
use App\Plugins\Manage\UserManage\UsersTool;
158
use App\Traits\ConnectCommonTrait;
9+
use App\User;
10+
use Illuminate\Support\Facades\Auth;
1611

1712
/**
1813
* NC2からのSSO管理クラス
1914
*
2015
* @author 永原 篤 <nagahara@opensource-workshop.jp>
16+
* @author 牟田口 満 <mutaguchi@opensource-workshop.jp>
2117
* @copyright OpenSource-WorkShop Co.,Ltd. All Rights Reserved
2218
* @category ページ管理
23-
* @package Contoroller
19+
* @package Controller
2420
*/
2521
class Nc2Sso extends ApiPluginBase
2622
{
@@ -78,7 +74,7 @@ public function index($request, $site_key, $login_id, $token)
7874
if (!empty($user)) {
7975
// ユーザ権限データ取得
8076
//$roles = UsersRoles::getUsersRoles($user->id);
81-
$users_roles = new UsersRoles();
77+
// $users_roles = new UsersRoles();
8278

8379
// 権限が一般 or ゲストの場合は、自動ログイン
8480
// if ($user->role == config('cc_role.ROLE_PAGE_MANAGER') || $user->role == config('cc_role.ROLE_GUEST')) {
@@ -121,6 +117,7 @@ public function index($request, $site_key, $login_id, $token)
121117
$user->userid = $login_id;
122118
$user->password = 'sso-invalid-password'; // プレーンテキストのパスワードは設定しても、入力パスワードと一致する事はないため、無効になる
123119
//$user->role = 0;
120+
$user->columns_set_id = UsersTool::COLUMNS_SET_ID_DEFAULT;
124121
$user->save();
125122

126123
// ユーザ権限の登録

app/Plugins/Manage/UserManage/UserManage.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -577,7 +577,7 @@ private function getColumnsSetIdManageDefault(): int
577577
$columns_set_id = 0;
578578
} else {
579579
// 1:ユーザ一覧(基本)
580-
$columns_set_id = 1;
580+
$columns_set_id = UsersTool::COLUMNS_SET_ID_DEFAULT;
581581
}
582582

583583
return $columns_set_id;

app/Plugins/Manage/UserManage/UsersTool.php

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,9 @@ class UsersTool
2626
{
2727
const CHECKBOX_SEPARATOR = '|';
2828

29+
/** columns_set_id 初期値 1:基本 */
30+
const COLUMNS_SET_ID_DEFAULT = 1;
31+
2932
/**
3033
* ユーザーのカラム取得
3134
*/

app/Plugins/User/Forms/FormsPlugin.php

Lines changed: 45 additions & 53 deletions
Original file line numberDiff line numberDiff line change
@@ -97,6 +97,7 @@ public function getPublicFunctions()
9797
'publicConfirmToken',
9898
'listInputs',
9999
'editInput',
100+
'thanks',
100101
];
101102
$functions['post'] = [
102103
'index',
@@ -898,24 +899,20 @@ public function publicStore($request, $page_id, $frame_id, $id = null)
898899

899900
// 表示期間外か
900901
if ($this->isOutOfTermDisplay($form)) {
901-
// 表示しない
902-
return false;
902+
// 初期表示にリダイレクトして、初期表示処理にまかせる(表示しない
903+
return collect(['redirect_path' => url($this->page->permanent_link)]);
903904
}
904905

905906
// 登録期間外か
906907
if ($this->isOutOfTermRegist($form)) {
907-
// エラー画面へ
908-
return $this->commonView('error_messages', [
909-
'error_messages' => ['登録期間外のため、登録出来ません。'],
910-
]);
908+
// 初期表示にリダイレクトして、初期表示処理にまかせる(エラー表示)
909+
return collect(['redirect_path' => url($this->page->permanent_link)]);
911910
}
912911

913912
// 登録制限数オーバーか
914913
if ($this->isOverEntryLimit($form->id, $form->entry_limit)) {
915-
// エラー画面へ
916-
return $this->commonView('error_messages', [
917-
'error_messages' => [$form->entry_limit_over_message],
918-
]);
914+
// 初期表示にリダイレクトして、初期表示処理にまかせる(エラー表示)
915+
return collect(['redirect_path' => url($this->page->permanent_link)]);
919916
}
920917

921918
// forms_inputs 登録
@@ -1027,10 +1024,11 @@ public function publicStore($request, $page_id, $frame_id, $id = null)
10271024
$contents_text = trim($contents_text);
10281025

10291026
if ($form->use_temporary_regist_mail_flag) {
1030-
// 仮登録
1027+
// *** 仮登録
10311028
// ユーザ側のみメール送信する
10321029

10331030
$after_message = $form->temporary_regist_after_message;
1031+
session()->flash("after_message{$frame_id}", $after_message);
10341032

10351033
// メール送信
10361034
// メール件名の組み立て
@@ -1066,16 +1064,15 @@ public function publicStore($request, $page_id, $frame_id, $id = null)
10661064
// メール送信(ユーザー側)
10671065
foreach ($user_mailaddresses as $user_mailaddress) {
10681066
if (!empty($user_mailaddress)) {
1069-
// Mail::to(trim($user_mailaddress))->send(new ConnectMail($mail_options, ['content' => $mail_text]));
10701067
// メール送信はログ出力の追加に伴いTrait のメソッドに移行
10711068
$this->sendMail($user_mailaddress, $mail_options, ['content' => $mail_text], $this->getPluginName());
10721069
}
10731070
}
10741071
} else {
1075-
// 本登録
1076-
1072+
// *** 本登録
10771073
// 登録後メッセージ内の採番文字列を置換
10781074
$after_message = str_replace('[[number]]', $number, $form->after_message);
1075+
session()->flash("after_message{$frame_id}", $after_message);
10791076

10801077
// メール送信
10811078
if ($form->mail_send_flag || $form->user_mail_send_flag) {
@@ -1114,7 +1111,6 @@ public function publicStore($request, $page_id, $frame_id, $id = null)
11141111
if ($form->mail_send_flag) {
11151112
$mail_addresses = explode(',', $form->mail_send_address);
11161113
foreach ($mail_addresses as $mail_address) {
1117-
// Mail::to(trim($mail_address))->send(new ConnectMail($mail_options, ['content' => $mail_text]));
11181114
// メール送信はログ出力の追加に伴いTrait のメソッドに移行
11191115
$this->sendMail($mail_address, $mail_options, ['content' => $mail_text], $this->getPluginName());
11201116
}
@@ -1124,7 +1120,6 @@ public function publicStore($request, $page_id, $frame_id, $id = null)
11241120
if ($form->user_mail_send_flag) {
11251121
foreach ($user_mailaddresses as $user_mailaddress) {
11261122
if (!empty($user_mailaddress)) {
1127-
// Mail::to(trim($user_mailaddress))->send(new ConnectMail($mail_options, ['content' => $mail_text]));
11281123
// メール送信はログ出力の追加に伴いTrait のメソッドに移行
11291124
$this->sendMail($user_mailaddress, $mail_options, ['content' => $mail_text], $this->getPluginName());
11301125
}
@@ -1151,9 +1146,17 @@ public function publicStore($request, $page_id, $frame_id, $id = null)
11511146
}
11521147
}
11531148

1154-
// 表示テンプレートを呼び出す。
1149+
// 登録後のリダイレクト表示
1150+
return collect(['redirect_path' => url('/') . "/plugin/forms/thanks/{$page_id}/{$frame_id}#frame-{$frame_id}"]);
1151+
}
1152+
1153+
/**
1154+
* 登録後画面
1155+
*/
1156+
public function thanks($request, $page_id, $frame_id, $id = null)
1157+
{
11551158
return $this->view('forms_thanks', [
1156-
'after_message' => $after_message
1159+
'after_message' => session("after_message{$frame_id}")
11571160
]);
11581161
}
11591162

@@ -1257,33 +1260,30 @@ public function publicStoreToken($request, $page_id, $frame_id, $id)
12571260

12581261
// 表示期間外か
12591262
if ($this->isOutOfTermDisplay($form)) {
1260-
// 表示しない
1261-
return false;
1263+
// 初期表示にリダイレクトして、初期表示処理にまかせる(表示しない
1264+
return collect(['redirect_path' => url($this->page->permanent_link)]);
12621265
}
12631266

12641267
// 登録期間外か
12651268
if ($this->isOutOfTermRegist($form)) {
1266-
// エラー画面へ
1267-
return $this->commonView('error_messages', [
1268-
'error_messages' => ['登録期間外のため、登録出来ません。'],
1269-
]);
1269+
// 初期表示にリダイレクトして、初期表示処理にまかせる(エラー表示)
1270+
return collect(['redirect_path' => url($this->page->permanent_link)]);
12701271
}
12711272

12721273
// 登録制限数オーバーか
12731274
if ($this->isOverEntryLimit($form->id, $form->entry_limit)) {
1274-
// エラー画面へ
1275-
return $this->commonView('error_messages', [
1276-
'error_messages' => [$form->entry_limit_over_message],
1277-
]);
1275+
// 初期表示にリダイレクトして、初期表示処理にまかせる(エラー表示)
1276+
return collect(['redirect_path' => url($this->page->permanent_link)]);
12781277
}
12791278

12801279
// $id がなかったら、エラー画面へ
12811280
// $forms_inputs がなかったら、エラー画面へ
12821281
$forms_inputs = FormsInputs::find($id);
12831282
if (empty($forms_inputs)) {
1284-
return $this->commonView('error_messages', [
1285-
'error_messages' => ['有効期限切れのため、そのURLはご利用できません。'],
1286-
]);
1283+
session()->flash("error_messages{$frame_id}", '有効期限切れのため、そのURLはご利用できません。');
1284+
1285+
// 初期表示にリダイレクトして、初期表示処理にまかせる(エラー表示)
1286+
return collect(['redirect_path' => url($this->page->permanent_link)]);
12871287
}
12881288

12891289
// 項目のエラーチェック
@@ -1293,9 +1293,11 @@ public function publicStoreToken($request, $page_id, $frame_id, $id)
12931293

12941294
// getで日付形式エラーは表示しない(通常URLをコピペミス等でいじらなければエラーにならない想定)
12951295
if ($validator->fails()) {
1296-
return $this->commonView('error_messages', [
1297-
'error_messages' => $validator->errors()->all(),
1298-
]);
1296+
$error_messages = $validator->errors()->all();
1297+
session()->flash("error_messages{$frame_id}", $error_messages[0]);
1298+
1299+
// 初期表示にリダイレクトして、初期表示処理にまかせる(エラー表示)
1300+
return collect(['redirect_path' => url($this->page->permanent_link)]);
12991301
}
13001302

13011303
// forms_inputs 更新
@@ -1314,22 +1316,17 @@ public function publicStoreToken($request, $page_id, $frame_id, $id)
13141316

13151317
// フォームの登録データ
13161318
$forms_input_cols = FormsInputCols::where('forms_inputs_id', $id)
1317-
->get()
1318-
// keyをforms_columns_idにした結果をセット
1319-
->mapWithKeys(function ($item) {
1320-
return [$item['forms_columns_id'] => $item];
1321-
});
1319+
->get()
1320+
// keyをforms_columns_idにした結果をセット
1321+
->mapWithKeys(function ($item) {
1322+
return [$item['forms_columns_id'] => $item];
1323+
});
13221324

13231325
// メールの送信文字列
13241326
$contents_text = '';
13251327

13261328
// 登録者のメールアドレス
13271329
$user_mailaddresses = array();
1328-
// dd($id, $forms_input_cols->first()->forms_columns_id);
1329-
// foreach ($forms_input_cols as $forms_input_col) {
1330-
// var_dump($forms_input_col->forms_columns_id);
1331-
// }
1332-
// dd($forms_input_cols->count());
13331330

13341331
// 添付ファイルID
13351332
$attach_uploads_ids = [];
@@ -1367,12 +1364,11 @@ public function publicStoreToken($request, $page_id, $frame_id, $id)
13671364
}
13681365
// 最後の改行を除去
13691366
$contents_text = trim($contents_text);
1370-
// dd($user_mailaddresses);
1371-
1372-
// 本登録
13731367

1368+
// *** 本登録
13741369
// 登録後メッセージ内の採番文字列を置換
13751370
$after_message = str_replace('[[number]]', $number, $form->after_message);
1371+
session()->flash("after_message{$frame_id}", $after_message);
13761372

13771373
// メール送信
13781374
if ($form->mail_send_flag || $form->user_mail_send_flag) {
@@ -1411,7 +1407,6 @@ public function publicStoreToken($request, $page_id, $frame_id, $id)
14111407
if ($form->mail_send_flag) {
14121408
$mail_addresses = explode(',', $form->mail_send_address);
14131409
foreach ($mail_addresses as $mail_address) {
1414-
// Mail::to(trim($mail_address))->send(new ConnectMail($mail_options, ['content' => $mail_text]));
14151410
// メール送信はログ出力の追加に伴いTrait のメソッドに移行
14161411
$this->sendMail($mail_address, $mail_options, ['content' => $mail_text], $this->getPluginName());
14171412
}
@@ -1421,18 +1416,15 @@ public function publicStoreToken($request, $page_id, $frame_id, $id)
14211416
if ($form->user_mail_send_flag) {
14221417
foreach ($user_mailaddresses as $user_mailaddress) {
14231418
if (!empty($user_mailaddress)) {
1424-
// Mail::to(trim($user_mailaddress))->send(new ConnectMail($mail_options, ['content' => $mail_text]));
14251419
// メール送信はログ出力の追加に伴いTrait のメソッドに移行
14261420
$this->sendMail($user_mailaddress, $mail_options, ['content' => $mail_text], $this->getPluginName());
14271421
}
14281422
}
14291423
}
14301424
}
14311425

1432-
// 表示テンプレートを呼び出す。
1433-
return $this->view('forms_thanks', [
1434-
'after_message' => $after_message
1435-
]);
1426+
// 登録後のリダイレクト表示
1427+
return collect(['redirect_path' => url('/') . "/plugin/forms/thanks/{$page_id}/{$frame_id}#frame-{$frame_id}"]);
14361428
}
14371429

14381430
/**

app/Traits/Migration/MigrationTrait.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -84,7 +84,6 @@
8484
use App\Models\User\Rsses\Rsses;
8585
use App\Models\User\Rsses\RssUrls;
8686

87-
8887
use App\User;
8988

9089
use App\Models\Migration\MigrationMapping;
@@ -162,6 +161,7 @@
162161
use App\Models\Migration\Nc2\Nc2Simplemovie;
163162
use App\Models\Migration\Nc2\Nc2RssBlock;
164163

164+
use App\Plugins\Manage\UserManage\UsersTool;
165165
use App\Traits\ConnectCommonTrait;
166166
use App\Utilities\Migration\MigrationUtils;
167167

@@ -1778,7 +1778,7 @@ private function importUsers($redo)
17781778
$user->userid = $user_item['userid'];
17791779
$user->password = $user_item['password'];
17801780
$user->status = $user_item['status'];
1781-
$user->columns_set_id = 1;
1781+
$user->columns_set_id = UsersTool::COLUMNS_SET_ID_DEFAULT;
17821782
$user->created_at = $user_item['created_at'];
17831783
$user->updated_at = $user_item['updated_at'];
17841784
$user->save();

app/Utilities/Request/RequestUtils.php

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -59,6 +59,7 @@ public static function isBot($request): bool
5959
'python-requests',
6060
'meg',
6161
'Scrapy',
62+
'GoogleOther',
6263
];
6364

6465
foreach ($bots as $bot) {

config/version.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212
|
1313
*/
1414

15-
'cc_version' => '2.17.3',
15+
'cc_version' => '2.17.4',
1616

1717
'show_cc_version' => true,
1818
];

resources/views/plugins/user/forms/default/forms.blade.php

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,17 @@
1212

1313
@include('plugins.common.errors_form_line')
1414

15+
{{-- エラーメッセージ:publicStoreToken()リダイレクト時 --}}
16+
@if (session('error_messages' . $frame_id))
17+
<div class="card border-danger form-group">
18+
<div class="card-body">
19+
<span class="text-danger">
20+
<i class="fas fa-exclamation-triangle"></i> {{ session('error_messages' . $frame_id) }}
21+
</span>
22+
</div>
23+
</div>
24+
@endif
25+
1526
@if ($form->can_view_inputs_moderator)
1627
@can('role_article')
1728
<div class="row">

0 commit comments

Comments
 (0)