Quelltext yaml_layout_inc
<?php
/**
* ==================================================
* Template: yaml_layout_inc
* Version: 0.9
* Redaxo Version: 4.2.x
* HTML-/XHTML-Version: XHTML 1.0
*
* Hinweise:
* Includes für YAML-Seitenlayout
* YAML3.1-konformes Seiten-Template
* für Redaxo 4.2.x
*
* Bearbeitung: Peter Reiche
* www.raybeam.de
*
* Datum: 13.12.2009
* Anpassung an redaxo-community-basis-addon
*
* Ursprung-Datum: 22.11..2009
* Meta-Angaben: htmlspecialchars in htmlentities umgewandelt
* ================================================== */
// Authentifizierungs-Template einbinden
// Falls keine Authentifizierung benötigt wird, Session starten,
// dadurch können bei angemeldetem Backend Offline-Artikel über
// "Anzeigen" trotzdem betrachtet werden.
if($authTemplateId)
{
$authTemplate = new rex_template($authTemplateId);
include $authTemplate->getFile();
}
else
{
session_start();
}
// Navigationstemplate einbinden
if($navTemplateId)
{
$navTemplate = new rex_template($navTemplateId);
include $navTemplate->getFile();
}
// Login-Template einbinden
if($loginTemplateId)
{
$loginTemplate = new rex_template($loginTemplateId);
include $loginTemplate->getFile();
}
// encrypt-emails-Template einbinden
if($encryptEmailsId)
{
$encryptEmailTemplate = new rex_template($encryptEmailsId);
include $encryptEmailTemplate->getFile();
}
// weitere Templates könnten hier eingebunden werden
// -------------------------------------------------
// -------------------------------------------------
// 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;
}
if ($beLogin>0)
{
$REX[STATS] = 0;
}
else
{
// Überprüfen ob der Artikel online ist
$von = $this->getValue('online_from');
$bis = $this->getValue('online_to');
$jetzt = time();
// 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
header("Location: http://".$_SERVER[HTTP_HOST].$_SERVER[PHP_SELF].$notFoundArticleLink);
exit;
}
else
{
// Weiterleitung für Kategorien
header("Location: http://".$_SERVER[HTTP_HOST].$_SERVER[PHP_SELF].$notFoundArticleLink);
exit;
}
}
}
// Meta-Angaben des Startartikels auslesen
$startArticle = OOArticle::getArticleById($REX['START_ARTICLE_ID'], $REX['CUR_CLANG']);
$startArticleKeywords = $startArticle->getValue("_keywords");
$startArticleDescription = $startArticle->getDescription();
// Wenn aktueller Artikel Meta-Angaben hat, diese übernehmen,
// ansonsten die des Startartikels eintragen
if($this->getValue("description") != "")
{
$metaDescription = htmlentities($this->getValue("description"),ENT_QUOTES, 'UTF-8');
}
else
{
$metaDescription = htmlentities($startArticleDescription,ENT_QUOTES, 'UTF-8');
}
if($this->getValue("keywords")!= "")
{
$metaKeywords = htmlentities($this->getValue("keywords"),ENT_QUOTES, 'UTF-8');
}
else
{
$metaKeywords = htmlentities($startArticleKeywords,ENT_QUOTES, 'UTF-8');
}
?>
/**
* ==================================================
* Template: yaml_layout_inc
* Version: 0.9
* Redaxo Version: 4.2.x
* HTML-/XHTML-Version: XHTML 1.0
*
* Hinweise:
* Includes für YAML-Seitenlayout
* YAML3.1-konformes Seiten-Template
* für Redaxo 4.2.x
*
* Bearbeitung: Peter Reiche
* www.raybeam.de
*
* Datum: 13.12.2009
* Anpassung an redaxo-community-basis-addon
*
* Ursprung-Datum: 22.11..2009
* Meta-Angaben: htmlspecialchars in htmlentities umgewandelt
* ================================================== */
// Authentifizierungs-Template einbinden
// Falls keine Authentifizierung benötigt wird, Session starten,
// dadurch können bei angemeldetem Backend Offline-Artikel über
// "Anzeigen" trotzdem betrachtet werden.
if($authTemplateId)
{
$authTemplate = new rex_template($authTemplateId);
include $authTemplate->getFile();
}
else
{
session_start();
}
// Navigationstemplate einbinden
if($navTemplateId)
{
$navTemplate = new rex_template($navTemplateId);
include $navTemplate->getFile();
}
// Login-Template einbinden
if($loginTemplateId)
{
$loginTemplate = new rex_template($loginTemplateId);
include $loginTemplate->getFile();
}
// encrypt-emails-Template einbinden
if($encryptEmailsId)
{
$encryptEmailTemplate = new rex_template($encryptEmailsId);
include $encryptEmailTemplate->getFile();
}
// weitere Templates könnten hier eingebunden werden
// -------------------------------------------------
// -------------------------------------------------
// 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;
}
if ($beLogin>0)
{
$REX[STATS] = 0;
}
else
{
// Überprüfen ob der Artikel online ist
$von = $this->getValue('online_from');
$bis = $this->getValue('online_to');
$jetzt = time();
// 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
header("Location: http://".$_SERVER[HTTP_HOST].$_SERVER[PHP_SELF].$notFoundArticleLink);
exit;
}
else
{
// Weiterleitung für Kategorien
header("Location: http://".$_SERVER[HTTP_HOST].$_SERVER[PHP_SELF].$notFoundArticleLink);
exit;
}
}
}
// Meta-Angaben des Startartikels auslesen
$startArticle = OOArticle::getArticleById($REX['START_ARTICLE_ID'], $REX['CUR_CLANG']);
$startArticleKeywords = $startArticle->getValue("_keywords");
$startArticleDescription = $startArticle->getDescription();
// Wenn aktueller Artikel Meta-Angaben hat, diese übernehmen,
// ansonsten die des Startartikels eintragen
if($this->getValue("description") != "")
{
$metaDescription = htmlentities($this->getValue("description"),ENT_QUOTES, 'UTF-8');
}
else
{
$metaDescription = htmlentities($startArticleDescription,ENT_QUOTES, 'UTF-8');
}
if($this->getValue("keywords")!= "")
{
$metaKeywords = htmlentities($this->getValue("keywords"),ENT_QUOTES, 'UTF-8');
}
else
{
$metaKeywords = htmlentities($startArticleKeywords,ENT_QUOTES, 'UTF-8');
}
?>