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');
}
?>