пак с архивом мода почему-то оказался битым. восстановил из того, что было. вполне вероятно, что в старом было что-то ещё. но этот вариант работает.
Лайк за сообщение
модификация позволяет пользователю оставлять лайк за любое сообщение в теме.
разумеется, зарегистрированному пользователю.
каждый пользователь сможет оставить не более одного лайка.
возможности удалять лайки нет ни у кого.
при наведении на количество лайков всплывает окно с никами проголосовавших.
саму модификацию присмотрел здесь: оригинальная тема
данная модификация в немного подредактированном виде установлена и здесь на сайте: кнопка "нравится" и рядом счётчик лайков.
для сабсилвера кода не было - написал как получилось.
в стандартном варианте будет выглядеть так:
Вложение:
Комментарий к файлу: prosilver
Вложение:
Комментарий к файлу: subsilver2
Если заинтересовало - ставим. (это довольно просто).
Скачать папку post_like_phpbb3 из архива сайта
Скачать из файлового архива сайта
распаковать и содержимое папки загрузить в корень сайта (где файл config.php).
Теперь редактируем файлы форума:
необходимо провести SQL-запрос:
Код: Выделить всё
create table phpbb_likes (
likes_key varchar(100), primary key(likes_key),
likes_count int,
likes_who text
);
Далее:
открыть viewtopic.php
найти
вставить после найденного
Код: Выделить всё
'QUOTE_IMG' => $user->img('icon_post_quote', 'REPLY_WITH_QUOTE'),
вставить после найденного
Код: Выделить всё
'LIKE_IMG' => $user->img('icon_post_like', 'LIKE'),
найти
вставить перед найденным
Код: Выделить всё
$postrow = array(
вставить перед найденным
Код: Выделить всё
$likes_key = $forum_id.'_'.$topic_id.'_'.$row['post_id'];
$likes_sql = "SELECT * FROM phpbb_likes where likes_key='$likes_key'";
$likes_result = $db->sql_query($likes_sql);
$likes_row = $db->sql_fetchrow($likes_result);
$likes_count = $likes_row['likes_count'];
$likes_who = $likes_row['likes_who'];
if (!$likes_count) $likes_text = '';
if ($likes_count == 1) $likes_text = "<a href='#' title='$likes_who'>1 Like</a>";
if ($likes_count > 1) $likes_text = "<a href='#' title='$likes_who'>$likes_count Likes</a>";
$likes_back = str_replace('&','~',$_SERVER['QUERY_STRING']);
$likes_link = "f=$forum_id&t=$topic_id&p={$row['post_id']}&back=$likes_back";
найти
вставить после найденного
Код: Выделить всё
'U_QUOTE' => ($auth->acl_get('f_reply', $forum_id)) ? append_sid("{$phpbb_root_path}posting.$phpEx", "mode=quote&f=$forum_id&p={$row['post_id']}") : '',
вставить после найденного
Код: Выделить всё
'U_LIKE' => ($auth->acl_get('f_reply', $forum_id)) ? append_sid("{$phpbb_root_path}like.$phpEx", $likes_link) : '',
'U_LIKE_TEXT' => $likes_text,
открыть language/en/common.php
найти
вставить после найденного
Код: Выделить всё
'LEGEND' => 'Legend',
вставить после найденного
Код: Выделить всё
'LIKE' => 'Like this post',
открыть language/ru/common.php
найти
вставить после найденного
Код: Выделить всё
'LEGEND' => 'Легенда',
вставить после найденного
Код: Выделить всё
'LIKE' => 'Поставить лайк за сообщение',
Очистите кэш темы, шаблона, браузера и пользуйтесь на здоровье.
у автора оригинальной темы (как и у меня) проблемы с пропиской изображений в картинках, поэтому сделал просто отдельную папку в /imageset.

Удачного применения.
