HEX
Server: LiteSpeed
System: Linux sv4.hami.host 5.14.0-611.54.3.el9_7.x86_64 #1 SMP PREEMPT_DYNAMIC Thu May 7 16:31:24 EDT 2026 x86_64
User: armgroup (1008)
PHP: 8.2.32
Disabled: show_source, system, shell_exec, passthru, exec, popen, proc_open, mail, socket_create, socket_create_listen, socket_create_pair, link, dl, openlog, syslog, stream_socket_server, curl_multi_init
Upload Files
File: /home/armgroup/libs/vendor/yajra/laravel-datatables-buttons/src/Html/DataTableHtml.php
<?php

namespace Yajra\DataTables\Html;

use BadMethodCallException;
use Yajra\DataTables\Contracts\DataTableHtmlBuilder;

/**
 * @mixin Builder
 */
abstract class DataTableHtml implements DataTableHtmlBuilder
{
    /**
     * @var \Yajra\DataTables\Html\Builder
     */
    protected $htmlBuilder;

    /**
     * @return \Yajra\DataTables\Html\Builder
     */
    public static function make()
    {
        if (func_get_args()) {
            return (new static(...func_get_args()))->handle();
        }

        return app(static::class)->handle();
    }

    /**
     * @param  string  $name
     * @param  mixed  $arguments
     * @return mixed
     *
     * @throws \Exception
     */
    public function __call($name, $arguments)
    {
        if (method_exists($this->getHtmlBuilder(), $name)) {
            return $this->getHtmlBuilder()->{$name}(...$arguments);
        }

        throw new BadMethodCallException("Method {$name} does not exists");
    }

    /**
     * @return \Yajra\DataTables\Html\Builder
     */
    protected function getHtmlBuilder()
    {
        if ($this->htmlBuilder) {
            return $this->htmlBuilder;
        }

        return $this->htmlBuilder = app(Builder::class);
    }

    /**
     * @param  mixed  $builder
     * @return static
     */
    public function setHtmlBuilder($builder)
    {
        $this->htmlBuilder = $builder;

        return $this;
    }
}