Adminanmeldung und Onlinestatus
Der nächste Abschnitt des Quelltextes übergibt eine evtl. vorhandene Session-ID eines Backend-Users an die Variable beLogin.
Auch hier unterscheidet sich die Übergabe zwischen redaxo 3.x und 4.x und es wird gleichzeitig bei der V. 4.x geprüft, ob das community-Addon installiert und aktiviert ist.
- // Adminzugriffe von der Statistik ausschließen
- // und Backendzugriff auf Offlineartikel ermöglichen
- // redaxo 4.x
- $beLogin = $_SESSION[$REX['INSTNAME']]['UID'];
- // Zugriffsberechtigung für redaxo-community prüfen
- // falls community-Addon installiert und aktiviert ist
- if(OOAddon::isAvailable('community'))
- {
- $chkUsrPerm = rex_com_checkUserPerm($this->getValue("art_com_perm"));
- }
- else
- {
- // permisson-Check für redaxo-community umgehen
- $chkUsrPerm = true;
- }
Liegt eine Anmeldung im Backend vor, wird mit REX[Stats]=0 zunächst die statistische Erfassung der Seitenaufrufe abgeschaltet. Dies bezieht sich auf das Statististik-Addon welches, wenn auch oft als veraltet bezeichnet, doch noch häufig benutzt wird.
- if ($beLogin>0)
- {
- $REX[STATS] = 0;
- }
- else
- {
- // Überprüfen ob der Artikel online ist
- $von = $this->getValue('online_from');
- $bis = $this->getValue('online_to');
- // aktuellen On-/Offline-Status des Artikels abfragen
- $aktStatus = $this->getValue('status');
- if( $von==$bis || ($jetzt > $von && $jetzt < $bis))
- {
- $status = 1;
- }
- else
- {
- $status = 0;
- }
- if ($aktStatus == 0 || $status == 0 || !$chkUsrPerm)
- {
- if ($this->getValue("startpage") == 0)
- {
- // Weiterleitung für Artikel
- exit;
- }
- else
- {
- // Weiterleitung für Kategorien
- exit;
- }
- }
- }
Liegt keine Anmeldung im Backend vor, wird der Onlinestatus des Artikels geprüft. Dazu wird zum einen verglichen, ob das aktuelle Datum im Bereich Online von / Online bis liegt, bzw. ob Online von / Online bis ein gleiches Datum enthalten.
Ist das der Fall, wird der Artikel angezeigt. Das gilt auch für den Fall, dass der Artikel “online” ist.
In allen anderen Fällen wird auf die Fehlerseite weitergeleitet.