HEX
Server: nginx/1.28.1
System: Linux 10-41-63-61 6.8.0-31-generic #31-Ubuntu SMP PREEMPT_DYNAMIC Sat Apr 20 00:40:06 UTC 2024 x86_64
User: www (1001)
PHP: 7.4.33
Disabled: passthru,exec,system,putenv,chroot,chgrp,chown,shell_exec,popen,proc_open,pcntl_exec,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,popepassthru,pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,imap_open,apache_setenv
Upload Files
File: /www/wwwroot//www.shooperm.com/Modules/Blog/Repositories/BlogPostRepository.php
<?php

namespace Modules\Blog\Repositories;
use Modules\Blog\Entities\BlogPost;
use Modules\Blog\Entities\BlogCategory;
use Modules\Blog\Entities\BlogTag;
use Auth;
use Modules\Setup\Entities\Tag;

class BlogPostRepository
{
    public function getAll()
    {
        return BlogPost::latest();
    }
    public function getUserPost()
    {
        return BlogPost::where('author_id',auth()->user()->id)->latest();
    }
    public function create(array $data)
    {
        return BlogPost::create($data);
    }

    public function find($id)
    {
        return BlogPost::findOrFail($id);
    }

    public function update(array $data, $id)
    {
        return BlogPost::findOrFail($id)->update($data);
    }

    public function delete($id)
    {
        return BlogPost::findOrFail($id)->delete();
    }

    public function statusUpdate($data, $id)
    {
        BlogPost::where('id',$id)->first()->update([
            'status' => $data['status']
        ]);
        return true;
    }

    public function approvalUpdate($data, $id){

        return BlogPost::where('id',$id)->update([
            'is_approved' => $data['is_approved'],
            'approved_by' => $data['approved_by']
        ]);
    }

    public function categoryList(){
        return BlogCategory::all();
    }
    public function tagList(){
        return Tag::limit(10)->get();
    }
    public  function categoryParentList(){
        return BlogCategory::where('parent_id',0)->get();
    }
    public function findWithRelModal($id){
        return BlogPost::where('id',$id)->with(['categories','tags','user'])->first();
    }
    public function isTag($tagSlug){
        return BlogTag::with('posts')->where('name', trim($tagSlug))->first();
    }
    public function deletePostImg($id){
        $post = BlogPost::where('id',$id)->firstOrFail();
        if(file_exists($post->image_url)){
            unlink(public_path($post->image_url));
        }
        $post->update([
            'image_url' => null
        ]);

        return true;
    }


}