static function showSingleLinePlanningFilter($filter_key, $filter_data, $options = array())
{
global $CFG_GLPI;
$params['show_delete'] = true;
$params['filter_color_index'] = 0;
if (is_array($options) && count($options)) {
foreach ($options as $key => $val) {
$params[$key] = $val;
}
}
$actor = explode('_', $filter_key);
$uID = 0;
$gID = 0;
if ($filter_data['type'] == 'user') {
$uID = $actor[1];
$user = new User();
$user->getFromDB($actor[1]);
$title = $user->getName();
} else {
if ($filter_data['type'] == 'group_users') {
$group = new Group();
$group->getFromDB($actor[1]);
$title = $group->getName();
} else {
if ($filter_data['type'] == 'group') {
$gID = $actor[1];
$group = new Group();
$group->getFromDB($actor[1]);
$title = $group->getName();
} else {
if ($filter_data['type'] == 'event_filter') {
if (!$filter_key::canView() || !($item = getItemForItemtype($filter_key))) {
return false;
}
$title = $filter_key::getTypeName();
}
}
}
}
echo "<li event_type='" . $filter_data['type'] . "'\n event_name='{$filter_key}'\n class='" . $filter_data['type'] . "'>";
Html::showCheckbox(array('name' => 'filters[]', 'value' => $filter_key, 'title' => $title, 'checked' => $filter_data['display']));
if ($filter_data['type'] != 'event_filter') {
$icon_type = explode('_', $filter_data['type']);
echo "<img class='actor_icon' src='" . $CFG_GLPI['root_doc'] . "/pics/" . $icon_type[0] . ".png'>";
}
echo "<label for='{$filter_key}'>{$title}</label>";
$color = self::$palette_bg[$params['filter_color_index']];
if (isset($filter_data['color']) && !empty($filter_data['color'])) {
$color = $filter_data['color'];
} else {
$params['filter_color_index']++;
$color = self::getPaletteColor('bg', $params['filter_color_index']);
}
if ($filter_data['type'] != 'event_filter') {
echo "<span class='filter_option'>";
echo "<img class='pointer' src='" . $CFG_GLPI['root_doc'] . "/pics/down.png' />";
echo "<ul>";
if ($params['show_delete']) {
echo "<li class='delete_planning' value='{$filter_key}'>" . __("Delete") . "</li>";
}
if ($filter_data['type'] != 'group_users') {
$url = parse_url($CFG_GLPI["url_base"]);
$port = 80;
if (isset($url['port'])) {
$port = $url['port'];
} else {
if (isset($url['scheme']) && $url["scheme"] == 'https') {
$port = 443;
}
}
$cal_url = "/front/planning.php?genical=1&uID=" . $uID . "&gID=" . $gID . "&entities_id=" . $_SESSION["glpiactive_entity"] . "&is_recursive=" . $_SESSION["glpiactive_entity_recursive"] . "&token=" . User::getPersonalToken(Session::getLoginUserID(true));
echo "<li><a target='_blank' href='" . $CFG_GLPI["root_doc"] . "{$cal_url}'>" . _sx("button", "Export") . " - " . __("Ical") . "</a></li>";
echo "<li><a target='_blank' href='webcal://" . $url['host'] . ":{$port}" . (isset($url['path']) ? $url['path'] : '') . "{$cal_url}'>" . _sx("button", "Export") . " - " . __("Webcal") . "</a></li>";
}
echo "</ul>";
echo "</span>";
}
// colors not for groups
if ($filter_data['type'] != 'group_users') {
echo "<span class='color_input'>";
Html::showColorField($filter_key . "_color", array('value' => $color));
echo "</span>";
}
if ($filter_data['type'] == 'group_users') {
echo "<span class='toggle pointer' />";
}
if ($filter_data['type'] == 'group_users') {
echo "<ul class='group_listofusers filters'>";
foreach ($filter_data['users'] as $user_key => $userdata) {
self::showSingleLinePlanningFilter($user_key, $userdata, array('show_delete' => false, 'filter_color_index' => $params['filter_color_index']));
}
echo "</ul>";
}
echo "</li>";
}