/** * Execute hook * * @param array $params */ public static function execute($params) { $router = Di::getDefault()->get('router'); if (!preg_match("/^\\/centreon-customview/", $router->getCurrentUri())) { return; } $user = $_SESSION['user']; $bookmarkedViews = CustomviewRepository::getCustomViewsOfUser($user->getId()); $publicViews = CustomviewRepository::getPublicViews(); foreach ($publicViews as $viewId => $view) { if (isset($bookmarkedViews[$viewId])) { unset($publicViews[$viewId]); } } return array('template' => 'displayLeftMenu.tpl', 'variables' => array('bookmarkedViews' => $bookmarkedViews, 'publicViews' => $publicViews)); }
/** * Get widget Preferences * * @param int $widgetId * @return array */ public static function getWidgetPreferences($widgetId) { $db = Di::getDefault()->get('db_centreon'); $stmt = $db->prepare("SELECT default_value, parameter_code_name\n FROM cfg_widgets_parameters param, cfg_widgets w\n \tWHERE w.widget_model_id = param.widget_model_id\n AND w.widget_id = ?"); $stmt->execute(array($widgetId)); $tab = array(); while ($row = $stmt->fetch(\PDO::FETCH_ASSOC)) { $tab[$row['parameter_code_name']] = $row['default_value']; } $stmt = $db->prepare("SELECT pref.preference_value, param.parameter_code_name, pref.comparator\n FROM cfg_widgets_preferences pref, cfg_widgets_parameters param\n \tWHERE param.parameter_id = pref.parameter_id\n \tAND pref.widget_id = ?"); $stmt->execute(array($widgetId)); while ($row = $stmt->fetch(\PDO::FETCH_ASSOC)) { if (!$row['comparator']) { $tab[$row['parameter_code_name']] = $row['preference_value']; } else { $tab[$row['parameter_code_name']] = CustomviewRepository::getCmpString($row['comparator'], $row['preference_value']); } } if (isset($_SESSION['customview_filters'])) { foreach ($_SESSION['customview_filters'] as $key => $value) { if ($value != "" && isset($_SESSION['customview_filters'])) { $tab[$key] = $value; } } } return $tab; }
/** * Apply global filters * * @method POST * @route /applyfilters */ public function applyFiltersAction() { $_SESSION['customview_filters'] = array(); $params = $this->getParams('post'); if (isset($params['filterNames']) && isset($params['filterValues'])) { $filterNames = json_decode($params['filterNames']); $filterValues = json_decode($params['filterValues']); $filterCmp = json_decode($params['filterCmp']); foreach ($filterNames as $index => $name) { if ($name != "" && isset($filterValues[$index])) { $_SESSION['customview_filters'][$name] = CustomviewRepository::getCmpString($filterCmp[$index], $filterValues[$index]); } } } Di::getDefault()->get('router')->response()->json(array('success' => true)); }