[erledigt] Profil, email und pn-Button bei inaktiven ...
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.1, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.
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.1, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.
[erledigt] Profil, email und pn-Button bei inaktiven ...
Moin,
ich würde gern in allen Ansichten (Topics, Profil usw.) bei inaktiven Usern die Buttons für Profil, email und pn ausblenden.
Hintergrund:
Bei einem kleinen Forum mit ca. 40 Usern und 5000 Beiträgen ist es sehr ärgerlich, alle Beiträge eines ausgeschiedenen Users zu löschen, das zerreist zu viele Threads (Löschen nur der User ist auch nicht wirklich so schön, da dann keine Zuordnung zum Postenden mehr möglich ist). Also habe ich die betreffenden User einfach inaktiv gesetzt und dafür gesorgt, dass sie nicht mehr in der Memberliste usw. auftauchen (Gab dafür hier ja nette Code-Schnipsel) ... Auch deren Profil habe ich bereinigt und alles entfernt, was ging. Nun haben diese User den Spezial-Rang "inaktiv". Die Beiträge sind noch da, aber eben leider auch die Möglichkeit, über die PN und Email-Buttons die User zu kontaktieren... Blendet man diese bei Usern im Status "inaktiv" aus, ist diese Lösung für mich perfekt, finde ich.
Hat jemand eine Idee?
Danke und Gruß
Joe
Die drei Knöpfe da unten will ich bei inaktiven Usern nicht sehen:
[ externes Bild ]
ich würde gern in allen Ansichten (Topics, Profil usw.) bei inaktiven Usern die Buttons für Profil, email und pn ausblenden.
Hintergrund:
Bei einem kleinen Forum mit ca. 40 Usern und 5000 Beiträgen ist es sehr ärgerlich, alle Beiträge eines ausgeschiedenen Users zu löschen, das zerreist zu viele Threads (Löschen nur der User ist auch nicht wirklich so schön, da dann keine Zuordnung zum Postenden mehr möglich ist). Also habe ich die betreffenden User einfach inaktiv gesetzt und dafür gesorgt, dass sie nicht mehr in der Memberliste usw. auftauchen (Gab dafür hier ja nette Code-Schnipsel) ... Auch deren Profil habe ich bereinigt und alles entfernt, was ging. Nun haben diese User den Spezial-Rang "inaktiv". Die Beiträge sind noch da, aber eben leider auch die Möglichkeit, über die PN und Email-Buttons die User zu kontaktieren... Blendet man diese bei Usern im Status "inaktiv" aus, ist diese Lösung für mich perfekt, finde ich.
Hat jemand eine Idee?
Danke und Gruß
Joe
Die drei Knöpfe da unten will ich bei inaktiven Usern nicht sehen:
[ externes Bild ]
Zuletzt geändert von Joe1220 am 07.01.2007 22:30, insgesamt 1-mal geändert.
Die Standardvorgehensweise sollte die sein, den User zu löschen. Dann wird der Name des nunmehr ehemaligen Users beim Posting direkt eingetragen und es steht der Name des Users dort. Probiere es mit einem Testuser.
Falls es Dir nicht gefällt, können wir es immer noch umbauen.
Falls es Dir nicht gefällt, können wir es immer noch umbauen.

Gruss, Miriam.
Ich schmeiß' alles hin und...
... lasse es liegen
Ich schmeiß' alles hin und...
... lasse es liegen
Ah, ich habe das mal mit nem Testuser ausprobiert. Der Name bleibt ja so wie es aussieht tatsächlich erhalten - ohne, dass ich etwas tun muss ...Miriam hat geschrieben:Dann wird der Name des nunmehr ehemaligen Users beim Posting direkt eingetragen und es steht der Name des Users dort.
War das schon immer so?? Hab das anders in Erinnerung, daher die Anfrage ...
Egal, damit hat sich dann meine Anfrage natürlich erledigt, danke Miriam ...
- nickvergessen
- Ehrenadmin
- Beiträge: 11559
- Registriert: 09.10.2006 21:56
- Wohnort: Stuttgart, Germany
- Kontaktdaten:
Ich glaub ich hab hier genau das richtige für dich gefunden:
schau mal rein
gefunden mit:
gast user löschen
schau mal rein
gefunden mit:
gast user löschen
kein Support per PN
Ich weiß nicht, seit welcher phpBB Version das so gelöst wird, aber ich bin mir sicher, dass es diese 'Funktion' schon mindestens seit phpBB 2.0.17 gibt.Joe1220 hat geschrieben:War das schon immer so?? Hab das anders in Erinnerung, daher die Anfrage ...
Egal, damit hat sich dann meine Anfrage natürlich erledigt, danke Miriam ...

