From e45962c1b970f4d3c554f8696219b91a920289ec Mon Sep 17 00:00:00 2001 From: Thomas Gelf Date: Fri, 25 Aug 2017 22:42:38 +0200 Subject: [PATCH] various: shorten long line, spacing, readability --- .../controllers/DependencyController.php | 2 + application/controllers/SuggestController.php | 1 + application/forms/IcingaDependencyForm.php | 120 ++++---- .../Dashlet/DependencyObjectDashlet.php | 6 +- library/Director/Objects/IcingaDependency.php | 265 +++++++++++------- .../Web/ActionBar/TemplateActionBar.php | 4 +- .../Web/Controller/ObjectsController.php | 6 +- .../Web/Controller/TemplateController.php | 6 +- library/Director/Web/Tabs/ObjectsTabs.php | 21 +- 9 files changed, 239 insertions(+), 192 deletions(-) diff --git a/application/controllers/DependencyController.php b/application/controllers/DependencyController.php index 28f99571..f9346462 100644 --- a/application/controllers/DependencyController.php +++ b/application/controllers/DependencyController.php @@ -2,6 +2,7 @@ namespace Icinga\Module\Director\Controllers; +use Icinga\Module\Director\Forms\IcingaDependencyForm; use Icinga\Module\Director\Web\Controller\ObjectController; use Icinga\Module\Director\Objects\IcingaDependency; @@ -49,6 +50,7 @@ class DependencyController extends ObjectController protected function beforeHandlingAddRequest($form) { + /** @var IcingaDependencyForm $form */ if ($this->apply) { $form->createApplyRuleFor($this->apply); } diff --git a/application/controllers/SuggestController.php b/application/controllers/SuggestController.php index b3139b0e..323ff4a7 100644 --- a/application/controllers/SuggestController.php +++ b/application/controllers/SuggestController.php @@ -2,6 +2,7 @@ namespace Icinga\Module\Director\Controllers; +use Icinga\Module\Director\Objects\IcingaHost; use Icinga\Module\Director\Objects\IcingaService; use Icinga\Module\Director\Web\Controller\ActionController; use Icinga\Data\Filter\Filter; diff --git a/application/forms/IcingaDependencyForm.php b/application/forms/IcingaDependencyForm.php index 79f97ffd..7be8b313 100644 --- a/application/forms/IcingaDependencyForm.php +++ b/application/forms/IcingaDependencyForm.php @@ -36,11 +36,11 @@ class IcingaDependencyForm extends DirectorObjectForm protected function addNameElement() { - $this->addElement('text', 'object_name', array( + $this->addElement('text', 'object_name', [ 'label' => $this->translate('Name'), 'required' => true, 'description' => $this->translate('Name for the Icinga dependency you are going to create') - )); + ]); return $this; } @@ -52,20 +52,18 @@ class IcingaDependencyForm extends DirectorObjectForm return $this; } - $this->addElement('select', 'apply_to', array( + $this->addElement('select', 'apply_to', [ 'label' => $this->translate('Apply to'), 'description' => $this->translate( 'Whether this dependency should affect hosts or services' ), 'required' => true, 'class' => 'autosubmit', - 'multiOptions' => $this->optionalEnum( - array( - 'host' => $this->translate('Hosts'), - 'service' => $this->translate('Services'), - ) - ) - )); + 'multiOptions' => $this->optionalEnum([ + 'host' => $this->translate('Hosts'), + 'service' => $this->translate('Services'), + ]) + ]); $applyTo = $this->getSentOrObjectValue('apply_to'); @@ -114,33 +112,29 @@ class IcingaDependencyForm extends DirectorObjectForm protected function addBooleanElements() { + $this->addBoolean('disable_checks', [ + 'label' => $this->translate('Disable Checks'), + 'description' => $this->translate( + 'Whether to disable checks when this dependency fails.' + . ' Defaults to false.' + ) + ], null); - $this->addBoolean( - 'disable_checks', - array( - 'label' => $this->translate('Disable Checks'), - 'description' => $this->translate('Whether to disable checks when this dependency fails. Defaults to false.') - ), - null - ); + $this->addBoolean('disable_notifications', [ + 'label' => $this->translate('Disable Notificiations'), + 'description' => $this->translate( + 'Whether to disable notifications when this dependency fails.' + . ' Defaults to true.' + ) + ], null); - $this->addBoolean( - 'disable_notifications', - array( - 'label' => $this->translate('Disable Notificiations'), - 'description' => $this->translate('Whether to disable notifications when this dependency fails. Defaults to true.') - ), - null - ); - - $this->addBoolean( - 'ignore_soft_states', - array( - 'label' => $this->translate('Ignore Soft States'), - 'description' => $this->translate('Whether to ignore soft states for the reachability calculation. Defaults to true.') - ), - null - ); + $this->addBoolean('ignore_soft_states', [ + 'label' => $this->translate('Ignore Soft States'), + 'description' => $this->translate( + 'Whether to ignore soft states for the reachability calculation.' + . ' Defaults to true.' + ) + ], null); return $this; } @@ -183,7 +177,8 @@ class IcingaDependencyForm extends DirectorObjectForm ); } - // If configuring Object, allow selection of child host and/or service, otherwise apply rules will determine child object. + // If configuring Object, allow selection of child host and/or service, + // otherwise apply rules will determine child object. if ($this->isObject()) { $this->addElement( 'text', @@ -193,46 +188,42 @@ class IcingaDependencyForm extends DirectorObjectForm 'description' => $this->translate( 'The child host.' ), - 'class' => "autosubmit director-suggest", - 'data-suggestion-context' => 'hostnames', + 'value' => $this->getObject()->get('child_host'), 'order' => 30, + 'class' => "autosubmit director-suggest", 'required' => $this->isObject(), - 'value' => $this->getObject()->get('child_host') + 'data-suggestion-context' => 'hostnames', ) ); $sent_child=$this->getSentOrObjectValue("child_host"); if (!empty($sent_child)) { - $this->addElement( - 'text', - 'child_service', - array( - 'label' => $this->translate('Child Service'), - 'description' => $this->translate( - 'Optional. The child service. If omitted this dependency object is treated as host dependency.' - ), - 'class' => "autosubmit director-suggest", - 'data-suggestion-context' => 'servicenames', - 'data-suggestion-for-host' => $sent_child, - 'order' => 40, - 'value' => $this->getObject()->get('child_service') - ) - ); + $this->addElement('text', 'child_service', [ + 'label' => $this->translate('Child Service'), + 'description' => $this->translate( + 'Optional. The child service. If omitted this dependency' + . ' object is treated as host dependency.' + ), + 'class' => "autosubmit director-suggest", + 'order' => 40, + 'value' => $this->getObject()->get('child_service'), + 'data-suggestion-context' => 'servicenames', + 'data-suggestion-for-host' => $sent_child, + ]); } } - $elements=array('parent_host','child_host','parent_service','child_service'); - $this->addDisplayGroup($elements, 'related_objects', array( - 'decorators' => array( + $elements = ['parent_host', 'child_host', 'parent_service', 'child_service']; + $this->addDisplayGroup($elements, 'related_objects', [ + 'decorators' => [ 'FormElements', - array('HtmlTag', array('tag' => 'dl')), + ['HtmlTag', ['tag' => 'dl']], 'Fieldset', - ), + ], 'order' => 25, 'legend' => $this->translate('Related Objects') - )); - + ]); return $this; } @@ -240,9 +231,10 @@ class IcingaDependencyForm extends DirectorObjectForm public function createApplyRuleFor(IcingaDependency $dependency) { $object = $this->object(); - $object->imports = $dependency->object_name; - $object->object_type = 'apply'; - $object->object_name = $dependency->object_name; + $object->setImports($dependency->getObjectName()); + $object->set('object_type', 'apply'); + $object->set('object_name', $dependency->getObjectName()); + return $this; } } diff --git a/library/Director/Dashboard/Dashlet/DependencyObjectDashlet.php b/library/Director/Dashboard/Dashlet/DependencyObjectDashlet.php index 486e59b0..37ef7c34 100644 --- a/library/Director/Dashboard/Dashlet/DependencyObjectDashlet.php +++ b/library/Director/Dashboard/Dashlet/DependencyObjectDashlet.php @@ -4,18 +4,18 @@ namespace Icinga\Module\Director\Dashboard\Dashlet; class DependencyObjectDashlet extends Dashlet { - protected $icon = ''; + protected $icon = 'sitemap'; protected $requiredStats = array('dependency'); public function getTitle() { - return $this->translate('Dependencies.'); + return $this->translate('Dependencies'); } public function getSummary() { - return $this->translate('Define object dependency relationships.') + return $this->translate('Object dependency relationships.') . ' ' . parent::getSummary(); } diff --git a/library/Director/Objects/IcingaDependency.php b/library/Director/Objects/IcingaDependency.php index 746dfece..7ab0324f 100644 --- a/library/Director/Objects/IcingaDependency.php +++ b/library/Director/Objects/IcingaDependency.php @@ -6,30 +6,29 @@ use Icinga\Exception\ConfigurationError; use Icinga\Module\Director\IcingaConfig\IcingaConfigHelper as c; use Icinga\Exception\NotFoundError; use Icinga\Data\Filter\Filter; -use Icinga\Module\Director\Objects\HostApplyMatches; class IcingaDependency extends IcingaObject { protected $table = 'icinga_dependency'; - protected $defaultProperties = array( - 'id' => null, - 'object_name' => null, - 'object_type' => null, - 'disabled' => 'n', - 'apply_to' => null, - 'parent_host_id' => null, - 'parent_service_id' => null, - 'child_host_id' => null, - 'child_service_id' => null, - 'disable_checks' => null, - 'disable_notifications' => null, - 'ignore_soft_states' => null, - 'period_id' => null, - 'zone_id' => null, - 'assign_filter' => null, - 'parent_service_by_name' => null, - ); + protected $defaultProperties = [ + 'id' => null, + 'object_name' => null, + 'object_type' => null, + 'disabled' => 'n', + 'apply_to' => null, + 'parent_host_id' => null, + 'parent_service_id' => null, + 'child_host_id' => null, + 'child_service_id' => null, + 'disable_checks' => null, + 'disable_notifications' => null, + 'ignore_soft_states' => null, + 'period_id' => null, + 'zone_id' => null, + 'assign_filter' => null, + 'parent_service_by_name' => null, + ]; protected $supportsCustomVars = false; @@ -37,24 +36,24 @@ class IcingaDependency extends IcingaObject protected $supportsApplyRules = true; - protected $relatedSets = array( + protected $relatedSets = [ 'states' => 'StateFilterSet', - ); + ]; - protected $relations = array( - 'zone' => 'IcingaZone', + protected $relations = [ + 'zone' => 'IcingaZone', 'parent_host' => 'IcingaHost', 'parent_service' => 'IcingaService', - 'child_host' => 'IcingaHost', - 'child_service' => 'IcingaService', - 'period' => 'IcingaTimePeriod', - ); + 'child_host' => 'IcingaHost', + 'child_service' => 'IcingaService', + 'period' => 'IcingaTimePeriod', + ]; - protected $booleans = array( - 'disable_checks' => 'disable_checks', + protected $booleans = [ + 'disable_checks' => 'disable_checks', 'disable_notifications' => 'disable_notifications', - 'ignore_soft_states' => 'ignore_soft_states' - ); + 'ignore_soft_states' => 'ignore_soft_states' + ]; /** * Do not render internal property apply_to @@ -94,10 +93,20 @@ class IcingaDependency extends IcingaObject protected function setKey($key) { + // TODO: Check if this method can be removed if (is_int($key)) { $this->id = $key; } elseif (is_array($key)) { - foreach (array('id', 'parent_host_id', 'parent_service_id', 'child_host_id', 'child_service_id', 'object_name') as $k) { + $keys = [ + 'id', + 'parent_host_id', + 'parent_service_id', + 'child_host_id', + 'child_service_id', + 'object_name' + ]; + + foreach ($keys as $k) { if (array_key_exists($k, $key)) { $this->set($k, $key[$k]); } @@ -111,14 +120,20 @@ class IcingaDependency extends IcingaObject protected function renderAssignments() { + // TODO: this will never be reached if ($this->hasBeenAssignedToServiceApply()) { - $tmpService= $this->getRelatedObject('child_service', $this->child_service_id); + /** @var IcingaService $tmpService */ + $tmpService = $this->getRelatedObject( + 'child_service', + $this->get('child_service_id') + ); + // TODO: fix this, will crash: $assigns = $tmpService->assignments()->toConfigString(); $filter = sprintf( '%s && service.name == "%s"', trim($assigns), - $this->child_service + $this->get('child_service') ); return "\n " . $filter . "\n"; } @@ -126,15 +141,15 @@ class IcingaDependency extends IcingaObject if ($this->hasBeenAssignedToHostTemplateService()) { $filter = sprintf( 'assign where "%s" in host.templates && service.name == "%s"', - $this->child_host, - $this->child_service + $this->get('child_host'), + $this->get('child_service') ); return "\n " . $filter . "\n"; } if ($this->hasBeenAssignedToHostTemplate()) { $filter = sprintf( 'assign where "%s" in host.templates', - $this->child_host + $this->get('child_host') ); return "\n " . $filter . "\n"; } @@ -142,7 +157,7 @@ class IcingaDependency extends IcingaObject if ($this->hasBeenAssignedToServiceTemplate()) { $filter = sprintf( 'assign where "%s" in service.templates', - $this->child_service + $this->get('child_service') ); return "\n " . $filter . "\n"; } @@ -153,10 +168,11 @@ class IcingaDependency extends IcingaObject protected function hasBeenAssignedToHostTemplate() { try { - return $this->child_host_id && $this->getRelatedObject( + $id = $this->get('child_host_id'); + return $id && $this->getRelatedObject( 'child_host', - $this->child_host_id - )->object_type === 'template'; + $id + )->isTemplate(); } catch (NotFoundError $e) { return false; } @@ -165,10 +181,11 @@ class IcingaDependency extends IcingaObject protected function hasBeenAssignedToServiceTemplate() { try { - return $this->child_service_id && $this->getRelatedObject( + $id = $this->get('child_service_id'); + return $id && $this->getRelatedObject( 'child_service', - $this->child_service_id - )->object_type === 'template'; + $id + )->isTemplate(); } catch (NotFoundError $e) { return false; } @@ -180,10 +197,11 @@ class IcingaDependency extends IcingaObject return false; } try { - return $this->child_service_id && $this->getRelatedObject( + $id = $this->get('child_service_id'); + return $id && $this->getRelatedObject( 'child_service', - $this->child_service_id - )->object_type === 'object'; + $id + )->isObject(); } catch (NotFoundError $e) { return false; } @@ -192,16 +210,16 @@ class IcingaDependency extends IcingaObject protected function hasBeenAssignedToServiceApply() { try { - return $this->child_service_id && $this->getRelatedObject( + $id = $this->get('child_service_id'); + return $id && $this->getRelatedObject( 'child_service', - $this->child_service_id - )->object_type === 'apply'; + $id + )->isApplyRule(); } catch (NotFoundError $e) { return false; } } - /** * Render child_host_id as host_name * @@ -218,7 +236,11 @@ class IcingaDependency extends IcingaObject return ''; } - return $this->renderRelationProperty('child_host', $this->child_host_id, 'child_host_name'); + return $this->renderRelationProperty( + 'child_host', + $this->get('child_host_id'), + 'child_host_name' + ); } /** @@ -233,10 +255,13 @@ class IcingaDependency extends IcingaObject { // @codingStandardsIgnoreEnd - return $this->renderRelationProperty('parent_host', $this->parent_host_id, 'parent_host_name'); + return $this->renderRelationProperty( + 'parent_host', + $this->get('parent_host_id'), + 'parent_host_name' + ); } - /** * Render child_service_id as host_name * @@ -248,19 +273,18 @@ class IcingaDependency extends IcingaObject public function renderChild_service_id() { // @codingStandardsIgnoreEnd - if ($this->hasBeenAssignedToServiceTemplate()) { + if ($this->hasBeenAssignedToServiceTemplate() + || $this->hasBeenAssignedToHostTemplateService() + || $this->hasBeenAssignedToServiceApply() + ) { return ''; } - if ($this->hasBeenAssignedToHostTemplateService()) { - return ''; - } - - if ($this->hasBeenAssignedToServiceApply()) { - return ''; - } - - return $this->renderRelationProperty('child_service', $this->child_service_id, 'child_service_name'); + return $this->renderRelationProperty( + 'child_service', + $this->get('child_service_id'), + 'child_service_name' + ); } /** @@ -273,84 +297,107 @@ class IcingaDependency extends IcingaObject */ public function renderParent_service_id() { - return $this->renderRelationProperty('parent_service', $this->parent_service_id, 'parent_service_name'); + return $this->renderRelationProperty( + 'parent_service', + $this->get('parent_service_id'), + 'parent_service_name' + ); } //special case for parent service set as plain string for Apply rules public function renderParent_service_by_name() { - return "\n parent_service_name = \"" . $this->parent_service_by_name ."\"\n"; + // TODO: + return c::renderKeyValue( + 'parent_service_name', + $this->get('parent_service_by_name') + ); } public function isApplyRule() { - if ($this->hasBeenAssignedToHostTemplate()) { + if ($this->hasBeenAssignedToHostTemplate() + || $this->hasBeenAssignedToServiceTemplate() + || $this->hasBeenAssignedToServiceApply() + ) { return true; } - if ($this->hasBeenAssignedToServiceTemplate()) { - return true; - } - - if ($this->hasBeenAssignedToServiceApply()) { - return true; - } - - return $this->hasProperty('object_type') - && $this->object_type === 'apply'; + return parent::isApplyRule(); } protected function resolveUnresolvedRelatedProperty($name) { - $short = substr($name, 0, -3); /** @var IcingaObject $class */ $class = $this->getRelationClass($short); - $obj_key = $this->unresolvedRelatedProperties[$name]; + $objKey = $this->unresolvedRelatedProperties[$name]; # related services need array key if ($class == "Icinga\Module\Director\Objects\IcingaService" ) { - if ($name == "parent_service_id" && $this->object_type == 'apply' ) { //special case , parent service can be set as simple string for Apply - if ($this->properties['parent_host_id']==null) { - $this->reallySet('parent_service_by_name', $this->unresolvedRelatedProperties[$name]); - $this->reallySet('parent_service_id',null); + if ($name === 'parent_service_id' && $this->object_type === 'apply' ) { + //special case , parent service can be set as simple string for Apply + if ($this->properties['parent_host_id'] === null) { + $this->reallySet( + 'parent_service_by_name', + $this->unresolvedRelatedProperties[$name] + ); + $this->reallySet('parent_service_id', null); unset($this->unresolvedRelatedProperties[$name]); return; } } - $this->reallySet('parent_service_by_name',null); - $host_id_prop=str_replace("service","host",$name); - if (isset($this->properties[$host_id_prop])) { - $obj_key=array("host_id" => $this->properties[$host_id_prop], "object_name" => $this->unresolvedRelatedProperties[$name]); + $this->reallySet('parent_service_by_name', null); + $hostIdProperty = str_replace('service', 'host', $name); + if (isset($this->properties[$hostIdProperty])) { + $objKey = [ + 'host_id' => $this->properties[$hostIdProperty], + 'object_name' => $this->unresolvedRelatedProperties[$name] + ]; } else { - $obj_key=array("host_id" => null, "object_name" => $this->unresolvedRelatedProperties[$name]); + $objKey = [ + 'host_id' => null, + 'object_name' => $this->unresolvedRelatedProperties[$name] + ]; } try { - $object = $class::load( $obj_key, $this->connection); + $class::load( $objKey, $this->connection); } catch (NotFoundError $e) { // Not a simple service on host - // Hunt through inherited services, use service assigned to template if found - $tmp_host=IcingaHost::loadWithAutoIncId($this->properties[$host_id_prop], $this->connection); + // Hunt through inherited services, use service assigned to + // template if found + $tmpHost = IcingaHost::loadWithAutoIncId( + $this->properties[$hostIdProperty], + $this->connection + ); - //services for applicable templates - $resolver = $tmp_host->templateResolver(); + //services for applicable templates + $resolver = $tmpHost->templateResolver(); foreach ($resolver->fetchResolvedParents() as $template_obj) { - $obj_key=array("host_id" => $template_obj->id, "object_name" => $this->unresolvedRelatedProperties[$name]); - try { - $object = $class::load( $obj_key, $this->connection); + $objKey = [ + 'host_id' => $template_obj->id, + 'object_name' => $this->unresolvedRelatedProperties[$name] + ]; + try { + $object = $class::load( $objKey, $this->connection); } catch (NotFoundError $e) { continue; } break; } - if (!isset($object)) { //Not an inherited service, now try apply rules - $matcher = HostApplyMatches::prepare($tmp_host); + + if (!isset($object)) { + // Not an inherited service, now try apply rules + $matcher = HostApplyMatches::prepare($tmpHost); foreach ($this->getAllApplyRules() as $rule) { if ($matcher->matchesFilter($rule->filter)) { - if ($rule->name == $this->unresolvedRelatedProperties[$name]) { - $object=IcingaService::loadWithAutoIncId($rule->id, $this->connection); + if ($rule->name === $this->unresolvedRelatedProperties[$name]) { + $object = IcingaService::loadWithAutoIncId( + $rule->get('id'), + $this->connection + ); break; } } @@ -358,10 +405,7 @@ class IcingaDependency extends IcingaObject } } } else { - $object = $class::load( - $obj_key, - $this->connection - ); + $object = $class::load($objKey, $this->connection); } if (isset($object)) { @@ -374,7 +418,7 @@ class IcingaDependency extends IcingaObject protected function getAllApplyRules() { - $allApplyRules=$this->fetchAllApplyRules(); + $allApplyRules = $this->fetchAllApplyRules(); foreach ($allApplyRules as $rule) { $rule->filter = Filter::fromQueryString($rule->assign_filter); } @@ -408,15 +452,18 @@ class IcingaDependency extends IcingaObject /** @var IcingaObject $class */ $class = $this->getRelationClass($key); $object = $class::loadWithAutoIncId($id, $this->connection); - return $object->get('object_name'); + + return $object->getObjectName(); } else { - // handle special case for plain string parent service on Dependency Apply rules - if ($key == 'parent_service' && $this->get('parent_service_by_name') != null) { + // handle special case for plain string parent service on Dependency + // Apply rules + if ($key === 'parent_service' + && null !== $this->get('parent_service_by_name') + ) { return $this->get('parent_service_by_name'); } } return null; } - } diff --git a/library/Director/Web/ActionBar/TemplateActionBar.php b/library/Director/Web/ActionBar/TemplateActionBar.php index 7ba84998..56eeee95 100644 --- a/library/Director/Web/ActionBar/TemplateActionBar.php +++ b/library/Director/Web/ActionBar/TemplateActionBar.php @@ -9,7 +9,7 @@ class TemplateActionBar extends DirectorBaseActionBar protected function assemble() { $type = $this->type; - $pltype = preg_replace('/cys$/', 'cies', $type . 's'); + $plType = preg_replace('/cys$/', 'cies', $type . 's'); $renderTree = $this->url->getParam('render') === 'tree'; $renderParams = $renderTree ? null : ['render' => 'tree']; $this->add( @@ -28,7 +28,7 @@ class TemplateActionBar extends DirectorBaseActionBar )->add( Link::create( $renderTree ? $this->translate('Table') : $this->translate('Tree'), - "director/$pltype/templates", + "director/$plType/templates", $renderParams, [ 'class' => 'icon-' . ($renderTree ? 'doc-text' : 'sitemap'), diff --git a/library/Director/Web/Controller/ObjectsController.php b/library/Director/Web/Controller/ObjectsController.php index 0149c660..975277c9 100644 --- a/library/Director/Web/Controller/ObjectsController.php +++ b/library/Director/Web/Controller/ObjectsController.php @@ -33,6 +33,7 @@ abstract class ObjectsController extends ActionController $this->assertPermission('director/' . $this->getPluralBaseType()); } } + /** * @return $this */ @@ -127,7 +128,6 @@ abstract class ObjectsController extends ActionController )->content()->add($form); } - /** * Loads the TemplatesTable or the TemplateTreeRenderer * @@ -306,11 +306,11 @@ abstract class ObjectsController extends ActionController protected function getPluralType() { - return preg_replace("/cys$/", "cies", $this->getType() . 's'); + return preg_replace('/cys$/', 'cies', $this->getType() . 's'); } protected function getPluralBaseType() { - return preg_replace("/cys$/", "cies", $this->getBaseType() . 's'); + return preg_replace('/cys$/', 'cies', $this->getBaseType() . 's'); } } diff --git a/library/Director/Web/Controller/TemplateController.php b/library/Director/Web/Controller/TemplateController.php index 3f7d4cfb..c675f32a 100644 --- a/library/Director/Web/Controller/TemplateController.php +++ b/library/Director/Web/Controller/TemplateController.php @@ -177,7 +177,11 @@ abstract class TemplateController extends CompatController protected function getPluralType() { - return preg_replace('/cys$/', 'cies', $this->template()->getShortTableName() . 's'); + return preg_replace( + '/cys$/', + 'cies', + $this->template()->getShortTableName() . 's' + ); } protected function getTranslatedType() diff --git a/library/Director/Web/Tabs/ObjectsTabs.php b/library/Director/Web/Tabs/ObjectsTabs.php index 4cd11bf3..ea3a3f09 100644 --- a/library/Director/Web/Tabs/ObjectsTabs.php +++ b/library/Director/Web/Tabs/ObjectsTabs.php @@ -18,28 +18,29 @@ class ObjectsTabs extends Tabs $object = IcingaObject::createByType(substr($type, 0, -5)); } - $pltype=strtolower(preg_replace('/cys$/', 'cies', $type . 's')); - if ($auth->hasPermission("director/${pltype}")) { + $plType = strtolower(preg_replace('/cys$/', 'cies', $type . 's')); + if ($auth->hasPermission("director/${plType}")) { $this->add('index', array( - 'url' => sprintf('director/%s', $pltype), - 'label' => $this->translate(ucfirst($pltype)), + 'url' => sprintf('director/%s', $plType), + 'label' => $this->translate(ucfirst($plType)), )); } if ($object->getShortTableName() === 'command') { $this->add('external', array( - 'url' => sprintf('director/%s', strtolower($pltype)), + 'url' => sprintf('director/%s', strtolower($plType)), 'urlParams' => ['type' => 'external_object'], 'label' => $this->translate('External'), )); } if ($auth->hasPermission('director/admin') || ( - $object->getShortTableName() === 'notification' && $auth->hasPermission('director/notifications') - )) { + $object->getShortTableName() === 'notification' + && $auth->hasPermission('director/notifications') + )) { if ($object->supportsApplyRules()) { $this->add('applyrules', array( - 'url' => sprintf('director/%s/applyrules', $pltype), + 'url' => sprintf('director/%s/applyrules', $plType), 'label' => $this->translate('Apply') )); } @@ -48,7 +49,7 @@ class ObjectsTabs extends Tabs if ($auth->hasPermission('director/admin') && $type !== 'zone') { if ($object->supportsImports()) { $this->add('templates', array( - 'url' => sprintf('director/%s/templates', $pltype), + 'url' => sprintf('director/%s/templates', $plType), 'label' => $this->translate('Templates'), )); } @@ -71,7 +72,7 @@ class ObjectsTabs extends Tabs } if ($object->supportsSets() && $auth->hasPermission("director/${type}_sets")) { $this->add('sets', array( - 'url' => sprintf('director/%s/sets', $pltype), + 'url' => sprintf('director/%s/sets', $plType), 'label' => $this->translate('Sets') )); }