Проверка в админке новой версии движка

Статус
В этой теме нельзя размещать новые ответы.
G

Gemini_13

Гость
#1
Название: Проверка в админке новой версии движка для TPII
Автор: PheRum, Gemini_13
Описание: В админке проверяется наличие новой версии движка. Если есть обновление, то версия становится красной и появляется ссылка на новую ревизию.
Cложность установки: Легкая
Время, необходимое для установки: ~ 5 минут

admin/index.php
Найти:
PHP:
    $template->assign_vars(array(
        "NUMBER_OF_POSTS" => $total_posts,
        "NUMBER_OF_TOPICS" => $total_topics,
        "NUMBER_OF_USERS" => $total_users,
Вставить до:
PHP:
    // Проверка свежей версии
    $site = CACHE('bb_cache')->get('site');
    if (empty($site))
    {
        $site = file_get_contents("http://code.google.com/p/torrentpier2/source/list");
        CACHE('bb_cache')->set('site', $site, 86400);
    }
    preg_match_all('#<td class="id"><a href="detail\?r=.*?">r(.*?)</a></td>#isu', $site, $source, PREG_SET_ORDER);
    $revision_new = @$source[0][1];
    $revision = substr($bb_cfg['tp_release_state'], 1);
    if ($revision_new && $revision_new != $revision)
    {
        $version = '<b>'. $bb_cfg['tp_version'] .' <font color="red"><b>('. $bb_cfg['tp_release_state'] .')</b></font> <a href="http://code.google.com/p/torrentpier2/source/detail?r='. $revision_new .'" target="_blank">Свежая ревизия R'. $revision_new .'</a></b>';
    }
    else
    {
        $version = '<b>'. $bb_cfg['tp_version'] .'</b> <font color="green"><b>('. $bb_cfg['tp_release_state'] .')</b></font>';
    }
Найти:
PHP:
    $template->assign_vars(array(
        "NUMBER_OF_POSTS" => $total_posts,
        "NUMBER_OF_TOPICS" => $total_topics,
        "NUMBER_OF_USERS" => $total_users,
Вставить после:
PHP:
        "VERSION" => $version,
templates/admin/index.tpl
Найти:
HTML:
<td class="row2"><b>{$bb_cfg['tp_version']} ({$bb_cfg['tp_release_state']})</b></td>
Заменить на:
HTML:
<td class="row2">{VERSION}</td>
Просьба особо сильно не ржать, учусь ток :)
 

Вложения

F

Faben

Гость
#3
Было бы не плохо, если бы в ЛС дефолтному админу рассылкой приходила ссылка на новую ревизию, если таковая есть.
 
G

Gemini_13

Гость
#6
ну по этому варианту, первое взбрело в голову:
1. крон-задача.
проверяет наличие свежей версии. в случае, если есть новая версия делает:
- отправляет ЛС юзеру(ам), ID которых хранятся в базе
- записывает в базу 1 (new_version - 0 или 1)
- записывает в базу время этой проверки (new_version_time)
если новая версия есть, а время проверки в new_version_time меньше, на 3 дня например, то отправляем ЛС-напоминалку
если новой версии нет, но в базе new_version=1, то запрос на апдейт до 0.
если новой версии нет и new_version=0, сворачиваем срипт и идем курить бамбук.

почему БД? можно к параметрку new_version прикрутить сообщение на главной, например, или еще какую-то срань.

имхо, эти затраты не стоят простой проверки версии. если обновишся на пару дней позднее, ничего не случится :)
 

diden05

Пользователь
#8
Чета я в этом не вижу не малейшего смысла, нахрена? Кто следит и так обновится, а кому пофиг так его палкой не заставишь.
Чисто местечковое решение для тех кому хочется ИМХО, в движке такой ерунде делать нечего.
 
G

Gemini_13

Гость
#10
diden05, так никто не говорит, что эта проверка претендует на место в движке. просто вот такое захотелось сделать :) а идея с phpbb3, как dimka3210 сказал, раньше на нем сидел и много чего там интересного есть
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху