diff options
Diffstat (limited to 'application/controllers/PhperrorController.php')
-rw-r--r-- | application/controllers/PhperrorController.php | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/application/controllers/PhperrorController.php b/application/controllers/PhperrorController.php new file mode 100644 index 0000000..40a32c1 --- /dev/null +++ b/application/controllers/PhperrorController.php @@ -0,0 +1,43 @@ +<?php + +namespace Icinga\Module\Director\Controllers; + +use Icinga\Application\Icinga; +use Icinga\Module\Director\Application\DependencyChecker; +use Icinga\Module\Director\Web\Table\Dependency\DependencyInfoTable; +use Icinga\Web\Controller; + +class PhperrorController extends Controller +{ + public function errorAction() + { + $this->getTabs()->add('error', array( + 'label' => $this->translate('Error'), + 'url' => $this->getRequest()->getUrl() + ))->activate('error'); + $msg = $this->translate( + "PHP version 5.4.x is required for Director >= 1.4.0, you're running %s." + . ' Please either upgrade PHP or downgrade Icinga Director' + ); + $this->view->title = $this->translate('Unsatisfied dependencies'); + $this->view->message = sprintf($msg, PHP_VERSION); + } + + public function dependenciesAction() + { + $checker = new DependencyChecker(Icinga::app()); + if ($checker->satisfiesDependencies($this->Module())) { + $this->redirectNow('director'); + } + $this->setAutorefreshInterval(15); + $this->getTabs()->add('error', [ + 'label' => $this->translate('Error'), + 'url' => $this->getRequest()->getUrl() + ])->activate('error'); + $this->view->title = $this->translate('Unsatisfied dependencies'); + $this->view->table = (new DependencyInfoTable($checker, $this->Module()))->render(); + $this->view->message = $this->translate( + "Icinga Director depends on the following modules, please install/upgrade as required" + ); + } +} |