Файл: Проектирование реализации операций бизнес-процесса «Продажи» (Программное обеспечение. Критерии выбора программного обеспечения).pdf

ВУЗ: Не указан

Категория: Курсовая работа

Дисциплина: Не указана

Добавлен: 19.06.2023

Просмотров: 228

Скачиваний: 2

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

$settings['gzip'] =

($settings['gzip'] &&

!in_array($fileType, $settings['gzipExceptions']) &&

in_array('gzip', array_map('trim', explode(',' , @$_SERVER['HTTP_ACCEPT_ENCODING']))) &&

function_exists('gzencode'));

if ($settings['gzip']) header("Content-Encoding: gzip");

$settings['minify'] = $settings['minify'] && file_exists('minifiers/'.$fileType.'.php');

$settings['embed'] = $settings['embed'] && $fileType == 'css' && (!preg_match('/msie/i', $_SERVER['HTTP_USER_AGENT']) || preg_match('/msie 8|opera/i', $_SERVER['HTTP_USER_AGENT']));

$settings['serverCache'] = $settings['serverCache'] && ($settings['minify'] || $settings['gzip'] || $settings['concatenate'] || $settings['embed']);

if ($settings['serverCache']) {

$cachedFile = $settings['cacheDir'].$settings['cachePrefix'].md5($query.($settings['embed']?'1':'0')).'.'.$fileType.($settings['gzip'] ? '.gz' : '');

}

$generateContent = ((!$settings['serverCache'] && (!$settings['clientCache'] || !$settings['clientCacheCheck'] || !isset($_SERVER['HTTP_IF_MODIFIED_SINCE']) || $_SERVER['HTTP_IF_MODIFIED_SINCE'] != gmdatestr(filesmtime()))) ||

($settings['serverCache'] && (!file_exists($cachedFile) || ($settings['serverCacheCheck'] && filesmtime() > filemtime($cachedFile)))));

if ($settings['clientCache'] && $settings['clientCacheCheck']) {

if ($settings['serverCache'] && !$generateContent) $mtime = filemtime($cachedFile);

elseif ($settings['serverCache']) $mtime = time();

else $mtime = filesmtime();

$mtimestr = gmdatestr($mtime);

}

if (!$settings['clientCache'] || !$settings['clientCacheCheck'] || !isset($_SERVER['HTTP_IF_MODIFIED_SINCE']) || $_SERVER['HTTP_IF_MODIFIED_SINCE'] != $mtimestr) {

if ($settings['clientCache'] && $settings['clientCacheCheck']) {

header("Last-Modified: " . $mtimestr);

header("Cache-Control: must-revalidate");

} elseif ($settings['clientCache']) {

headerNeverExpire();

} else headerNoCache();

if ($generateContent) {

if ($settings['minify']) include('minifiers/'.$fileType.'.php');

$content = array();

foreach ($files as $file) (($content[] = @file_get_contents($file)) !== false) || debugExit("File not found ($file).");

$content = implode("\n", $content);

if ($settings['minify']) $content = call_user_func('minify_' . $fileType, $content);

if ($settings['gzip']) $content = gzencode($content, $settings['compressionLevel']);

if ($settings['serverCache']) {

$handle = @fopen($cachedFile, 'w') or debugExit("Could not create cache file($cachedFile).");

fwrite($handle, $content);

fclose($handle);

}

header('Content-Length: ' . strlen($content));

echo $content;

} else {

header('Content-Length: ' . filesize($cachedFile));

readfile($cachedFile);

}

} else headerExit('304 Not Modified');

?>

<?php

/*

* SmartOptimizer JavaScript Minifier

*/

function minify_js($str) {

$res = '';

$maybe_regex = true;

$i=0;

$current_char = '';

while ($i+1<strlen($str)) {

if ($maybe_regex && $str[$i]=='/' && $str[$i+1]!='/' && $str[$i+1]!='*' && @$str[$i-1]!='*') {//regex detected

if (strlen($res) && $res[strlen($res)-1] === '/') $res .= ' ';

do {

if ($str[$i] == '\\') {

$res .= $str[$i++];

} elseif ($str[$i] == '[') {

do {

if ($str[$i] == '\\') {

$res .= $str[$i++];

}

$res .= $str[$i++];

} while ($i<strlen($str) && $str[$i]!=']');

}

$res .= $str[$i++];

} while ($i<strlen($str) && $str[$i]!='/');

$res .= $str[$i++];

$maybe_regex = false;

continue;

} elseif ($str[$i]=='"' || $str[$i]=="'") {//quoted string detected

$quote = $str[$i];

do {

if ($str[$i] == '\\') {

$res .= $str[$i++];

}

$res .= $str[$i++];

} while ($i<strlen($str) && $str[$i]!=$quote);

$res .= $str[$i++];

continue;

} elseif ($str[$i].$str[$i+1]=='/*' && @$str[$i+2]!='@') {//multi-line comment detected

$i+=3;

while ($i<strlen($str) && $str[$i-1].$str[$i]!='*/') $i++;