Edit File by line

Deprecated: str_replace(): Passing null to parameter #2 ($replace) of type array|string is deprecated in /home/sportsfever/public_html/filemanger/function.php on line 93
/home/sportsfe.../httpdocs/wp-conte.../plugins/smart-sl.../Nextend/Framewor.../Asset/Js
File: Asset.php
<?php
[0] Fix | Delete
[1] Fix | Delete
[2] Fix | Delete
namespace Nextend\Framework\Asset\Js;
[3] Fix | Delete
[4] Fix | Delete
use Nextend\Framework\Asset\AbstractAsset;
[5] Fix | Delete
use Nextend\Framework\Localization\Localization;
[6] Fix | Delete
use Nextend\Framework\Platform\Platform;
[7] Fix | Delete
use Nextend\Framework\Plugin;
[8] Fix | Delete
use Nextend\Framework\Settings;
[9] Fix | Delete
use Nextend\Framework\Url\Url;
[10] Fix | Delete
use Nextend\Framework\View\Html;
[11] Fix | Delete
use Nextend\SmartSlider3\SmartSlider3Info;
[12] Fix | Delete
[13] Fix | Delete
class Asset extends AbstractAsset {
[14] Fix | Delete
[15] Fix | Delete
public function __construct() {
[16] Fix | Delete
$this->cache = new Cache();
[17] Fix | Delete
}
[18] Fix | Delete
[19] Fix | Delete
public function getOutput() {
[20] Fix | Delete
[21] Fix | Delete
$output = "";
[22] Fix | Delete
[23] Fix | Delete
$needProtocol = !Settings::get('protocol-relative', '1');
[24] Fix | Delete
[25] Fix | Delete
$globalInline = $this->getGlobalInlineScripts();
[26] Fix | Delete
if (!empty($globalInline)) {
[27] Fix | Delete
$output .= Html::script(self::minify_js($globalInline . "\n"));
[28] Fix | Delete
}
[29] Fix | Delete
[30] Fix | Delete
$async = !Platform::isAdmin();
[31] Fix | Delete
$scriptAttributes = array();
[32] Fix | Delete
if ($async) {
[33] Fix | Delete
$scriptAttributes['defer'] = 1;
[34] Fix | Delete
$scriptAttributes['async'] = 1;
[35] Fix | Delete
}
[36] Fix | Delete
[37] Fix | Delete
foreach ($this->urls as $url) {
[38] Fix | Delete
$output .= Html::scriptFile($this->filterSrc($url), $scriptAttributes) . "\n";
[39] Fix | Delete
}
[40] Fix | Delete
[41] Fix | Delete
foreach ($this->getFiles() as $file) {
[42] Fix | Delete
if (substr($file, 0, 2) == '//') {
[43] Fix | Delete
$output .= Html::scriptFile($this->filterSrc($file), $scriptAttributes) . "\n";
[44] Fix | Delete
} else {
[45] Fix | Delete
$output .= Html::scriptFile($this->filterSrc(Url::pathToUri($file, $needProtocol) . '?ver=' . SmartSlider3Info::$revisionShort), $scriptAttributes) . "\n";
[46] Fix | Delete
}
[47] Fix | Delete
}
[48] Fix | Delete
[49] Fix | Delete
$output .= Html::script(self::minify_js(Localization::toJS() . "\n" . $this->getInlineScripts() . "\n"));
[50] Fix | Delete
[51] Fix | Delete
return $output;
[52] Fix | Delete
}
[53] Fix | Delete
[54] Fix | Delete
private function filterSrc($src) {
[55] Fix | Delete
return Plugin::applyFilters('n2_script_loader_src', $src);
[56] Fix | Delete
}
[57] Fix | Delete
[58] Fix | Delete
public function get() {
[59] Fix | Delete
return array(
[60] Fix | Delete
'url' => $this->urls,
[61] Fix | Delete
'files' => $this->getFiles(),
[62] Fix | Delete
'inline' => $this->getInlineScripts(),
[63] Fix | Delete
'globalInline' => $this->getGlobalInlineScripts()
[64] Fix | Delete
);
[65] Fix | Delete
}
[66] Fix | Delete
[67] Fix | Delete
public function getAjaxOutput() {
[68] Fix | Delete
[69] Fix | Delete
$output = $this->getInlineScripts();
[70] Fix | Delete
[71] Fix | Delete
return $output;
[72] Fix | Delete
}
[73] Fix | Delete
[74] Fix | Delete
private function getGlobalInlineScripts() {
[75] Fix | Delete
return implode('', $this->globalInline);
[76] Fix | Delete
}
[77] Fix | Delete
[78] Fix | Delete
private function getInlineScripts() {
[79] Fix | Delete
$scripts = '';
[80] Fix | Delete
[81] Fix | Delete
foreach ($this->firstCodes as $script) {
[82] Fix | Delete
$scripts .= $script . "\n";
[83] Fix | Delete
}
[84] Fix | Delete
[85] Fix | Delete
foreach ($this->inline as $script) {
[86] Fix | Delete
$scripts .= $script . "\n";
[87] Fix | Delete
}
[88] Fix | Delete
[89] Fix | Delete
return $this->serveJquery($scripts);
[90] Fix | Delete
}
[91] Fix | Delete
[92] Fix | Delete
public static function serveJquery($script) {
[93] Fix | Delete
if (empty($script)) {
[94] Fix | Delete
return "";
[95] Fix | Delete
}
[96] Fix | Delete
$inline = "_N2.r('documentReady', function(){\n";
[97] Fix | Delete
$inline .= $script;
[98] Fix | Delete
$inline .= "});\n";
[99] Fix | Delete
[100] Fix | Delete
return $inline;
[101] Fix | Delete
}
[102] Fix | Delete
[103] Fix | Delete
public static function minify_js($input) {
[104] Fix | Delete
if (trim($input) === "") return $input;
[105] Fix | Delete
[106] Fix | Delete
return preg_replace(array(
[107] Fix | Delete
// Remove comment(s)
[108] Fix | Delete
'#\s*("(?:[^"\\\]++|\\\.)*+"|\'(?:[^\'\\\\]++|\\\.)*+\')\s*|\s*\/\*(?!\!|@cc_on)(?>[\s\S]*?\*\/)\s*|\s*(?<![\:\=])\/\/.*(?=[\n\r]|$)|^\s*|\s*$#',
[109] Fix | Delete
// Remove white-space(s) outside the string and regex
[110] Fix | Delete
'#("(?:[^"\\\]++|\\\.)*+"|\'(?:[^\'\\\\]++|\\\.)*+\'|\/\*(?>.*?\*\/)|\/(?!\/)[^\n\r]*?\/(?=[\s.,;]|[gimuy]|$))|\s*([!%&*\(\)\-=+\[\]\{\}|;:,.<>?\/])\s*#s',
[111] Fix | Delete
// Remove the last semicolon
[112] Fix | Delete
'#;+\}#',
[113] Fix | Delete
// Minify object attribute(s) except JSON attribute(s). From `{'foo':'bar'}` to `{foo:'bar'}`
[114] Fix | Delete
'#([\{,])([\'])(\d+|[a-z_][a-z0-9_]*)\2(?=\:)#i',
[115] Fix | Delete
// --ibid. From `foo['bar']` to `foo.bar`
[116] Fix | Delete
'#([a-z0-9_\)\]])\[([\'"])([a-z_][a-z0-9_]*)\2\]#i'
[117] Fix | Delete
), array(
[118] Fix | Delete
'$1',
[119] Fix | Delete
'$1$2',
[120] Fix | Delete
'}',
[121] Fix | Delete
'$1$3',
[122] Fix | Delete
'$1.$3'
[123] Fix | Delete
), $input);
[124] Fix | Delete
}
[125] Fix | Delete
}
[126] Fix | Delete
It is recommended that you Edit text format, this type of Fix handles quite a lot in one request
Function