Seite 1 von 1

Forum erst um xx Uhr zugänglich machen

Verfasst: 14.11.2006 10:47
von Killer-Man
Mit dieser Veränderung hab ich dafür gesorgt, dass in dem angegebenem Forum erst zu der angegebenen Zeit Beiträge gepostet werden können.
Allerdings kann man dort gepostete Beiträge schon sehene, bevor das Forum geöffnet ist.

Was muss ich noch machen, damit man es außerhalb des Zeitbereiches nicht betreten kann? (so als ob man keine Rechte dafür hätte)


Hier der Code:

Code: Alles auswählen

# 
#----------[ OPEN ]------------------------------------- 
# 

index.php 

# 
#----------[ FIND ]------------------------------------- 
# 

                  if ( $is_auth_ary[$forum_id]['auth_view'] ) 

# 
#----------[ BEFORE, ADD ]------------------------------ 
# 

                  // close forum by daytime 
                  if ($forum_id == '4') 
                     { 
                        $current_fc_time = date('Gi',time()); 
                        if ($current_fc_time <= '1259' || $current_fc_time >= '359') 
                        { 
                           $forum_data[$j]['forum_status'] = FORUM_LOCKED; 
                        } 
                     } 
                  // close forum by daytime 

# 
#----------[ OPEN ]------------------------------------- 
# 

posting.php 

# 
#----------[ FIND ]------------------------------------- 
# 

   if ( $post_info['forum_status'] == FORUM_LOCKED && !$is_auth['auth_mod']) 

# 
#----------[ BEFORE, ADD ]------------------------------ 
# 

// close forum by daytime 
if ($forum_id == '4') 
   { 
      $current_fc_time = date('Gi',time()); 
      if ($current_fc_time <= '1259' || $current_fc_time >= '359')
      { 
         $post_info['forum_status'] = FORUM_LOCKED; 
      } 
   } 
// close forum by daytime 

# 
#----------[ OPEN ]------------------------------------- 
# 

viewforum.php 

# 
#----------[ FIND ]------------------------------------- 
# 

// 
// Dump out the page header and load viewforum template 

# 
#----------[ BEFORE, ADD ]------------------------------ 
# 

// close forum by daytime 
if ($forum_id == '4') 
   { 
      $current_fc_time = date('Gi',time()); 
      if ($current_fc_time <= '1259' || $current_fc_time >= '359')
      { 
         $forum_row['forum_status'] = FORUM_LOCKED; 
      } 
   } 
// close forum by daytime 

# 
#----------[ OPEN ]------------------------------------- 
# 

viewtopic.php 

# 
#----------[ FIND ]------------------------------------- 
# 

$reply_img = ( $forum_topic_data['forum_status'] == FORUM_LOCKED || $forum_topic_data['topic_status'] == TOPIC_LOCKED ) ? $images['reply_locked'] : $images['reply_new']; 

# 
#----------[ BEFORE, ADD ]------------------------------ 
# 

// close forum by daytime 
if ($forum_id == '4') 
   { 
      $current_fc_time = date('Gi',time()); 
      if ($current_fc_time <= '1259' || $current_fc_time >= '359')
      { 
         $forum_topic_data['forum_status'] = FORUM_LOCKED; 
      } 
   } 
// close forum by daytime 

# 
#----------[ SAVE AND CLOSE ALL FILES ]----------------- 
# 
# EoM

Verfasst: 14.11.2006 13:58
von Xwitz
Wie wäre es einfach beim ersten Aufruf nach xx (oder noch besser per cronjob) den Status des Forums von versteckt auf öffentlich zu setzen?

Verfasst: 14.11.2006 17:43
von Killer-Man
Dummerweise hab ich null Ahnung von Cronjob.

Kannst du mir sagen was ich machen muss?

Verfasst: 15.11.2006 09:21
von Xwitz
Das sollte der einfachste Teil sein und ohne viel Zusatzwissen mit der Suchmaschine deiner Wahl zu erledigen sein.

Ein Cronjob ist nur etwas das eine Datei zu einer bestimmten Zeit aufruft. Das heißt, Du mußt die Funktion nicht in einer Datei unterbringen die von usern aufgerufen wird. So was ist bei Webspace in der unteren Preisklasse normaler Weise nicht mit dabei, ss gibt aber kostenlose im Netz (keine Ahnung wie verläßlich die von der genauen Zeit her sind).

Verfasst: 15.11.2006 19:04
von Jensemann
Xwitz hat geschrieben:Das sollte der einfachste Teil sein und ohne viel Zusatzwissen mit der Suchmaschine deiner Wahl zu erledigen sein.

Ein Cronjob ist nur etwas das eine Datei zu einer bestimmten Zeit aufruft. Das heißt, Du mußt die Funktion nicht in einer Datei unterbringen die von usern aufgerufen wird. So was ist bei Webspace in der unteren Preisklasse normaler Weise nicht mit dabei, ss gibt aber kostenlose im Netz (keine Ahnung wie verläßlich die von der genauen Zeit her sind).
Optimalerweise würde er einen at-Job benötigen. Ein Cronjob ruft eine Datei, bzw. genauer: führt ein Programm, wiederkehrend alle X-Zeiteinheiten aus, was hier nicht ganz das ist, was er benötigt.

Ich schlage also eine Implementierung in PHP vor. Einwenig Code in common.php, der die Uhrzeit prüft und dann entsprechend eine Weiterleitung (auf eine Fehlerseite) macht oder eben nicht.

Re: Forum erst um xx Uhr zugänglich machen

Verfasst: 15.11.2006 21:22
von easygo
Killer-Man hat geschrieben:Was muss ich noch machen, damit man es außerhalb des Zeitbereiches nicht betreten kann? (so als ob man keine Rechte dafür hätte)
EDIT: Keine Antwort ist auch eine @ XYZ

Verfasst: 16.11.2006 13:00
von Xwitz
jensemann hat geschrieben:Ein Cronjob ruft eine Datei, bzw. genauer: führt ein Programm, wiederkehrend alle X-Zeiteinheiten aus, was hier nicht ganz das ist, was er benötigt.
Ein cronjob kann man nach Datum und Uhrzeit auslösen aber Du hast recht, dann ist X ein Jahr.

Aber man kann die Funktion natürlich auch in einer Datei implementieren, die von einem user aufgerufen wird.