PHP Classes

File: app/Config/fun.php

Recommend this page to a friend!
  Classes of akeel   F3A   app/Config/fun.php   Download  
File: app/Config/fun.php
Role: Auxiliary script
Content type: text/plain
Description: Auxiliary script
Class: F3A
PHP Web development framework like Laravel lite
Author: By
Last change:
Date: 2 years ago
Size: 4,217 bytes
 

Contents

Class file image Download
<?php
use App\Helpers\Route;
use
App\Libraries\Utill;
use
App\Helpers\Request;

/**
 * App request fuction
 *
 * @return \App\Helpers\Request
 */
function request()
{
    return new
Request();
}

/**
 * Gets BASE URL
 *
 * @return string
 */
function baseUrl()
{
   
$currentPath = $_SERVER['PHP_SELF'];
   
$pathInfo = pathinfo($currentPath);
   
$hostName = $_SERVER['HTTP_HOST'];
   
$protocol = strtolower(substr($_SERVER["SERVER_PROTOCOL"],0,5))=='https://'?'https://':'http://';
   
    return
$protocol.$hostName;
}

/**
 * Generate a url for application
 *
 * @param null $url Path
 */
function url($url=null, $return=false)
{
   
$url = ($url != null)?$url:'';
   
$url = ROOT_URL.$url;
    if(
$return){
        return
$url;
    }
    echo
$url;
}

/**
 * Generate an asset path for application
 *
 * @param string $url Path
 * @param bool $return Is to return or echo
 */
function asset($path, $return=false)
{
    if (
filter_var($path, FILTER_VALIDATE_URL) === FALSE) {
       
$file = str_replace('/', DS, $path);
       
$file = ROOT_DIR.'assets'.DS .$file;
       
$path = ROOT_URL.'assets/'.$path;
    }
   
$path .= (is_file($file))?'?version='.VERSION:'';
    if(
$return){
        return
$path;
    }
    echo
$path;
}

/**
 * Redirect to a route
 *
 * @param string $to Path
 * @param string|array $message Redirect with message
 * @param string|array $message Redirect with message
 * @param bool $danger Error | Message
 *
 * @return redirect
 */
function redirect($to='', $message='', $inputs='', $success=false)
{
   
$to = ($to == '')?'./':$to;
   
$to = url($to, true);
    if(
$message !== ''){
       
$message = (is_array($message))?$message:[$message];
       
Utill::alert($message, $success);
    }
    if(
$inputs !== ''){
       
$inputs = (is_array($inputs))?$inputs:[$inputs];
       
Utill::old($inputs);
    }
    echo (
'<script type="text/javascript">window.location.href = "'.$to.'";</script>');
}


/**
 * Go to previous page
 *
 * @param string|array $message Redirect with message
 * @param bool $danger Error | Message
 *
 * @return redirect
 */
function back($message='', $success=false)
{
    if(
$message !== ''){
       
$message = (is_array($message))?$message:[$message];
       
Utill::alert($message, $success);
    }
    echo (
'<script type="text/javascript">window.history.go(-1);</script>');
}

/**
 * Get old data from form
 *
 * @param string $key input key
 * @param string $default default value
 *
 * @return array|object|string|null
 */
function old($key='', $default='')
{
    if(
Utill::hasSession('__old')){
        if (
$key == '') {
           
$default = $_SESSION['__old'];
           
Utill::unsetSession('__old');
        } else if (isset(
$_SESSION['__old'][$key])) {
           
$default = $_SESSION['__old'][$key];
            unset(
$_SESSION['__old'][$key]);
        }
    }
    return
$default;
}

/**
 * Similar to laravel DD Die function
 */
function dd(...$agrs)
{
    for (
$i=0; $i < count($agrs); $i++) {
        if(
$agrs[$i] !== null){
            echo
'<div style="background: #000;color: #FFF;white-space: pre;word-break: break-word;padding: 0rem 0.2rem;border: 2px solid #8BC34A;margin-bottom: 1rem;">';
            if(!
is_null($agrs[$i])){
                echo
var_dump($agrs[$i]);
            }
            echo
'</div>';
        }
    }
   
    die();
}

/**
 * Abort operation
 *
 * @param int $code
 * @return void
 */
function abort($code=404)
{
   
Route::terminate($code);
    die();
}

/**
 * Include a view from view
 *
 * @param string $view
 * @param array $parameters
 *
 * @return mixed
 */
function include_view($view, $parameters = array())
{
    return \
App\Helpers\View::render($view, $parameters, false, true);
}

/**
 * Encrytion function
 *
 * @param bool $echo Echo
 */
function en($data, $echo=true)
{
   
$e = Utill::en($data);
    if(
$echo){
        echo
$e;
    }
    return
$e;
}

/**
 * Decrytion function
 *
 * @param bool $echo Echo
 */
function de($data, $echo=true)
{
   
$e = Utill::de($data);
    if(
$echo){
        echo
$e;
    }
    return
$e;
}

/**
 * CSRF token generator
 */
function getCsrf($e=false)
{
   
$csrf = Utill::getCsrf();
    if(
$e){
        echo
$csrf;
        return;
    }
    return
$csrf;
}

/**
 * Return form CSRF field
 *
 * @param string $slug Type of request
 *
 * @return CSRF AND API Field
 */
function csrf($slug=null)
{
    echo
'<input type="hidden" name="slug" value="'.$slug.'" readonly/><input type="hidden" name="'.CSRF_KEY.'" value="'.getCsrf().'" readonly/>';
}