Conditions | 10 |
Paths | 9 |
Total Lines | 123 |
Code Lines | 86 |
Lines | 0 |
Ratio | 0 % |
Changes | 0 |
Small methods make your code easier to understand, in particular if combined with a good name. Besides, if your method is small, finding a good name is usually much easier.
For example, if you find yourself adding comments to a method's body, this is usually a good sign to extract the commented part to a new method, and use the comment as a starting point when coming up with a good name for this new method.
Commonly applied refactorings include:
If many parameters/temporary variables are present:
1 | <?php |
||
32 | public function joinGroup(Request $request) |
||
33 | { |
||
34 | $request->validate([ |
||
35 | 'gid' => 'required|integer', |
||
36 | ]); |
||
37 | |||
38 | $all_data=$request->all(); |
||
39 | |||
40 | $groupModel=new OutdatedGroupModel(); |
||
41 | $join_policy=$groupModel->joinPolicy($all_data["gid"]); |
||
42 | if (is_null($join_policy)) { |
||
43 | return ResponseModel::err(7001); |
||
44 | } |
||
45 | $group = Group::find($all_data['gid']); |
||
46 | $leader = $group->leader; |
||
47 | $clearance=$groupModel->judgeClearance($all_data["gid"], Auth::user()->id); |
||
48 | if ($join_policy==1) { |
||
49 | if ($clearance==-1) { |
||
50 | $groupModel->changeClearance(Auth::user()->id, $all_data["gid"], 1); |
||
51 | sendMessage([ |
||
52 | 'sender' => 1, |
||
53 | 'receiver' => $leader->id, |
||
54 | 'title' => "Some users agreed to join your group {$group->name}.", |
||
55 | 'type' => 2, |
||
56 | 'data' => [ |
||
57 | 'group' => [ |
||
58 | 'gcode' => $group->gcode, |
||
59 | 'name' => $group->name, |
||
60 | 'url' => route('group.detail',['gcode' => $group->gcode]) |
||
61 | ], |
||
62 | 'user' => [ |
||
63 | [ |
||
64 | 'name' => Auth::user()->name, |
||
65 | 'url' => route('user.view',['uid' => Auth::user()->id]) |
||
66 | ] |
||
67 | ] |
||
68 | ] |
||
69 | ]); |
||
70 | return ResponseModel::success(200,null,[ |
||
71 | 'uid' => Auth::user()->id, |
||
72 | 'role_color_old' => $groupModel->role_color[-1], |
||
73 | 'role_color' => $groupModel->role_color[1], |
||
74 | 'role' => $groupModel->role[1], |
||
75 | ]); |
||
76 | } |
||
77 | return ResponseModel::success(200); |
||
78 | } elseif ($join_policy==2) { |
||
79 | if ($clearance==-3) { |
||
80 | $groupModel->addClearance(Auth::user()->id, $all_data["gid"], 0); |
||
81 | //send message to leader |
||
82 | sendMessage([ |
||
83 | 'sender' => 1, |
||
84 | 'receiver' => $leader->id, |
||
85 | 'title' => 'Someone applied to join your group.', |
||
86 | 'type' => 1, |
||
87 | 'data' => [ |
||
88 | 'group' => [ |
||
89 | 'gcode' => $group->gcode, |
||
90 | 'name' => $group->name, |
||
91 | 'url' => route('group.detail',['gcode' => $group->gcode]) |
||
92 | ], |
||
93 | 'user' => [ |
||
94 | [ |
||
95 | 'name' => Auth::user()->name, |
||
96 | 'url' => route('user.view',['uid' => Auth::user()->id]) |
||
97 | ] |
||
98 | ] |
||
99 | ] |
||
100 | ]); |
||
101 | } |
||
102 | return ResponseModel::success(200); |
||
103 | } elseif ($join_policy==3 || $join_policy==0) { //The default value of join_policy when you create a group will be 0 in old version. |
||
104 | if ($clearance==-1) { |
||
105 | $groupModel->changeClearance(Auth::user()->id, $all_data["gid"], 1); |
||
106 | sendMessage([ |
||
107 | 'sender' => 1, |
||
108 | 'receiver' => $leader->id, |
||
109 | 'title' => "Some users agreed to join your group {$group->name}.", |
||
110 | 'type' => 2, |
||
111 | 'data' => [ |
||
112 | 'group' => [ |
||
113 | 'gcode' => $group->gcode, |
||
114 | 'name' => $group->name, |
||
115 | 'url' => route('group.detail',['gcode' => $group->gcode]) |
||
116 | ], |
||
117 | 'user' => [ |
||
118 | [ |
||
119 | 'name' => Auth::user()->name, |
||
120 | 'url' => route('user.view',['uid' => Auth::user()->id]) |
||
121 | ] |
||
122 | ] |
||
123 | ] |
||
124 | ]); |
||
125 | return ResponseModel::success(200,null,[ |
||
126 | 'uid' => Auth::user()->id, |
||
127 | 'role_color_old' => $groupModel->role_color[-1], |
||
128 | 'role_color' => $groupModel->role_color[1], |
||
129 | 'role' => $groupModel->role[1] |
||
130 | ]); |
||
131 | } elseif ($clearance==-3) { |
||
132 | $groupModel->addClearance(Auth::user()->id, $all_data["gid"], 0); |
||
133 | //send message to leader |
||
134 | sendMessage([ |
||
135 | 'sender' => 1, |
||
136 | 'receiver' => $leader->id, |
||
137 | 'title' => "Some users applied to join your group {$group->name}.", |
||
138 | 'type' => 1, |
||
139 | 'data' => [ |
||
140 | 'group' => [ |
||
141 | 'gcode' => $group->gcode, |
||
142 | 'name' => $group->name, |
||
143 | 'url' => route('group.detail',['gcode' => $group->gcode]) |
||
144 | ], |
||
145 | 'user' => [ |
||
146 | [ |
||
147 | 'name' => Auth::user()->name, |
||
148 | 'url' => route('user.view',['uid' => Auth::user()->id]) |
||
149 | ] |
||
150 | ] |
||
151 | ] |
||
152 | ]); |
||
153 | } |
||
154 | return ResponseModel::success(200); |
||
155 | } |
||
254 |