mitgliederliste erst nach bestimmter beitragsanzahl zu sehen

Du suchst einen bestimmten Mod, weißt aber nicht genau wo bzw. ob er überhaupt existiert? Wenn dir dieser Artikel nicht weiterhilft, kannst du hier den von dir gewünschten/gesuchten Mod beschreiben ...
Falls ein Mod-Autor eine der Anfragen hier aufnimmt um einen neuen Mod zu entwicklen, geht's in phpBB 2.0: Mods in Entwicklung weiter.
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.
Antworten
Benutzeravatar
yks
Mitglied
Beiträge: 1295
Registriert: 10.07.2004 02:31

mitgliederliste erst nach bestimmter beitragsanzahl zu sehen

Beitrag von yks »

hallo,

in der suche leider nichts dergleichen fand :
gibt es ein mod, daß die ansicht einzelner php-dateien, insbesondere der mitgliederliste, auch für registrierte und eingeloggte user erst nach einer bestimmten anzahl an geposteten beiträgen ermöglicht ?
(bezogen auf board 2.0.11)

danke + viele grüße, yks
Mit subsilver2 macht es noch viel mehr Spaß ! :)
Benutzeravatar
andreasOymann
Ehemaliges Teammitglied
Beiträge: 2392
Registriert: 10.06.2003 16:29
Wohnort: Hamminkeln
Kontaktdaten:

Beitrag von andreasOymann »

memberlist.php:

suche

Code: Alles auswählen

//
// Start session management
//
$userdata = session_pagestart($user_ip, PAGE_VIEWMEMBERS);
init_userprefs($userdata);
//
// End session management
//
füge danach ein

Code: Alles auswählen

if ( $userdata['user_posts'] <= 10 )
{
	message_die(GENERAL_MESSAGE, $lang['Not_Authorised']); 
}
Der Wert 10 bestimmt die Anzahl der Posts, die ein User mindestens haben muss.

A.
Kein Support per PN / Mail / ICQ / MSN ! Dafür gibt´s dieses Forum...
Benutzeravatar
yks
Mitglied
Beiträge: 1295
Registriert: 10.07.2004 02:31

Beitrag von yks »

super, vielen dank andreas :)

und noch eine frage : wie kann man bestimmte user ids zusätzlich zu der beitragsregelung von der ansicht der memberlist ausnehmen ?

und keine ahnung, ob das genauso leicht geht :
kann man auch bei der search.php für 'user mit betragszahl < x' die suche nach nur einem nick verhindern ?

sorry, aber grübele hier bißchen über ein prob, deswegen.

viele grüße, yks
Mit subsilver2 macht es noch viel mehr Spaß ! :)
Benutzeravatar
andreasOymann
Ehemaliges Teammitglied
Beiträge: 2392
Registriert: 10.06.2003 16:29
Wohnort: Hamminkeln
Kontaktdaten:

Beitrag von andreasOymann »

ja, beides geht. Bin leider erst Donnerstag wieder zuhause an meinem Rechner, werde dir dann was fertig machen... ist etwas komplexer als obige Code-Zeile.

Andreas
Kein Support per PN / Mail / ICQ / MSN ! Dafür gibt´s dieses Forum...
Benutzeravatar
yks
Mitglied
Beiträge: 1295
Registriert: 10.07.2004 02:31

Beitrag von yks »

hi andreas,

schade, dachte, hätte schon etwas, habe hier mal gefragt, würde es etwas vereinfachern und du hättest dir etwas arbeit sparen können - leider noch keine antwort kam.

das mit der gruppe wäre mmn die praktischste lösung.
werden morgen dort nochmal nachhaken.
dann bliebe nur noch die suche offen.

viele grüße, yks
Mit subsilver2 macht es noch viel mehr Spaß ! :)
Benutzeravatar
andreasOymann
Ehemaliges Teammitglied
Beiträge: 2392
Registriert: 10.06.2003 16:29
Wohnort: Hamminkeln
Kontaktdaten:

Beitrag von andreasOymann »

für die Geschichte mit der memberlist:

