чтение rss ленты

Nulls.su

nulls.su » Datalife Engine » Хаки » Информер обновленные темы IPB и список пользователей он-лайн
Здесь обезаельно что то появиться 8)

Информер обновленные темы IPB и список пользователей он-лайн

Информер обновленные темы IPB и список пользователей он-лайн


Данные информеры созданные для того, что бы снизить нагрузку на сервер при вызове страниц системы DLE. За счет информера вам удастся снизить нагрузку на БД на 2 запроса минимум. Фишка в том, что запросы к БД для информеров выполняются в абсолютно другом файле раз в 300 секунд первый информер и раз в 60 секунд второй информер. Этот самый другой файл кэширует результат своей работы в файл. Система же, если найдет такой кэш файл на жестком диске сервера просто вставит его содержимое в страницу. А если система такого кэш файла не найдет, она ловко подставит вызов JS функции в страницу, которая в свою очередь с помощью ajax вставит информеры на страницу (т.е. опять же создадутся кэш файлы которые потом будут вставляться в страницы). Обновление информеров проходит так же с помощью ajax технологий (при нажатии на ссылку обновить). Система вставляет содержимое кэш файлов, но если эти файлы изменялись больше чем 300 или 60 секунд назад, то она опять же вставляет вызов функции на страницу, которая обновит информеры. Вот и получается, что запросы распараллелены и нагрузки существенной вовсе не несут. Запросы позаимствованы из интеграции форума IPB и DLE от Калиостро. Информеры подойдут для всех версий DLE. Информер тестировался для версии IPB 3.1.2.
1. Скачайте файл Вы не можете скачивать файлы с нашего сервера, откройте его для редактирования, вверху файла заполните данные для подключения к базе данных форума IPB.

2. Залейте файл в папку engine.

3. Откройте, предварительно сделав запасную копию файла, файл index.php для редактирования.

Найдите:

$tpl->load_template( 'main.tpl' );



Вставьте ниже на строчку:

$onload_ = "";

if( @file_exists( ENGINE_DIR ."/cache/tech1.xtmp" ) ){

    $tpl->set('<div align="center">Загрузка топиков...</div>', @file_get_contents(ENGINE_DIR ."/cache/tech1.xtmp") );

    if( ( time()-filemtime( ENGINE_DIR ."/cache/tech1.xtmp" ) ) <= 300 ){
        $onload_ = "tech(1);";
    }

}else{
    $onload_ = "tech(1);";
}

if( @file_exists( ENGINE_DIR ."/cache/tech2.xtmp") ){

    $tpl->set('<div align="center">Загрузка он-лайнеров...</div>', @file_get_contents(ENGINE_DIR ."/cache/tech2.xtmp") );

    if( ( time()-filemtime( ENGINE_DIR ."/cache/tech2.xtmp" ) ) <= 60 ) {
        $onload_ .= "tech(2);";
    }

}else{
    $onload_ .= "tech(2);";
}

if( $onload_ != "") $tpl->set('<body>', '<body onload="'.$onload_.'">');



В этом коде цифры 300 и 60 это время обновления информеров соответственно.

4. Откройте main.tpl – главный шаблон для редактирования (сейчас это можно делать прямо из админ-центра).

Вставьте куда вам угодно:

<div id="tech1"><div align="center">Загрузка топиков...</div></div>
<div align="right" style="margin: 3px"><a href="javascript://" onclick="tech(1,1)">обновить</a></div>


И:

<div id="tech2"><div align="center">Загрузка он-лайнеров...</div></div>
<div align="right"><a href="javascript://" onclick="tech(2,2)">обновить</a></div>



В самый низ страницы вставьте javascript, перед

</body>



Или вынесите данный код в отдельный файл, без разницы.

Для версии системы до 9.2:

<script>
function tech(id,b){
    var ajax = new dle_ajax();
    if(b)ajax.onShow ('');
    var varsString = "";
    ajax.requestFile = 'http://admin-club.ru/engine/ipb.php?do='+id+(b?'&fresh=1':'');
    ajax.element = "tech"+id;
    ajax.sendAJAX(varsString);
}
</script>



А для 9.2 вставляйте вот этот код:

<script>
function tech(id,b){
    if(b)ShowLoading('');
    $.get( “http://admin-club.ru/engine/ipb.php”, {do: id, fresh: (b?'&fresh=1':'0') }, function(data){
        HideLoading('');
        $("#tech"+id ).fadeOut(500, function() {
$(this).html(data);
            $(this).fadeIn(500);
        });
    });

}
</script>


Замените адрес нашего сайта на свой в вызываемом файле.

5. Готово.

На нашем сайте количество запрос сведено к 0, а генерация страницы к 1 сотой секунды для гостя, а для пользователя к 3 сотым секунды с 6 запросами. Так же я вынес выполнение cron задания в отдельный файл, который выполняется компилятором вообще отдельно от системы DLE. Смотрите код страницы, самый низ.
 
Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь
Мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем
Другие новости по теме:
 (голосов: 0)
  • Просмотров: 12329
  • Комментариев: 0

Комментарии к статье

Если Вам понравилась эта статья или не понравилась напишите об этом в комментариях
Информация
Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.
Переместиться наверх

nulls.su

Внимание, вся информация размещена на сайте пользователями, поэтому владельцы сайта не несут ответственности за правдивость, валидность, степень контрафактности. Если вы считаете что информация размещена неправомерно, сообщите пожалуйста в службу поддержки и информация будет незамедлительно удалена. Вся информация размещена на основании соглашения
Шаблон разработан студией CENTROARTS