<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" dir="ltr" lang="ru-RU-lite">

<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />

<title>Скрипт кэширования</title>
</head>

<body>
<div>
http://centavrus-opti.ru/my_cache/info.php = такая страничка есть в каждом дефолтном дистрибьютиве. +Она сообщает о выходе новой версии в строке "последняя версия" - т.е. всегда можно открыть ее и посмотреть вышла новая версия или нет...
</div>

<div align="center"; style="font-size: 18px; background-color: #ecfef2;">
	<h1><a href="http://centavrus-opti.ru/skript-keshirovaniya-dlya-wordpress.html">Скрипт кэширования wordpress</a> v<? echo file_get_contents(realpath(dirname(__FILE__)) . '/ver.txt');?></h1>
	<p>
		Последняя версия скрипта: <? echo file_get_contents('http://www.centavrus-opti.ru/manual/my_cache_wordpress/ver.txt');?>
	</p>
	<p>
		<? $dir = (realpath(dirname(__FILE__) . '/cache/')); ?>
		Суммарный объем кэша <? echo (get_cache_size($dir)/1024/1024);?>  Мб
	</p>
	<h3>Поблагодарить можно отправив любую символическую сумму на любой из кошельков:</h3>
<b>Yandex.Деньги</b> 41001273157068 <br />
<b>WMZ</b> Z278627756138 <br />
<b>WMR</b> R724672553004 <br />
<h2><a href="http://spreadsheets.google.com/viewform?formkey=dHNjS25mYVZrWXcwLVpJWUFOQmNYd0E6MA">Прием багрепортов, пожеланий и т.п.</a></h2>
</div>

<div>
<h2>Установка на примере wordpress:</h2>
<li>
	Скопировать папку my_cache в корень сайта
</li>
<li>
	В папке my_cache есть папка cache на нее надо выставить права на запись (chmod 777) - в этой папке хранится кэш
</li>
<li>
	В папке my_cache есть папка check на нее (а точнее на файл в ней) выставить права на запись (chmod 777) - это файл для проверки "а не пришло уже время сбросить весь кэш..."
</li>
<li>
	В index.php (в тот, что в корне сайта а не в корне темы wordpress) добавить код: <br />
	в самое начало файла: <br />
	<b>require('my_cache/my-cache.php'); <br />
	if (my_cache()) return;</b> <br />
	и в самый конец файла: <br />
	<b>my_cache_end();</b><br />
	//Собственно подключаем скрипт к движку<br />
	P.S. Для примера в папке дистрибьютива скрипта лежит отредактированный index.php от wordpress.	
</li>
<li>
	В файл wp-comments-post.php (в корне сайта) добавить код перед wp_redirect($location); (строка в самом конце файла..) :<br />
	$dir = realpath(dirname(__FILE__)) . '/my_cache/cache/'; //директория, где хранятся файлы кэша<br />
	$filepath = $dir . md5(get_permalink ($comment->comment_post_ID)); //путь к файлу закэшированной страницы<br />
	if (file_exists($filepath))<br />
	{<br />
		unlink($filepath);<br />
	}<br />
	$filepath = $dir . md5($location); //путь к файлу закэшированной страницы<br />
	if (file_exists($filepath))<br />
	{<br />
		unlink($filepath);<br />
	}<br />
	//Это для сброса кеша страницы после отправки нового комментария
</li>
<li>
	Если вы считаете, что вам нужен какой-то из плагинов, который идет в комплекте "для желающих" - поставьте плагин.
</li>
</div>

<div>
<h2>Подключение сжатия css и js:</h2>
добавить код в htaccess:<br />
RewriteEngine On<br />
RewriteRule (\.js|\.css)$ /my_cache/jscss.php [L]<br />
<div>

<h2>Описания плагинов из комплекта "для всех желающих":</h2>
<li>
	<b>js_commentator_field_cache</b> = автоматическое "вспоминание данных коментатора" - что бы не было пустых полей... - плагин для тех, кому лень прописывать ручками включение JS файла.
	<br />
</li>
</div>

<div>
<h2>Описание файла setup.php:</h2>
<b>$period = 60 * 59 * 24;</b> //Интервал кеша в секундах (по умолчанию 59 минут умноженное на 24 - т.е. почти 1 сутки..). Если кеш запрошенной страницы старше этого времени - кеш страницы удалится
<br />
<b>$time_clear_all_cache = 60 * 60 * 24;</b> //время через которое следует очищать весь кэш (по умолчанию 24 часа)
<br /><br />
<b>$url_reset_cache = 'reset';</b> // строка в URL по которой сбрасывается весь кэш - пример http://mysite/reset
<br />
<b>$url_reset_cache_once = 'delete';</b> // строка в URL по которой сбрасывается кэш заданной страницы, пример сайт/страница?delete (перед словом delete обязательно должен быть какой-нибудь символ (в примере это ?)
<br />
<br /><br />
<b>$chpu = "yes";</b> //Включено ЧПУ (p.s. если по каким-то причинам у вас кэшируется только главная страница - попробуйте изменить "yes" на "no"
<br /><br />
<b>$statistika = "yes";</b> // Выводить статистику Мб/сек на страницах, если не надо измените "yes" на "no"
<br />
<b>$paste_statistika = "</body>";</b> //Перед каким тэгом в html коде выводить статистику Мб/сек
<br />
Ну а последняя строка в файле - думаю все сами разберутся зачем ;)
</div>

<div>
<center>
<b>P.S. скидываемся хотя бы по рублю - не жмотничайте... ;)</b><br />
Yandex.Деньги 41001273157068<br />
WMZ Z278627756138<br />
WMR R724672553004<br />
</center>
</div>

</body>
</html>


<?
function get_cache_size($dir)
{
	if(!file_exists($dir)) return 0;
	if(is_file($dir)) return filesize($dir);
	$ret = 0;
	if(glob($dir."/*"))
	{
		foreach(glob($dir."/*") as $fn)
		$ret += get_cache_size($fn);
	}
	return $ret;
}
?>