Spamworldpro Mini Shell
Spamworldpro


Server : Apache
System : Linux server2.corals.io 4.18.0-348.2.1.el8_5.x86_64 #1 SMP Mon Nov 15 09:17:08 EST 2021 x86_64
User : corals ( 1002)
PHP Version : 7.4.33
Disable Function : exec,passthru,shell_exec,system
Directory :  /home/corals/rentpix.corals.io/vendor/yajra/laravel-datatables-html/src/Html/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : /home/corals/rentpix.corals.io/vendor/yajra/laravel-datatables-html/src/Html/HasAuthorizations.php
<?php

namespace Yajra\DataTables\Html;

use Illuminate\Contracts\Auth\Access\Authorizable;

trait HasAuthorizations
{
    /**
     * Flag to check if user is authorized to use the button.
     *
     * @var bool
     */
    protected bool $authorized = true;

    /**
     * Make a button if condition is true.
     *
     * @param  callable|bool  $condition
     * @param  array|string  $options
     * @return static
     */
    public static function makeIf(callable|bool $condition, array|string $options = []): static
    {
        if (is_callable($condition)) {
            $condition = value($condition);
        }

        if ($condition === true) {
            return static::make($options);
        }

        return app(static::class)->authorized(false);
    }

    /**
     * Set authorization status of the button.
     *
     * @param  callable|bool  $bool
     * @return static
     */
    public function authorized(callable|bool $bool): static
    {
        $this->authorized = (bool) value($bool);

        return $this;
    }

    /**
     * Make a button if the user is authorized.
     *
     * @param  string  $permission
     * @param  array|string  $options
     * @param  Authorizable|null  $user
     * @return static
     */
    public static function makeIfCan(string $permission, array|string $options = [], Authorizable $user = null): static
    {
        if (is_null($user)) {
            $user = auth()->user();
        }

        if ($user instanceof Authorizable && $user->can($permission)) {
            return static::make($options);
        }

        return static::make([])->authorized(false);
    }

    /**
     * Make a button if the user is not authorized.
     *
     * @param  string  $permission
     * @param  array|string  $options
     * @param  Authorizable|null  $user
     * @return static
     */
    public static function makeIfCannot(
        string $permission,
        array|string $options = [],
        Authorizable $user = null
    ): static {
        if (is_null($user)) {
            $user = auth()->user();
        }

        if ($user instanceof Authorizable && ! $user->can($permission)) {
            return static::make($options);
        }

        return app(static::class)->authorized(false);
    }

    /**
     * Convert the Fluent instance to an array.
     *
     * @return array
     */
    public function toArray(): array
    {
        if (! $this->isAuthorized()) {
            return [];
        }

        return parent::toArray();
    }

    /**
     * Check if instance is authorized
     *
     * @return bool
     */
    public function isAuthorized(): bool
    {
        return $this->authorized;
    }
}

Spamworldpro Mini