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/CommentController.php
<?php

namespace App\Http\Controllers;

use App\Models\Comment;
use App\Models\User;
use App\Models\Post;
use App\Notifications\UserNotified;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Auth;
use Illuminate\Support\Str;
use Validator;


class CommentController extends Controller
{
    public function index()
    {
        //
    }


    public function create()
    {
        //
    }


    public function store(Request $request)
    {
        $attributes = request(['post_id', 'user_id', 'body', 'parent_id']);

        $validator = Validator::make($request->all(), [
            'body' => 'required',
        ]);

        if ($validator->passes()) {
        $attributes['user_id'] = Auth::user()->id;

        $data = Comment::create($attributes);

        $user = str_limit(Auth::user()->name, 10);
        $username = Auth::user()->username;

        if (substr( Auth::user()->avatar, 0, 4 ) === "http") {
            $avatar = Auth::user()->avatar;
        } else {
            $avatar = url('/') . '/images/' . Auth::user()->avatar;
        }

        $comid = $data->id;

        preg_match_all('/\B@(\w+)/', $request->body, $mentionedUsers);

        $post = Post::findOrFail($request->post_id);

        $postData = [
            'title' => $post->post_title,
            'slug' => $post->post_slug,
            'user' => $username,
            'type' => 'comment',
        ];

        foreach ($mentionedUsers[1] as $mentionedUser) {

            $replaced = Str::replaceFirst('@', '', $mentionedUser);

            $foundUser = User::where('username', $replaced)->first();

            if ($foundUser) {
               $foundUser->notify(new UserNotified($postData));
            }
            
        }

        $postOwner = User::findOrFail($post->user_id);
        $siteadmin = User::findOrFail(1);
        data_set($postData, 'type', 'newcomment');

        if ($postOwner->id != '1') {
            $postOwner->notify(new UserNotified($postData));
        }
        
        $siteadmin->notify(new UserNotified($postData));


        return response()->json(['success'=>$request->body, 'user'=>$user, 'username'=>$username, 'avatar'=>$avatar, 'comid'=>$comid ]);

        }

        return response()->json(['error'=>$validator->errors()->all()]);

    }

    public function show(Comment $comment)
    {
        //
    }

    public function edit(Comment $comment)
    {
        //
    }

    public function update(Request $request)
    {   
        $comment = Comment::findOrFail($request->id);

        $attributes = request(['body']);

        $validator = Validator::make($request->all(), [
            'body' => 'required',
        ]);

        if ($validator->passes()) {

        $comment->update($attributes);

        return response()->json(['success'=>$request->body]);

        }

        return response()->json(['error'=>$validator->errors()->all()]);

    }

    public function destroy(Request $request)
    {
        $comment = Comment::findOrFail($request->id);
        $comment->delete();

        if($comment->replies()) {
            $comment->replies()->delete();
        }
        
        return response()->json(['success'=>'Deleted']);
    }
}

Youez - 2016 - github.com/yon3zu
LinuXploit