Sample ticket hook

This commit is contained in:
Thomas Gelf 2014-03-04 12:50:49 +00:00
parent c58f79c161
commit b09ea7c690
2 changed files with 47 additions and 0 deletions

View File

@ -0,0 +1,44 @@
<?php
/**
* Icinga Web Ticket Hook
*/
namespace Icinga\Web\Hook;
/**
* Icinga Web Ticket Hook base class
*
* Extend this class if you want to integrate your ticketing solution nicely into
* Icinga Web
*
* @copyright Copyright (c) 2013 Icinga-Web Team <info@icinga.org>
* @author Icinga-Web Team <info@icinga.org>
* @license http://www.gnu.org/copyleft/gpl.html GNU General Public License
*/
abstract class Ticket
{
/**
* Constructor must live without arguments right now
*
* Therefore the constructor is final, we might change our opinion about
* this one far day
*/
final public function __construct()
{
$this->init();
}
/**
* Overwrite this function if you want to do some initialization stuff
*
* @return void
*/
protected function init()
{
}
abstract public function getPattern();
abstract public function createLink($match);
}

View File

@ -65,6 +65,9 @@ class Monitoring_ShowController extends Controller
// TODO: Well... this could be done better
$this->view->object = AbstractObject::fromRequest($this->getRequest());
}
if (Hook::has('ticket')) {
$this->view->tickets = Hook::first('ticket');
}
$this->createTabs();
}