Thanks Mod

Здесь авторы постили бета-версии своих модификаций для phpBB 2.0.x. Внимание! Не устанавливайте бета-версии модов на работающие форумы!
Аватара пользователя
RedNaxi
Former team member
Сообщения: 916
Зарегистрирован: 21.02.2007 2:05
Откуда: BeBoss.ru
Поблагодарили: 4 раза

Сообщение RedNaxi » 18.06.2007 1:51

go
у вас видимо когда тестируете $value_sql пусто. вот если же у вас оно будет не пусто тогда возникнет ошибка.


kingdom
а возможно реализовать поиск постов юзера которым выдана благодарность?
т.е. например кол-во входящих благодарностей сделать как ссылку если по ней перейти будут показыватся все посты юзера за которые его поблагодарили. а то например мне интересно за какой пост мне дали благодарность(первую=) но пересматривать все темы форума ради того чтобы найти этот пост мне не охота...

Добавлено спустя 40 минут 51 секунду:

прочитал всю тему. в одном месте уже спрашивалось про писк постов с благорностями ответа так и не было нигде.

Lektor
phpBB 2.0.7
Сообщения: 574
Зарегистрирован: 20.04.2006 15:19

Сообщение Lektor » 18.06.2007 4:29

Нужно обновить инструкцию в 1.04 версии:
Этот:

Код: Выделить всё

#
#-----[ FIND ]---------------------------------
#
	$s_hidden_fields .= ( $delete || $mode == "delete" ) ? '<input type="hidden" name="mode" value="delete" />' : '<input type="hidden" name="mode" value="poll_delete" />';
 
	$l_confirm = ( $delete || $mode == 'delete' ) ? $lang['Confirm_delete'] : $lang['Confirm_delete_poll'];

# 
#-----[REPLACE WITH ]------------------------------------------ 
#
	if ($delete || $mode == 'delete') {
		$s_hidden_fields .= '<input type="hidden" name="mode" value="delete" />';
		$l_confirm = $lang['Confirm_delete'];
	} else
	if ($mode == 'thank') {
		$s_hidden_fields .= '<input type="hidden" name="mode" value="thank" />';
		$l_confirm = $lang['Confirm_thanks'];
	} else {
		$s_hidden_fields .= '<input type="hidden" name="mode" value="poll_delete" />';
		$l_confirm = $lang['Confirm_delete_poll'];
	}
На это:

Код: Выделить всё

#
#-----[ FIND ]---------------------------------
#
		$s_hidden_fields .= ( $delete || $mode == "delete" ) ? '<input type="hidden" name="mode" value="delete" />' : '<input type="hidden" name="mode" value="poll_delete" />';
	$s_hidden_fields .= '<input type="hidden" name="sid" value="' . $userdata['session_id'] . '" />';

	$l_confirm = ( $delete || $mode == 'delete' ) ? $lang['Confirm_delete'] : $lang['Confirm_delete_poll'];

# 
#-----[REPLACE WITH ]------------------------------------------ 
#
	if ($delete || $mode == 'delete') {
		$s_hidden_fields .= '<input type="hidden" name="mode" value="delete" />';
		$s_hidden_fields .= '<input type="hidden" name="sid" value="' . $userdata['session_id'] . '" />';
		$l_confirm = $lang['Confirm_delete'];
	} else
	if ($mode == 'thank') {
		$s_hidden_fields .= '<input type="hidden" name="mode" value="thank" />';
		$s_hidden_fields .= '<input type="hidden" name="sid" value="' . $userdata['session_id'] . '" />';
		$l_confirm = $lang['Confirm_thanks'];
	} else {
		$s_hidden_fields .= '<input type="hidden" name="mode" value="poll_delete" />';
		$s_hidden_fields .= '<input type="hidden" name="sid" value="' . $userdata['session_id'] . '" />';
		$l_confirm = $lang['Confirm_delete_poll'];
	}
