jeandeluxe hat geschrieben:Moin,
hab, wie Jan vorgeschlagen hat, nen wiki Artikel zu dem Patch geschrieben:
http://wiki3.redaxo.de/index.php?n=R3.ArtikelstatusAccessDeniedPatchHab dort den Patch für 3.2.x beschrieben, für 3.3 läßt sich das easy ableiten.
@Jan, kills oder andere Checker:
Wie kann man vom frontend aus ermitteln ob eine Seite von einem eingelogten backend User aufgerufen wird? Mir fällt da erstmal nix gutes oder mit meinem knowhow umsetzbares ein.. ,-)
Gruß,
Jan
Ich habe gerade die Umsetzung lt. Deinen Wiki-Ausführungen umgesetzt und einige Fehler dabei entdeckt.
1. die Änderungen in Punkt 3.2.2 (Z.145) sind fehlerhaft. Dort fehlen die beginnenden Klammern bei den beiden zus. Abfragen.
2. Weiterhin fehlen diese Abfragen generell für die Artikel, weswegen keine Umschaltung möglich ist.
Müsste so um die Zeile 260 in der structure.inc.php sein.
3. die Änderungen im Ausgabetemplate stimmen nicht. Wenn Du nur auf getValue('status')==2 prüfst, kann man weiterhin die Offlineartikel anschauen per Direktlink.
Ich habe es hier so gelöst, indem ich auf den reinen Offlinestatus prüfe und die Anzeige dann deaktiviere.
Weiterhin habe ich den neuen Status als "nolink" benannt, da ich dadurch dem User die Möglichekeit gebe, seine Artikel nolink-Artikel in Artikellisten auszublenden und trotzdem den Direktaufruf und die Vorschaufunktion ermögliche.
Offline heisst dann bei mir wirklich Offline, Online wirklich komplett Online und Nolink die Erreichbarkeit ohne Artikellisten.
- Code: Alles auswählen
//Zugriffsbeschränkung ON/OFFLINE
if (($this->getValue('status') == 0) && ($_SESSION['UID'][$REX['INSTNAME']] <= 0)):
echo "Die Inhalte dieser Seite sind nicht öffentlich verfügbar.";
else:
echo $this->getArticle();
endif;
Gruß iceman
PS: Die Änderungen für die Kategorien kann ich in meinem Fall sogar weglassen, da automatisch der Offlinestatus der Kategorie auf dessen Startartikel projiziert wird.
PPS: Fragst Du den neuen Kategeoriestatus eigentlich ab? Macht doch sonst keinen Sinn diesen auch zu ändern, da doch die Artikel den Inhalt in sich tragen.