aboutsummaryrefslogtreecommitdiff
path: root/src/bdrem/Renderer
diff options
context:
space:
mode:
authorChristian Weiske <cweiske@cweiske.de>2014-03-20 17:03:06 +0100
committerChristian Weiske <cweiske@cweiske.de>2014-03-20 17:03:06 +0100
commit6032c11d7a88651d85154ffe835a26b3f569c893 (patch)
treeb3cb83cb8d7dbcfa23891b84e3f0447c31e743c8 /src/bdrem/Renderer
parent62842c0ba16bb1dc67435dea7b4d75af7773eacb (diff)
downloadbdrem-6032c11d7a88651d85154ffe835a26b3f569c893.tar.gz
bdrem-6032c11d7a88651d85154ffe835a26b3f569c893.zip
add docblocks to all files, classes, methods and variables
Diffstat (limited to 'src/bdrem/Renderer')
-rw-r--r--src/bdrem/Renderer/Console.php47
-rw-r--r--src/bdrem/Renderer/Html.php44
-rw-r--r--src/bdrem/Renderer/HtmlTable.php34
-rw-r--r--src/bdrem/Renderer/Mail.php43
4 files changed, 167 insertions, 1 deletions
diff --git a/src/bdrem/Renderer/Console.php b/src/bdrem/Renderer/Console.php
index 87eeb9a..61fb67e 100644
--- a/src/bdrem/Renderer/Console.php
+++ b/src/bdrem/Renderer/Console.php
@@ -1,8 +1,35 @@
<?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;
+/**
+ * Render events on the terminal as ASCII table
+ *
+ * @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
+ */
class Renderer_Console extends Renderer
{
+ /**
+ * HTTP content type
+ * @var string
+ */
protected $httpContentType = 'text/plain; charset=utf-8';
/**
@@ -17,6 +44,13 @@ class Renderer_Console extends Renderer
*/
protected $cc;
+ /**
+ * Render events as console table
+ *
+ * @param array $arEvents Array of events to render
+ *
+ * @return string ASCII table
+ */
public function render($arEvents)
{
$this->loadConfig();
@@ -70,6 +104,14 @@ class Renderer_Console extends Renderer
return $tbl->getTable();
}
+ /**
+ * Wrap each string in an array in an ANSI color code
+ *
+ * @param array $data Array of strings
+ * @param string $colorCode ANSI color code or name
+ *
+ * @return array Wrapped data
+ */
protected function ansiWrap($data, $colorCode = null)
{
if (!$this->ansi || $colorCode === null) {
@@ -84,6 +126,11 @@ class Renderer_Console extends Renderer
return $data;
}
+ /**
+ * Load configuration values into the class
+ *
+ * @return void
+ */
protected function loadConfig()
{
if (isset($this->config->ansi)) {
diff --git a/src/bdrem/Renderer/Html.php b/src/bdrem/Renderer/Html.php
index 637a838..428f819 100644
--- a/src/bdrem/Renderer/Html.php
+++ b/src/bdrem/Renderer/Html.php
@@ -1,22 +1,64 @@
<?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;
+/**
+ * HTML page renderer. Renders a full HTML page.
+ *
+ * @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
+ */
class Renderer_Html extends Renderer
{
+ /**
+ * HTTP content type
+ * @var string
+ */
protected $httpContentType = 'application/xhtml+xml; charset=utf-8';
+ /**
+ * Send out HTTP headers when nothing shall be outputted.
+ *
+ * @return void
+ */
public function handleStopOnEmpty()
{
header('HTTP/1.0 204 No Content');
}
+ /**
+ * Generate a HTML page with the given events.
+ *
+ * @param array $arEvents Events to display on the HTML page
+ *
+ * @return string HTML code
+ *
+ * @see Renderer_HtmlTable
+ */
public function render($arEvents)
{
$tr = new Renderer_HtmlTable();
$table = $tr->render($arEvents);
$s = <<<HTM
<?xml version="1.0" encoding="utf-8"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>bdrem</title>
diff --git a/src/bdrem/Renderer/HtmlTable.php b/src/bdrem/Renderer/HtmlTable.php
index 2c792f8..892c50a 100644
--- a/src/bdrem/Renderer/HtmlTable.php
+++ b/src/bdrem/Renderer/HtmlTable.php
@@ -1,10 +1,44 @@
<?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;
+/**
+ * Renders events in a HTML table.
+ *
+ * @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
+ */
class Renderer_HtmlTable extends Renderer
{
+ /**
+ * HTTP content type
+ * @var string
+ */
protected $httpContentType = 'text/html; charset=utf-8';
+ /**
+ * Render the events in a HTML table
+ *
+ * @param array $arEvents Event objects to render
+ *
+ * @return string HTML table
+ */
public function render($arEvents)
{
$s = <<<HTM
diff --git a/src/bdrem/Renderer/Mail.php b/src/bdrem/Renderer/Mail.php
index 8e0e625..bc7e220 100644
--- a/src/bdrem/Renderer/Mail.php
+++ b/src/bdrem/Renderer/Mail.php
@@ -1,10 +1,44 @@
<?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;
require_once 'Mail/mime.php';
+/**
+ * Send out mails
+ *
+ * @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
+ */
class Renderer_Mail extends Renderer
{
+ /**
+ * Render the events - send out mails.
+ *
+ * Uses the config's "mail_to" array as recipients.
+ * Sends out a single mail for each recipient.
+ * Config "mail_from" can also be used.
+ *
+ * @param array $arEvents Array of events to display
+ *
+ * @return void
+ */
public function render($arEvents)
{
$todays = array();
@@ -49,6 +83,15 @@ class Renderer_Mail extends Renderer
}
}
+ /**
+ * Shorten the given string to the specified length.
+ * Adds ... when the string was too long
+ *
+ * @param string $str String to shorten
+ * @param integer $len Maximum length of the string
+ *
+ * @return string Shortened string
+ */
protected function shorten($str, $len)
{
if (mb_strlen($str) <= $len) {