( Frage zu ) Sort memberlist per letter

Du hast Probleme beim Einbau oder bei der Benutzung eines Mods? In diesem Forum bist du richtig.
Forumsregeln
phpBB 2.0 hat das Ende seiner Lebenszeit überschritten
phpBB 2.0 wird nicht mehr aktiv unterstützt. Insbesondere werden - auch bei Sicherheitslücken - keine Patches mehr bereitgestellt. Der Einsatz von phpBB 2.0 erfolgt daher auf eigene Gefahr. Wir empfehlen einen Umstieg auf phpBB 3.0, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.
Benutzeravatar
Red-Benz
Mitglied
Beiträge: 265
Registriert: 17.03.2006 23:05
Wohnort: Hamburg
Kontaktdaten:

( Frage zu ) Sort memberlist per letter

Beitrag von Red-Benz »

Hi

ich habe den Mod ( Sort memberlist per letter ) eingebaut und geht alles soweit.

Nun die Frage
Wie bekomme ich das hin das in

Zeige nur die Mitglieder beginnend mit: a b c d e f g h i j k l m n o p q r s t u v w x y z ( Andere ) ( Alle )

das rot markierte als Button dargestellt wird und die Buchstaben ( a bis z ) in Großbuchstaben ??

Wer kann helfen ??

hier mal der Code

Code: Alles auswählen

###############################################
##	Hack Title:		Sort memberlist per letter
##	Hack Version:	1.0.1
##	Author:			Freakin' Booty ;-P
##	Website:		http://www.freakingbooty.tk
##	Description:	This enables people to search for users that have their name starting
##					with a specific letter. You can also choose "others" (meaning non-alpha
##					characters), and "all" (the regular list).
##	Compatibility:	2.0.3 - 2.0.6
##
##	Installation Level: Easy
##	Installation Time: 4 - 5 minutes
##	Files To Edit: 3
##		memberlist.php
##		language/lang_english/lang_main.php
##		templates/SubSliver/memberlist_body.tpl
##
##	Included Files: 0
##
##	History:
##		1.0.0:	Initial release
##		1.0.1:	Hack tested and confirmed to work on 2.0.4 - 2.0.6 aswell.
##				Added an HTML space so that the spacing is preserved at all times.
##
##	Author Notes:
##		None
##
##	Support:		http://www.phpbbhacks.com/forums
##	Copyright:		©2003 Sort memberlist per letter 1.0.1 - Freakin' Booty ;-P
##
###############################################
##   You downloaded this hack from phpBBHacks.com, the #1 source for phpBB related downloads.
##   Please visit http://www.phpbbhacks.com/forums for support.
###############################################
##
###############################################
##	This hack is released under the GPL License.
##	This hack can be freely used, but not distributed, without permission.
##	Intellectual Property is retained by the hack author(s) listed above.
###############################################

#
#-----[ OPEN ]--------------------------------------------
#
memberlist.php

#
#-----[ FIND ]--------------------------------------------
#
//
// End session management
//

#
#-----[ AFTER, ADD ]--------------------------------------
#
if(isset($HTTP_POST_VARS['letter']))
{
	$by_letter = ($HTTP_POST_VARS['letter']) ? $HTTP_POST_VARS['letter'] : 'all';
}
else if(isset($HTTP_GET_VARS['letter']))
{
	$by_letter = ($HTTP_GET_VARS['letter']) ? $HTTP_GET_VARS['letter'] : 'all';
}

#
#-----[ 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 