Ich bin mit 2.0.21 gestartet, habe mich vorher aber sehr häufig in einem Forum 2.0.6 rumgetrieben, zumindest da war das anders (nur "Gast", kein Nick) ....
Danke nochmal an alle für die nette Hilfestellung.
(Nur mal so am Rande: Wäre ein Umbau wie ursprünglich angedacht sehr umständlich? Denn es hätte ja den zusätzlichen Charme, dass ein User reaktiviert werden könnte, sollte er es sich anders überlegen. Ist er gelöscht, ließen sich seine früheren Posts ja nur durch diesen reassign-MOD wieder zuweisen. Möchte aber ehrlich gesagt so wenig MODs wie möglich einbauen bzw. später so wenig administrativen Aufwand wie möglich haben.)
Danke nochmal an alle für die nette Hilfestellung.
(Nur mal so am Rande: Wäre ein Umbau wie ursprünglich angedacht sehr umständlich? Denn es hätte ja den zusätzlichen Charme, dass ein User reaktiviert werden könnte, sollte er es sich anders überlegen. Ist er gelöscht, ließen sich seine früheren Posts ja nur durch diesen reassign-MOD wieder zuweisen. Möchte aber ehrlich gesagt so wenig MODs wie möglich einbauen bzw. später so wenig administrativen Aufwand wie möglich haben.)
Deine Wortwahl ist ja sehr charmant 
Probier das ->
Der Spezialrang MUSS inaktiv heissen!
Nur Admins können das Profil anschauen.
Es kann keine PN mehr geschickt werden.
Es gibt keine PN und Profil Buttons mehr.
Die Daten können auch nicht über die URL aufgerufen werden.
Den e-mail Button kannst Du auch über das Profil des betreffenden Users deaktivieren, darum habe ich mich jetzt nicht gekümmert.

