User im Board sperren/entsperren Version 2.1

Agi
Titel: User im Board sperren/entsperren Version 2.1
Version: 2.1
Beschreibung: Titel: User im Board sperren/entsperren Version 2.1.1
Version: 2.1.1
Beschreibung: User im Board sperren/entsperren

  • Hackcoder: Didito
  • Recodet von: Agi
  • Boardversion: 2.2.x - 2.3.x
  • Hackversion: 2.1.1
  • Info: Weitere Demo Screenshots sind im Archiv beigelegt.
  • Copyright: Nicht vorhanden
  • Demo: http://img.romresources.net/147.png
  • Downloads bis 29.11.2014: 209



Beschreibung:

Dieser Hack ermöglicht es, User direkt im Board zu sperren/zu entsperren. Dazu können präzise Angaben bezüglich Dauer der Sperre, Begründung, etc. angegeben werden.
Diese Version enthält auch eine Acp Anpassung.

Für detaillierte Informationen: User im Board sperren/entsperren


Hinweise zur Version 2.0.x:
  • In dieser neuen Version wurden alle bisher bekannten Probleme, vor allem mit PHP5 und MySQL5 behoben.
  • Außerdem benutzt diese Version das Standard-DB Feld des WBB2 (blocked) und besitzt kein eigenes mehr (gesperrt), sodass sich die Felder für das Sperren nicht mehr in die Quere kommen können.
  • Zusätzlich unterstützt diese Version nun auch erweiterte Angaben für das Sperren via ACP (Begründung, Dauer der Sperre, usw.)
  • Wird eine Sperre aufgehoben, ob im Forum oder im Acp, werden die für die Sperrung notwendigen Angaben automatisch entfernt.
  • Eine Updatemöglichkeit von Diditos Version ist integriert, sodass User die die alte Version bereits eingebaut haben, problemlos updaten können.
  • Dieser Hack funktioniert nicht mit dem WBB 2.1.x!
  • Da Diditos Version bei vielen nicht funktioniert hat, hat er mir die Erlaubnis gegeben, den Hack zu überarbeiten und zu veröffentlichen. Nachzulesen hier: User im Board sperren/entsperren



Hinweise zur neuen Version 2.1.0


a) Zahlreiche Bugs wurden behoben:
  • Fehlerhaft angezeigte Variablen in Sprachvariablen korrigiert.
  • Fehlerhafte Codestellen (z.B.: $wbbuserdata['gesperrt']) korrigiert.
  • Umlaute werden nun korrekt dargestellt.
  • Vor dem Hackeinbau gesperrte User wurden alle wieder entsperrt, da sie nicht als dauerhaft gesperrt markiert wurden und die Sperrzeit auf 0 gesetzt war -> behoben
  • Die SQL Abfragen laufen nun alle über die User-ID.
  • Der Code wurde optimiert.
  • Ein großes DANKE an C-Board, der mir all diese Fehler aufgezeigt hat!
  • Ein großes SORRY an alle User, die diesen Hack eingebaut haben und dann enttäuscht wurden, weil er so fehlerhaft war. unglücklich


b) Neu hinzugekommen sind folgende Dinge:
  • Man kann beim Sperren für die Dauer der Sperre nun zwischen Permanent, Minuten, Stunden, Tagen oder Wochen wählen.
  • Man kann im AcP IDs für Gruppe und Benutzerrang von gesperrten Gruppen eingeben --> Bei der Sperrung wird der User dann automatisch in die Gruppe für gesperrte User verschoben und optional auch der Benutzerrang angepasst.
  • Bei einer Entsperrung werden Optionen wie Emails vom Admin empfangen oder PNs empfangen gemäß den vorher gewählten Einstellungen wiederhergestellt.
  • Es gibt nun wieder eine separate Liste, die gesperrte Benutzer auflistet.