#
#-----[ BEFORE, ADD ]-------------------------------------
#
//
// Set per-letter selection
//
$others_sql = '';
$select_letter = '';
for ($i = 97; $i <= 122; $i++)
{
	$others_sql .= " AND username NOT LIKE '" . chr($i) . "%' ";
	$select_letter .= ( $by_letter == chr($i) ) ? chr($i) . '&nbsp;' : '<a href="' . append_sid("memberlist.$phpEx?letter=" . chr($i) . "&mode=$mode&order=$sort_order&start=$start") . '">' . chr($i) . '</a>&nbsp;';
}
$select_letter .= ( $by_letter == 'others' ) ? $lang['Others'] . '&nbsp;' : '<a href="' . append_sid("memberlist.$phpEx?letter=others&mode=$mode&order=$sort_order&start=$start") . '">' . $lang['Others'] . '</a>&nbsp;';
$select_letter .= ( $by_letter == 'all' ) ? $lang['All'] : '<a href="' . append_sid("memberlist.$phpEx?letter=all&mode=$mode&order=$sort_order&start=$start") . '">' . $lang['All'] . '</a>';

$template->assign_vars(array(
	'L_SORT_PER_LETTER' => $lang['Sort_per_letter'],
	'S_LETTER_SELECT' => $select_letter,
	'S_LETTER_HIDDEN' => '<input type="hidden" name="letter" value="' . $by_letter . '">')
);

if($by_letter == 'all')
{
	$letter_sql = '';
}
else if($by_letter == 'others')
{
	$letter_sql = $others_sql;
}
else
{
	$letter_sql = " AND username LIKE '$by_letter%' ";
}

#
#-----[ FIND ]--------------------------------------------
#
	WHERE user_id <> " . ANONYMOUS . "
	ORDER BY $order_by";

#
#-----[ REPLACE WITH ]------------------------------------
#
	WHERE user_id <> " . ANONYMOUS . "$letter_sql
	ORDER BY $order_by";

#
#-----[ FIND ]--------------------------------------------
#
	$sql = "SELECT count(*) AS total
		FROM " . USERS_TABLE . "
		WHERE user_id <> " . ANONYMOUS;

#
#-----[ REPLACE WITH ]------------------------------------
#
	$sql = "SELECT count(*) AS total
		FROM " . USERS_TABLE . "
		WHERE user_id <> " . ANONYMOUS . $letter_sql;

#
#-----[ FIND ]--------------------------------------------
#
		$pagination = generate_pagination("memberlist.$phpEx?mode=$mode&order=$sort_order", $total_members, $board_config['topics_per_page'], $start). '&nbsp;';

#
#-----[ INLINE, FIND ]-------------------------------------
#
&order=$sort_order

#
#-----[ AFTER, ADD ]--------------------------------------
#
# this is before the quote!
#
&letter=$by_letter

#
#-----[ OPEN ]--------------------------------------------
#
# make sure to edit this file for every language installed
#
language/lang_english/lang_main.php

#
#-----[ FIND ]--------------------------------------------
#
//
// That's all, Folks!
// -------------------------------------------------

#
#-----[ BEFORE, ADD ]-------------------------------------
#
//
// Sort memberlist per letter
//
$lang['Sort_per_letter'] = 'Show only usernames starting with';
$lang['Others'] = 'others';
$lang['All'] = 'all';

#
#-----[ OPEN]--------------------------------------------
#
# make sure to edit this file for every template installed
#
templates/subSilver/memberlist_body.tpl

#
#-----[ FIND ]--------------------------------------------
#
		<input type="submit" name="submit" value="{L_SUBMIT}" class="liteoption" />
		</span></td>
	</tr>

#
#-----[ AFTER, ADD ]--------------------------------------
#
	<tr>
	  <td colspan="2" align="right" nowrap="nowrap"><span class="genmed">{L_SORT_PER_LETTER}:&nbsp;{S_LETTER_SELECT}{S_LETTER_HIDDEN}</span></td>
	</tr>

#
#-----[ SAVE & CLOSE ALL FILES ]--------------------------
#


Gruß
Red Benz
Hilfe, ich brauche mehr Steuern, ich habe noch Geld !

http://www.tuning-crew-nord.com
Benutzeravatar
Red-Benz
Mitglied
Beiträge: 265
Registriert: 17.03.2006 23:05
Wohnort: Hamburg
Kontaktdaten:

Beitrag von Red-Benz »

Hi

