Поиск пользователя

Идеи для расширения функциональности phpBB 2.0.x
Stas!

Поиск пользователя

Сообщение Stas! »

Не подскажите есть ли мод, который осуществляет поиск поьзователей на форуме.
В стандартной сборке есть только поиск сообщений по автору, а если пользователь не написал ни одного сообщение, то поиск результатов не даст
Kastaneda
Former team member
Сообщения: 702
Зарегистрирован: 20 лет 6 месяцев

Сообщение Kastaneda »

Мод «Memberlist Find User»
Stas!

Сообщение Stas! »

Kastaneda писал(а):Мод «Memberlist Find User»
Спасибо
MAzZY
Бывший член :)
Сообщения: 2925
Зарегистрирован: 19 лет 11 месяцев
Благодарил (а): 19 раз
Поблагодарили: 30 раз
Забанен: Бессрочно

Сообщение MAzZY »

Подскажите, как исправить этот мод, чтобы все выполнялось одной кнопкой. Две - это излишество неудобное.
Вот сам мод:

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

##############################################################
## MOD Title: Memberlist Find User
## MOD Author: Sko22 < sko22@quellicheilpc.it > (Gianluca Scerni) http://www.quellicheilpc.it/
## MOD Description: Search a username in memberlist
##
## MOD Version: 1.0.0
##
## Installation Level: Easy
## Installation Time: ~3 Minutes
## Files To Edit: memberlist.php
##		       templates/subSilver/memberlist_body.tpl
##		       language/lang_english/lang_main.php
## Included Files: n/a
##############################################################
## For Security Purposes, Please Check: http://www.phpbb.com/mods/ for the
## latest version of this MOD. Downloading this MOD from other sites could cause malicious code
## to enter into your phpBB Forum. As such, phpBB will not offer support for MOD's not offered
## in our MOD-Database, located at: http://www.phpbb.com/mods/
##############################################################
## Author Notes: Support at www.quellicheilpc.com , Webmastering Forum.
##
##############################################################
## MOD History:
##
##   2004-03-04 - Version 1.0.0
##      - Initial Release
##
##############################################################
## Before Adding This MOD To Your Forum, You Should Back Up All Files Related To This MOD
##############################################################

#
#-----[ OPEN ]------------------------------------------
#

memberlist.php

#
#-----[ FIND ]------------------------------------------
#

	'L_PM' => $lang['Private_Message'],

#
#-----[ AFTER, ADD ]------------------------------------------
#

	'L_LOOK_UP' => $lang['Look_up_User'],
	'L_FIND_USERNAME' => $lang['Find_username'],
	'U_SEARCH_USER' => append_sid("search.$phpEx?mode=searchuser"), 

#
#-----[ FIND ]------------------------------------------
#

$sql = "SELECT username, user_id, user_viewemail, user_posts, user_regdate, user_from, user_website, user_email, user_icq, user_aim, user_yim, user_msnm, user_avatar, user_avatar_type, user_allowavatar 
	FROM " . USERS_TABLE . "
	WHERE user_id <> " . ANONYMOUS . "
	ORDER BY $order_by";

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

$username = ( !empty($HTTP_POST_VARS['username']) ) ? $HTTP_POST_VARS['username'] : '';

if ( $username && isset($HTTP_POST_VARS['submituser']) )
{
	$sql = "SELECT username, user_id, user_viewemail, user_posts, user_regdate, user_from, user_website, user_email, user_icq, user_aim, user_yim, user_msnm, user_avatar, user_avatar_type, user_allowavatar 
		FROM " . USERS_TABLE . "
		WHERE username = '$username' AND user_id <> " . ANONYMOUS . " LIMIT 1";
}
else
{
	$sql = "SELECT username, user_id, user_viewemail, user_posts, user_regdate, user_from, user_website, user_email, user_icq, user_aim, user_yim, user_msnm, user_avatar, user_avatar_type, user_allowavatar 
		FROM " . USERS_TABLE . "
		WHERE user_id <> " . ANONYMOUS . "
		ORDER BY $order_by";
}