Добавлено спустя 1 час 28 минут 40 секунд:
RedNaxi писал(а):а возможно реализовать поиск постов юзера которым выдана благодарность?
Ну идея в принципе не плохая... яб даже сказал полезная.
Я тут попробовал и пока (в качестве тестов) дальше адона для Велкам Панели не ушло:
Т.е. показывает все сообщения за которые вас благодарили:

Код: Выделить всё

# 
#-----[ OPEN ]----- 
# 
search.php 
# 
#-----[ FIND ]----- 
# 
#Note: full line is longer
	if ( $search_id == 'newposts' || $search_id == 'egosearch'
# 
#-----[ IN-LINE FIND ]----- 
# 
)
# 
#-----[ IN-LINE BEFORE, ADD ]----- 
# 
|| $search_id == 'thanks'
# 
#-----[ FIND ]----- 
# 
		if ( $search_id == 'newposts' || $search_id == 'egosearch'
# 
#-----[ IN-LINE FIND ]----- 
# 
( $search_author !=
# 
#-----[ IN-LINE BEFORE, ADD ]----- 
# 
$search_id == 'thanks' ||
# 
#-----[ FIND ]----- 
# 
			else if ( $search_id == 'egosearch' )
# 
#-----[ BEFORE, ADD ]----- 
# 
			else if ( $search_id == 'thanks' )
			{

					$sql = "SELECT p.post_id
					FROM " . POSTS_TABLE . " p, " . THANKS_TABLE . " t
					WHERE p.poster_id = " . $userdata['user_id'] ."
					AND t.post_id = p.post_id";

				$show_results = 'posts';
				$sort_by = 0;
				$sort_dir = 'ASC';
			} 
# 
#-----[ OPEN ]----- 
# 
includes/page_header.php 
# 
#-----[ FIND ]----- 
# 
	'L_SEARCH_NEW' => $lang['Search_new'],
# 
#-----[ AFTER, ADD ]----- 
# 
	'L_SEARCH_THANKS' => $lang['Search_thanks'],
# 
#-----[ FIND ]----- 
# 
	'U_SEARCH_NEW' => append_sid('search.'.$phpEx.'?search_id=newposts'),
# 
#-----[ AFTER, ADD ]----- 
# 
	'U_SEARCH_THANKS' => append_sid('search.'.$phpEx.'?search_id=thanks'),
# 
#-----[ OPEN ]----- 
# 
language/lang_russian/lang_main.php 
# 
#-----[ FIND ]----- 
# 
$lang['Search_new'] =
# 
#-----[ AFTER, ADD ]----- 
# 
$lang['Search_thanks'] = 'Сообщения за которые вас благодарили'; 
# 
#-----[ OPEN ]----- 
# 
templates/subSilver/index_body.tpl 
#
# Где-нибудь по вашему вкусу или:

#
#-----[ FIND ]----- 
# 
#Note: full line longer
		<a href="{U_SEARCH_NEW}"
# 
#-----[ IN-LINE FIND ]----- 
# 
<a href="{U_SEARCH_NEW}"
# 
#-----[ IN-LINE BEFORE, ADD ]----- 
# 
<a href="{U_SEARCH_THANKS}" class="gensmall">{L_SEARCH_THANKS}</a><br />
# 
#-----[ SAVE/CLOSE ALL FILES ]------------------------------------------ 
# 
# EoM
Но это так .. чисто для тестов .. ибо: не красиво не удобно. Былоб прикольно еслиб сразу было видно список поблагодаривших. (ну и понятное дело прикрутить в втютопике и вьюпрофайле)

Вообще думаю можно сделать как у Демократии с репутацией.
Я лично сам долго буду разбираться.. так что если кто-то подхватит идею и попробует сделать, то будет норм ..

Аватара пользователя
VVVas
Former team member
Сообщения: 4463
Зарегистрирован: 12.11.2004 0:20
Поблагодарили: 13 раз
Контактная информация:

Сообщение VVVas » 18.06.2007 9:11

Lektor писал(а):Нужно обновить инструкцию в 1.04 версии:
Мой вариант компактнее.
я люблю daft punk | новый sugoi.ru

kingdom
phpBB 1.4.3
Сообщения: 76
Зарегистрирован: 29.03.2006 18:31

Сообщение kingdom » 18.06.2007 13:38

Lektor писал(а):Нужно обновить инструкцию в 1.04 версии:
это наверное для 2.0.22, а мод сделан для 2.0.19

Аватара пользователя
VVVas
Former team member
Сообщения: 4463
Зарегистрирован: 12.11.2004 0:20
Поблагодарили: 13 раз
Контактная информация:

Сообщение VVVas » 18.06.2007 14:21

у меня на 22 живет и не пугается, только поправил это место так как написал выше.
я люблю daft punk | новый sugoi.ru

Lektor
phpBB 2.0.7
Сообщения: 574
Зарегистрирован: 20.04.2006 15:19

Сообщение Lektor » 18.06.2007 15:21

VVVas
А да, что-то я провтыкал ваше сообщение .. так действительно компактнее.
kingdom
Да... в 2.0.22 появилась проверка сессий, так что раз мод для phpBB, то значит должен идти с ним в ногу :)

Добавлено спустя 19 минут 28 секунд:

Т.е. надо готовить выпуск след. версии с таким списком изменений (тобишь реквесты):
- Адаптация под 2.0.22 версию форума (проверка сессий)
- Возможность смотреть сообщения за которые благодарили юзера
- Кнопка спасибо сделана на Аяксе

:roll:
Скромненько так :lol: :lol:

Аватара пользователя
VVVas
Former team member
Сообщения: 4463
Зарегистрирован: 12.11.2004 0:20
Поблагодарили: 13 раз
Контактная информация:

Сообщение VVVas » 18.06.2007 15:48

Lektor писал(а):- Возможность смотреть сообщения за которые благодарили юзера
Аддоном
Lektor писал(а):- Кнопка спасибо сделана на Аяксе
Тоггда и все остальные тоже, чем эта так особенна?

Добавлено спустя 17 секунд:
Lektor писал(а):- Адаптация под 2.0.22 версию форума (проверка сессий)
Мы её уже провели.
я люблю daft punk | новый sugoi.ru

Lektor
phpBB 2.0.7
Сообщения: 574
Зарегистрирован: 20.04.2006 15:19

Сообщение Lektor » 18.06.2007 21:09

VVVas писал(а):Аддоном
Ну можно и аддоном .. у меня если чесно такой вопрос, как определять, что аддоном делать, а что в основную сборку делать?
Например, в "Демократии" не делали аддоном просмотр постов, за которые юзеру подняли репу, а включили в "основной состав" мода.

Я думал, что аддоном делается, то что может кому-то понадобиться, но при опр. условиях, например аддон ФайлсАттачметс для формы быстрого ответа, сделалася имено аддоном потому, что не у всех есть ФайлсАттачментс и т.д. Думаю если надпись "Благодарности" (под аватаркой или в профиле) изменит свой вид на ссылку для просмотра списка благодарностей, то это не сильно изменит концепцию мода.
VVVas писал(а):Тоггда и все остальные тоже, чем эта так особенна?
Ну тоже верно, но особена она тем, что некоторые могут лениться нажимать спасибо из-за того что: лень ждать пока перезагрузится страница, медленный интеренет и т.д. и т.п.
VVVas писал(а):Мы её уже провели.
Ну эт я понял, то я имел ввиду включить это в саму инструкцию.

Добавлено спустя 10 минут 1 секунду:

Т.е. я в принципе думаю что вполне умесно будет и включить в "основной состав" и такие изменения как:
- Имена в списке поблагодаривших пост - линки на их профиль.
- Вынос показателя "Благодарность" в профиль юзеров.

Добавлено спустя 30 секунд:

Имхо имхо :)

