User im Board sperren/entsperren Version 2.1 |
Xannasavin
Mitglied
Dabei seit: 21.07.05
Beiträge: 345
Forenversion: 2.3
|
|
Zitat: |
Original von >Dragonfly<
Hallo miteinander
schöner Hack . Aber ich habe da noch eine klitzekleine Frage .
Ich sehe in der Demo nur wie viel Minuten der User gesperrt werden soll . Wenn er 3 Tage vom Forum ausgeschlossen werden soll , muss ich dann die Minuten alle ausrechnen und angeben ? Geht das nicht das man auch Tage angeben kann ?
|
ich habe mir den neuen code noch nicht angeschaut - ich habe das bei der alten version so gelöst:
hinter gesperrt_zeit = '".(time() + 60*$gesperrt_zeit
das hier:
+ 86400*$gesperrt_zeit_days)."',
und dann in dem template
code: |
1:
|
<input type="radio" name="gesperrt_dauerhaft" value="0" id="zeitweise_gesperrt"> <label for="zeitweise_gesperrt"><b>für</b></label> <input class="input" type="text" name="gesperrt_zeit_days" value="" size="10%"> <b> Tage</b> und / oder <input class="input" type="text" name="gesperrt_zeit" value="" size="10%"><b> Minuten</b> |
|
__________________
|
|
10.08.08 11:31 |
E-Mail
Finden
Als Freund hinzufügen
|
|
C-Board unregistriert
|
|
Ich habe den Hack mal auf meiner Testumgebung aufgezogen, weil Shark Master auch bei mir im Forum um Hilfe gebeten hat.
Leider ist der Hack stark fehlerbehaftet und sollte dringend überarbeitet werden.
Das Problem mit der fehlenden Zeitanzeige im Profil ist dabei das geringste Problem.
Hier muss in der profile.php der Code
php: |
1:
|
$sperrinfo = $lang->get("LANG_GLOBAL_USER_BLOCKED_SPERRINFO_2", array('$username' => $username,'$admin' => $admin,'$grund' => $grund,'$sperrzeit' => $sperrzeit)); |
|
ersetzt werden mit:
php: |
1:
|
$sperrinfo = $lang->get("LANG_GLOBAL_USER_BLOCKED_SPERRINFO_2", array('$username' => $username,'$admin' => $admin,'$grund' => $grund,'$zeit' => $sperrzeit)); |
|
Wahlweise kann auch die Sprachvariable LANG_GLOBAL_USER_BLOCKED_SPERRINFO_2 angpasst werden (hier aus der Variablen $zeit einfach $sperrzeit machen).
Hat schon mal jemand den Fehler beim Sperren eines Users gemacht und den Punkt "dauerhaft" gesetzt und gleichzeitig Minuten angegeben? Mir ist das passiert. Wenn man dann speichert, sind ALLE "normalen" Sperren von Usern aufgehoben!
Hier wird in der blockusers.php durch diesen Code
php: |
1:
2:
|
if ($ausgabe['gesperrt_zeit'] < time() && $ausgabe['blocked'] == 1 && $ausgabe['gesperrt_dauerhaft'] == 0)
$db->unbuffered_query("UPDATE bb".$n."_users SET blocked = '0', gesperrt_dauerhaft = '0', gesperrt_zeit = '0', gesperrt_admin = '', gesperrt_grund = '' WHERE userid = '".intval($ausgabe['userid'])."'"); |
|
eben das ausgeführt.
Schon mal versucht beim Grund Umlaute einzugeben?? Die werden im Anschluß falsch dargestellt. Hier sollte man beim Setzen der Variable $grund lieber von htmlconverter auf stripslashes wechseln. Analog dazu beim Speichern addslashes anstelle htmlconverter.
Dann wird in der profile.php Bezug genommen auf ein DB-Tabellenfeld, welches aber gar nicht angelegt wird/ist:
php: |
1:
|
if ($user_info['gesperrt_zeit'] < time() && $user_info['gesperrt'] == 1 && $user_info['gesperrt_dauerhaft'] == 0) { |
|
Wo ist in der DB-Tabelle das Feld gesperrt zu finden?
Es stimmt, was hier schon erwähnt worden ist. Auch nach Ablauf der zeitlichen Sperre werden die Einträge in der DB nicht entfernt. Der User selbst sieht davon aber nichts, weil die aktuelle (Unix-)Zeit ja größer ist, als die in der Sperre angegebene und daher der Zugang zum Forum ungehindert erfolgen kann.
Nur kann der befugte (i.d.R Admin) hier auch nicht eingreifen, weil die Ensperr-Funktion nicht greift. Hier geht nur ein direkter Eingriff in die DB, oder eine erneute Sperre und sofortiges Entsperren (vor Ablauf der Sperrzeit).
Bei der Sperrmeldung für den User sollten die Minuten nochmal überdacht werden. Mit Kommastellen macht das wenig Sinn. So ergibt eine Sperrzeit von 114 Sekunden die Anzeige 1.90 Minuten.
Auch wenn Agi im Eingangsthread geschrieben hat
Zitat: |
* Pls habt ein wenig Geduld; ich bin nicht 24/7 da und kann euch innerhalb von 2 Minuten Fragen zu Problemen etc beantworten. Oftmals dauert dies halt ein wenig.
|
sollte hier möglichst schnell eingegriffen werden, sonst wird Agi hier von Beiträgen erschlagen
Wenn Hilfe gewünscht ist, darf man mich gern anmorsen.
Gruß Mike
EDIT 10.08.2008 12:35h
Eines hatte ich vergessen. Es ist besser bei SQL-Statements für die DB-Tabelle bbx_users auf die userid zu setzen und nicht auf username. In der global.php soll es ja so eingesetzt werden:
php: |
1:
2:
3:
|
if ($wbbuserdata['gesperrt_zeit'] < time() && $wbbuserdata['gesperrt'] == 1 && $wbbuserdata['gesperrt_dauerhaft'] == 0) {
$db->unbuffered_query("UPDATE bb".$n."_users SET gesperrt = '0', gesperrt_dauerhaft = '0', gesperrt_zeit = '0', gesperrt_admin = '', gesperrt_grund = '' WHERE username = '$wbbuserdata[username]'");
} |
|
Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von C-Board: 10.08.08 12:36.
|
|
10.08.08 11:42 |
|
|
Xannasavin
Mitglied
Dabei seit: 21.07.05
Beiträge: 345
Forenversion: 2.3
|
|
Hey C-Board, danke für die Ausführliche Fehlerbeschreibung, sowas ist echt was wert!
Ich warte noch ein wenig das Update zu installieren, bis die Fehler ausgebessert sind...
__________________
|
|
10.08.08 11:57 |
E-Mail
Finden
Als Freund hinzufügen
|
|
Tala
Mitglied
Dabei seit: 04.05.08
Beiträge: 62
Fähigkeiten: WBB2 Anfänger Forenversion: 2.3
|
|
Nach einigem Hin und her habe ich zusammen mit meinem Partner beschlossen, das dieser Hack nicht so notwendig ist, weshalb ich versucht habe ihn wieder auszubauen. Dazu habe ich die drei php-Dateien und users_edit.htm ersetzt durch die originalen. Lediglich Profile.tpl habe ich gelöscht und neu erstellt (mit dem Inhalt der originalen), da ich diese mit meinem FTP-Programm nicht sehen konnte.
Doch nachdem ich diese Dateien und Templates ersetzt hatte bekam ich eine Fehlermeldung, und zwar immer wenn ich auf ein profil klicke (weshalb ich den Fehler wohl in der profile.tpl oder profile.php vermute).
Ich habe bereits einen Hilfe-Thread hierfür geöffnet, wo ich das Problem beschrieben habe (doch ich sollte mich hier melden).
Hier gehts zum Thread
Ich hoffe jemand kann mir helfen diesen Murks zu beseitigen, den ich da angerichtet habe.
Zum Schluss: Mir fällt auf Anhieb kein Hack ein, für welchen ich die profile.php oder profile.tpl verändert habe.
|
|
10.08.08 11:58 |
E-Mail
Finden
Als Freund hinzufügen
|
|
Tala
Mitglied
Dabei seit: 04.05.08
Beiträge: 62
Fähigkeiten: WBB2 Anfänger Forenversion: 2.3
|
|
Zitat: |
Original von C-Board
Jepp. Da ich weiß, wie umfangreich das werden wird, sollten alle die Geduld aufbringen
@Tala
Welche Fehlermeldung hast Du denn bekommen?
Nur mal so als Tipp. Wenn man einen Hack nicht mehr braucht und ihn ausbaut, dann geht man nach der Installationsanleitung rückwärts vor. Wenn man Original-Templates wieder aufzieht, sind natürlich alle Hacks weg, die man seit Grunsteinlegung des Forums dort eingesetzt hat.
Gruß Mike |
Das werd ich auch nicht nochmal so handhaben
Fehlermeldung:
Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in /usr/export/www/vhosts/funnetwork/hosting/wbbtala/wbb2/profile.php(227) : eval()'d code on line 22
Screenshot:
http://i36.tinypic.com/29ux3yv.jpg
|
|
10.08.08 12:26 |
E-Mail
Finden
Als Freund hinzufügen
|
|
C-Board unregistriert
|
|
Häng' mal bitte die profile.php und das profile.tpl hier an.
Gruß Mike
|
|
10.08.08 12:31 |
|
|
Tala
Mitglied
Dabei seit: 04.05.08
Beiträge: 62
Fähigkeiten: WBB2 Anfänger Forenversion: 2.3
|
|
Zitat: |
Original von C-Board
Häng' mal bitte die profile.php und das profile.tpl hier an.
Gruß Mike |
Das Problem hat sich gelöst. Hab die profile.tpl nochmal neu draufgetan, jetzt funktioniert es wieder einwandfrei.
|
|
10.08.08 12:54 |
E-Mail
Finden
Als Freund hinzufügen
|
|
C-Board unregistriert
|
|
@Tala
Prima
@Xannasavin
Ich habe meinen Beitrag von vorhin nochmal editiert, hatte da noch etwas vergessen.
Gruß Mike
|
|
10.08.08 12:56 |
|
|
crazyelephant
Mitglied
Dabei seit: 17.11.07
Beiträge: 41
Fähigkeiten: WBB2 Anfänger Forenversion: 2.3
|
|
Tja, ich hab mir alles noch mal angesehen, nicht nach der Update-Installations Anleitung, sondern nach der Installationsanleitung für Neuinstallation.
Die Anzeige des Sperrgrundes funktioniert jetzt.
Aber immer noch ist nach der abgelaufenen Sperrzeit der Test-User 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....
An was kann das liegen, scheinbar funktioniert der Hack ja bei einigen problemlos ???
__________________ Gruss crazyelephant
|
|
10.08.08 14:05 |
E-Mail
Finden
Als Freund hinzufügen
|
|
Shark Master
Mitglied
Dabei seit: 22.03.04
Beiträge: 523
Herkunft: München Forenversion: 2.2
|
|
@C-Board das mit dem Profil danke ich dir
Aber lustig finde ich auch das man wenn man einen für 1min speert.
Also um 14:13 und es in 1min aufgehoben werden soll.
Ist um 14:15 immer noch gespeert
__________________
|
|
10.08.08 14:15 |
E-Mail
WWW
Finden
Als Freund hinzufügen
|
|
C-Board unregistriert
|
|
Ich kann Deine Frage nicht nachvollziehen.
Liest Du auch die Beiträge, die in den letzten Stunden hier in diesem Thread geschrieben worden sind?
Glaub mal dran: Der HackCoder ist garantiert im Moment dabei, die Fehler zu korrigieren.
Nur zaubern kann keiner. Immerhin hat jeder ein RL so nebenbei.
Gruß Mike
|
|
10.08.08 14:15 |
|
|
crazyelephant
Mitglied
Dabei seit: 17.11.07
Beiträge: 41
Fähigkeiten: WBB2 Anfänger Forenversion: 2.3
|
|
@c-board:
Falls Du mich meinst - ja ich habe alles gelesen und auch angewendet.
Nur interessiert mich ob das nur bei mir so ist. Aber gerade kam ja ein neuer Beitrag, bei dem es genau so zu sein scheint.
Die Frage kam daher, weil es bei einem genau so gewesen ist aber scheinbar nach nochmaligem Überarbeiten der Dateien jetzt geht.
Wenn es ein Hackproblem ist, kann ich selbstverständlich gerne warten. Sollte es aber irgendwo am Einbau von mir liegen wird man ja wohl mal fragen können...oder?
__________________ Gruss crazyelephant
|
|
10.08.08 14:28 |
E-Mail
Finden
Als Freund hinzufügen
|
|
Agi
TEAM - PHP Freak
Dabei seit: 22.11.04
Beiträge: 2.628
Fähigkeiten: WBB3 Profi Forenversion: 3.1
Themenstarter
|
|
Omg, kein Wunder, dass da soviele Fehler drinnen sind .... Ich war etwas ratlos, weil bei mir ja alles problemlos funktioniert hat ...
Um es kurz zu erklären: Ich hab für jeden Hack ein eigenes Verzeichnis, das ich dann packe und hochlade. Ich habe aber auch ein lokales Testboard, wo der Hack ja getestet werden muss und damit ich nicht immer hin und herkopieren muss, hab ich Fehler usw. alle dort korrigiert.
Nachdem jetzt soviele Fehler gemeldet wurden, hab ich einfach mal verglichen und gemerkt, dass ich vergessen habe, die aktuelle Version der Dateien ins Hackverzeichnis zu kopieren; ich hab sozusagen ne Uralt Version gepackt und hochgeladen ... tut mir Leid
Ich überprüfe grad die gemeldeten Fehler mit der aktuellen Version und werde diese, falls sie dort noch bestehen, auch korrigieren und dann eine neue Version hochladen.
Was das mit den Minuten angeht: Ich kanns auch in Tage ändern, wäre evtl. auch sinnvoller und werd ich glaub ich auch machen.
Was das automatische Einfügen in die Gesperrt Gruppe usw. angeht: So einfach ist das leider nicht, da nicht alle die gleichen Gruppen-IDs und Gruppencombinations (oder wie die heißen) nutzen ... Ich werd mir da was überlegen, aber mit dieser Bugfixversion wird das vermutlich noch nicht kommmen.
Werde beim Entsperren auch einbauen, dass alle bei der Sperre vorgenommenen Änderungen wieder zurückgesetzt werden, das hab ich vergessen.
__________________
|
|
10.08.08 14:42 |
Finden
Als Freund hinzufügen
|
|
>Dragonfly<
Mitglied
Dabei seit: 14.06.08
Beiträge: 83
Fähigkeiten: WBB2 Anfänger Herkunft: NRW Forenversion: 2.3
|
|
Super Agi mit den Tagen
Wer wird schon nur Minuten gesperrt , den Aufwand kann man sich auch sparen
Mit der automatischen Verschiebung der Gesperrten User kann man doch per Hand machen ... so viele Leute werden nicht auf einmal gesperrt um dass man es automatisieren muss oder ?
__________________ Gruß Dragonfly
|
|
10.08.08 16:00 |
E-Mail
WWW
Finden
Als Freund hinzufügen
|
|
Xannasavin
Mitglied
Dabei seit: 21.07.05
Beiträge: 345
Forenversion: 2.3
|
|
Zitat: |
Original von >Dragonfly<
Super Agi mit den Tagen
Wer wird schon nur Minuten gesperrt , den Aufwand kann man sich auch sparen
Mit der automatischen Verschiebung der Gesperrten User kann man doch per Hand machen ... so viele Leute werden nicht auf einmal gesperrt um dass man es automatisieren muss oder ? |
Jo, aber hast du Lust dir bei jedem gesperrten User die Gruppenkombination zu merken? ^^
@agi: kann man den Inhalt der Gruppenkombination des Users nicht einfach in ner Tabelle sicher (ist ja soweit ich weiß 6,7,8,9,66) und das wird nachher einfach wieder "zurückkopiert"?
__________________
|
|
10.08.08 16:15 |
E-Mail
Finden
Als Freund hinzufügen
|
|
>Dragonfly<
Mitglied
Dabei seit: 14.06.08
Beiträge: 83
Fähigkeiten: WBB2 Anfänger Herkunft: NRW Forenversion: 2.3
|
|
Zitat: |
Original von Xannasavin
ich habe mir den neuen code noch nicht angeschaut - ich habe das bei der alten version so gelöst:
hinter gesperrt_zeit = '".(time() + 60*$gesperrt_zeit
das hier:
+ 86400*$gesperrt_zeit_days)."',
und dann in dem template
code: |
1:
|
<input type="radio" name="gesperrt_dauerhaft" value="0" id="zeitweise_gesperrt"> <label for="zeitweise_gesperrt"><b>für</b></label> <input class="input" type="text" name="gesperrt_zeit_days" value="" size="10%"> <b> Tage</b> und / oder <input class="input" type="text" name="gesperrt_zeit" value="" size="10%"><b> Minuten</b> |
|
|
HI Xannasavin,
so ganz raff ich das nicht aber trotzdem danke für deine Mühe
ich glaube ich warte bis Agi das überarbeitet hat und eine Anleitung für Dummys dabei hat
Zitat: |
Jo, aber hast du Lust dir bei jedem gesperrten User die Gruppenkombination zu merken? ^^ |
Nicht wirklich
__________________ Gruß Dragonfly
|
|
10.08.08 21:32 |
E-Mail
WWW
Finden
Als Freund hinzufügen
|
|
Shark Master
Mitglied
Dabei seit: 22.03.04
Beiträge: 523
Herkunft: München Forenversion: 2.2
|
|
noch eine frage.
wie kann ich den button für meine S-Mod und Mod sichtbar machen?
Den teil mit dem User im Board sperren/entsperren hab ich schon auf Ja gestellt.
__________________
|
|
10.08.08 22:37 |
E-Mail
WWW
Finden
Als Freund hinzufügen
|
|
HaMM3RH3aD
Mitglied
Dabei seit: 26.09.07
Beiträge: 127
Fähigkeiten: WBB3 Anfänger; WBB2 Anfänger Herkunft: Hessen Forenversion: 3.0; 2.3
|
|
Zitat: |
Original von 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"); |
|
|
Guckst du hier...
|
|
10.08.08 22:51 |
E-Mail
WWW
Finden
Als Freund hinzufügen
|
|
|