|
@@ -230,30 +230,44 @@ class SettingsController extends Controller
|
|
|
|
|
|
public function timelineSettings(Request $request)
|
|
|
{
|
|
|
- $pid = $request->user()->profile_id;
|
|
|
- $top = Redis::zscore('pf:tl:top', $pid) != false;
|
|
|
- $replies = Redis::zscore('pf:tl:replies', $pid) != false;
|
|
|
- return view('settings.timeline', compact('top', 'replies'));
|
|
|
+ $uid = $request->user()->id;
|
|
|
+ $pid = $request->user()->profile_id;
|
|
|
+ $top = Redis::zscore('pf:tl:top', $pid) != false;
|
|
|
+ $replies = Redis::zscore('pf:tl:replies', $pid) != false;
|
|
|
+ $userSettings = UserSetting::firstOrCreate([
|
|
|
+ 'user_id' => $uid
|
|
|
+ ]);
|
|
|
+ if(!$userSettings || !$userSettings->other) {
|
|
|
+ $userSettings = [
|
|
|
+ 'enable_reblogs' => false,
|
|
|
+ ];
|
|
|
+ } else {
|
|
|
+ $userSettings = $userSettings->other;
|
|
|
+ }
|
|
|
+ return view('settings.timeline', compact('top', 'replies', 'userSettings'));
|
|
|
}
|
|
|
|
|
|
public function updateTimelineSettings(Request $request)
|
|
|
{
|
|
|
- $pid = $request->user()->profile_id;
|
|
|
- $top = $request->has('top') && $request->input('top') === 'on';
|
|
|
- $replies = $request->has('replies') && $request->input('replies') === 'on';
|
|
|
-
|
|
|
- if($top) {
|
|
|
- Redis::zadd('pf:tl:top', $pid, $pid);
|
|
|
- } else {
|
|
|
- Redis::zrem('pf:tl:top', $pid);
|
|
|
- }
|
|
|
-
|
|
|
- if($replies) {
|
|
|
- Redis::zadd('pf:tl:replies', $pid, $pid);
|
|
|
- } else {
|
|
|
- Redis::zrem('pf:tl:replies', $pid);
|
|
|
- }
|
|
|
- return redirect(route('settings'))->with('status', 'Timeline settings successfully updated!');
|
|
|
+ $pid = $request->user()->profile_id;
|
|
|
+ $uid = $request->user()->id;
|
|
|
+ $this->validate($request, [
|
|
|
+ 'enable_reblogs' => 'sometimes'
|
|
|
+ ]);
|
|
|
+ Redis::zrem('pf:tl:top', $pid);
|
|
|
+ Redis::zrem('pf:tl:replies', $pid);
|
|
|
+ $userSettings = UserSetting::firstOrCreate([
|
|
|
+ 'user_id' => $uid
|
|
|
+ ]);
|
|
|
+ if($userSettings->other) {
|
|
|
+ $other = $userSettings->other;
|
|
|
+ $other['enable_reblogs'] = $request->has('enable_reblogs');
|
|
|
+ } else {
|
|
|
+ $other['enable_reblogs'] = $request->has('enable_reblogs');
|
|
|
+ }
|
|
|
+ $userSettings->other = $other;
|
|
|
+ $userSettings->save();
|
|
|
+ return redirect(route('settings'))->with('status', 'Timeline settings successfully updated!');
|
|
|
}
|
|
|
|
|
|
public function mediaSettings(Request $request)
|