[BETA] Topics Lifetime
-
- phpBB 1.4.4
- Сообщения: 149
- Стаж: 19 лет 8 месяцев
- Откуда: Киев
-
- phpBB Guru
- Сообщения: 5484
- Стаж: 21 год 1 месяц
- Поблагодарили: 2 раза
-
- Поддержка
- Сообщения: 5426
- Стаж: 20 лет 3 месяца
- Откуда: Питер
- Благодарил (а): 177 раз
- Поблагодарили: 749 раз
Xpert
Уже 3 дня юзаю этот мод
работает отлично!
Правда подумываю sql-запрос с index.php перенести куда-нибудь в менее-используемый viewforum.php
Уже 3 дня юзаю этот мод

Правда подумываю sql-запрос с index.php перенести куда-нибудь в менее-используемый viewforum.php

Еще одно нарушение правил и будете забанены. © Mr. Anderson
Ты очистил кеш? © Sheer
https://siava.ru (phpbb2.0.x 3.5.x)
Ты очистил кеш? © Sheer
https://siava.ru (phpbb
-
- phpBB 2.0.5
- Сообщения: 490
- Стаж: 20 лет 5 месяцев
- Откуда: Санкт-Петербург
Мод не дружит с Universal TodayAt/YesterdayAt.
Добавлено спустя 1 час 10 минут 51 секунду:
Гы, деинсталлировал мод выше, теперь всё ок.
Добавлено спустя 3 минуты 38 секунд:
Гы, а как ты,Xpert, выводишь объяву о том, когда тема будет отправлена в корзину? У меня для админов и модеров отображается, а для гостей нет.
Добавлено спустя 1 час 10 минут 51 секунду:
Гы, деинсталлировал мод выше, теперь всё ок.
Добавлено спустя 3 минуты 38 секунд:
Гы, а как ты,Xpert, выводишь объяву о том, когда тема будет отправлена в корзину? У меня для админов и модеров отображается, а для гостей нет.

-
- phpBB 2.0.5
- Сообщения: 490
- Стаж: 20 лет 5 месяцев
- Откуда: Санкт-Петербург
Локализация:
Код: Выделить всё
// [begin] Topics LifeTime
$lang['Lifetime_not_enough_params'] = 'Не установлены необходимые параметры;
$lang['Lifetime'] = 'Время жизни темы';
$lang['Lifetime_expires'] = 'Тема будет перемещена в корзину %s';
$lang['Set_lifetime'] = 'Установить';
$lang['Delete_lifetime'] = 'Снять';
$lang['Lifetime_set'] = 'Время жизни темы было успешно активировано;
$lang['Lifetime_deleted'] = 'Время жизни темы было успешно деактивировано';
$lang['Lifetime_now'] = 'Отправить в корзину сейчас';
$lang['Lifetime_1_day'] = 'через день';
$lang['Lifetime_7_days'] = 'через 7 дней';
$lang['Lifetime_2_weeks'] = 'через 2 недели';
$lang['Lifetime_1_month'] = 'через месяц';
// [end] Topics LifeTime
-
- phpBB Guru
- Сообщения: 5484
- Стаж: 21 год 1 месяц
- Поблагодарили: 2 раза
Ну вообще у меня давно другая версия этого мода, в принципе от существующей отличается только тем что данные - в таблице topics и то что по сути это уже не мод по удалению тем в корзину, а платформа для отложенных действий. А так в принципе - просто вывожу и все. Банальный switch в шаблоне, генерация времени независимо от того, модератор ли порльзователь и все.severnet писал(а):Гы, а как ты,Xpert, выводишь объяву о том, когда тема будет отправлена в корзину? У меня для админов и модеров отображается, а для гостей нет.
Эксперт - это человек, который избегает мелких ошибок на пути к грандиозному провалу.
Любая более-менее сложная задача имеет несколько простых, изящных, лёгких для понимания неправильных решений
Любая более-менее сложная задача имеет несколько простых, изящных, лёгких для понимания неправильных решений
-
- phpBB 2.0.5
- Сообщения: 490
- Стаж: 20 лет 5 месяцев
- Откуда: Санкт-Петербург
-
- phpBB Guru
- Сообщения: 5484
- Стаж: 21 год 1 месяц
- Поблагодарили: 2 раза
Как я сказал, у меня более новая версия мода. Но пример конкретный...
viewtopic.php
viewtopic_body.tpl
viewtopic.php
Код: Выделить всё
// [begin] Delayed Topics Actions 1.0.0
if ( $userdata['session_logged_in'] && $forum_topic_data['topic_action_time'] )
{
$action_time_expires = sprintf($lang['DTA_action_time_expires'], create_date($board_config['default_dateformat'], $forum_topic_data['topic_action_time'], $board_config['board_timezone']));
$template->assign_block_vars('switch_action_time_expires', array());
$template->assign_vars(array('ACTION_TIME_EXPIRES' => $action_time_expires));
}
// [end] Delayed Topics Actions 1.0.0
//
// Topic watch information
//
Код: Выделить всё
<span class="gensmall"><b>{PAGINATION}</b><br />
</span></td>
</tr>
</table>
<!-- BEGIN switch_action_time_expires -->
<table class="forumline" width="100%" cellspacing="1" cellpadding="3" border="0">
<tr>
<td class="row1" height="28"><b class="genmed">{ACTION_TIME_EXPIRES}</b></td>
</tr>
</table>
<br />
<!-- END switch_action_time_expires -->
Эксперт - это человек, который избегает мелких ошибок на пути к грандиозному провалу.
Любая более-менее сложная задача имеет несколько простых, изящных, лёгких для понимания неправильных решений
Любая более-менее сложная задача имеет несколько простых, изящных, лёгких для понимания неправильных решений
-
- phpBB 2.0.5
- Сообщения: 490
- Стаж: 20 лет 5 месяцев
- Откуда: Санкт-Петербург
Xpert,
Ты же копируешь кусок из нового мода. 
Код: Выделить всё
// [begin] Topics LifeTime
$template->assign_block_vars('switch_topic_mod', array());
$lifetime_time = array(0, 1*86400, 7*86400, 14*86400, 30*86400);
$lifetime_time_text = array($lang['Lifetime_now'], $lang['Lifetime_1_day'], $lang['Lifetime_7_days'], $lang['Lifetime_2_weeks'], $lang['Lifetime_1_month']);
$lifetime_select = '<select name="lifetime">';
for($i = 0; $i < count($lifetime_time); $i++)
{
$lifetime_select .= '<option value="' . $lifetime_time[$i] . '">' . $lifetime_time_text[$i] . '</option>';
}
$lifetime_select .= '</select>';
$sql = "SELECT * FROM " . TOPICS_LIFETIME_TABLE . " WHERE topic_id='$topic_id'";
$result = $db->sql_query($sql) or message_die(GENERAL_MESSAGE, 'Error getting lifetime data', '', __LINE__, __FILE__, $sql);
if ($db->sql_numrows($result))
{
$row = $db->sql_fetchrow($result);
$lifetime_expires = sprintf($lang['Lifetime_expires'], create_date($board_config['default_dateformat'], $row['topic_lifetime'], $board_config['board_timezone']));
$template->assign_block_vars('switch_topic_mod.switch_lifetime_expires', array());
$template->assign_vars(array('LIFETIME_EXPIRES' => $lifetime_expires));
}
// [end] Topics LifeTime

