PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Ein Forum nur in einem bestimmten Zeitraum einer Gruppe anzeigen


oxy
28.04.2005, 19:28
Ja, ich mal wieder :rolleyes:

Mit der Suchfunktion konnte ich schon zu dieser Thematik etwas finden (http://www.vbulletin-germany.com/forum/showthread.php?t=15901), allerdings fehlt mir die nötige Kenntnis, um den Rest selbst erledigen zu können:

Ein Forum - nennen wir es einfach mal "des nachts..." - soll allen Benutzergruppen außer den Administratoren, Moderatoren und Super-Moderatoren nur für einen bestimmten Zeitraum sichtbar sein. Praxisbeispiel:

0:59 - Forumhomepage sieht wie gewohnt aus
1:00 - Auf der Forumhomepage taucht an Stelle (Bsp.) 7 das Forum "des nachts..." auf.
1:01 - 5:59. Alle User, die in diesem Forum schreiben dürfen, können in diesem Forum schreiben.
6:00 - "des nachts..." verschwindet von der Forumhomepage

Irgendwann des Tages:
15:00 - Moderatoren, Super-Moderatoren und Administratoren beantworten und moderieren dieses Forum, ohne das die anderen User etwas davon mitkriegen.

Wenn ich es bisher richtig verfolgen konnte, ist das ganze mit einem Cron-Job realisierbar. Wie müsste der Cron-Job also aussehen, wenn ein Forum nur im Zeitraum von 1 Uhr bis 6 Uhr sichtbar sein soll, für Admins, Mods und S-Mods aber immer sichtbar sein soll?

Ich hoff mal ich hab das jetzt verständlich rüber gebracht... ;)

mfg
oxy

oxy
01.05.2005, 21:55
Oh, nanu? Gibt es keine Möglichkeit per Cron-Job oder SQL-Query diesen Befehl auszuführen, das es gleich zu den Hacking-Diskussionen verschoben wurde?

mfg
oxy

Stussi
01.05.2005, 22:25
Da schreibst nen Cronjob der die Displayorder auf 0 setzt, wenn es z.B. 6 Uhr Morgens ist..
Dazu brauchst halt ne SQL Query (die die Order auf 0 setzt) und dann musst du den Foren Cache neu erstellen...

Und das selbe dann nochmal für Displayorder = X ;)

oxy
02.05.2005, 02:49
Hm, probieren kann man es ja... kannst du mir sagen, wie der Cron genau aussehen sollte?

Stussi
02.05.2005, 11:10
Hier haste deine beiden Crons ;)

Viel Spaß damit! :)

Hab sie auf meinem Testboard getestet, funzt 1a :)

Die musst du dann an deine ForumID anpassen und dazu dann noch die Displayorder merken, die es vorher hatte ;)

das trägst du dann da in die Config ein und trägst dann die Cronjobs dementsprechend ein ;)

Have fun!

Was mir grad so auffällt: Das wäre dann komplett unsichtbar.... man könnte das dann unter umständen (wenn gewünscht) halt in euer Internes Forum verschieben...
Sodass es dann niemand sieht ausser die Admins und so.. hab ich grad erst gesehen, sorry..

oxy
02.05.2005, 13:32
Hey Stussi,

danke dir für die schnelle und gute Hilfe :)
Ich hab da aber noch eine Frage...
Was muss in den Dateien geändert werden, um die Berechtigung Can_View_Forum für die Benutzergruppe X zu ändern? Oder ist das nicht möglich? Über den Befehl, von dem ich vermute das es der richtige sein könnte, finde ich leider nichts genaues...

mfg und danke dir nochmal soweit,
oxy

Stussi
02.05.2005, 15:03
Naja mal so generell sind das 2 verschiedene Dinge ;)

Was willst du denn genau?

Der Cronjob oben macht das ganze Forum unsichtbar .. für alle User... und halt wieder sichtbar..
Dazu sollten dann die entsprechenden Rechte eh gesetzt sein, die das Forum halt sehen dürfen und was nicht...

