Your IP : 216.73.216.163


Current Path : /home/user/web/pansionat-v-yaroslavle.ru/public_html/331ab/
Upload File :
Current File : /home/user/web/pansionat-v-yaroslavle.ru/public_html/331ab/compression.tar

table.php000064400000002436150242334110006344 0ustar00<?
if(!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED!==true) die();
IncludeModuleLangFile(__FILE__);

$Contents = ob_get_contents();
$Contents_len = defined('BX_UTF')? mb_strlen($Contents, 'latin1'): strlen($Contents);
$gzContents = gzcompress($Contents);
$gzContents_len = defined('BX_UTF')? mb_strlen($gzContents, 'latin1'): strlen($gzContents);

?>
<div style='margin:5px;'>
<table cellpadding='1' cellspacing='0' class='tableborder'>
	<tr>
		<td>
			<table cellpadding='3' cellspacing='1' class='tablebody'>
				<tr>
					<td nowrap colspan="2" class="tablebodytext"><b><?echo GetMessage('LIBRARY')?></b></td>
				</tr>
				<tr>
					<td nowrap class="tablebodytext"><?echo GetMessage("NOT_COMPRESSED")?></td>
					<td align='right' class="tablebodytext"><font color='green'><?echo $Contents_len?></font></td>
				</tr>
				<tr>
					<td nowrap class="tablebodytext"><?echo GetMessage("COMPRESSED")?></td>
					<td align='right' class="tablebodytext"><?echo $gzContents_len?></td>
				</tr>
				<?if($gzContents_len > 0):?>
				<tr>
					<td nowrap class="tablebodytext"><?echo GetMessage("COEFFICIENT")?></td>
					<td align='right' class="tablebodytext"><?echo round($Contents_len/$gzContents_len,2)?></td>
				</tr>
				<?endif;?>
			</table>
		</td>
	</tr>
</table>
</div>
<div class="empty"></div>lang/ru/table.php000064400000000363150242334110007710 0ustar00<?
$MESS ['LIBRARY'] = "Библиотека компрессии";
$MESS ['NOT_COMPRESSED'] = "размер страницы";
$MESS ['COMPRESSED'] = "после сжатия";
$MESS ['COEFFICIENT'] = "коэффициент сжатия";
?>lang/ru/install/index.php000064400000000627150242334110011401 0ustar00<?
$MESS ['COMPRESSION_MODULE_NAME'] = "Компрессия";
$MESS ['COMPRESSION_MODULE_DESC'] = "Модуль компрессирующий страницы сайта для ускорения их загрузки.";
$MESS ['COMPRESS_INSTALL_TITLE'] = "Установка модуля Компрессии";
$MESS ['COMPRESS_UNINSTALL_TITLE'] = "Удаление модуля Компрессии";
?>lang/en/table.php000064400000000253150242334110007662 0ustar00<?
$MESS ['LIBRARY'] = "Compression library";
$MESS ['NOT_COMPRESSED'] = "page size";
$MESS ['COMPRESSED'] = "compressed";
$MESS ['COEFFICIENT'] = "compression ratio";
?>
lang/en/install/index.php000064400000000452150242334110011351 0ustar00<?
$MESS ['COMPRESSION_MODULE_NAME'] = "Compression";
$MESS ['COMPRESSION_MODULE_DESC'] = "This module enables page compressing to accelerate loading";
$MESS ['COMPRESS_INSTALL_TITLE'] = "Compression module installation";
$MESS ['COMPRESS_UNINSTALL_TITLE'] = "Compression module uninstallation";
?>install/step.php000064400000000441150242334110007670 0ustar00<?if(!check_bitrix_sessid()) return;?>
<?
echo CAdminMessage::ShowNote(GetMessage("MOD_INST_OK"));
?>
<form action="<?echo $APPLICATION->GetCurPage()?>">
	<input type="hidden" name="lang" value="<?echo LANG?>">
	<input type="submit" name="" value="<?echo GetMessage("MOD_BACK")?>">
<form>
install/index.php000064400000004440150242334110010027 0ustar00<?
global $MESS;
$strPath2Lang = str_replace("\\", "/", __FILE__);
$strPath2Lang = substr($strPath2Lang, 0, strlen($strPath2Lang)-18);
include(GetLangFileName($strPath2Lang."/lang/", "/install/index.php"));

Class compression extends CModule
{
	var $MODULE_ID = "compression";
	var $MODULE_VERSION;
	var $MODULE_VERSION_DATE;
	var $MODULE_NAME;
	var $MODULE_DESCRIPTION;
	var $MODULE_CSS;

	function compression()
	{
		$arModuleVersion = array();

		$path = str_replace("\\", "/", __FILE__);
		$path = substr($path, 0, strlen($path) - strlen("/index.php"));
		include($path."/version.php");

		if (is_array($arModuleVersion) && array_key_exists("VERSION", $arModuleVersion))
		{
			$this->MODULE_VERSION = $arModuleVersion["VERSION"];
			$this->MODULE_VERSION_DATE = $arModuleVersion["VERSION_DATE"];
		}
		else
		{
			$this->MODULE_VERSION = COMPRESSION_VERSION;
			$this->MODULE_VERSION_DATE = COMPRESSION_VERSION_DATE;
		}

		$this->MODULE_NAME = GetMessage("COMPRESSION_MODULE_NAME");
		$this->MODULE_DESCRIPTION = GetMessage("COMPRESSION_MODULE_DESC");
	}

	function InstallDB($arParams = array())
	{
		RegisterModule("compression");
		RegisterModuleDependences("main", "OnPageStart", "compression", "CCompress", "OnPageStart", 1);
		RegisterModuleDependences("main", "OnAfterEpilog", "compression", "CCompress", "OnAfterEpilog", 10000);

		return true;
	}

	function UnInstallDB($arParams = array())
	{
		UnRegisterModuleDependences("main", "OnPageStart", "compression", "CCompress", "OnPageStart");
		UnRegisterModuleDependences("main", "OnAfterEpilog", "compression", "CCompress", "OnAfterEpilog");
		UnRegisterModule("compression");

		return true;
	}

	function InstallEvents()
	{
		return true;
	}

	function UnInstallEvents()
	{
		return true;
	}

	function InstallFiles($arParams = array())
	{
		return true;
	}

	function UnInstallFiles()
	{
		return true;
	}

	function DoInstall()
	{
		global $DOCUMENT_ROOT, $APPLICATION;
		$this->InstallDB();
		$APPLICATION->IncludeAdminFile(GetMessage("COMPRESS_INSTALL_TITLE"), $DOCUMENT_ROOT."/bitrix/modules/compression/install/step.php");
	}

	function DoUninstall()
	{
		global $DOCUMENT_ROOT, $APPLICATION;
		$this->UnInstallDB();
		$APPLICATION->IncludeAdminFile(GetMessage("COMPRESS_UNINSTALL_TITLE"), $DOCUMENT_ROOT."/bitrix/modules/compression/install/unstep.php");
	}
}
?>install/unstep.php000064400000000443150242334110010235 0ustar00<?if(!check_bitrix_sessid()) return;?>
<?
echo CAdminMessage::ShowNote(GetMessage("MOD_UNINST_OK"));
?>
<form action="<?echo $APPLICATION->GetCurPage()?>">
	<input type="hidden" name="lang" value="<?echo LANG?>">
	<input type="submit" name="" value="<?echo GetMessage("MOD_BACK")?>">
<form>
install/version.php000064400000000143150242334110010401 0ustar00<?
$arModuleVersion = array(
	"VERSION" => "16.0.0",
	"VERSION_DATE" => "2015-12-04 16:00:00"
);
?>include.php000064400000006461150242334110006702 0ustar00<?php
class CCompress
{
	public static function OnPageStart()
	{
		ob_start();
		ob_start(); // second buffering envelope for PHP URL rewrite, see http://bugs.php.net/bug.php?id=35933
		ob_implicit_flush(0);
	}

