!C99Shell v. 2.5 [PHP 8 Update] [24.05.2025]!

Software: Apache/2.4.41 (Ubuntu). PHP/8.0.30 

uname -a: Linux apirnd 5.4.0-204-generic #224-Ubuntu SMP Thu Dec 5 13:38:28 UTC 2024 x86_64 

uid=33(www-data) gid=33(www-data) groups=33(www-data) 

Safe-mode: OFF (not secure)

/home/ccl/vendor/illuminate/database/Eloquent/   drwxrwxr-x
Free 13.02 GB of 57.97 GB (22.45%)
Home    Back    Forward    UPDIR    Refresh    Search    Buffer    Encoder    Tools    Proc.    FTP brute    Sec.    SQL    PHP-code    Update    Self remove    Logout    


Viewing file:     FactoryBuilder.php (7.67 KB)      -rw-rw-r--
Select action/file-type:
(+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
<?php

namespace Illuminate\Database\Eloquent;

use 
Faker\Generator as Faker;
use 
InvalidArgumentException;
use 
Illuminate\Support\Traits\Macroable;

class 
FactoryBuilder
{
    use 
Macroable;

    
/**
     * The model definitions in the container.
     *
     * @var array
     */
    
protected $definitions;

    
/**
     * The model being built.
     *
     * @var string
     */
    
protected $class;

    
/**
     * The name of the model being built.
     *
     * @var string
     */
    
protected $name 'default';

    
/**
     * The database connection on which the model instance should be persisted.
     *
     * @var string
     */
    
protected $connection;

    
/**
     * The model states.
     *
     * @var array
     */
    
protected $states;

    
/**
     * The states to apply.
     *
     * @var array
     */
    
protected $activeStates = [];

    
/**
     * The Faker instance for the builder.
     *
     * @var \Faker\Generator
     */
    
protected $faker;

    
/**
     * The number of models to build.
     *
     * @var int|null
     */
    
protected $amount null;

    
/**
     * Create an new builder instance.
     *
     * @param  string  $class
     * @param  string  $name
     * @param  array  $definitions
     * @param  array  $states
     * @param  \Faker\Generator  $faker
     * @return void
     */
    
public function __construct($class$name, array $definitions, array $statesFaker $faker)
    {
        
$this->name $name;
        
$this->class $class;
        
$this->faker $faker;
        
$this->states $states;
        
$this->definitions $definitions;
    }

    
/**
     * Set the amount of models you wish to create / make.
     *
     * @param  int  $amount
     * @return $this
     */
    
public function times($amount)
    {
        
$this->amount $amount;

        return 
$this;
    }

    
/**
     * Set the states to be applied to the model.
     *
     * @param  array|mixed  $states
     * @return $this
     */
    
public function states($states)
    {
        
$this->activeStates is_array($states) ? $states func_get_args();

        return 
$this;
    }

    
/**
     * Set the database connection on which the model instance should be persisted.
     *
     * @param  string  $name
     * @return $this
     */
    
public function connection($name)
    {
        
$this->connection $name;

        return 
$this;
    }

    
/**
     * Create a model and persist it in the database if requested.
     *
     * @param  array  $attributes
     * @return \Closure
     */
    
public function lazy(array $attributes = [])
    {
        return function () use (
$attributes) {
            return 
$this->create($attributes);
        };
    }

    
/**
     * Create a collection of models and persist them to the database.
     *
     * @param  array  $attributes
     * @return mixed
     */
    
public function create(array $attributes = [])
    {
        
$results $this->make($attributes);

        if (
$results instanceof Model) {
            
$this->store(collect([$results]));
        } else {
            
$this->store($results);
        }

        return 
$results;
    }

    
/**
     * Set the connection name on the results and store them.
     *
     * @param  \Illuminate\Support\Collection  $results
     * @return void
     */
    
protected function store($results)
    {
        
$results->each(function ($model) {
            if (! isset(
$this->connection)) {
                
$model->setConnection($model->newQueryWithoutScopes()->getConnection()->getName());
            }

            
$model->save();
        });
    }

    
/**
     * Create a collection of models.
     *
     * @param  array  $attributes
     * @return mixed
     */
    
public function make(array $attributes = [])
    {
        if (
$this->amount === null) {
            return 
$this->makeInstance($attributes);
        }

        if (
$this->amount 1) {
            return (new 
$this->class)->newCollection();
        }

        return (new 
$this->class)->newCollection(array_map(function () use ($attributes) {
            return 
$this->makeInstance($attributes);
        }, 
range(1$this->amount)));
    }

    
/**
     * Create an array of raw attribute arrays.
     *
     * @param  array  $attributes
     * @return mixed
     */
    
public function raw(array $attributes = [])
    {
        if (
$this->amount === null) {
            return 
$this->getRawAttributes($attributes);
        }

        if (
$this->amount 1) {
            return [];
        }

        return 
array_map(function () use ($attributes) {
            return 
$this->getRawAttributes($attributes);
        }, 
range(1$this->amount));
    }

    
/**
     * Get a raw attributes array for the model.
     *
     * @param  array  $attributes
     * @return mixed
     */
    
protected function getRawAttributes(array $attributes = [])
    {
        
$definition call_user_func(
            
$this->definitions[$this->class][$this->name],
            
$this->faker$attributes
        
);

        return 
$this->expandAttributes(
            
array_merge($this->applyStates($definition$attributes), $attributes)
        );
    }

    
/**
     * Make an instance of the model with the given attributes.
     *
     * @param  array  $attributes
     * @return \Illuminate\Database\Eloquent\Model
     *
     * @throws \InvalidArgumentException
     */
    
protected function makeInstance(array $attributes = [])
    {
        return 
Model::unguarded(function () use ($attributes) {
            if (! isset(
$this->definitions[$this->class][$this->name])) {
                throw new 
InvalidArgumentException("Unable to locate factory with name [{$this->name}] [{$this->class}].");
            }

            
$instance = new $this->class(
                
$this->getRawAttributes($attributes)
            );

            if (isset(
$this->connection)) {
                
$instance->setConnection($this->connection);
            }

            return 
$instance;
        });
    }

    
/**
     * Apply the active states to the model definition array.
     *
     * @param  array  $definition
     * @param  array  $attributes
     * @return array
     */
    
protected function applyStates(array $definition, array $attributes = [])
    {
        foreach (
$this->activeStates as $state) {
            if (! isset(
$this->states[$this->class][$state])) {
                throw new 
InvalidArgumentException("Unable to locate [{$state}] state for [{$this->class}].");
            }

            
$definition array_merge(
                
$definition,
                
$this->stateAttributes($state$attributes)
            );
        }

        return 
$definition;
    }

    
/**
     * Get the state attributes.
     *
     * @param  string  $state
     * @param  array  $attributes
     * @return array
     */
    
protected function stateAttributes($state, array $attributes)
    {
        
$stateAttributes $this->states[$this->class][$state];

        if (! 
is_callable($stateAttributes)) {
            return 
$stateAttributes;
        }

        return 
call_user_func(
            
$stateAttributes,
            
$this->faker$attributes
        
);
    }

    
/**
     * Expand all attributes to their underlying values.
     *
     * @param  array  $attributes
     * @return array
     */
    
protected function expandAttributes(array $attributes)
    {
        foreach (
$attributes as &$attribute) {
            if (
is_callable($attribute) && ! is_string($attribute)) {
                
$attribute $attribute($attributes);
            }

            if (
$attribute instanceof static) {
                
$attribute $attribute->create()->getKey();
            }

            if (
$attribute instanceof Model) {
                
$attribute $attribute->getKey();
            }
        }

        return 
$attributes;
    }
}

:: Command execute ::

Enter:
 
Select:
 

:: Search ::
  - regexp 

:: Upload ::
 
[ Read-Only ]

:: Make Dir ::
 
[ Read-Only ]
:: Make File ::
 
[ Read-Only ]

:: Go Dir ::
 
:: Go File ::
 

--[ c99shell v. 2.5 [PHP 8 Update] [24.05.2025] | Generation time: 0.0075 ]--