Bugs in Version 2.1.0
  • Moderatoren können den Admin sperren. Bugfix (danke an Viktor!):

    blockusers.php
    Suche nach:

    php:
    1:
    2:
    3:
    4:
    5:
    6:
    
    /* User sperren */
    if ($action == 'sperren') {
        if (!$wbbuserdata['a_can_user_im_board_sperren_entsperren']) access_error();
        if ($userid == || !$useriderror($lang->get("LANG_GLOBAL_ERROR_FALSELINK", array('$adminmail' => $adminmail)));
    
        if (isset($_POST['send'])) {


    und füge darunter ein:

    php:
    1:
    2:
    3:
    
    if (isset($_POST['userid'])) $userid intval($_POST['userid']);
            $check_user getwbbuserdata($userid);
            if ($check_user['a_can_use_acp']==&& $check_user['a_acp_or_mcp']==1error($lang->get("LANG_USERBLOCK_ERROR_TEAM"));


    Die hier verfügbare Version hat diese Änderung bereits inkludiert.




Bugs in Version 2.0.x:
  • 6.8.2008: Fehler in den Anleitungen: Ich habe einen Teil des Codes vergessen mit reinzuschreiben.

    Alle, die den Hack vor dem 6.8.2008 17.30 geladen haben, folgendes machen:

    profile.php
    Suche nach:

    php:
    1:
    
    else $sperrinfo '';


    Darunter noch das hier einfügen:

    php:
    1:
    2:
    
    if ($user_info['blocked'] == 0$sperren $lang->get("LANG_MEMBERS_USER_BLOCK");
    elseif ($user_info['blocked'] == 1$sperren $lang->get("LANG_MEMBERS_USER_UNBLOCK");




Dieser Hack darf nur auf den folgenden Plattformen angeboten werden:



Abschließende Informationen:
  • Bugs bitte im Supporthtread melden. Ich werde versuchen, diese sobald und sogut es mir möglich ist zu beheben.
  • Weder Didito noch ich übernehmenHaftung in irgendeiner Weise für diverse, durch diesen Hack entstandene Fehler!
  • Ich wünsche viel Spaß mit dieser Erweiterung.
  • PS: Bitte habt ein wenig Geduld; ich bin nicht 24/7 da und kann euch innerhalb von 2 Minuten Fragen zu Problemen etc beantworten Augenzwinkern Oftmals dauert dies halt ein wenig.

----
Demo: http://img.romresources.net/147.png

weiter zum Download
Xannasavin
woohoo vielen dank dir =D <3
HaMM3RH3aD
Erstmal ein riesengrosses THX Ehren

und wo kann man die User nun sperren, habe auf dem board nix gefunden, habe im ACP die Rechte auch auf ja gestellt für meine Gruppe... verwirrt

[img]http://hamm3rh3ad.ha.funpic.de/upload/bild.php/703,aufzeichnenSSOUY.jp
g[/img]

Ein 2tes | ist da, mehr auch net...
[img]http://hamm3rh3ad.ha.funpic.de/upload/bild.php/701,aufzeichnenABGTV.jp
g[/img]

Über das ACP sperren funzt einwandfrei...

[img]http://hamm3rh3ad.ha.funpic.de/upload/bild.php/702,aufzeichnenG7S9M.jp
g[/img]

Ach das ich es nicht vergesse, habe das Update gemacht !!!
Agi
ja, ist ein Fehler ...
Der Code in der profile.php geht noch weiter, das hab ich wohl übersehen.

Wird gleich behoben und aktualisiert.


Suche nach:

php:
1:
else $sperrinfo '';


Darunter noch das hier einfügen:

php:
1:
2:
if ($user_info['blocked'] == 0$sperren $lang->get("LANG_MEMBERS_USER_BLOCK");
elseif ($user_info['blocked'] == 1$sperren $lang->get("LANG_MEMBERS_USER_UNBLOCK");
HaMM3RH3aD
Danke dir vielmals, hatte schon an meinem Verstand gezweifelt... Augenzwinkern

Aber wie kann ich denn nun andere Gruppen dafür freischalten, wenn ich bei meinen S-Mod´s auf ja stelle im ACP haben die in den Profilen trotzdem keine Option zu anklicken... verwirrt
Agi
Hmm, ganz normal im Acp -> Benutzergruppen -> Administratorenrechte

Hast du die Templateänderungen in allen Styles gemacht? Evlt. nutzen die S-Mods nen anderen Style, wos auch ein Profil Template gibt.
HaMM3RH3aD
Nee ist der gleiche Style und die Styles nutzen alle die gleichen Templates, desweiteren sieht es aus wie auf dem PIC wenn ein User übers Board gesperrt wird:

[img]http://hamm3rh3ad.ha.funpic.de/upload/bild.php/722,aufzeichnenEYLOJ.jp
g[/img]

und bei mir schaut es so aus, habe aber alles nach anleitung gemacht..

[img]http://hamm3rh3ad.ha.funpic.de/upload/bild.php/723,aufzeichnen3RR79.jp
g[/img]
Psyfire
Eingebaut, aber fehlerhaft *g*

Variablen funzen nicht richtig. Im Profil hab ich unten wenn der User gesperrt wurde:


Test wurde von gesperrt!

Grund:
Dauer der Sperre: $zeit

Grund wurde aber angegeben, Zeit dauerhaft und wer gesperrt hat ist nicht ersichtlich. Desweiteren würde ich es begrüßen, wenn du noch einbauen könntest in welche Gruppe der User verschoben wird. Bei mir bleibt er in der Standardgruppe für User, aber ich hab z.B. eine Gruppe für gesperrte. Freude
crazyelephant
auch mal danke für den verbesserten Hack.
Sperren/entsperren im ACP funktioniert auch bei mir wunderbar, aber ich weiß nicht, wo ich im Board User sperren/entsperren kann.
Was? wie? wo? nuss ich anklicken? ich finde nichts!
Administrationsrechte dafür habe ich im ACP auf Ja gesetzt.

verwirrt
Nachtrag: Nachdem ich den Testuser im Acp mal dauerhaft gesperrt/entsperrt habe funktioniert es jetzt. Warum weiss ich auch nicht??

Jetzt ist es so wie es sein sollte, vielen Dank dafür !! großes Grinsen smile
Agi
Ich werde den Fehlern mit den Variablen noch nachgehen, hab nur momentan keine Zeit dazu.

@crazyelephant: profile.php und profile.tpl (für jeden STyle wo das Template vorkommt) bearbeitet? Und auch den oben genannten Bugfix durchgeführt, falls du noch die alte Version haben solltest?
crazyelephant
Zitat:
Original von Psyfire
Eingebaut, aber fehlerhaft *g*

Variablen funzen nicht richtig. Im Profil hab ich unten wenn der User gesperrt wurde:


Test wurde von gesperrt!

Grund:
Dauer der Sperre: $zeit

Grund wurde aber angegeben, Zeit dauerhaft und wer gesperrt hat ist nicht ersichtlich.Freude


das ist bei mir auch so. Gebe ich 1 Min. ein, dann ist der User nach 3 Min. immer noch gesperrt. Auch bei dauerhaftem Sperren funktionieren die Variablen nicht richtig.
Na irgend wann wird auch das gehen.. smile
HaMM3RH3aD
Kann ich bestätigen, der User wird nicht automatisch entsperrt und er kann auch keine pn´s mehr verschicken obwohl das in der Guppe der Gesperrten freigegeben ist (muss ja einen Admin kontaktieren können)...

//edit Belehr

Habe nochmal alles nach der Neuinstallationsanleitung überarbeitet und jetzt funzt alles EINWANDFREI bis auf

[img]http://hamm3rh3ad.ha.funpic.de/upload/bild.php/752,aufzeichnenJO6GQ.jp
g[/img]

Da ist mir noch aufgefallen das der PN Empfang AUSGESCHALTET bleibt nach der reaktivierung der user, kannst du das auch ändern???

Aber nochmal DANKE für deine klasse Arbeit... Ehren




Xannasavin
Kann man bei dauerhaft gesperrten Usern eigentlich einrichten, dass die auch in die Gruppe "gesperrte User" verschoben werden?
HaMM3RH3aD
Werden die bei mir sowieso sowie auch die nicht dauerhaft gesperrten.. verwirrt
Xannasavin
hmm wenn auch die nicht dauerhaft gesperrten: werden die dann danach wieder in die richtigen gruppen reingeschoben? o0
HaMM3RH3aD
Ja, nach dem Ende der zeitlich begrenzten Sperrung sind die wieder in ihrer eigentlichen Gruppe, auf jedenfall bei mir aufm Board... Freude
Xannasavin
hmm, dann bin ich mal gespannt XD
crazyelephant
mmmh, nach der abgelaufenen Sperrzeit ist der TestUser immer noch gesperrt.
Beim Drücken von User entsperren kommt die Meldung daß der User nicht entsperrt werden kann.
Drücke ich dann auf User bearbeiten, so wird ins ACP gesprungen und dort steht der bei User sperren auf Nein . Ich drücke dann Speichern und erst danach ist der User auch wirklich entsperrt.
User dauerhaft Sperren und Entsperren funzt dagegen problemlos....
HaMM3RH3aD
Was haste gemacht, update oder neuinstallation?
crazyelephant
Update....