/** * Execute the hook * * @param array The parameters for the hook */ public static function execute($params) { $returnParams = array('display' => false, 'resourceType' => null); if (isset($params['objectType']) && in_array($params['objectType'], TagsRepository::getListResource())) { $returnParams['display'] = true; $returnParams['resourceType'] = $params['objectType']; } return array('template' => 'displayAddToTag.tpl', 'variables' => $returnParams); }
public static function execute(aclTagsEvent $event) { $params = $event->getParams(); if (!empty($params["business-activity-tags"])) { $tagId = array(); $tags = explode(",", $params["business-activity-tags"]); foreach ($tags as $tag) { $tagId = array_merge($tagId, TagsRepository::getTagsIdByResource('bas', $tag)); } $params["business-activity-tags"] = implode(',', $tagId); } $event->setParams($params); }
/** * Execute the hook * * @param array The parameters for the hook */ public static function execute($params) { $rows = array(); if (isset($params['_ids'])) { foreach ($params['_ids'] as $id) { $tagList = TagsRepository::getList($params['resourceType'], $id, 2); $rows[$id] = ''; foreach ($tagList as $tagId => $tagName) { $rows[$id] .= static::getTag($params['resourceType'], $id, $tagName['id'], $tagName['text'], $tagName['user_id']); } $rows[$id] .= static::getAddTag($params['resourceType'], $id); } } return array('columnName' => 'Tags', 'width' => '150px', 'max-width' => '150px', 'searchable' => true, 'values' => $rows); }
/** * Get host tag list for acl resource * * @method get * @route /host/tag/formlist */ public function hostTagsAction() { $di = Di::getDefault(); $router = $di->get('router'); $list = TagsRepository::getGlobalList('host'); $router->response()->json($list); }
/** * * @param array $resultSet */ protected function formatDatas(&$resultSet) { $router = Di::getDefault()->get('router'); foreach ($resultSet as &$myHostSet) { $myHostSet['host_name'] = '<span class="icoListing">' . HostRepository::getIconImage($myHostSet['host_name']) . '</span>' . $myHostSet['host_name']; /* Templates */ $myHostSet['host_template'] = ""; $templates = HostRepository::getTemplateChain($myHostSet['host_id'], array(), 1); foreach ($templates as $template) { $myHostSet['host_template'] .= '<a href="' . $router->getPathFor("/centreon-configuration/hosttemplate/[i:id]", array('id' => $template['id'])) . '"><i class="icon-template ico-20"></i></a>'; } /* Display human readable the check/retry interval */ $myHostSet['host_check_interval'] = HumanReadable::convert($myHostSet['host_check_interval'], 's', $units, null, true); $myHostSet['host_retry_check_interval'] = HumanReadable::convert($myHostSet['host_retry_check_interval'], 's', $units, null, true); $sideMenuCustom = new SlideMenu($myHostSet['host_id']); $events = Di::getDefault()->get('events'); $events->emit('centreon-configuration.slide.menu.host.template', array($sideMenuCustom)); //$myHostSet['DT_RowData']['right_side_details'] = $router->getPathFor('/centreon-configuration/host/snapshot/').$myHostSet['host_id']; $myHostSet['DT_RowData']['right_side_menu_list'] = $sideMenuCustom->getMenu(); $myHostSet['DT_RowData']['right_side_default_menu'] = $sideMenuCustom->getDefaultMenu(); /* Get personal tags */ $myHostSet['tagname'] = ''; $aTagUsed = array(); $aTags = TagsRepository::getList('host', $myHostSet['host_id'], 0, 0); foreach ($aTags as $oTags) { if (!in_array($oTags['id'], $aTagUsed)) { $aTagUsed[] = $oTags['id']; $myHostSet['tagname'] .= TagsRepository::getTag('host', $myHostSet['host_id'], $oTags['id'], $oTags['text'], $oTags['user_id'], 1); } } $myHostSet['tagname'] .= TagsRepository::getAddTag('host', $myHostSet['host_id']); } }
/** * * @param array $resultSet * @todo fix getIconImage() (perf issue) */ protected function formatDatas(&$resultSet) { $router = Di::getDefault()->get('router'); $previousHost = ''; HostConfigurationRepository::setObjectClass('\\CentreonConfiguration\\Models\\Host'); foreach ($resultSet as $key => &$myServiceSet) { $aTagUsed = array(); // Set host_name $myHostName = Host::get($myServiceSet['host_id'], array('name')); $myServiceSet['name'] = $myHostName['name']; $sideMenuCustom = new SlideMenu($myServiceSet['service_id']); $events = Di::getDefault()->get('events'); $events->emit('centreon-realtime.slide.menu.service', array($sideMenuCustom)); $myServiceSet['DT_RowData']['right_side_menu_list'] = $sideMenuCustom->getMenu(); $myServiceSet['DT_RowData']['right_side_default_menu'] = $sideMenuCustom->getDefaultMenu(); // @todo remove virtual hosts and virtual services if ($myServiceSet['name'] === '_Module_BAM') { unset($resultSet[$key]); continue; } if ($myServiceSet['name'] === $previousHost) { $myServiceSet['name'] = ''; } else { $previousHost = $myServiceSet['name']; $icon = '<span class="icoListing">' . HostConfigurationRepository::getIconImage($myServiceSet['name']) . '</span>'; $myServiceSet['name'] = $icon . $myServiceSet['name']; } $icon = '<span class="icoListing">' . ServiceConfigurationRepository::getIconImage($myServiceSet['service_id']) . '</span>'; /*$myServiceSet['DT_RowData']['right_side_details'] = $router->getPathFor('/centreon-realtime/service/') . $myServiceSet['host_id'] . '/'.$myServiceSet['service_id'] . '/tooltip'; */ $myServiceSet['description'] = '<span>' . $icon . '' . $myServiceSet['description'] . '</span>'; if ($myServiceSet['state'] != '0' && $myServiceSet['state'] != '4') { $acknowledgement = ServiceRealtimeRepository::getAcknowledgementInfos($myServiceSet['service_id']); if (count($acknowledgement) > 0) { $myServiceSet['description'] .= ' <i class="fa fa-thumb-tack"></i>'; } } if ($myServiceSet['perfdata'] != '') { $myServiceSet['ico'] = '<span data-overlay-url="/centreon-realtime/service/' . $myServiceSet['host_id'] . '/' . $myServiceSet['service_id'] . '/graph"><span class="overlay"><i class="fa fa-bar-chart-o"></i></span></span>'; } else { $myServiceSet['ico'] = ''; } $myServiceSet['duration'] = Datetime::humanReadable(time() - $myServiceSet['duration'], Datetime::PRECISION_FORMAT, 2); $myServiceSet['last_check'] = Datetime::humanReadable(time() - $myServiceSet['last_check'], Datetime::PRECISION_FORMAT, 2); /* Tags */ $myServiceSet['tagname'] = ""; $aTags = TagsRepository::getList('service', $myServiceSet['service_id'], 2, 0); foreach ($aTags as $oTags) { if (!in_array($oTags['id'], $aTagUsed)) { $aTagUsed[] = $oTags['id']; $myServiceSet['tagname'] .= TagsRepository::getTag('service', $myServiceSet['service_id'], $oTags['id'], $oTags['text'], $oTags['user_id'], $oTags['template_id']); } } /* $templates = ServiceConfigurationRepository::getListTemplates($myServiceSet['service_id'], array(), -1); foreach ($templates as $template) { $aTags = TagsRepository::getList('service', $template, 2, 0); foreach ($aTags as $oTags) { if (!in_array($oTags['id'], $aTagUsed)) { $aTagUsed[] = $oTags['id']; $myServiceSet['tagname'] .= TagsRepository::getTag('service', $template, $oTags['id'], $oTags['text'], $oTags['user_id'], 1); } } } */ $myServiceSet['tagname'] .= TagsRepository::getAddTag('service', $myServiceSet['service_id']); } $resultSet = array_values($resultSet); }
/** * * @param array $resultSet */ protected function formatDatas(&$resultSet) { $router = Di::getDefault()->get('router'); foreach ($resultSet as &$myServiceSet) { $myServiceSet['service_description'] = '<span class="icoListing">' . ServiceRepository::getIconImage($myServiceSet['service_id']) . '</span>' . $myServiceSet['service_description']; // Set Tpl Chain $tplStr = null; if (isset($myServiceSet["service_template_model_stm_id"])) { $tplArr = ServicetemplateRepository::getMyServiceTemplateModels($myServiceSet["service_template_model_stm_id"]); $tplRoute = str_replace("//", "/", Di::getDefault()->get('router')->getPathFor('/centreon-configuration/servicetemplate/[i:id]', array('id' => $tplArr['id']))); if (isset($tplArr['description'])) { $tplStr .= '<span><a href="' . $tplRoute . '">' . $tplArr['description'] . '</a></span>'; } } $sideMenuCustom = new SlideMenu($myServiceSet['service_id']); $events = Di::getDefault()->get('events'); $events->emit('centreon-configuration.slide.menu.service.template', array($sideMenuCustom)); //$myHostSet['DT_RowData']['right_side_details'] = $router->getPathFor('/centreon-configuration/host/snapshot/').$myHostSet['host_id']; $myServiceSet['DT_RowData']['right_side_menu_list'] = $sideMenuCustom->getMenu(); $myServiceSet['DT_RowData']['right_side_default_menu'] = $sideMenuCustom->getDefaultMenu(); $myServiceSet['service_template_model_stm_id'] = $tplStr; /* Display human readable the check/retry interval */ $myServiceSet['service_normal_check_interval'] = HumanReadable::convert($myServiceSet['service_normal_check_interval'], 's', $units, null, true); $myServiceSet['service_retry_check_interval'] = HumanReadable::convert($myServiceSet['service_retry_check_interval'], 's', $units, null, true); /* Get personal tags */ $myServiceSet['tagname'] = ''; $aTagUsed = array(); $aTags = TagsRepository::getList('service', $myServiceSet['service_id'], 0, 0); foreach ($aTags as $oTags) { if (!in_array($oTags['id'], $aTagUsed)) { $aTagUsed[] = $oTags['id']; $myServiceSet['tagname'] .= TagsRepository::getTag('service', $myServiceSet['service_id'], $oTags['id'], $oTags['text'], $oTags['user_id'], 1); } } $myServiceSet['tagname'] .= TagsRepository::getAddTag('service', $myServiceSet['service_id']); } }
/** * Get the list of inhereted tags * @param string $resourceName * @param int $resourceId * @return array */ public static function getHeritedTags($resourceName, $resourceId) { $resourceName = self::convertResource($resourceName); if (!in_array($resourceName, static::$resourceType)) { throw new Exception("This resource type does not support tags."); } if (empty($resourceId)) { return array(); } $aTagUsed = array(); $aTags = array(); if ($resourceName == 'host') { $templates = HostRepository::getTemplateChain($resourceId, array(), -1); foreach ($templates as $template) { $aTagsInHost = TagsRepository::getList('host', $template['id'], 1, 0); foreach ($aTagsInHost as $oTags) { if (!in_array($oTags['id'], $aTagUsed)) { $aTagUsed[] = $oTags['id']; $aTags[] = $oTags['text']; } } } } elseif ($resourceName == 'service') { $templates = ServiceRepository::getListTemplates($resourceId, array(), -1); foreach ($templates as $template) { $aTagsInSvc = TagsRepository::getList('service', $template, 1, 0); foreach ($aTagsInSvc as $oTags) { if (!in_array($oTags['id'], $aTagUsed)) { $aTagUsed[] = $oTags['id']; $aTags[] = $oTags['text']; } } } } return array('success' => true, 'values' => $aTags); }
/** * Add a service template * * * @method post * @route /servicetemplate/add */ public function createAction() { $macroList = array(); $aTagList = array(); $aTags = array(); $givenParameters = $this->getParams('post'); if (isset($givenParameters['macro_name']) && isset($givenParameters['macro_value'])) { $macroName = $givenParameters['macro_name']; $macroValue = $givenParameters['macro_value']; $macroHidden = $givenParameters['macro_hidden']; foreach ($macroName as $key => $name) { if (!empty($name)) { if (isset($macroHidden[$key])) { $isPassword = '******'; } else { $isPassword = '******'; } $macroList[$name] = array('value' => $macroValue[$key], 'ispassword' => $isPassword); } } } $id = parent::createAction(false); if (count($macroList) > 0) { try { CustomMacroRepository::saveServiceCustomMacro(self::$objectName, $id, $macroList); } catch (\Exception $ex) { $errorMessage = $ex->getMessage(); $this->router->response()->json(array('success' => false, 'error' => $errorMessage)); } } if (isset($givenParameters['service_tags'])) { $aTagList = explode(",", $givenParameters['service_tags']); foreach ($aTagList as $var) { $var = trim($var); if (!empty($var)) { array_push($aTags, $var); } } if (count($aTags) > 0) { TagsRepository::saveTagsForResource('service', $id, $aTags, '', false, 1); } } $this->router->response()->json(array('success' => true)); }
/** * Show all tags of a business activity * * * @method get * @route /business-activity/[i:id]/tags */ public function getBusinessActivityTagsAction() { $requestParam = $this->getParams('named'); $globalTags = TagsRepository::getList('ba', $requestParam['id'], 1, 1); $globalTagsValues = array(); foreach ($globalTags as $globalTag) { $globalTagsValues[] = $globalTag['text']; } $tags['tags'] = array('globals' => $globalTagsValues); $tags['success'] = true; $this->router->response()->json($tags); }
/** * Update a host * * * @method post * @route /hosttemplate/update */ public function updateAction() { $givenParameters = $this->getParams('post'); $macroList = array(); $aTagList = array(); $aTags = array(); $aTagsTemplate = array(); $aTagsInTpl = array(); $aTagsIdTpl = array(); if (isset($givenParameters['macro_name']) && isset($givenParameters['macro_value'])) { $macroName = $givenParameters['macro_name']; $macroValue = $givenParameters['macro_value']; $macroHidden = $givenParameters['macro_hidden']; foreach ($macroName as $key => $name) { if (!empty($name)) { if (isset($macroHidden[$key])) { $isPassword = '******'; } else { $isPassword = '******'; } $macroList[$name] = array('value' => $macroValue[$key], 'ispassword' => $isPassword); } } } if ($givenParameters['host_create_services_from_template']) { \CentreonConfiguration\Models\Host::deployServices($givenParameters['object_id']); } if (count($macroList) > 0) { try { CustomMacroRepository::saveHostCustomMacro(self::$objectName, $givenParameters['object_id'], $macroList); } catch (\Exception $ex) { $errorMessage = $ex->getMessage(); $this->router->response()->json(array('success' => false, 'error' => $errorMessage)); } } //Delete tags directilly rattached to the object TagsRepository::deleteTagsForResource(self::$objectName, $givenParameters['object_id'], 0); //Insert tags affected to the HOST if (isset($givenParameters['host_tags'])) { $aTagList = explode(",", $givenParameters['host_tags']); foreach ($aTagList as $var) { $var = trim($var); if (!empty($var)) { array_push($aTags, $var); } } if (count($aTags) > 0) { TagsRepository::saveTagsForResource(self::$objectName, $givenParameters['object_id'], $aTags, '', false, 1); } } parent::updateAction(); }
/** * * @param array $resultSet */ protected function formatDatas(&$resultSet) { $previousType = ''; foreach ($resultSet as &$myBaSet) { // Set business activity type $baType = \CentreonBam\Models\BusinessActivityType::getParameters($myBaSet['ba_type_id'], array('name')); $myBaSet['ba_type_id'] = $baType['name']; if ($myBaSet['ba_type_id'] === $previousType) { $myBaSet['ba_type_id'] = ''; } else { $previousType = $myBaSet['ba_type_id']; } // Set business activity availability $myBaSet['current_level'] = $myBaSet['current_level'] . '%'; // Set business activity name with its icon $myBaSet['name'] = BusinessActivityRepository::getIconImage($myBaSet['name']) . $myBaSet['name']; // Set human readable duration $myBaSet['duration'] = Datetime::humanReadable($myBaSet['duration'], Datetime::PRECISION_FORMAT, 2); /* Tags */ $myBaSet['tagname'] = ""; $aTags = TagsRepository::getList('ba', $myBaSet['ba_id'], 2); foreach ($aTags as $oTags) { $myBaSet['tagname'] .= TagsRepository::getTag('ba', $myBaSet['ba_id'], $oTags['id'], $oTags['text'], $oTags['user_id'], $oTags['template_id']); } $myBaSet['tagname'] .= TagsRepository::getAddTag('ba', $myBaSet['ba_id']); } }
/** * * @param array $resultSet */ protected function formatDatas(&$resultSet) { $previousType = ''; foreach ($resultSet as &$myBaSet) { $sideMenuCustom = new SlideMenu($myBaSet['ba_id']); $events = Di::getDefault()->get('events'); $events->emit('centreon-bam.slide.menu.business.activity', array($sideMenuCustom)); $myBaSet['DT_RowData']['right_side_menu_list'] = $sideMenuCustom->getMenu(); $myBaSet['DT_RowData']['right_side_default_menu'] = $sideMenuCustom->getDefaultMenu(); // Set business activity type $baType = \CentreonBam\Models\BusinessActivityType::getParameters($myBaSet['ba_type_id'], array('name')); $myBaSet['ba_type_id'] = $baType['name']; if ($myBaSet['ba_type_id'] === $previousType) { $myBaSet['ba_type_id'] = ''; } else { $previousType = $myBaSet['ba_type_id']; } // set business activity name $myBaSet['name'] = BusinessActivityRepository::getIconImage($myBaSet['name']) . $myBaSet['name']; /* Tags */ $myBaSet['tagname'] = ""; $aTags = TagsRepository::getList('ba', $myBaSet['ba_id'], 2); foreach ($aTags as $oTags) { $myBaSet['tagname'] .= TagsRepository::getTag('ba', $myBaSet['ba_id'], $oTags['id'], $oTags['text'], $oTags['user_id'], $oTags['template_id']); } $myBaSet['tagname'] .= TagsRepository::getAddTag('ba', $myBaSet['ba_id']); } }
/** * * @param array $resultSet */ protected function formatDatas(&$resultSet) { foreach ($resultSet as $key => &$myHostSet) { $sideMenuCustom = new SlideMenu($myHostSet['host_id']); $events = Di::getDefault()->get('events'); $events->emit('centreon-realtime.slide.menu.host', array($sideMenuCustom)); $myHostSet['DT_RowData']['right_side_menu_list'] = $sideMenuCustom->getMenu(); $myHostSet['DT_RowData']['right_side_default_menu'] = $sideMenuCustom->getDefaultMenu(); $aTagUsed = array(); // @todo remove virtual hosts and virtual services if ($myHostSet['name'] === '_Module_BAM') { unset($resultSet[$key]); continue; } // Set host_name $myHostSet['name'] = '<span class="icoListing">' . HostConfigurationRepository::getIconImage($myHostSet['name']) . '</span>' . $myHostSet['name']; if ($myHostSet['state'] != '0' && $myHostSet['state'] != '4') { $acknowledgement = HostRealtimeRepository::getAcknowledgementInfos($myHostSet['host_id']); if (count($acknowledgement) > 0) { $myHostSet['name'] .= ' <i class="fa fa-thumb-tack"></i>'; } } $myHostSet['duration'] = Datetime::humanReadable(time() - $myHostSet['duration'], Datetime::PRECISION_FORMAT, 2); $myHostSet['last_check'] = Datetime::humanReadable(time() - $myHostSet['last_check'], Datetime::PRECISION_FORMAT, 2); /* Tags */ $myHostSet['tagname'] = ""; /* $aTags = TagsRepository::getList('host', $myHostSet['host_id'], 2, 0); foreach ($aTags as $oTags) { $myHostSet['tagname'] .= TagsRepository::getTag('host', $myHostSet['host_id'], $oTags['id'], $oTags['text'], $oTags['user_id'], $oTags['template_id']); } * */ $aTags = TagsRepository::getList('host', $myHostSet['host_id'], 2, 0); foreach ($aTags as $oTags) { if (!in_array($oTags['id'], $aTagUsed)) { $aTagUsed[] = $oTags['id']; $myHostSet['tagname'] .= TagsRepository::getTag('host', $myHostSet['host_id'], $oTags['id'], $oTags['text'], $oTags['user_id'], $oTags['template_id']); } } //Get tags affected by the template $templates = HostConfigurationRepository::getTemplateChain($myHostSet['host_id'], array(), -1); foreach ($templates as $template) { $aTags = TagsRepository::getList('host', $template['id'], 2, 0); foreach ($aTags as $oTags) { if (!in_array($oTags['id'], $aTagUsed)) { $aTagUsed[] = $oTags['id']; $myHostSet['tagname'] .= TagsRepository::getTag('host', $template['id'], $oTags['id'], $oTags['text'], $oTags['user_id'], 1); } } } $myHostSet['tagname'] .= TagsRepository::getAddTag('host', $myHostSet['host_id']); } $resultSet = array_values($resultSet); }
/** * Update contact * @param array $givenParameters */ public static function update($givenParameters, $origin = "", $route = "", $validate = true, $validateMandatory = true) { if ($validate) { self::validateForm($givenParameters, $origin, $route, $validateMandatory); } $aTagList = array(); $aTags = array(); if (isset($givenParameters['contact_tags'])) { $aTagList = explode(",", $givenParameters['contact_tags']); foreach ($aTagList as $var) { $var = trim($var); if (!empty($var)) { array_push($aTags, $var); } } } if (count($aTags) > 0) { TagsRepository::saveTagsForResource(self::$objectName, $givenParameters['object_id'], $aTags, '', false, 1); } $infoToUpdate['contact_id'] = $givenParameters['object_id']; if (isset($givenParameters['timezone_id']) && is_numeric($givenParameters['timezone_id'])) { $infoToUpdate['timezone_id'] = $givenParameters['timezone_id']; } else { $infoToUpdate['timezone_id'] = ""; } if (isset($givenParameters['description'])) { $infoToUpdate['description'] = $givenParameters['description']; } $class = static::$objectClass; $sField = $class::getUniqueLabelField(); if (isset($givenParameters[$sField])) { $oSlugify = new CentreonSlugify($class, get_called_class()); $sSlug = $oSlugify->slug($givenParameters[$sField]); $infoToUpdate[$class::getSlugField()] = $sSlug; } return Contact::update($givenParameters['object_id'], $infoToUpdate); }
/** * * @param array $resultSet */ protected function formatDatas(&$resultSet) { $previousHost = ''; $router = Di::getDefault()->get('router'); foreach ($resultSet as &$myContactSet) { /* Tags */ $myContactSet['tagname'] = ""; $aTags = TagsRepository::getList('contact', $myContactSet['contact_id'], 2); foreach ($aTags as $oTags) { $myContactSet['tagname'] .= TagsRepository::getTag('contact', $myContactSet['contact_id'], $oTags['id'], $oTags['text'], $oTags['user_id']); } $myContactSet['tagname'] .= TagsRepository::getAddTag('contact', $myContactSet['contact_id']); } }
/** * get list herited tag * * @method get * @route /tag/[i:id]/[a:objectName]/herited */ public function heritedTagAction() { $data = ''; $get = $this->getParams('named'); if (isset($get['objectName']) && isset($get['id'])) { $data = TagsRepository::getHeritedTags($get['objectName'], $get['id']); } $this->router->response()->json($data); }
/** * Show all tags of a service * * * @method get * @route /service/[i:id]/tags */ public function getServiceTagsAction() { $requestParam = $this->getParams('named'); $globalTags = TagsRepository::getList('service', $requestParam['id'], 1, 1); $globalTagsValues = array(); foreach ($globalTags as $globalTag) { $globalTagsValues[] = $globalTag['text']; } $heritedTags = TagsRepository::getHeritedTags('service', $requestParam['id']); $heritedTagsValues = $heritedTags['values']; $tags['tags'] = array('globals' => $globalTagsValues, 'herited' => $heritedTagsValues); $tags['success'] = true; $this->router->response()->json($tags); }
/** * Service slider default menu * * @method get * @route /service/tagslide/[i:id] */ public function slideTagsAction() { $router = Di::getDefault()->get('router'); $params = $this->getParams(); $tags = \CentreonAdministration\Repository\TagsRepository::getList('service', $params['id']); $inheritedTag = array(); $directTag = array(); foreach ($tags as $tag) { if (!empty($tags['template_id'])) { $inheritedTag[] = $tag; } else { $directTag[] = $tag; } } $return['directTags'] = $directTag; $return['inheritedTags'] = $inheritedTag; $return['success'] = true; $router->response()->json($return); }
/** * * @param array $resultSet */ protected function formatDatas(&$resultSet) { $previousHost = ''; HostRepository::setObjectClass('\\CentreonConfiguration\\Models\\Host'); $router = Di::getDefault()->get('router'); foreach ($resultSet as &$myServiceSet) { // Keep up $save = $myServiceSet['service_activate']; unset($myServiceSet['service_activate']); // Set host_name if ($myServiceSet['host_name'] === $previousHost) { $myServiceSet['host_name'] = ''; } else { $previousHost = $myServiceSet['host_name']; $myServiceSet['host_name'] = '<span class="icoListing">' . HostRepository::getIconImage($myServiceSet['host_name']) . '</span>' . $myServiceSet['host_name']; } // Set Scheduling $myServiceSet['service_normal_check_interval'] = ServiceRepository::formatNotificationOptions(ServiceRepository::getMyServiceField($myServiceSet['service_id'], 'service_normal_check_interval')); $myServiceSet['service_retry_check_interval'] = ServiceRepository::formatNotificationOptions(ServiceRepository::getMyServiceField($myServiceSet['service_id'], 'service_normal_check_interval')); $myServiceSet['service_max_check_attempts'] = ServiceRepository::getMyServiceField($myServiceSet['service_id'], 'service_max_check_attempts'); // Get Real Service Description if (!$myServiceSet["service_description"]) { $myServiceSet["service_description"] = ServiceRepository::getMyServiceAlias($myServiceSet['service_template_model_stm_id']); } $sideMenuCustom = new SlideMenu($myServiceSet['service_id']); $events = Di::getDefault()->get('events'); $events->emit('centreon-configuration.slide.menu.service', array($sideMenuCustom)); $myServiceSet['DT_RowData']['right_side_menu_list'] = $sideMenuCustom->getMenu(); $myServiceSet['DT_RowData']['right_side_default_menu'] = $sideMenuCustom->getDefaultMenu(); // Set Tpl Chain $tplStr = null; $tplArr = ServiceRepository::getMyServiceTemplateModels($myServiceSet["service_template_model_stm_id"]); $idServiceTpl = $myServiceSet["service_template_model_stm_id"]; if (!is_null($tplArr)) { $tplRoute = str_replace("//", "/", $router->getPathFor('/centreon-configuration/servicetemplate/[i:id]', array('id' => $tplArr['id']))); $tplStr .= '<span><a href="' . $tplRoute . '">' . $tplArr['description'] . '</a></span>'; $myServiceSet['service_template_model_stm_id'] = $tplStr; } $myServiceSet['service_description'] = '<span class="icoListing">' . ServiceRepository::getIconImage($myServiceSet['service_id']) . '</span>' . $myServiceSet['service_description']; $myServiceSet['service_description'] .= '</a><a href="#">'; $myServiceSet['service_description'] .= ServiceRealTimeRepository::getStatusBadge(ServiceRealTimeRepository::getStatus($myServiceSet["host_id"], $myServiceSet["service_id"])); $myServiceSet['service_activate'] = $save; /* Get personal tags */ $myServiceSet['tagname'] = ''; $aTagUsed = array(); $aTags = TagsRepository::getList('service', $myServiceSet['service_id'], 0, 0); foreach ($aTags as $oTags) { if (!in_array($oTags['id'], $aTagUsed)) { $aTagUsed[] = $oTags['id']; $myServiceSet['tagname'] .= TagsRepository::getTag('service', $myServiceSet['service_id'], $oTags['id'], $oTags['text'], $oTags['user_id'], 1); } } $myServiceSet['tagname'] .= TagsRepository::getAddTag('service', $myServiceSet['service_id']); } }
/** * * @param string $object * @param string $tag */ public function removeTagAction($object, $tag) { $iNbDeleted = 0; $sLibTag = "tag"; $repository = $this->repository; $sName = $this->objectName; $repository::transco($object); $aId = $repository::getListBySlugName($object[$sName]); if (count($aId) > 0) { $object = $aId[0]['id']; } else { throw new \Exception(static::OBJ_NOT_EXIST, 1); } $aTags = explode(",", $tag); foreach ($aTags as $sTag) { $iReturn = TagsRepository::isExist($sTag); $bLinked = TagsRepository::isLink($this->objectName, $object, $iReturn); if (!$bLinked) { throw new \Exception("This tag can't be found on the object", 1); } TagsRepository::delete($sTag, $this->objectName, $object); $iNbDeleted++; } if ($iNbDeleted > 1) { $sLibTag .= "s"; } InputOutput::display($sLibTag . " has been successfully removed from the object", true, 'green'); }
public function testGetTagId() { $this->assertEquals(1, TagsRepository::getTagId('Tag1')); }
/** * Get contact tag list * * @method get * @route /contact/tag/formlist */ public function contactTagsAction() { $router = Di::getDefault()->get('router'); $list = TagsRepository::getGlobalList('contact'); $router->response()->json($list); }