<?php
+/**
+ * Part of bdrem
+ *
+ * PHP version 5
+ *
+ * @category Tools
+ * @package Bdrem
+ * @author Christian Weiske <cweiske@cweiske.de>
+ * @copyright 2014 Christian Weiske
+ * @license http://www.gnu.org/licenses/agpl.html GNU AGPL v3
+ * @link http://cweiske.de/bdrem.htm
+ */
namespace bdrem;
+/**
+ * Base event renderer
+ *
+ * @category Tools
+ * @package Bdrem
+ * @author Christian Weiske <cweiske@cweiske.de>
+ * @copyright 2014 Christian Weiske
+ * @license http://www.gnu.org/licenses/agpl.html GNU AGPL v3
+ * @version Release: @package_version@
+ * @link http://cweiske.de/bdrem.htm
+ */
abstract class Renderer
{
+ /**
+ * HTTP content type of output
+ * @var string
+ */
protected $httpContentType = null;
+ /**
+ * Call the renderer and output the rendering result to shell or browser
+ *
+ * @param array $arEvents Event objects to render
+ *
+ * @return void
+ */
public function renderAndOutput($arEvents)
{
if (PHP_SAPI != 'cli' && $this->httpContentType !== null) {
echo $this->render($arEvents);
}
+ /**
+ * Do something when there are no events to render
+ *
+ * @return void
+ */
public function handleStopOnEmpty()
{
}
+ /**
+ * Display the events in some way
+ *
+ * @param array $arEvents Events to display
+ *
+ * @return string Event representation
+ */
abstract public function render($arEvents);
+ /**
+ * Converts the given date string according to the user's locale setting.
+ *
+ * @param string $dateStr Date in format YYYY-MM-DD
+ *
+ * @return string Formatted date
+ */
protected function getLocalDate($dateStr)
{
if ($dateStr{0} != '?') {