Code: Alles auswählen

# 
#-----[ OPEN ]------------------------------------------ 
# 
includes/functions.php 

# 
#-----[ FIND ]------------------------------------------ 
# 
?> 

# 
#-----[ BEFORE, ADD ]------------------------------------------- 
# 
function member_of($group_id, &$userdata) 
{ 
        global $db; 
        if ( !$userdata['session_logged_in'] ) 
        { 
                return false; 
        } 
        if ( isset($userdata['user_member_of_' . $group_id]) ) 
        { 
                return $userdata['user_member_of_' . $group_id]; 
        } 
        $sql = "SELECT count(*) AS num FROM " . USER_GROUP_TABLE . " 
                WHERE user_id = '" . $userdata['user_id'] . "' AND user_pending = 0 AND group_id IN ( " . $group_id . " )"; 
          if ( !($result = $db->sql_query($sql)) ) 
        { 
                message_die(GENERAL_ERROR, 'Could not get group auth', '', __LINE__, __FILE__, $sql); 
        } 
        $row = $db->sql_fetchrow($result); 
        if ( $row['num'] > 0 ) 
        { 
                return $userdata['user_member_of_' . $group_id] = true; 
        } 
        return $userdata['user_member_of_' . $group_id] = false; 
} 

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

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

# 
#-----[ AFTER, ADD ]------------------------------------------- 
# 
if ( member_of('123', $userdata) ) 
{ 
  message_die(GENERAL_MESSAGE, $lang['Not_Authorised']); 
}
In die Gruppe 123 kommen alle User, die die memberlist NICHT sehen sollen.
Erstelle die Gruppe dieser User und passe im obigen Code die Gruppen-ID an...

A.

kurze Frage noch: Sind die User, die die memberlist nicht sehen sollen, die gleichen, die nicht nach einem Nick suchen dürfen???
Sollen sie NUR nach einem Nick nicht suchen dürfen oder auch in Kombination mit einer Eingabe bei "Begriff" nicht suchen dürfen???
Wenn die Suche nach einem Nick grundsätzlich nicht erlaubt sein soll für bestimmte User, wäre es sinnvoll, das Suchfeld von vorneherein auszublenden...
Kein Support per PN / Mail / ICQ / MSN ! Dafür gibt´s dieses Forum...
Benutzeravatar
yks
Mitglied
Beiträge: 1295
Registriert: 10.07.2004 02:31

Beitrag von yks »

hi andreas,

SUPER :)

zu deinen fragen :
Sind die User, die die memberlist nicht sehen sollen, die gleichen, die nicht nach einem Nick suchen dürfen???
ja, genau.
Sollen sie NUR nach einem Nick nicht suchen dürfen oder auch in Kombination mit einer Eingabe bei "Begriff" nicht suchen dürfen???
das verwenden des oberen suchfeldes nach begriffen ist ok.
denke, das würde zu krass werden, wenn man dort die suche nach nicks auch noch unterbinden wollte.
Wenn die Suche nach einem Nick grundsätzlich nicht erlaubt sein soll für bestimmte User, wäre es sinnvoll, das Suchfeld von vorneherein auszublenden...
stimmt eigentlich.

frage, ob das dann so ginge :
einbau des ersten snippets, damit für alle user gilt, erst ab bestimmter beitragszahl kann man die memberlist sehen
plus
einbau des zweiten, womit man noch eine gruppe definieren kann.

vertragen die beiden sich zusammen ?

und bzgl dem suchfeld "autor suchen", keine ahnung, ob es ginge, daß dieses dann gar nicht erst auftaucht, bis a) die beitragszahl erreicht ist oder b) wenn jemand in der gruppe ist.
denke, das wäre optimal.

vor allem vielen dank für deine mühe !

viele grüße, yks
Mit subsilver2 macht es noch viel mehr Spaß ! :)
Benutzeravatar
andreasOymann
Ehemaliges Teammitglied
Beiträge: 2392
Registriert: 10.06.2003 16:29
Wohnort: Hamminkeln
Kontaktdaten:

Beitrag von andreasOymann »