Добавлено спустя 4 часа 9 минут 54 секунды:

Тут немного играюсь с модом (ставил его на чистый форум изимодом) и подумал, нужно бы наверно еще немного подправить инструкцию:
(в основном для тех кто ставит изимодом)

Код: Выделить всё

#
#-----[ FIND ]------------------------------------------
#
		u.user_allowsmile, 

#
#-----[ AFTER, ADD ]------------------------------------------
#
		u.user_thanks, 
		u.user_thanked, 
На это:

Код: Выделить всё

#
#-----[ FIND ]------------------------------------------
#
//
// Go ahead and pull all data for this topic
//
$sql = "SELECT u.username, u.user_id, u.user_posts, u.user_from
#
#-----[ IN-LINE FIND ]------------------------------------------
#
u.user_allowsmile, 

#
#-----[ IN-LINE AFTER, ADD ]------------------------------------------
#
u.user_thanks, u.user_thanked, 
+ это:

Код: Выделить всё

#
#-----[ FIND ]---------------------------------
#
				<td colspan="2"><span class="postbody">{postrow.MESSAGE}{postrow.SIGNATURE}</span><span class="gensmall">{postrow.EDITED_MESSAGE}</span></td>

#
#-----[ IN-LINE FIND ]------------------------------------------
#
{postrow.EDITED_MESSAGE}</span>

#
#-----[ IN-LINE AFTER, ADD ]------------------------------------------
#
				<!-- BEGIN thanks -->
				<table align="right" valign="bottom"><tr><td valign="bottom"><i class="genmed" style="color:green">{postrow.thanks.THANKS_USERS}</i></td><td>{postrow.thanks.THANKS_STATUS}</td></tr></table>
				<!-- END thanks -->
Лучше сделать как было в 1.03 версии: (и не только для изимодчиков, т.к. если выполнить инструкцию и вставить "в строке после", то покоребит страницу, сам не ожидал)

Код: Выделить всё

#
#-----[ FIND ]---------------------------------
#
				<td colspan="2"><span class="postbody">{postrow.MESSAGE}{postrow.SIGNATURE}</span><span class="gensmall">{postrow.EDITED_MESSAGE}</span></td>

# 
#-----[REPLACE WITH ]------------------------------------------ 
#

				<td colspan="2"><span class="postbody">{postrow.MESSAGE}{postrow.SIGNATURE}</span><span class="gensmall">{postrow.EDITED_MESSAGE}</span>
				<!-- BEGIN thanks -->
				<table align="right" valign="bottom"><tr><td valign="bottom"><i class="genmed" style="color:green">{postrow.thanks.THANKS_USERS}</i></td><td>{postrow.thanks.THANKS_STATUS}</td></tr></table>
				<!-- END thanks -->
				</td>


Lektor
phpBB 2.0.7
Сообщения: 574
Зарегистрирован: 20.04.2006 15:19

Сообщение Lektor » 21.06.2007 3:19

Такой вопрос:
я хочу сделать выборку всех постов определенного пользователя(например id=2) за которые ему сказали спасибо
я делаю такой запрос:

Код: Выделить всё

SELECT p.post_id, p.post_time
FROM phpbb_posts p, phpbb_thanks th
WHERE p.poster_id = 2
AND th.post_id = p.post_id
ORDER by p.post_id;
этот запрос отлично делает свое дело: выводит все айди постов за которые юзер получил спасибо, НО если его за конкретный пост благодарили два и более раз, то айди этого сообщения выводится то кол-во раз, которое за него благодарили (т.е. я понимаю почему это происходит) , но я не могу придумать запрос, чтоб не было повторности. Ппотому что потом на странице благодарностей у меня так и выводится, 3 раза сказали сенк за пост 273, вот три раза оно и вывелось, можно решить вопрос переоформив запрос.. или уже в самом скрипте фильтрануть придеться?

