questlab/app/apis/MailApi.inc
2014-05-25 10:16:49 +02:00

127 lines
2.3 KiB
PHP
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<?php
/**
* The Legend of Z
*
* @author Oliver Hanraths <oliver.hanraths@uni-duesseldorf.de>
* @copyright 2014 Heinrich-Heine-Universität Düsseldorf
* @license http://www.gnu.org/licenses/gpl.html
* @link https://bitbucket.org/coderkun/the-legend-of-z
*/
namespace hhu\z\apis;
/**
* MailApi-implementation.
*
* This class runs and renders email text and subject.
*
* @author Oliver Hanraths <oliver.hanraths@uni-duesseldorf.de>
*/
class MailApi extends \nre\core\Api
{
/**
* Construct a new MailApi.
*/
public function __construct()
{
parent::__construct(
new \hhu\z\requests\MailRequest(),
new \hhu\z\responses\MailResponse()
);
// Set ToplevelAgent
$this->response->addParam(\nre\configs\AppConfig::$defaults['toplevel-mail']);
$this->response->addParam(\nre\configs\AppConfig::$defaults['intermediate-mail']);
}
/**
* Use a ToplevelAgent for HTML-mail
*/
public function setHTML()
{
$this->response->clearParams();
$this->response->addParam(\nre\configs\AppConfig::$defaults['toplevel-htmlmail']);
$this->response->addParam(\nre\configs\AppConfig::$defaults['intermediate-mail']);
}
/**
* Set the Action for the message to render.
*/
public function setMessage($messageAgent)
{
$this->response->clearParams(2);
$this->response->addParam($messageAgent);
}
/**
* Set additional params to pass to the Action.
*
* @param array $params Additional params to set
*/
public function setParams($params)
{
$this->response->addParams($params);
}
/**
* Return the subject set by the Controller.
*
* @return string Subject set by Controller
*/
public function getSubject()
{
return $this->response->getSubject();
}
/**
* Run mailtext generation.
*
* This method runs the generation of mailtext.
*
* @return Exception Occured exception or null
*/
public function run()
{
try {
$exception = parent::run();
return $exception;
}
catch(\nre\Exception $e) {
return $e;
}
}
/**
* Render output.
*
* @return string Rendered output
*/
public function render()
{
// Generate output
parent::render();
// Return output
return $this->response->getOutput();
}
}
?>