MOON
Server: Apache
System: Linux server1.studioinfinity.com.br 2.6.32-954.3.5.lve1.4.90.el6.x86_64 #1 SMP Tue Feb 21 12:26:30 UTC 2023 x86_64
User: artinside (517)
PHP: 7.4.33
Disabled: exec,passthru,shell_exec,system
Upload Files
File: //home/artinside/www/finance/source/Models/Gallery.php
<?php

namespace Source\Models;

use Source\Core\Model;
use Source\Support\Thumb;

/**
 * Class Category
 * @package Source\Models
 */
class Gallery extends Model
{
    /**
     * Category constructor.
     */
    public function __construct()
    {
        parent::__construct("gallery", ["id"], ["gallery_link", "tabela_base"]);
    }

    public function findByGLink(string $gallery_link, string $columns = "*"): ?Gallery
    {
        $find = $this->find("gallery_link = :gallery_link", "gallery_link={$gallery_link}", $columns);
        return $find->fetch();
    }

    public function galDelete($galleryLink): ?bool
    {
        $gal = $this->find("gallery_link = :g", "g={$galleryLink}")->fetch(true);

        if(!$gal){
            return false;
        }
        foreach ($gal as $item) {
            if ($item->gallery && file_exists(__DIR__ . "/../../" . CONF_UPLOAD_DIR . "/{$item->gallery}")) {
                unlink(__DIR__ . "/../../" . CONF_UPLOAD_DIR . "/{$item->gallery}");
                (new Thumb())->flush($item->gallery);
                $this->delete("id = :id", "id={$item->id}");
            }
        }
        return true;
    }

}