kingdom
phpBB 1.4.3
Сообщения: 76
Зарегистрирован: 29.03.2006 18:31

Сообщение kingdom » 21.06.2007 12:23

попробуй так

Код: Выделить всё

SELECT p.post_id, p.post_time 
FROM phpbb_posts p, phpbb_thanks th 
WHERE p.poster_id = 2 
AND th.post_id = p.post_id GROUP BY p.post_id ORDER by p.post_id;

Lektor
phpBB 2.0.7
Сообщения: 574
Зарегистрирован: 20.04.2006 15:19

Сообщение Lektor » 21.06.2007 22:27

kingdom
О, то что нужно .. ) В принципе пока все получается (правда еще не разбирался с запретом вывода постов из форумов в которые просматриваемому нет доступа)

XIII
phpBB 1.4.2
Сообщения: 60
Зарегистрирован: 08.02.2006 0:33
Контактная информация:

Сообщение XIII » 22.06.2007 19:41

Помогите пожалуйста установил мод, но или чтото задел или чтото не так стали сразу же не видны другие картинки, создать тему и другие

Добавлено спустя 34 минуты 36 секунд:

всем спасибо сам нашёл ошибку =)
Вложения
скрин
скрин

Аватара пользователя
VVVas
Former team member
Сообщения: 4463
Зарегистрирован: 12.11.2004 0:20
Поблагодарили: 13 раз
Контактная информация:

Сообщение VVVas » 22.06.2007 22:29

XIII
Убить свое сообщение пока оно было последним так сложно самому?
я люблю daft punk | новый sugoi.ru

Lektor
phpBB 2.0.7
Сообщения: 574
Зарегистрирован: 20.04.2006 15:19

Сообщение Lektor » 23.06.2007 4:29

Вообщем сделал адд-ончик для сабжа:

Описание: Позволяет смотреть все сообщения, за которые пользователь получил спасибо или те сообщения, которые сам благодарил.
Просмотр возможен как из темы, так и из профиля пользователя.

Ну вообщем получилось что-то в этом роде:
Изображение Изображение Изображение Изображение

To do list:
  • Запрет вывода сообщений, оставленных в закрытых форумах (для просматриваемого) на странице просмотра благодарностей
  • Pagination
  • Ограничение вывода сообщений (?) Сейчас выводится сообщение целиком, может его обрезать ? (имеется в виду на странице просмотра благодарностей)
  • Сортировка сообщений от старых к новым и наоборот (та что щас - не пашет (забыл закоментировать))
Добавлено спустя 2 минуты 3 секунды:

ЗЫ тока шо заметил, сори за атач в ~300 кб )), то я там скрины не пожал .. оставлю так.. потом перепакую )

Добавлено спустя 6 минут 27 секунд:

А и еще забыл добавить, аддон основан на идее мода Демократии (там я даж использовал готовые функции от туда)

И если шо пишите баги и помогайте их фиксить )
Вложения
Add-on.for.Thanks.Mod.by.Kingdom.rar
(284.01 КБ) 427 скачиваний

Hatch
phpBB 1.4.1
Сообщения: 45
Зарегистрирован: 17.05.2007 15:55
Откуда: KZ | Кызылорда
Контактная информация:

Сообщение Hatch » 07.07.2007 8:40

Уважаемые, гуру.
У меня возникла проблема после установки мода "thank_mod_1[1].1.8", кроме того, что ничего на форуме не изменилось (нет результата инклуда мода), еще исчезли кнопки "Ответить" и "Новая тема" в шаблоне просмотра топика (viewtopic.*), которые отображались под постами пользователей под формой быстрого ответа. Никак не могу разобраться в чем проблема, все сделал по инструкции...
Помогите пожалуйста разобраться с ситуацией.
Можете посмотреть визуально: http://k-orda.kz/forum

Закрыто

Вернуться в «Бета-версии модов для phpBB 2.0.x»