Du willst aber, dass für Bestimmte Usergruppen das Forum nicht sichtbar ist oder zu ner bestimmten Zeit!?

oxy
02.05.2005, 16:15
Ja genau, aber durch die "Unsichtbarkeit" des Forums ab einer bestimmten Uhrzeit - und selbst wenn ich es nicht für die Suche indexieren lasse - ist es dennoch möglich, mit dem Direkt-Link darin zu posten.

Ich suche also im Prinzip genau das was du mir schon geschrieben hast - nur noch zusätzlich mit dem CMD "Wenn 6 Uhr, setze Berechtigung "Kann Forum sehen" von Benutzergruppe X und Y auf "Nein"".

würde das überhaupt gehen?

Stussi
02.05.2005, 16:22
Klar..

Naja den Direktlink kennt ja keiner ;)

Das was ich gemacht habe, ist das Forum für jeden unsichtbar zu machen...
du willst das aber nur für bestimmte Usergruppen, ja?

oxy
02.05.2005, 16:29
Ja, so quasi - das sie das Forum eben nur zu bestimmten Uhrzeiten betreten können...

Was den Direktlink angeht - unsere User sind in der Hinsicht sehr... einfallsreich :o

Stussi
02.05.2005, 16:36
Hab mir das grad mal angesehen.. so einfach ist das nicht.

Du musst auf jeden Fall die Rechte in dem Forum so setzen, dass sie das Forum normalerweise nicht sehen...

Einfacher wäre es dann, wenn man das in euren Internen Bereich verschiebt....
Wär das ok für dich?

oxy
02.05.2005, 20:23
Nur damit ich dich richtig verstehe:

Zu einer gewissen Uhrzeit soll das Forum in der Kategorie "secret" - die registrierte Benutzer per default nicht sehen - in die Kategorie "1" verschoben werden, wo sie alle Foren sehen können.

Versteh ich dich da richtig? Wenn ja, müsste das mit den jetzigen Crons, die du geschrieben hast, ja möglich sein... mal ausprobieren...

mfg
oxy

Stussi
02.05.2005, 20:27
Nein das ist damit meine ich nich möglich..
Ich schau gleich mal, aber erst schau ich LOST *g*

oxy
04.05.2005, 15:42
Ok, konnte mir eine Lösung erarbeiten:

In deiner PHP-Datei lautet die Config:

// ########## START CONFIG ##########
// Hier einfach die Forenid des Forums angeben, das verschwinden soll
$forumid = 3;
// ########## END CONFIG ##########

Und der Befehl:

$DB_site->query("
UPDATE " . TABLE_PREFIX . "forum SET displayorder=0
WHERE forumid=$forumid;"
);
require_once('./includes/adminfunctions_forums.php');
build_forum_permissions();

Nach meinen Veränderungen sieht die Config so aus:

// Hier einfach die Forenid des Forums angeben, das verschwinden soll
// $parentid gibt hier das forum an, wohin es verschwinden soll
$parentid = 1;
$forumid = 3;

Und der Befehl

$DB_site->query("
UPDATE " . TABLE_PREFIX . "forum SET parentid=$parentid
WHERE forumid=$forumid;"
);
require_once('./includes/adminfunctions_forums.php');
build_forum_permissions();

Wobei das Forum mit der ID 1 in diesem Falle eine Kategorie für etwaige Internae ist - ergo, nur Moderatoren, Super-Moderatoren und Administratoren können es sehen (der gewünschte effekt eben).

Die Berechtigung des ID 3 - Forums ist ganz simpel auf Standard belassen, es erbt also die Berechtigungen der Kategorie, in der es sich befindet.

Und dasselbe auf umgekehrten Wege, um es in eine Kategorie oder Forum zu verschieben, wo per Standard alle User Zugriff haben. Das ganze noch in den Crons eingestellt, getestet - und es klappt wunderbar.

Vielen Dank für deine Hilfe, Stussi - und für die Gedankenstütze! :)

mfg
oxy

Stussi
04.05.2005, 19:13
Bitte.... hätts dir au so gemacht, hatte ich nur irgendwie vergessen *g* :rolleyes: