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

Started by Gemini_13 on 2012-04-17 20:36 — 15 replies, 3968 views

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

admin/index.php
Найти:
    $template->assign_vars(array(
        "NUMBER_OF_POSTS" => $total_posts,
        "NUMBER_OF_TOPICS" => $total_topics,
        "NUMBER_OF_USERS" => $total_users,

Вставить до:
    // Проверка свежей версии
    $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>';
    }

Найти:
    $template->assign_vars(array(
        "NUMBER_OF_POSTS" => $total_posts,
        "NUMBER_OF_TOPICS" => $total_topics,
        "NUMBER_OF_USERS" => $total_users,
Вставить после:
        "VERSION" => $version,

templates/admin/index.tpl
Найти:
<td class="row2"><b>{$bb_cfg['tp_version']} ({$bb_cfg['tp_release_state']})</b></td>

Заменить на:
<td class="row2">{VERSION}</td>

Просьба особо сильно не ржать, учусь ток 🙂
#2
Парсер... Но идея полезная 😉
#3
Было бы не плохо, если бы в ЛС дефолтному админу рассылкой приходила ссылка на новую ревизию, если таковая есть.
#4
имхо, лишний наворот 🙄
#5
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 прикрутить сообщение на главной, например, или еще какую-то срань.

имхо, эти затраты не стоят простой проверки версии. если обновишся на пару дней позднее, ничего не случится 🙂
#7
можно к параметрку new_version прикрутить сообщение на главной, например, или еще какую-то срань.
Ага большим жирным шрифтом красным цветом😉
Снимок.webp
#8
Чета я в этом не вижу не малейшего смысла, нахрена? Кто следит и так обновится, а кому пофиг так его палкой не заставишь.
Чисто местечковое решение для тех кому хочется ИМХО, в движке такой ерунде делать нечего.
#9
diden05, ну почему, аля phpbb3. Только там по версиям.
#10
diden05, так никто не говорит, что эта проверка претендует на место в движке. просто вот такое захотелось сделать 🙂 а идея с phpbb3, как dimka3210 сказал, раньше на нем сидел и много чего там интересного есть