#
#-----[ FIND ]------------------------------------------
#

	}
	while ( $row = $db->sql_fetchrow($result) );
}

#
#-----[ AFTER, ADD ]------------------------------------------
#

else 
{
		$template->assign_block_vars('no_username', array(
			'NO_USER_ID_SPECIFIED' => $lang['No_user_id_specified']	)
		);
}

#
#-----[ OPEN ]------------------------------------------
#

templates/subSilver/memberlist_body.tpl

#
#-----[ FIND ]------------------------------------------
#

<form method="post" action="{S_MODE_ACTION}">

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

<form method="post" action="{S_MODE_ACTION}" name="post">


#
#-----[ FIND ]------------------------------------------
#

		<input type="submit" name="submit" value="{L_SUBMIT}" class="liteoption" />
		</span></td>
	</tr>

#
#-----[ AFTER, ADD ]------------------------------------------
#

	<tr> 
	  <td align="left"><span class="nav">&nbsp;</span></td>
	  <td align="right" nowrap="nowrap"><span class="genmed">
	  <input type="text"  class="post" name="username" maxlength="25" size="25" tabindex="1" value="" />&nbsp;<input type="submit" name="submituser" value="{L_LOOK_UP}" class="mainoption" />&nbsp;<input type="submit" name="usersubmit" value="{L_FIND_USERNAME}" class="liteoption" onClick="window.open('{U_SEARCH_USER}', '_phpbbsearch', 'HEIGHT=250,resizable=yes,WIDTH=400');return false;" />
	  </span></td>
	</tr>

#
#-----[ FIND ]------------------------------------------
#

	  <th class="thCornerR" nowrap="nowrap">{L_WEBSITE}</th>
	</tr>

#
#-----[ AFTER, ADD ]------------------------------------------
#

	<!-- BEGIN no_username -->
	<tr> 
	  <td class="row1" align="center" colspan="9"><span class="gen">&nbsp;{no_username.NO_USER_ID_SPECIFIED}&nbsp;</span></td>
	</tr>
	<!-- END no_username -->

#
#-----[ OPEN ]------------------------------------------
#

language/lang_english/lang_main.php

#
#-----[ FIND ]------------------------------------------
#

//
// That's all, Folks!
// -------------------------------------------------

#
#-----[ BEFORE, ADD ]------------------------------------------
#

$lang['Look_up_User'] = 'Look up User';

# 
#-----[ SAVE/CLOSE ALL FILES ]------------------------------------------ 
# 
# EoM
Stas!

Сообщение Stas! »

Никакое не излишество.
Поиск пользователя и так осуществляется одной кнопкой.
Вторая кнопка,если Вы точно знаете имя пользователя и просто хотите быстрее найти его в списке пользователей.
Kastaneda
Former team member
Сообщения: 702
Зарегистрирован: 20 лет 6 месяцев

Сообщение Kastaneda »

Stas! писал(а):Никакое не излишество.
Почему? В принципе MAzZY верно подметил. Неплохо было бы совместить действие кнопочек. То есть, чтобы в поле для поиска можно было вводить не точное имя, а с маской.
Аватара пользователя
Siava
Поддержка
Поддержка
Сообщения: 5426
Зарегистрирован: 20 лет 3 месяца
Откуда: Питер
Благодарил (а): 177 раз
Поблагодарили: 749 раз

Сообщение Siava »

Sort memberlist per letter - удобный мод чтобы найти нужного пользователя.
Еще одно нарушение правил и будете забанены. © Mr. Anderson
Ты очистил кеш? © Sheer
https://siava.ru (phpbb 2.0.x 3.5.x)
Аватара пользователя
Nemo1987
phpBB 2.0.7
Сообщения: 560
Зарегистрирован: 19 лет 2 месяца

