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/Setup/Repositories/TagRepository.php
<?php

namespace Modules\Setup\Repositories;

use Modules\Setup\Entities\Tag;
use Auth;

class TagRepository
{
    public function getAll()
    {
        return Tag::all();
    }

    public function create(array $data)
    {
        return Tag::create($data);
    }

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

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

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

    public function getTagBySentence($sentence)
    {
        $keywords = explode(' ', $sentence);
        $tags = Tag::whereIn('name', $keywords)->inRandomOrder()->take(6)->get();
        $result = "";
        foreach ($tags as $tag) {
            $result .=  '<a href="#" class="tag-add">'.$tag->name.'</a>&nbsp&nbsp&nbsp&nbsp';
        }
        return $result;
    }
    public function is_tag($name)
    {
        return Tag::where('name',$name)->first();
    }

    public function getByAjax($search){
        $tags = collect();
        if($search == ''){
            $tags = Tag::select('id','name')->paginate(10);
        }else{
            $tags = Tag::select('id','name')
                ->where('name', 'LIKE', "%{$search}%")
                ->paginate(10);
        }
        $response = [];

        foreach($tags as $tag){
            $response[]  =[
                'id'    =>$tag->id,
                'text'  =>$tag->name
            ];
        }
        return  $response;
    }
    public function firstTag(){
        return Tag::select(['id', 'name'])->first();
    }
}