added some useful models and controllers

This commit is contained in:
Logsol 2013-07-08 21:02:22 +02:00
parent 9bb724147e
commit 1d4b2a3314
44 changed files with 6424 additions and 0 deletions

View file

@ -0,0 +1,26 @@
<?php
class DidgeridooArtwork_Page_Plugin
{
public static function render($content)
{
preg_match_all("~\{plugin\=([^\}| ]*)([^\}]*)~", $content, $findings);
$findings[1] = array_reverse($findings[1]);
$findings[2] = array_reverse($findings[2]);
foreach($findings[1] as $key => $item)
{
$instanceName = "DidgeridooArtwork_Page_Plugin_" . ucfirst($findings[1][$key]);
if(!Katharsis_Autoload::findClass($instanceName))
{
throw new DidgeridooArtwork_Exception('PagePlugin ' . $instanceName . ' konnte nicht gefunden werden.', 1);
}
$object = new $instanceName;
$plugincontent = (string) $object->render(trim($findings[2][$key]));
$content = preg_replace("~(.*)\{plugin\=" . $findings[1][$key] . "[^\}]*\}(.*)~", '${1}' . $plugincontent . '${2}', $content);
}
return $content;
}
}

View file

@ -0,0 +1,19 @@
<?php
abstract class DidgeridooArtwork_Page_Plugin_Abstract
{
protected $_con;
protected $_view;
public final function __construct()
{
$this->_con = Katharsis_DatabaseConnector::getConnection();
$this->_view = Katharsis_View::getInstance();
$this->init();
}
public function init()
{
}
abstract public function render($parameters);
}

View file

@ -0,0 +1,8 @@
<?php
class DidgeridooArtwork_Page_Plugin_Mail extends DidgeridooArtwork_Page_Plugin_Abstract
{
public function render($parameters)
{
return $this->_view->render('Plugin/mail');
}
}

View file

@ -0,0 +1,11 @@
<?php
class DidgeridooArtwork_Page_Plugin_MiniEventList extends DidgeridooArtwork_Page_Plugin_Abstract
{
public function render($parameters)
{
$event = new Event();
$this->_view->pluginEvents = $event->getEventList();
return $this->_view->render('Plugin/minieventlist');
}
}

View file

@ -0,0 +1,10 @@
<?php
class DidgeridooArtwork_Page_Plugin_MiniNewsList extends DidgeridooArtwork_Page_Plugin_Abstract
{
public function render($parameters)
{
$news = new News();
$this->_view->pluginNews = $news->getActiveNews();
return $this->_view->render('Plugin/mininewslist');
}
}

View file

@ -0,0 +1,8 @@
<?php
class DidgeridooArtwork_Page_Plugin_Newsletter extends DidgeridooArtwork_Page_Plugin_Abstract
{
public function render($parameters)
{
return $this->_view->render('Plugin/newsletter');
}
}

View file

@ -0,0 +1,11 @@
<?php
class DidgeridooArtwork_Page_Plugin_ShopVorschau extends DidgeridooArtwork_Page_Plugin_Abstract
{
public function render($parameters)
{
$event = new Event();
$this->_view->pluginEvents = $event->getEventList();
return $this->_view->render('Plugin/shopvorschau');
}
}