Сообщение Nemo1987 »

Siava, а нельзя ли ссылочку на мод??? Поиск: Sort memberlist per letter, не помог :(((
Kastaneda
Former team member
Сообщения: 702
Зарегистрирован: 20 лет 6 месяцев

Сообщение Kastaneda »

Siava писал(а):удобный мод чтобы найти нужного пользователя
Не сказал бы, что очень уж удобный. Если известно примерное имя искомого юзера, то проще ввести часть имени со звёздочкой и нажать Enter, нежели сортировать имена по буквам. Сам раз искал нужного юзера на огромном форуме, при этом знал точное имя юзера, но пользователей, имена которых начинались на букву искомого юзера, набралось страниц на 200. Попробуй-ка найти пользователя быстро перебором нескольких десятков страниц.

Добавлено спустя 28 минут 12 секунд:
Nemo1987 писал(а): Поиск: Sort memberlist per letter, не помог
Nemo1987, а тебе действительно совсем не стыдно каждый раз с честным видом говорить одно и то же, что мол искал, но не нашёл, потому что не знаю как запрос составить, и каждый раз по твоему же запросу кто-нибудь другой ищет и прекрасно находит? По запросу Sort memberlist per letter находится всего две темы. Первая - эта, а вторая - маленькая тема из двух страниц, все ссылки в которой даны на первой странице.
Аватара пользователя
Nemo1987
phpBB 2.0.7
Сообщения: 560
Зарегистрирован: 19 лет 2 месяца

Сообщение Nemo1987 »

Kastaneda, спс :))))) Просто я по теме смотрю :)))))) Да, там было 2 темы :)
MAzZY
Бывший член :)
Сообщения: 2925
Зарегистрирован: 19 лет 11 месяцев
Благодарил (а): 19 раз
Поблагодарили: 30 раз
Забанен: Бессрочно

Сообщение MAzZY »

И все же как реализовать мою идею?
Аватара пользователя
AlexWB
phpBB 1.4.4
Сообщения: 199
Зарегистрирован: 20 лет 3 месяца
Откуда: Kiev.UA

Сообщение AlexWB »

MAzZY в SELECT вместо
WHERE username = '$username' AND
ставишь
WHERE POSITION( '" . $username . "' IN username ) > 0 AND

можешь еще усовершенствование внести - дополнительный чекбокс "точное соответствие"
если отмечен, то искать как username = '$username'
если не отмечен, то POSITION( '" . $username . "' IN username ) > 0
ну и LIMIT = 1 в последнем будет лишним
MAzZY
Бывший член :)
Сообщения: 2925
Зарегистрирован: 19 лет 11 месяцев
Благодарил (а): 19 раз
Поблагодарили: 30 раз
Забанен: Бессрочно

Сообщение MAzZY »

AlexWB писал(а):в SELECT вместо
WHERE username = '$username' AND
ставишь
WHERE POSITION( '" . $username . "' IN username ) > 0 AND
Не работает. Выдает просто белый экран и все
Аватара пользователя
AlexWB
phpBB 1.4.4
Сообщения: 199
Зарегистрирован: 20 лет 3 месяца
Откуда: Kiev.UA

Сообщение AlexWB »

MAzZY
значит где-то накосячил, проверь код внимательно
MAzZY
Бывший член :)
Сообщения: 2925
Зарегистрирован: 19 лет 11 месяцев
Благодарил (а): 19 раз
Поблагодарили: 30 раз
Забанен: Бессрочно

Сообщение MAzZY »

Как я понял должна получится така строка:

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

WHERE POSITION( '" . $username . "' IN username ) > 0 AND user_id <> " . ANONYMOUS . " LIMIT 1";
Так вот с ней не работает. Здесь все верно в смысле синтаксиса?

Вернуться в «Запросы модов для phpBB 2.0.x»