	public static function OnAfterEpilog()
	{
		global $USER;

		$canEditPHP = $USER->CanDoOperation('edit_php');
		$bShowTime = isset($_SESSION["SESS_SHOW_TIME_EXEC"]) && ($_SESSION["SESS_SHOW_TIME_EXEC"] == 'Y');
		$bShowStat = ($GLOBALS["DB"]->ShowSqlStat && ($canEditPHP || $_SESSION["SHOW_SQL_STAT"]=="Y"));
		$bShowCacheStat = (\Bitrix\Main\Data\Cache::getShowCacheStat() && ($canEditPHP || $_SESSION["SHOW_CACHE_STAT"]=="Y"));
		$bExcel = isset($_REQUEST["mode"]) && $_REQUEST["mode"] === 'excel';
		$ENCODING = CCompress::CheckCanGzip();
		if($ENCODING !== 0)
		{
			$level = 4;

			if (isset($_GET["compress"]))
			{
				if ($_GET["compress"] === "Y" || $_GET["compress"] === "y")
					$_SESSION["SESS_COMPRESS"] = "Y";
				elseif ($_GET["compress"] === "N" || $_GET["compress"] === "n")
					unset($_SESSION["SESS_COMPRESS"]);
			}

			if(!defined("ADMIN_AJAX_MODE") && !defined('PUBLIC_AJAX_MODE') && !$bExcel)
			{
				if($bShowTime || $bShowStat || $bShowCacheStat)
				{
					$main_exec_time = round((getmicrotime()-START_EXEC_TIME), 4);
					include_once($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/interface/debug_info.php");
				}

				if(isset($_SESSION["SESS_COMPRESS"]) && $_SESSION["SESS_COMPRESS"] == "Y")
					include($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/compression/table.php");
			}

			ob_end_flush();
			$Contents = ob_get_contents();
			ob_end_clean();

			if(!defined("BX_SPACES_DISABLED") || BX_SPACES_DISABLED!==true)
				if((strpos($GLOBALS["HTTP_USER_AGENT"], "MSIE 5")>0 || strpos($GLOBALS["HTTP_USER_AGENT"], "MSIE 6.0")>0) && strpos($GLOBALS["HTTP_USER_AGENT"], "Opera")===false)
					$Contents = str_repeat(" ", 2048)."\r\n".$Contents;

			$Size = function_exists("mb_strlen")? mb_strlen($Contents, 'latin1'): strlen($Contents);
			$Crc = crc32($Contents);
			$Contents = gzcompress($Contents, $level);
			$Contents = function_exists("mb_substr")? mb_substr($Contents, 0, -4, 'latin1'): substr($Contents, 0, -4);

			header("Content-Encoding: $ENCODING");
			print "\x1f\x8b\x08\x00\x00\x00\x00\x00";
			print $Contents;
			print pack('V',$Crc);
			print pack('V',$Size);
		}
		else
		{
			ob_end_flush();
			ob_end_flush();
			if(($bShowTime || $bShowStat || $bShowCacheStat) && !defined("ADMIN_AJAX_MODE") && !defined('PUBLIC_AJAX_MODE'))
			{
				$main_exec_time = round((getmicrotime()-START_EXEC_TIME), 4);
				include_once($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/interface/debug_info.php");
			}
		}
	}

	public static function DisableCompression()
	{
		define("BX_COMPRESSION_DISABLED", true);
	}

	public static function Disable2048Spaces()
	{
		define("BX_SPACES_DISABLED", true);
	}

	public static function CheckCanGzip()
	{
		if(!function_exists("gzcompress")) return 0;
		if(defined("BX_COMPRESSION_DISABLED") && BX_COMPRESSION_DISABLED===true) return 0;
		if(headers_sent() || connection_aborted()) return 0;
		if(ini_get('zlib.output_compression') == 1) return 0;
		if($GLOBALS["HTTP_ACCEPT_ENCODING"] == '') return 0;
		if(strpos($_SERVER["HTTP_ACCEPT_ENCODING"],'x-gzip') !== false) return "x-gzip";
		if(strpos($_SERVER["HTTP_ACCEPT_ENCODING"],'gzip') !== false) return "gzip";
		return 0;
	}
}