HEX
Server: LiteSpeed
System: Linux s1049.use1.mysecurecloudhost.com 4.18.0-477.27.2.lve.el8.x86_64 #1 SMP Wed Oct 11 12:32:56 UTC 2023 x86_64
User: xedaptot (3356)
PHP: 8.3.31
Disabled: NONE
Upload Files
File: /home/xedaptot/ai.naniguide.com/app/Model/TemplateCategory.php
<?php

namespace App\Model;

use Illuminate\Database\Eloquent\Model;
use App\Library\Traits\HasUid;

class TemplateCategory extends Model
{
    use HasUid;


    /**
     * The attributes that are mass assignable.
     *
     * @var array
     */
    protected $fillable = [
        'name'
    ];

    /**
     * The template that belong to the categories.
     */
    public function templates()
    {
        return $this->belongsToMany('App\Model\Template', 'templates_categories', 'category_id', 'template_id');
    }

    public static function getAll()
    {
        if (!config('custom.woo')) {
            return static::where('name', '!=', 'WooCommerce')->get();
        }

        return static::all();
    }

    /**
     * Style/tier categories surfaced to the customer-side email template picker.
     *
     * Unified taxonomy (2026-04-09): legacy "Basic" / "Featured" categories were
     * dropped in favour of "Base" / "Extended" (admin classification reused as the
     * customer-visible style tier). WooCommerce remains conditional on the woo plugin.
     */
    public static function scopeForEmail($query)
    {
        $names = [
            'Base',
            'Extended',
        ];

        if (config('custom.woo')) {
            $names[] = 'WooCommerce';
        }

        return $query->whereIn('name', $names);
    }

    public static function scopeForForm($query)
    {
        // Unified taxonomy (2026-04-09): legacy "Popup" style category dropped.
        // Form templates are now classified ONLY as Base / Extended (same as email).
        $names = [
            'Base',
            'Extended',
        ];

        return $query->whereIn('name', $names);
    }
}