Probier das ->
Code: Alles auswählen
#
#-----[ OPEN ]------------------------------------------
#
includes/usercp_viewprofile.php
#
#-----[ FIND ]------------------------------------------
#
if ( $profiledata['user_rank'] )
{
for($i = 0; $i < count($ranksrow); $i++)
{
if ( $profiledata['user_rank'] == $ranksrow[$i]['rank_id'] && $ranksrow[$i]['rank_special'] )
{
$poster_rank = $ranksrow[$i]['rank_title'];
$rank_image = ( $ranksrow[$i]['rank_image'] ) ? '<img src="' . $ranksrow[$i]['rank_image'] . '" alt="' . $poster_rank . '" title="' . $poster_rank . '" border="0" /><br />' : '';
#
#-----[ AFTER, ADD ]------------------------------------------
#
if ( ($poster_rank == 'inaktiv') && ($userdata['user_level'] != ADMIN) )
{
message_die(GENERAL_MESSAGE,"Userprofil nicht verfügbar");
}
#
#-----[ OPEN ]------------------------------------------
#
viewtopic.php
#
#-----[ FIND ]------------------------------------------
#
'PROFILE_IMG' => $profile_img,
'PROFILE' => $profile,
#
#-----[ REPLACE WITH ]------------------------------------------
#
'PROFILE_IMG' => $profile_img = ($poster_rank == 'inaktiv') ? '' : $profile_img,
'PROFILE' => $profile = (poster_rank == 'inaktiv') ? '' : $profile,
#
#-----[ FIND ]------------------------------------------
#
'PM_IMG' => $pm_img,
'PM' => $pm,
#
#-----[ REPLACE WITH ]------------------------------------------
#
'PM_IMG' => $pm_img = ($poster_rank == 'inaktiv') ? '' : $pm_img,
'PM' => $pm = ($poster_rank == 'inaktiv') ? '' : $pm,
#
#-----[ OPEN ]------------------------------------------
#
memberlist.php
#
#-----[ FIND ]------------------------------------------
#
$sql = "SELECT user_id, username, 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 ]------------------------------------------
#
$sql = "SELECT user_id, username, 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, user_rank, rank_title
FROM " . USERS_TABLE . "
LEFT JOIN " . RANKS_TABLE ." ON rank_id = user_rank
WHERE user_id <> " . ANONYMOUS . "
ORDER BY $order_by";
#
#-----[ FIND ]------------------------------------------
#
if ( $row = $db->sql_fetchrow($result) )
{
$i = 0;
do
{
$username = $row['username'];
$user_id = $row['user_id'];
#
#-----[ AFTER, ADD ]------------------------------------------
#
$user_rank = $row['rank_title'];
#
#-----[ FIND ]------------------------------------------
#
'PROFILE_IMG' => $profile_img,
'PROFILE' => $profile,
#
#-----[ REPLACE WITH ]------------------------------------------
#
'PROFILE_IMG' => $profile_img = ($user_rank == 'inaktiv') ? '' : $profile_img,
'PROFILE' => $profile = (user_rank == 'inaktiv') ? '' : $profile,
#
#-----[ FIND ]------------------------------------------
#
'PM_IMG' => $pm_img,
'PM' => $pm,
#
#-----[ REPLACE WITH ]------------------------------------------
#
'PM_IMG' => $pm_img = ($user_rank == 'inaktiv') ? '' : $pm_img,
'PM' => $pm = ($user_rank == 'inaktiv') ? '' : $pm,
#
#-----[ OPEN ]------------------------------------------
#
privmsg.php
#
#-----[ FIND ]------------------------------------------
#
if ( !empty($HTTP_POST_VARS['username']) )
{
$to_username = phpbb_clean_username($HTTP_POST_VARS['username']);
$sql = "SELECT user_id, user_notify_pm, user_email, user_lang, user_active,
FROM " . USERS_TABLE . "
WHERE username = '" . str_replace("\'", "''", $to_username) . "'
AND user_id <> " . ANONYMOUS;
#
#-----[ REPLACE WITH ]------------------------------------------
#
if ( !empty($HTTP_POST_VARS['username']) )
{
$to_username = phpbb_clean_username($HTTP_POST_VARS['username']);
$sql = "SELECT user_id, user_notify_pm, user_email, user_lang, user_active, user_rank, rank_title
FROM " . USERS_TABLE . "
LEFT JOIN " . RANKS_TABLE ." ON rank_id = user_rank
WHERE username = '" . str_replace("\'", "''", $to_username) . "'
AND user_id <> " . ANONYMOUS;
#
#-----[ FIND ]------------------------------------------
#
if (!($to_userdata = $db->sql_fetchrow($result)))
{
$error = TRUE;
$error_msg = $lang['No_such_user'];
}
#
#-----[ AFTER, ADD ]------------------------------------------
#
else
{
$to_user_rank = $to_userdata['rank_title'];
$error = ($to_user_rank == 'inaktiv') ? TRUE : 0;
if (error)
{
$error_msg = "Dieser User kann keine PN erhalten!";
}
}
#
#-----[ SAVE/CLOSE ALL FILES ]------------------------------------------
#
# EoM
Nur Admins können das Profil anschauen.
Es kann keine PN mehr geschickt werden.
Es gibt keine PN und Profil Buttons mehr.
Die Daten können auch nicht über die URL aufgerufen werden.
Den e-mail Button kannst Du auch über das Profil des betreffenden Users deaktivieren, darum habe ich mich jetzt nicht gekümmert.
Zuletzt geändert von Miriam am 07.01.2007 15:01, insgesamt 1-mal geändert.
Gruss, Miriam.
Ich schmeiß' alles hin und...
... lasse es liegen
Ich schmeiß' alles hin und...
... lasse es liegen
Hallo Miriam,
wow, genau das wollte ich erreichen...
Danke, danke, danke, danke ...
Du gestattest, dass ich Dich noch auf einen kleinen Fehler hinweise?
In Zeile 4 Deines Snippets muß es "usercp_viewprofile.php" heissen ...

... eingebaut (sinngemäß abgewandelt aus Deinem Code), dann wars perfekt 
Lieben Dank und Gruß
Joe
wow, genau das wollte ich erreichen...

Danke, danke, danke, danke ...

Du gestattest, dass ich Dich noch auf einen kleinen Fehler hinweise?
In Zeile 4 Deines Snippets muß es "usercp_viewprofile.php" heissen ...
Aber es hat prima funktioniertMiriam hat geschrieben:Code: Alles auswählen
# #-----[ OPEN ]------------------------------------------ # includes/usercp_viewprofile.php # ...

?? Ich kann im ACP e-mail nicht deaktivieren?? Ist aber egal, habe einfach das da ...Miriam hat geschrieben:Den e-mail Button kannst Du auch über das Profil des betreffenden Users deaktivieren, darum habe ich mich jetzt nicht gekümmert.
Code: Alles auswählen
'EMAIL_IMG' => $email_img = ($poster_rank == 'inaktiv') ? '' : $email_img,
'EMAIL' => $email = ($poster_rank == 'inaktiv') ? '' : $email,

Lieben Dank und Gruß
Joe
-
- Mitglied
- Beiträge: 85
- Registriert: 09.06.2003 23:06
- nickvergessen
- Ehrenadmin
- Beiträge: 11559
- Registriert: 09.10.2006 21:56
- Wohnort: Stuttgart, Germany
- Kontaktdaten:
wobei die Lösung von ihm, viel besser ist, um den User zureaktivieren:MasterofFlames hat geschrieben:Um übers acp die Emailoption abzuschalten musst du doch nur den User aufrufen und dann in seinen Einstellungen E-Mail abschalten.
Joe1220 hat geschrieben:Code: Alles auswählen
'EMAIL_IMG' => $email_img = ($poster_rank == 'inaktiv') ? '' : $email_img, 'EMAIL' => $email = ($poster_rank == 'inaktiv') ? '' : $email,
kein Support per PN