das mit den GROßBUCHSTABEN habe ich hinbekommen....

Bleibt noch die andere Frage wie ich die Buchstaben A - Z als Button darstellen kann ??

Wenn da mal einer Hilfreich zur Seite stehen könnte wäre nett.


Gruß
Red Benz
Hilfe, ich brauche mehr Steuern, ich habe noch Geld !

http://www.tuning-crew-nord.com
Krone37
Mitglied
Beiträge: 62
Registriert: 25.06.2006 10:39
Wohnort: Berlin
Kontaktdaten:

Beitrag von Krone37 »

Also, ich gebe dir den Tipp nicht für jeden Buchstaben ein Button zu nehmen, da es nicht wirklich etwas bringt ;)
Denk dran:
Es gibt nicht nur DSL/ISDN Nutzer.
Benutzeravatar
Markus67
Ehrenadmin
Beiträge: 28346
Registriert: 12.01.2004 16:02
Wohnort: Neuss
Kontaktdaten:

Beitrag von Markus67 »

Hi ...

was genau ist mit Button gemeint? Ein grafischer Button oder kanns auch ein CSS-Button sein?

Dann kannst du ja eine entsprechende CSS-Klasse definieren und den Link entsprechend erweitern :wink:

Markus
Benutzeravatar
Red-Benz
Mitglied
Beiträge: 265
Registriert: 17.03.2006 23:05
Wohnort: Hamburg
Kontaktdaten:

Beitrag von Red-Benz »

Hi

Nicht als Bild !

sondern css, so wie in Beitrag verfassen die Felder ( Quote, Code, List,Img usw. ).

Das habe ich schon mal auf einer Seite gesehen und fands gut...

immer ein Buchstabe und einen kleinen Abstand zum nächsten.....

Gruß
Red Benz
Hilfe, ich brauche mehr Steuern, ich habe noch Geld !

http://www.tuning-crew-nord.com
Benutzeravatar
Markus67
Ehrenadmin
Beiträge: 28346
Registriert: 12.01.2004 16:02
Wohnort: Neuss
Kontaktdaten:

Beitrag von Markus67 »

Hi ...

dann wollen wir mal ...

suche in der memberlist.php

Code: Alles auswählen

for ($i = 97; $i <= 122; $i++) 
{ 
   $others_sql .= " AND username NOT LIKE '" . chr($i) . "%' "; 
   $select_letter .= ( $by_letter == chr($i) ) ? chr($i) . '&nbsp;' : '<a href="' . append_sid("memberlist.$phpEx?letter=" . chr($i) . "&mode=$mode&order=$sort_order&start=$start") . '">' . chr($i) . '</a>&nbsp;'; 
} 
$select_letter .= ( $by_letter == 'others' ) ? $lang['Others'] . '&nbsp;' : '<a href="' . append_sid("memberlist.$phpEx?letter=others&mode=$mode&order=$sort_order&start=$start") . '">' . $lang['Others'] . '</a>&nbsp;'; 
$select_letter .= ( $by_letter == 'all' ) ? $lang['All'] : '<a href="' . append_sid("memberlist.$phpEx?letter=all&mode=$mode&order=$sort_order&start=$start") . '">' . $lang['All'] . '</a>'; 