-
- phpBB Guru
- Сообщения: 5484
- Стаж: 21 год 1 месяц
- Поблагодарили: 2 раза
Ну и в чем проблема? Это конкретный пример... чем
... кардинально отличается от
+ код выборки из отдельной таблицы, который выше есть?
Код: Выделить всё
$forum_topic_data['topic_action_time']
Код: Выделить всё
$row['topic_lifetime']
Эксперт - это человек, который избегает мелких ошибок на пути к грандиозному провалу.
Любая более-менее сложная задача имеет несколько простых, изящных, лёгких для понимания неправильных решений
Любая более-менее сложная задача имеет несколько простых, изящных, лёгких для понимания неправильных решений
-
- phpBB 2.0.5
- Сообщения: 490
- Стаж: 20 лет 5 месяцев
- Откуда: Санкт-Петербург
-
- phpBB 2.0.13
- Сообщения: 917
- Стаж: 19 лет 9 месяцев
- Откуда: с Луны свалил...
Насколько сложно будет переделать этот мод по отношению к отдельным постам?
Отсроченное удаление отдельных сообщений в теме...
Пока интересует хотя бы в теории.
Нужно, чтобы пользователь видел, что его сообщение будет удалено.
Это даст возможность или объяснить свой пост или исправить или извиниться, в общем разные всякие ситуации могут быть...
Отсроченное удаление отдельных сообщений в теме...
Пока интересует хотя бы в теории.
Нужно, чтобы пользователь видел, что его сообщение будет удалено.
Это даст возможность или объяснить свой пост или исправить или извиниться, в общем разные всякие ситуации могут быть...

-
- phpBB 2.0.5
- Сообщения: 490
- Стаж: 20 лет 5 месяцев
- Откуда: Санкт-Петербург
-
- phpBB Guru
- Сообщения: 5484
- Стаж: 21 год 1 месяц
- Поблагодарили: 2 раза
-
- Former team member
- Сообщения: 933
- Стаж: 18 лет 2 месяца
- Откуда: BeBoss.ru
- Благодарил (а): 2 раза
- Поблагодарили: 10 раз
вылезает после того как выгрузил сайт к хостеру. У меня на локалхосте все норм. С чем это может быть связано?Error getting lifetime data
Добавлено спустя 1 час 57 минут 23 секунды:
извиняюсь, проблема решилась перезаливкой файлов на сайт.
А вот эта проблема:
http://www.phpbbguru.net/community/view ... 201#133201
так не решилась:(