Nach Einbau der obigen beiden Snippets öffne die search.php und suche:

Code: Alles auswählen

if ( isset($HTTP_POST_VARS['search_author']) || isset($HTTP_GET_VARS['search_author']))
{
	$search_author = ( isset($HTTP_POST_VARS['search_author']) ) ? $HTTP_POST_VARS['search_author'] : $HTTP_GET_VARS['search_author'];
	$search_author = phpbb_clean_username($search_author);
füge danach ein:

Code: Alles auswählen

	if ( ( $userdata['user_posts'] <= 10 ) || ( member_of('123', $userdata) ) )
	{ 
	   message_die(GENERAL_MESSAGE, $lang['Not_Authorised']); 
	} 
so daß der Code-Block fogendermaßen aussieht:

Code: Alles auswählen

if ( isset($HTTP_POST_VARS['search_author']) || isset($HTTP_GET_VARS['search_author']))
{
	$search_author = ( isset($HTTP_POST_VARS['search_author']) ) ? $HTTP_POST_VARS['search_author'] : $HTTP_GET_VARS['search_author'];
	$search_author = phpbb_clean_username($search_author);
	if ( ( $userdata['user_posts'] <= 10 ) || ( member_of('123', $userdata) ) )
	{ 
	   message_die(GENERAL_MESSAGE, $lang['Not_Authorised']); 
	} 
}
else
{
	$search_author = '';
}
Damit ist die Nicksuche für alle User < 10 Posts sowie alle User der Gruppe "123" unterbunden.

Für das Ausblenden der Suche im Formular suche in der search.php:

Code: Alles auswählen

//
// Output the basic page
//
$page_title = $lang['Search'];
include($phpbb_root_path . 'includes/page_header.'.$phpEx);
füge davor ein:

Code: Alles auswählen

if ( ($userdata['user_posts'] > 10) && (!member_of('123', $userdata)) )
{ 
	$template->assign_block_vars('search_nick', array());
} 
öffne die search_body.tpl und suche:

Code: Alles auswählen

	<tr> 
		<td class="row1" colspan="2"><span class="gen">{L_SEARCH_AUTHOR}:</span><br /><span class="gensmall">{L_SEARCH_AUTHOR_EXPLAIN}</span></td>
		<td class="row2" colspan="2" valign="middle"><span class="genmed"><input type="text" style="width: 300px" class="post" name="search_author" size="30" /></span></td>
	</tr>
füge davor ein:

Code: Alles auswählen

<!-- BEGIN search_nick -->
füge danach ein:

Code: Alles auswählen

<!-- END search_nick -->
A.
Kein Support per PN / Mail / ICQ / MSN ! Dafür gibt´s dieses Forum...
Benutzeravatar
yks
Mitglied
Beiträge: 1295
Registriert: 10.07.2004 02:31

Beitrag von yks »

hallo andreas,

vielen dank ! :))
habe es vorhin im testforum eingebaut und getestet, klappt prima :)
und das mit dem suchfeld-weg finde ich auch freundlicher als das 'nicht-berechtigt'.

bin nun noch etwas am überlegen, da gruppenmitglieder ja die gruppen-mitgliederliste sehen können - wäre in dieser gruppe nicht unbedingt nötig, aber wäre dann wohl eh wieder ein anderes thema.

bin erstmal begeistert und danke dir vielmals für deine mühe !

wünsch dir ein schönes wochenende, viele grüße, yks
Mit subsilver2 macht es noch viel mehr Spaß ! :)
Benutzeravatar
yks
Mitglied
Beiträge: 1295
Registriert: 10.07.2004 02:31

Beitrag von yks »

hallo,

nur zur sicherheit fragen wollte :
wenn ich die suche nach autor eh ausblende, brauche ich den code zum unterbinden der suche nach autor doch eigentlich nicht - oder ist es besser ihn trotzdem drin zu lassen ?

danke :) viele grüße, yks
Mit subsilver2 macht es noch viel mehr Spaß ! :)
Antworten

Zurück zu „phpBB 2.0: Mod Suche/Anfragen“