$template->assign_vars(array(
ersetze mit:

Code: Alles auswählen

for ($i = 97; $i <= 122; $i++) 
{ 
   $others_sql .= " AND username NOT LIKE '" . chr($i) . "%' "; 
   $select_letter .= ( $by_letter == chr($i) ) ? '<span class="memberbutton">' . chr($i) . '</span>&nbsp;' : '<a class="memberbutton" href="' . append_sid("memberlist.$phpEx?letter=" . chr($i) . "&mode=$mode&order=$sort_order&start=$start") . '">' . chr($i) . '</a>&nbsp;'; 
} 
$select_letter .= ( $by_letter == 'others' ) ? '<span class="memberbutton">' . $lang['Others'] . '</span>&nbsp;' : '<a class="memberbutton" href="' . append_sid("memberlist.$phpEx?letter=others&mode=$mode&order=$sort_order&start=$start") . '">' . $lang['Others'] . '</a>&nbsp;'; 
$select_letter .= ( $by_letter == 'all' ) ? '<span class="memberbutton">' . $lang['All'] . '</span>' : '<a class="memberbutton" href="' . append_sid("memberlist.$phpEx?letter=all&mode=$mode&order=$sort_order&start=$start") . '">' . $lang['All'] . '</a>'; 

$template->assign_vars(array(
suche in der memberlist_body.tpl

Code: Alles auswählen

   <tr> 
     <td colspan="2" align="right" nowrap="nowrap"><span class="genmed">{L_SORT_PER_LETTER}:&nbsp;{S_LETTER_SELECT}{S_LETTER_HIDDEN}</span></td> 
   </tr>
ersetze mit:

Code: Alles auswählen

   <tr> 
     <td colspan="2" align="right" valign="middle" height="40" nowrap="nowrap"><span class="genmed">{L_SORT_PER_LETTER}:&nbsp;</span>{S_LETTER_SELECT}{S_LETTER_HIDDEN}</td> 
   </tr>
und dann zum Schluss das hier noch in dein Stylesheet:

Code: Alles auswählen

.memberbutton {
	font-size: 10px; font-family: Verdana, Arial, Helvetica, sans-serif;
	background-color : #000000;
	color : #FFFFFF;
	border-color: #C7BA9C;
	border-style: solid;
	border-left-width: 1px; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px;
	padding-top: 5px;
	padding-bottom: 5px;
	padding-left: 5px;
	padding-right: 5px;
	}

a.memberbutton {
	font-size: 10px; font-family: Verdana, Arial, Helvetica, sans-serif;
	background-color : #FBF6E9;
	color : #3D4169;
	border-color: #C7BA9C;
	border-style: solid;
	border-left-width: 1px; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px;
	padding-top: 5px;
	padding-bottom: 5px;
	padding-left: 5px;
	padding-right: 5px;
	}

a.memberbutton:visited {
	font-size: 10px; font-family: Verdana, Arial, Helvetica, sans-serif;
	background-color : #FBF6E9;
	color : #3D4169;
	border-color: #C7BA9C;
	border-style: solid;
	border-left-width: 1px; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px;
	padding-top: 5px;
	padding-bottom: 5px;
	padding-left: 5px;
	padding-right: 5px;
	}

a.memberbutton:hover {
	font-size: 10px; font-family: Verdana, Arial, Helvetica, sans-serif;
	background-color : #FF0000;
	color : #3D4169;
	border-color: #C7BA9C;
	border-style: solid;
	border-left-width: 1px; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px;
	padding-top: 5px;
	padding-bottom: 5px;
	padding-left: 5px;
	padding-right: 5px;
	}
Die Angaben fürs Stylesheet sind jetzt erstmal absichtlich so ausführlich da ich nicht weiss wie du die "Buttons" gerne hättest :wink:

Markus
Benutzeravatar
Red-Benz
Mitglied
Beiträge: 265
Registriert: 17.03.2006 23:05
Wohnort: Hamburg
Kontaktdaten:

Beitrag von Red-Benz »

Hi

Das ist ja mal super ausführlich.......................

Probiere ich nachher gleich mal aus !!

Die Button sollen dem entsprechenden Style Standart entsprechen, dann müßte man ( memberbutton ) einfach mit ( button ) ersetzen oder ?

Das ist einfach nur damit sie besser hervorgehoben werden.

Aber soweit schon mal DANKE !!

Gruß
Red Benz
Hilfe, ich brauche mehr Steuern, ich habe noch Geld !

http://www.tuning-crew-nord.com
Benutzeravatar
Markus67
Ehrenadmin
Beiträge: 28346
Registriert: 12.01.2004 16:02
Wohnort: Neuss
Kontaktdaten:

Beitrag von Markus67 »

Hi ...

du kannst das memberbutton mit button ersetzen ... allerdings sind dann manche Effekte weg.

Momentan kannst du den "Button" in verschiedenen Varianten anzeigen lassen.

-> Link
-> Ausgewählt
-> Mouseover

Wenn du das nicht brauchst oder möchtest kannst du die class-Angabe natürlich auf button ändern :wink:

Markus
Seremela
Mitglied
Beiträge: 12
Registriert: 15.05.2006 17:49

Beitrag von Seremela »

möchte dieses addon auch installieren,
hab allerdings noch ein mod installiert

## MOD Title: Memberlist Find User
## MOD Author: Sko22 < sko22@quellicheilpc.it > (Gianluca Scerni) http://www.quellicheilpc.it/
## MOD Description: Search a username in memberlist


nun hab ich versucht das so einzubauen, klappt aber nicht,
liegt wohl daran das ich kein php kann :roll: :roll:

Code: Alles auswählen

//memberlist_find_user
//
$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
{
//memberlist_abc
$others_sql = '';
$select_letter = '';
for ($i = 97; $i <= 122; $i++)
{
   $others_sql .= " AND username NOT LIKE '" . chr($i) . "%' ";
   $select_letter .= ( $by_letter == chr($i) ) ? chr($i) . '&nbsp;' : '<a href="' . append_sid("memberlist.$phpEx?letter=" . chr($i) . "&mode=$mode&order=$sort_order&start=$start") . '">' . chr($i) . '</a>&nbsp;';
}
$select_letter .= ( $by_letter == 'others' ) ? $lang['Others'] . '&nbsp;' : '<a href="' . append_sid("memberlist.$phpEx?letter=others&mode=$mode&order=$sort_order&start=$start") . '">' . $lang['Others'] . '</a>&nbsp;';
$select_letter .= ( $by_letter == 'all' ) ? $lang['All'] : '<a href="' . append_sid("memberlist.$phpEx?letter=all&mode=$mode&order=$sort_order&start=$start") . '">' . $lang['All'] . '</a>';

$template->assign_vars(array(
   'L_SORT_PER_LETTER' => $lang['Sort_per_letter'],
   'S_LETTER_SELECT' => $select_letter,
   'S_LETTER_HIDDEN' => '<input type="hidden" name="letter" value="' . $by_letter . '">')
);

if($by_letter == 'all')
{
   $letter_sql = '';
}
else if($by_letter == 'others')
{
   $letter_sql = $others_sql;
}
else
{
   $letter_sql = " AND username LIKE '$by_letter%' ";
}
//memberlist_abc
	$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 . "$letter_sql
   		ORDER BY $order_by";
}
//
//memberlist_find_user
//
ich hab es zuvor versucht mit else if die komponeten zu verschachteln
aber ging auch nicht :-(


Gibt es ein Mod der die Beiden beinhaltet?
ps. Frauen und Technik *g
Benutzeravatar
Red-Benz
Mitglied
Beiträge: 265
Registriert: 17.03.2006 23:05
Wohnort: Hamburg
Kontaktdaten:

Beitrag von Red-Benz »

Markus67 hat geschrieben:Hi ...

du kannst das memberbutton mit button ersetzen ... allerdings sind dann manche Effekte weg.

Momentan kannst du den "Button" in verschiedenen Varianten anzeigen lassen.

-> Link
-> Ausgewählt
-> Mouseover

Wenn du das nicht brauchst oder möchtest kannst du die class-Angabe natürlich auf button ändern :wink:

Markus
Ich verwende den Redglass Style da sind diese Effekte an allen Button standart deshalb wäre das dann mit deiner Variante doppelt.

Ich mache mich jetzt erstmal ran das ganze zu testen.............

THX für deine schnelle Hilfe.


Gruß
Red Benz
Hilfe, ich brauche mehr Steuern, ich habe noch Geld !

http://www.tuning-crew-nord.com
Antworten

Zurück zu „phpBB 2.0: Mod Support“