File: /home/assibfaf/public_html/prox-classes/Media.php
<?php
/**
* @package Proxim
* @author Davison Pro <davisonpro.coder@gmail.com | https://davisonpro.dev>
* @copyright 2019 Proxim
* @version 1.0.0
* @since File available since Release 1.0.0
*/
namespace Proxim;
class Media {
/**
* @var array list of javascript definitions
*/
protected static $js_def = array();
/**
* @var array list of javascript inline scripts
*/
protected static $inline_script = array();
/**
* @var array list of javascript external scripts
*/
protected static $inline_script_src = array();
/**
* @var string pattern used in replaceByAbsoluteURL
*/
public static $pattern_callback = '#(url\((?![\'"]?(?:data:|//|https?:))(?:\'|")?)([^\)\'"]*)(?=[\'"]?\))#s';
/**
* @var string used for preg_replace_callback parameter (avoid global)
*/
protected static $current_css_file;
/**
* @var string pattern used in packJSinHTML
*/
public static $pattern_js = '/(<\s*script(?:\s+[^>]*(?:javascript|src)[^>]*)?\s*>)(.*)(<\s*\/script\s*[^>]*>)/Uims';
protected static $pattern_keepinline = 'data-keepinline';
/**
* Get JS definitions.
*
* @return array JS definitions
*/
public static function getJsDef()
{
ksort(Media::$js_def);
return Media::$js_def;
}
/**
* Add a new javascript definition at bottom of page.
*
* @param mixed $jsDef
*/
public static function addJsDef($jsDef)
{
if (is_array($jsDef)) {
foreach ($jsDef as $key => $js) {
Media::$js_def[$key] = $js;
}
} elseif ($jsDef) {
Media::$js_def[] = $jsDef;
}
}
}