本文整理汇总了PHP中Html::showToolTip方法的典型用法代码示例。如果您正苦于以下问题:PHP Html::showToolTip方法的具体用法?PHP Html::showToolTip怎么用?PHP Html::showToolTip使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Html
的用法示例。
在下文中一共展示了Html::showToolTip方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: dropdownReferencesByEnterprise
//.........这里部分代码省略.........
{
global $DB, $CFG_GLPI;
$item = getItemForItemtype($itemtype);
if ($itemtype && !($item = getItemForItemtype($itemtype))) {
return false;
}
$table = $item->getTable();
$params['comments'] = true;
$params['condition'] = '';
$params['entity'] = -1;
$params['name'] = "reference";
$params['value'] = 0;
$params['entity_sons'] = false;
$params['rand'] = mt_rand();
$params['used'] = array();
$params['table'] = $table;
$params['emptylabel'] = Dropdown::EMPTY_VALUE;
//specific
$params['action'] = "";
$params['itemtype'] = "";
$params['span'] = "";
$params['orders_id'] = 0;
$params['suppliers_id'] = 0;
if (is_array($options) && count($options)) {
foreach ($options as $key => $val) {
$params[$key] = $val;
}
}
$name = $params['emptylabel'];
$comment = "";
$limit_length = $_SESSION["glpidropdown_chars_limit"];
if (strlen($params['value']) == 0 || !is_numeric($params['value'])) {
$params['value'] = 0;
}
if ($params['value'] > 0) {
$tmpname = Dropdown::getDropdownName($table, $params['value'], 1);
if ($tmpname["name"] != " ") {
$name = $tmpname["name"];
$comment = $tmpname["comment"];
if (Toolbox::strlen($name) > $_SESSION["glpidropdown_chars_limit"]) {
if ($item instanceof CommonTreeDropdown) {
$pos = strrpos($name, ">");
$limit_length = max(Toolbox::strlen($name) - $pos, $_SESSION["glpidropdown_chars_limit"]);
if (Toolbox::strlen($name) > $limit_length) {
$name = "…" . Toolbox::substr($name, -$limit_length);
}
} else {
$limit_length = Toolbox::strlen($name);
}
} else {
$limit_length = $_SESSION["glpidropdown_chars_limit"];
}
}
}
// Manage entity_sons
if (!($params['entity'] < 0) && $params['entity_sons']) {
if (is_array($params['entity'])) {
echo "entity_sons options is not available with array of entity";
} else {
$params['entity'] = getSonsOf('glpi_entities', $params['entity']);
}
}
$use_ajax = false;
if ($CFG_GLPI["use_ajax_autocompletion"]) {
$nb = 0;
$query = "SELECT COUNT(*) AS cpt\n FROM `{$table}` as t\n LEFT JOIN `glpi_plugin_order_references_suppliers` as s\n ON (`t`.`id` = `s`.`plugin_order_references_id`)\n WHERE `s`.`suppliers_id` = '{$params['suppliers_id']}'\n AND `t`.`itemtype` = '{$params['itemtype']}'";
if ($item->isEntityAssign()) {
if (!($params['entity'] < 0)) {
$query .= getEntitiesRestrictRequest("AND", 't', '', $params['entity'], true);
} else {
$query .= getEntitiesRestrictRequest("AND", 't', '', '', true);
}
}
$result = $DB->query($query);
if ($DB->numrows($result) == 1) {
$nb = $DB->result($result, 0, "cpt");
}
$nb -= count($params['used']);
if ($nb > $CFG_GLPI["ajax_limit_count"]) {
$use_ajax = true;
}
}
$param = array('searchText' => '__VALUE__', 'value' => $params['value'], 'itemtype' => $params['itemtype'], 'myname' => $params['name'], 'limit' => $limit_length, 'comment' => $params['comments'], 'rand' => $params['rand'], 'entity_restrict' => $params['entity'], 'used' => $params['used'], 'condition' => $params['condition'], 'table' => $params['table'], 'action' => $params['action'], 'span' => $params['span'], 'orders_id' => $params['orders_id'], 'suppliers_id' => $params['suppliers_id']);
$default = "<select name='" . $params['name'] . "' id='dropdown_" . $params['name'] . $params['rand'] . "'>";
$default .= "<option value='" . $params['value'] . "'>{$name}</option></select>";
Ajax::Dropdown($use_ajax, "/plugins/order/ajax/dropdownValue.php", $param, $default, $params['rand']);
// Display comment
if ($params['comments']) {
$options_tooltip = array('contentid' => "comment_" . $param['myname'] . $params['rand']);
if ($params['value'] && $item->getFromDB($params['value'])) {
$options_tooltip['link'] = $item->getLinkURL();
$options_tooltip['linktarget'] = '_blank';
}
Html::showToolTip($comment, $options_tooltip);
if ($itemtype::canCreate() && !isset($_GET['popup'])) {
echo "<img alt='' title=\"" . __("Add") . "\" src='" . $CFG_GLPI["root_doc"] . "\n /pics/add_dropdown.png' style='cursor:pointer; margin-left:2px;'\n onClick=\"var w = window . open('" . $item->getFormURL() . "?popup=1&rand=" . $params['rand'] . "&itemtype=" . $params['itemtype'] . "&entities_id=" . $params['entity'] . "', " . "'glpipopup', 'height=400,width=1000, top=100, left=100,\n scrollbars=yes' );w.focus();\">";
}
}
return $params['rand'];
}
示例2: showForItem
//.........这里部分代码省略.........
$instantiation = new $portType();
$instantiation->getInstantiationHTMLTableHeaders($t_group, $c_instant, $c_network, NULL, $table_options);
unset($instantiation);
}
}
if ($display_options['internet'] && !$display_options['characteristics']) {
NetworkName::getHTMLTableHeader(__CLASS__, $t_group, $c_network, NULL, $table_options);
}
if ($itemtype == 'NetworkPort') {
switch ($portType) {
case 'NetworkPortAlias':
$search_table = 'glpi_networkportaliases';
$search_request = "`networkports_id_alias`='{$items_id}'";
break;
case 'NetworkPortAggregate':
$search_table = 'glpi_networkportaggregates';
$search_request = "`networkports_id_list` like '%\"{$items_id}\"%'";
break;
}
$query = "SELECT `networkports_id` AS id\n FROM `{$search_table}`\n WHERE {$search_request}";
} else {
$query = "SELECT `id`\n FROM `glpi_networkports`\n WHERE `items_id` = '{$items_id}'\n AND `itemtype` = '{$itemtype}'\n AND `instantiation_type` = '{$portType}'\n AND `is_deleted` = '0'\n ORDER BY `name`,\n `logical_number`";
}
if ($result = $DB->query($query)) {
echo "<div class='spaced'>";
$number_port = $DB->numrows($result);
if ($number_port != 0) {
$is_active_network_port = true;
$save_canedit = $canedit;
if (!empty($portType)) {
$name = sprintf(__('%1$s (%2$s)'), self::getTypeName($number_port), call_user_func(array($portType, 'getTypeName')));
$name = sprintf(__('%1$s: %2$s'), $name, $number_port);
} else {
$name = __('Network ports waiting for manual migration');
$canedit = false;
}
while ($devid = $DB->fetch_row($result)) {
$t_row = $t_group->createRow();
$netport->getFromDB(current($devid));
// No massive action for migration ports
if ($withtemplate != 2 && $canedit && !empty($portType)) {
$ce_checkbox = $t_row->addCell($c_checkbox, "<input type='checkbox' name='item[" . $netport->fields["id"] . "]' value='1'>");
} else {
$ce_checkbox = NULL;
}
$content = "<span class='b'>";
// Display link based on default rights
if ($save_canedit && $withtemplate != 2) {
if (!empty($portType)) {
$content .= "<a href=\"" . $CFG_GLPI["root_doc"] . "/front/networkport.form.php?id=" . $netport->fields["id"] . "\">";
} else {
$content .= "<a href=\"" . $CFG_GLPI["root_doc"] . "/front/networkportmigration.form.php?id=" . $netport->fields["id"] . "\">";
}
}
$content .= $netport->fields["logical_number"];
if ($canedit && $withtemplate != 2) {
$content .= "</a>";
}
$content .= "</span>";
$content .= Html::showToolTip($netport->fields['comment'], array('display' => false));
$t_row->addCell($c_number, $content);
$value = $netport->fields["name"];
$t_row->addCell($c_name, $value, NULL, $netport);
if ($table_options['display_isDynamic']) {
$t_row->addCell($c_dynamic, Dropdown::getYesNo($netport->fields['is_dynamic']));
}
$instant_cell = NULL;
if ($display_options['characteristics']) {
$instantiation = $netport->getInstantiation();
if ($instantiation !== false) {
$instantiation->getInstantiationHTMLTable($netport, $t_row, NULL, $table_options);
unset($instantiation);
}
} else {
if ($display_options['internet']) {
NetworkName::getHTMLTableCellsForItem($t_row, $netport, NULL, $table_options);
}
}
}
$canedit = $save_canedit;
}
echo "</div>";
}
}
if ($is_active_network_port && $showmassiveactions) {
$massiveactionparams = array('num_displayed' => $number_port, 'check_itemtype' => $itemtype, 'check_items_id' => $items_id);
Html::showMassiveActions('NetworkPort', $massiveactionparams);
}
$table->display(array('display_thead' => false, 'display_tfoot' => false));
unset($table);
if (!$is_active_network_port) {
echo "<table class='tab_cadre_fixe'><tr><th>" . __('No network port found') . "</th></tr>";
echo "</table>";
}
if ($showmassiveactions) {
$massiveactionparams['ontop'] = false;
Html::showMassiveActions('NetworkPort', $massiveactionparams);
Html::closeForm();
}
}
示例3: showForTicket
/**
* Show projecttasks for a ticket
*
* @param $ticket Ticket object
**/
static function showForTicket(Ticket $ticket)
{
global $DB, $CFG_GLPI;
$ID = $ticket->getField('id');
if (!$ticket->can($ID, READ)) {
return false;
}
$canedit = $ticket->canEdit($ID);
$rand = mt_rand();
$query = "SELECT DISTINCT `glpi_projecttasks_tickets`.`id` AS linkID,\n `glpi_projecttasks`.*\n FROM `glpi_projecttasks`\n LEFT JOIN `glpi_projecttasks_tickets`\n ON (`glpi_projecttasks_tickets`.`projecttasks_id` = `glpi_projecttasks`.`id`)\n WHERE `glpi_projecttasks_tickets`.`tickets_id` = '{$ID}'\n ORDER BY `glpi_projecttasks`.`name`";
$result = $DB->query($query);
$pjtasks = array();
$used = array();
if ($numrows = $DB->numrows($result)) {
while ($data = $DB->fetch_assoc($result)) {
$pjtasks[$data['id']] = $data;
$used[$data['id']] = $data['id'];
}
}
// if ($canedit) {
// echo "<div class='firstbloc'>";
// echo "<form name='projecttaskticket_form$rand' id='projecttaskticket_form$rand'
// method='post' action='".Toolbox::getItemTypeFormURL(__CLASS__)."'>";
//
// echo "<table class='tab_cadre_fixe'>";
// echo "<tr class='tab_bg_2'><th colspan='3'>".__('Add a project task')."</th></tr>";
//
// echo "<tr class='tab_bg_2'><td class='right'>";
// echo "<input type='hidden' name='tickets_id' value='$ID'>";
// $condition = "`glpi_projecttasks`.`projectstates_id` <> 3";
// ProjectTask::dropdown(array('used' => $used,
// 'entity' => $ticket->getEntityID(),
// 'entity_sons' => $ticket->isRecursive(),
// 'condition' => $condition,
// 'displaywith' => array('id')));
// echo "</td><td width='20%'>";
// // echo "<a href='".Toolbox::getItemTypeFormURL('ProjectTask')."?tickets_id=$ID'>";
// // _e('Create a project task from this ticket');
// // echo "</a>";
// echo "</td><td class='center'>";
// echo "<input type='submit' name='add' value=\""._sx('button', 'Add')."\" class='submit'>";
// echo "</td></tr>";
//
// echo "</table>";
// Html::closeForm();
// echo "</div>";
// }
echo "<div class='spaced'>";
if ($numrows) {
$columns = array('projectname' => Project::getTypeName(Session::getPluralNumber()), 'name' => ProjectTask::getTypeName(Session::getPluralNumber()), 'tname' => __('Type'), 'sname' => __('Status'), 'percent_done' => __('Percent done'), 'plan_start_date' => __('Planned start date'), 'plan_end_date' => __('Planned end date'), 'planned_duration' => __('Planned duration'), '_effect_duration' => __('Effective duration'), 'fname' => __('Father'));
if (isset($_GET["order"]) && $_GET["order"] == "DESC") {
$order = "DESC";
} else {
$order = "ASC";
}
if (!isset($_GET["sort"]) || empty($_GET["sort"])) {
$_GET["sort"] = "plan_start_date";
}
if (isset($_GET["sort"]) && !empty($_GET["sort"]) && isset($columns[$_GET["sort"]])) {
$sort = "`" . $_GET["sort"] . "`";
} else {
$sort = "`plan_start_date` {$order}, `name`";
}
$query = "SELECT `glpi_projecttasks`.*,\n `glpi_projecttasktypes`.`name` AS tname,\n `glpi_projectstates`.`name` AS sname,\n `glpi_projectstates`.`color`,\n `father`.`name` AS fname,\n `father`.`id` AS fID,\n `glpi_projects`.`name` AS projectname,\n `glpi_projects`.`content` AS projectcontent\n FROM `glpi_projecttasks`\n LEFT JOIN `glpi_projecttasktypes`\n ON (`glpi_projecttasktypes`.`id` = `glpi_projecttasks`.`projecttasktypes_id`)\n LEFT JOIN `glpi_projectstates`\n ON (`glpi_projectstates`.`id` = `glpi_projecttasks`.`projectstates_id`)\n LEFT JOIN `glpi_projecttasks` as father\n ON (`father`.`id` = `glpi_projecttasks`.`projecttasks_id`)\n LEFT JOIN `glpi_projecttasks_tickets`\n ON (`glpi_projecttasks_tickets`.`projecttasks_id` = `glpi_projecttasks`.`id`)\n LEFT JOIN `glpi_projects`\n ON (`glpi_projecttasks`.`projects_id` = `glpi_projects`.`id`)\n WHERE `glpi_projecttasks_tickets`.`tickets_id` = '{$ID}'\n ORDER BY {$sort} {$order}";
Session::initNavigateListItems('ProjectTask', sprintf(__('%1$s = %2$s'), $ticket::getTypeName(1), $ticket->getName()));
if ($result = $DB->query($query)) {
if ($DB->numrows($result)) {
echo "<table class='tab_cadre_fixehov'>";
echo "<tr><th colspan='10'>" . ProjectTask::getTypeName($numrows) . "</th>";
echo "</tr>";
$sort_img = "<img src=\"" . $CFG_GLPI["root_doc"] . "/pics/" . ($order == "DESC" ? "puce-down.png" : "puce-up.png") . "\" alt='' title=''>";
$header = '<tr>';
foreach ($columns as $key => $val) {
// Non order column
if ($key[0] == '_') {
$header .= "<th>{$val}</th>";
} else {
$header .= "<th>" . ($sort == "`{$key}`" ? $sort_img : "") . "<a href='javascript:reloadTab(\"sort={$key}&order=" . ($order == "ASC" ? "DESC" : "ASC") . "&start=0\");'>{$val}</a></th>";
}
}
$header .= "</tr>\n";
echo $header;
while ($data = $DB->fetch_assoc($result)) {
Session::addToNavigateListItems('ProjectTask', $data['id']);
$rand = mt_rand();
echo "<tr class='tab_bg_2'>";
echo "<td>";
$link = "<a id='Project" . $data["projects_id"] . $rand . "' href='project.form.php?id=" . $data['projects_id'] . "'>" . $data['projectname'] . (empty($data['projectname']) ? "(" . $data['projects_id'] . ")" : "") . "</a>";
echo sprintf(__('%1$s %2$s'), $link, Html::showToolTip($data['projectcontent'], array('display' => false, 'applyto' => "Project" . $data["projects_id"] . $rand)));
echo "</td>";
echo "<td>";
$link = "<a id='ProjectTask" . $data["id"] . $rand . "' href='projecttask.form.php?id=" . $data['id'] . "'>" . $data['name'] . (empty($data['name']) ? "(" . $data['id'] . ")" : "") . "</a>";
echo sprintf(__('%1$s %2$s'), $link, Html::showToolTip($data['content'], array('display' => false, 'applyto' => "ProjectTask" . $data["id"] . $rand)));
echo "</td>";
echo "<td>" . $data['tname'] . "</td>";
//.........这里部分代码省略.........
示例4: showShort
/**
* Display a line for an object
*
* @since version 0.85 (befor in each object with differents parameters)
*
* @param $id Integer ID of the object
* @param $options array of options
* output_type : Default output type (see Search class / default Search::HTML_OUTPUT)
* row_num : row num used for display
* type_for_massiveaction : itemtype for massive action
* id_for_massaction : default 0 means no massive action
* followups : only for Tickets : show followup columns
*/
static function showShort($id, $options = array())
{
global $CFG_GLPI, $DB;
$p['output_type'] = Search::HTML_OUTPUT;
$p['row_num'] = 0;
$p['type_for_massiveaction'] = 0;
$p['id_for_massiveaction'] = 0;
$p['followups'] = false;
if (count($options)) {
foreach ($options as $key => $val) {
$p[$key] = $val;
}
}
$rand = mt_rand();
/// TODO to be cleaned. Get datas and clean display links
// Prints a job in short form
// Should be called in a <table>-segment
// Print links or not in case of user view
// Make new job object and fill it from database, if success, print it
$item = new static();
$candelete = static::canDelete();
$canupdate = Session::haveRight(static::$rightname, UPDATE);
$showprivate = Session::haveRight('followup', TicketFollowup::SEEPRIVATE);
$align = "class='center";
$align_desc = "class='left";
if ($p['followups']) {
$align .= " top'";
$align_desc .= " top'";
} else {
$align .= "'";
$align_desc .= "'";
}
if ($item->getFromDB($id)) {
$item_num = 1;
$bgcolor = $_SESSION["glpipriority_" . $item->fields["priority"]];
echo Search::showNewLine($p['output_type'], $p['row_num'] % 2);
$check_col = '';
if (($candelete || $canupdate) && $p['output_type'] == Search::HTML_OUTPUT && $p['id_for_massiveaction']) {
$check_col = Html::getMassiveActionCheckBox($p['type_for_massiveaction'], $p['id_for_massiveaction']);
}
echo Search::showItem($p['output_type'], $check_col, $item_num, $p['row_num'], $align);
// First column
$first_col = sprintf(__('%1$s: %2$s'), __('ID'), $item->fields["id"]);
if ($p['output_type'] == Search::HTML_OUTPUT) {
$first_col .= "<br><img src='" . static::getStatusIconURL($item->fields["status"]) . "'\n alt=\"" . static::getStatus($item->fields["status"]) . "\" title=\"" . static::getStatus($item->fields["status"]) . "\">";
} else {
$first_col = sprintf(__('%1$s - %2$s'), $first_col, static::getStatus($item->fields["status"]));
}
echo Search::showItem($p['output_type'], $first_col, $item_num, $p['row_num'], $align);
// Second column
if ($item->fields['status'] == static::CLOSED) {
$second_col = sprintf(__('Closed on %s'), ($p['output_type'] == Search::HTML_OUTPUT ? '<br>' : '') . Html::convDateTime($item->fields['closedate']));
} else {
if ($item->fields['status'] == static::SOLVED) {
$second_col = sprintf(__('Solved on %s'), ($p['output_type'] == Search::HTML_OUTPUT ? '<br>' : '') . Html::convDateTime($item->fields['solvedate']));
} else {
if ($item->fields['begin_waiting_date']) {
$second_col = sprintf(__('Put on hold on %s'), ($p['output_type'] == Search::HTML_OUTPUT ? '<br>' : '') . Html::convDateTime($item->fields['begin_waiting_date']));
} else {
if ($item->fields['due_date']) {
$second_col = sprintf(__('%1$s: %2$s'), __('Due date'), ($p['output_type'] == Search::HTML_OUTPUT ? '<br>' : '') . Html::convDateTime($item->fields['due_date']));
} else {
$second_col = sprintf(__('Opened on %s'), ($p['output_type'] == Search::HTML_OUTPUT ? '<br>' : '') . Html::convDateTime($item->fields['date']));
}
}
}
}
echo Search::showItem($p['output_type'], $second_col, $item_num, $p['row_num'], $align . " width=130");
// Second BIS column
$second_col = Html::convDateTime($item->fields["date_mod"]);
echo Search::showItem($p['output_type'], $second_col, $item_num, $p['row_num'], $align . " width=90");
// Second TER column
if (count($_SESSION["glpiactiveentities"]) > 1) {
$second_col = Dropdown::getDropdownName('glpi_entities', $item->fields['entities_id']);
echo Search::showItem($p['output_type'], $second_col, $item_num, $p['row_num'], $align . " width=100");
}
// Third Column
echo Search::showItem($p['output_type'], "<span class='b'>" . static::getPriorityName($item->fields["priority"]) . "</span>", $item_num, $p['row_num'], "{$align} bgcolor='{$bgcolor}'");
// Fourth Column
$fourth_col = "";
foreach ($item->getUsers(CommonITILActor::REQUESTER) as $d) {
$userdata = getUserName($d["users_id"], 2);
$fourth_col .= sprintf(__('%1$s %2$s'), "<span class='b'>" . $userdata['name'] . "</span>", Html::showToolTip($userdata["comment"], array('link' => $userdata["link"], 'display' => false)));
$fourth_col .= "<br>";
}
foreach ($item->getGroups(CommonITILActor::REQUESTER) as $d) {
$fourth_col .= Dropdown::getDropdownName("glpi_groups", $d["groups_id"]);
//.........这里部分代码省略.........
示例5: showForm
//.........这里部分代码省略.........
$softwares_id = $this->fields["softwares_id"];
echo "<input type='hidden' name='softwares_id' value='{$softwares_id}'>";
echo "<a href='software.form.php?id=" . $softwares_id . "'>" . Dropdown::getDropdownName("glpi_softwares", $softwares_id) . "</a>";
} else {
Dropdown::show('Software', array('condition' => "`is_template`='0' AND `is_deleted`='0'", 'entity' => $_SESSION['glpiactive_entity'], 'entity_sons' => $_SESSION['glpiactive_entity_recursive'], 'on_change' => 'this.form.submit()', 'value' => $softwares_id));
}
echo "</td>";
echo "<td colspan='2'>";
echo "</td></tr>\n";
echo "<tr class='tab_bg_1'>";
echo "<td>" . sprintf(__('%1$s%2$s'), __('Name'), isset($options['withtemplate']) && $options['withtemplate'] ? "*" : "") . "</td>";
echo "<td>";
$objectName = autoName($this->fields["name"], "name", isset($options['withtemplate']) && $options['withtemplate'] == 2, $this->getType(), $this->fields["entities_id"]);
Html::autocompletionTextField($this, 'name', array('value' => $objectName));
echo "</td>";
echo "<td>" . __('Status') . "</td>";
echo "<td>";
State::dropdown(array('value' => $this->fields["states_id"], 'entity' => $this->fields["entities_id"], 'condition' => "`is_visible_softwarelicense`"));
echo "</td></tr>\n";
echo "<tr class='tab_bg_1'>";
echo "<td>" . __('Location') . "</td><td>";
Location::dropdown(array('value' => $this->fields["locations_id"], 'entity' => $this->fields["entities_id"]));
echo "</td>";
echo "<td>" . __('Type') . "</td>";
echo "<td>";
SoftwareLicenseType::dropdown(array('value' => $this->fields["softwarelicensetypes_id"]));
echo "</td></tr>\n";
echo "<tr class='tab_bg_1'>";
echo "<td>" . __('Technician in charge of the hardware') . "</td>";
echo "<td>";
User::dropdown(array('name' => 'users_id_tech', 'value' => $this->fields["users_id_tech"], 'right' => 'own_ticket', 'entity' => $this->fields["entities_id"]));
echo "</td>";
echo "<td>" . __('Publisher') . "</td>";
echo "<td>";
Manufacturer::dropdown(array('value' => $this->fields["manufacturers_id"]));
echo "</td></tr>\n";
echo "<tr class='tab_bg_1'>";
echo "<td>" . __('Group in charge of the hardware') . "</td>";
echo "<td>";
Group::dropdown(array('name' => 'groups_id_tech', 'value' => $this->fields['groups_id_tech'], 'entity' => $this->fields['entities_id'], 'condition' => '`is_assign`'));
echo "</td>";
echo "<td>" . __('Serial number') . "</td>";
echo "<td>";
Html::autocompletionTextField($this, "serial");
echo "</td></tr>\n";
echo "<tr class='tab_bg_1'>";
echo "<td >" . __('User') . "</td>";
echo "<td >";
User::dropdown(array('value' => $this->fields["users_id"], 'entity' => $this->fields["entities_id"], 'right' => 'all'));
echo "</td>";
echo "<td>" . sprintf(__('%1$s%2$s'), __('Inventory number'), isset($options['withtemplate']) && $options['withtemplate'] ? "*" : "");
echo "</td>";
echo "<td>";
$objectName = autoName($this->fields["otherserial"], "otherserial", isset($options['withtemplate']) && $options['withtemplate'] == 2, $this->getType(), $this->fields["entities_id"]);
Html::autocompletionTextField($this, 'otherserial', array('value' => $objectName));
echo "</td></tr>\n";
echo "<tr class='tab_bg_1'>";
echo "<td>" . __('Group') . "</td><td>";
Group::dropdown(array('value' => $this->fields["groups_id"], 'entity' => $this->fields["entities_id"], 'condition' => '`is_itemgroup`'));
echo "</td>";
echo "<td rowspan='4' class='middle'>" . __('Comments') . "</td>";
echo "<td class='center middle' rowspan='4'>";
echo "<textarea cols='45' rows='4' name='comment' >" . $this->fields["comment"] . "</textarea>";
echo "</td></tr>\n";
echo "<tr class='tab_bg_1'>";
echo "<td>" . __('Version in use') . "</td>";
echo "<td>";
SoftwareVersion::dropdownForOneSoftware(array('name' => "softwareversions_id_use", 'softwares_id' => $this->fields["softwares_id"], 'value' => $this->fields["softwareversions_id_use"]));
echo "</td></tr>";
echo "<tr class='tab_bg_1'>";
echo "<td>" . __('Purchase version') . "</td>";
echo "<td>";
SoftwareVersion::dropdownForOneSoftware(array('name' => "softwareversions_id_buy", 'softwares_id' => $this->fields["softwares_id"], 'value' => $this->fields["softwareversions_id_buy"]));
echo "</td></tr>\n";
echo "<tr class='tab_bg_1'>";
echo "<td>" . _x('quantity', 'Number') . "</td>";
echo "<td>";
Dropdown::showNumber("number", array('value' => $this->fields["number"], 'min' => 1, 'max' => 10000, 'step' => 1, 'toadd' => array(-1 => __('Unlimited'))));
if ($ID > 0) {
echo " ";
if ($this->fields['is_valid']) {
echo "<span class='green'>" . _x('adjective', 'Valid') . '<span>';
} else {
echo "<span class='red'>" . _x('adjective', 'Invalid') . '<span>';
}
}
echo "</td></tr>\n";
echo "<tr class='tab_bg_1'>";
echo "<td>" . __('Expiration') . "</td>";
echo "<td>";
Html::showDateField('expire', array('value' => $this->fields["expire"]));
if ($ID && is_null($this->fields["expire"])) {
echo "<br>" . __('Never expire') . " ";
Html::showToolTip(__('On search engine, use "Expiration contains NULL" to search licenses with no expiration date'));
}
Alert::displayLastAlert('SoftwareLicense', $ID);
echo "</td><td colspan='2'></td></tr>\n";
$this->showFormButtons($options);
return true;
}
示例6: showTimeline
/**
* @since version 0.90
*
* @param $rand
**/
function showTimeline($rand)
{
global $CFG_GLPI, $DB, $autolink_options;
//get ticket actors
$ticket_users_keys = $this->getTicketActors();
$user = new User();
$group = new Group();
$followup_obj = new TicketFollowup();
$pics_url = $CFG_GLPI['root_doc'] . "/pics/timeline";
$timeline = $this->getTimelineItems();
$autolink_options['strip_protocols'] = false;
//display timeline
echo "<div class='timeline_history'>";
$tmp = array_values($timeline);
$first_item = array_shift($tmp);
// show approbation form on top when ticket is solved
if ($this->fields["status"] == CommonITILObject::SOLVED) {
echo "<div class='approbation_form' id='approbation_form{$rand}'>";
$followup_obj->showApprobationForm($this);
echo "</div>";
}
// show title for timeline
self::showTimelineHeader();
$timeline_index = 0;
foreach ($timeline as $item) {
$options = array('parent' => $this, 'rand' => $rand);
if ($obj = getItemForItemtype($item['type'])) {
$obj->fields = $item['item'];
} else {
$obj = $item;
}
Plugin::doHook('pre_show_item', array('item' => &$obj, 'options' => &$options));
if (is_array($obj)) {
$item_i = $obj['item'];
} else {
$item_i = $obj->fields;
}
$date = "";
if (isset($item_i['date'])) {
$date = $item_i['date'];
}
if (isset($item_i['date_mod'])) {
$date = $item_i['date_mod'];
}
// check if curent item user is assignee or requester
$user_position = 'left';
if (isset($ticket_users_keys[$item_i['users_id']]) && $ticket_users_keys[$item_i['users_id']] == CommonItilActor::ASSIGN || $item['type'] == 'Assign') {
$user_position = 'right';
}
//display solution in middle
if ($timeline_index == 0 && $item['type'] == "Solution" && $this->fields["status"] == CommonITILObject::SOLVED) {
$user_position .= ' middle';
}
echo "<div class='h_item {$user_position}'>";
echo "<div class='h_info'>";
echo "<div class='h_date'>" . Html::convDateTime($date) . "</div>";
if ($item_i['users_id'] !== false) {
echo "<div class='h_user'>";
if (isset($item_i['users_id']) && $item_i['users_id'] != 0) {
$user->getFromDB($item_i['users_id']);
echo "<div class='tooltip_picture_border'>";
echo "<img class='user_picture' alt=\"" . __s('Picture') . "\" src='" . User::getThumbnailURLForPicture($user->fields['picture']) . "'>";
echo "</div>";
echo "<span class='h_user_name'>";
$userdata = getUserName($item_i['users_id'], 2);
echo $user->getLink() . " ";
echo Html::showToolTip($userdata["comment"], array('link' => $userdata['link']));
echo "</span>";
} else {
_e("Requester");
}
echo "</div>";
// h_user
}
echo "</div>";
//h_date
echo "<div class='h_content " . $item['type'] . (isset($item_i['status']) ? " " . $item_i['status'] : "") . "'" . "id='viewitem" . $item['type'] . $item_i['id'] . $rand . "'>";
if (isset($item_i['can_edit']) && $item_i['can_edit']) {
echo "<div class='edit_item_content'></div>";
echo "<span class='cancel_edit_item_content'></span>";
}
echo "<div class='displayed_content'>";
if (!in_array($item['type'], array('Document_Item', 'Assign')) && $item_i['can_edit']) {
echo "<span class='edit_item' ";
echo "onclick='javascript:viewEditSubitem" . $this->fields['id'] . "{$rand}(event, \"" . $item['type'] . "\", " . $item_i['id'] . ", this, \"viewitem" . $item['type'] . $item_i['id'] . $rand . "\")'";
echo "></span>";
}
if (isset($item_i['requesttypes_id']) && file_exists("{$pics_url}/" . $item_i['requesttypes_id'] . ".png")) {
echo "<img src='{$pics_url}/" . $item_i['requesttypes_id'] . ".png' title='' class='h_requesttype' />";
}
if (isset($item_i['content'])) {
$content = $item_i['content'];
$content = autolink($content, 40);
//$content = nl2br($content);
$long_text = "";
//.........这里部分代码省略.........
示例7: showForm
function showForm($ID, $options = array())
{
global $CFG_GLPI;
$this->initForm($ID, $options);
$this->showFormHeader($options);
echo "<tr class='tab_bg_1'>";
echo "<td>" . __('Name') . "</td>";
echo "<td>";
Html::autocompletionTextField($this, "name");
echo "</td>";
echo "<td>" . _n('Context', 'Contexts', 1, 'tasklists') . "</td><td>";
Dropdown::show('PluginTasklistsTaskType', array('name' => "plugin_tasklists_tasktypes_id", 'value' => $this->fields["plugin_tasklists_tasktypes_id"], 'entity' => $this->fields["entities_id"]));
echo "</td>";
echo "</tr>";
echo "<tr class='tab_bg_1'>";
echo "<td>" . __('Priority') . "</td>";
echo "<td>";
CommonITILObject::dropdownPriority(array('value' => $this->fields['priority'], 'withmajor' => 1));
echo "</td>";
echo "<td>" . __('Planned duration') . "</td>";
echo "<td>";
$toadd = array();
//for ($i=9 ; $i<=100 ; $i++) {
// $toadd[] = $i*HOUR_TIMESTAMP;
//}
Dropdown::showTimeStamp("actiontime", array('min' => 0, 'max' => 50 * DAY_TIMESTAMP, 'step' => DAY_TIMESTAMP, 'value' => $this->fields["actiontime"], 'toadd' => $toadd));
echo "</td>";
echo "</tr>";
echo "<tr class='tab_bg_1'>";
echo "<td>" . __('Visibility') . "</td>";
echo "<td>";
self::dropdownVisibility(array('value' => $this->fields['visibility']));
echo "</td>";
echo "<td>" . __('Due date');
echo " ";
Html::showToolTip(nl2br(__('Empty for infinite', 'tasklists')));
echo "</td>";
echo "<td>";
Html::showDateFormItem("due_date", $this->fields["due_date"], true, true);
echo "</td>";
echo "</tr>";
echo "<tr class='tab_bg_1'>";
echo "<td>" . __('User') . "</td><td>";
User::dropdown(array('name' => "users_id", 'value' => $this->fields["users_id"], 'entity' => $this->fields["entities_id"], 'right' => 'all'));
echo "</td>";
echo "<td>" . __('Percent done') . "</td>";
echo "<td>";
Dropdown::showNumber("percent_done", array('value' => $this->fields['percent_done'], 'min' => 0, 'max' => 100, 'step' => 20, 'unit' => '%'));
echo "</td>";
echo "</tr>";
echo "<tr class='tab_bg_1'>";
echo "<td>" . __('Group') . "</td>";
echo "<td>";
Dropdown::show('Group', array('name' => "groups_id", 'value' => $this->fields["groups_id"], 'entity' => $this->fields["entities_id"], 'condition' => '`is_assign`'));
echo "</td>";
echo "<td>" . __('Status') . "</td><td>";
Planning::dropdownState("state", $this->fields["state"]);
echo "</td>";
echo "</tr>";
echo "<tr class='tab_bg_1'>";
echo "<td>";
echo __('Description') . "</td>";
echo "<td colspan = '3' class='center'>";
echo "<textarea cols='100' rows='15' name='comment' >" . $this->fields["comment"] . "</textarea>";
echo "</td>";
echo "</tr>";
$this->showFormButtons($options);
return true;
}
示例8: showVisibility
/**
* Show visibility config for a knowbaseitem
*
* @since version 0.83
**/
function showVisibility()
{
global $DB, $CFG_GLPI;
$ID = $this->fields['id'];
$canedit = $this->can($ID, UPDATE);
echo "<div class='center'>";
$rand = mt_rand();
$nb = count($this->users) + count($this->groups) + count($this->profiles) + count($this->entities);
if ($canedit) {
echo "<div class='firstbloc'>";
echo "<form name='knowbaseitemvisibility_form{$rand}' id='knowbaseitemvisibility_form{$rand}' ";
echo " method='post' action='" . Toolbox::getItemTypeFormURL('KnowbaseItem') . "'>";
echo "<input type='hidden' name='knowbaseitems_id' value='{$ID}'>";
echo "<table class='tab_cadre_fixe'>";
echo "<tr class='tab_bg_1'><th colspan='4'>" . __('Add a target') . "</th></tr>";
echo "<tr class='tab_bg_2'><td width='100px'>";
$types = array('Entity', 'Group', 'Profile', 'User');
$addrand = Dropdown::showItemTypes('_type', $types);
$params = array('type' => '__VALUE__', 'right' => $this->getField('is_faq') ? 'faq' : 'knowbase');
Ajax::updateItemOnSelectEvent("dropdown__type" . $addrand, "visibility{$rand}", $CFG_GLPI["root_doc"] . "/ajax/visibility.php", $params);
echo "</td>";
echo "<td><span id='visibility{$rand}'></span>";
echo "</td></tr>";
echo "</table>";
Html::closeForm();
echo "</div>";
}
echo "<div class='spaced'>";
if ($canedit && $nb) {
Html::openMassiveActionsForm('mass' . __CLASS__ . $rand);
$massiveactionparams = array('num_displayed' => $nb, 'container' => 'mass' . __CLASS__ . $rand, 'specific_actions' => array('delete' => _x('button', 'Delete permanently')));
if ($this->fields['users_id'] != Session::getLoginUserID()) {
$massiveactionparams['confirm'] = __('Caution! You are not the author of this element. Delete targets can result in loss of access to that element.');
}
Html::showMassiveActions($massiveactionparams);
}
echo "<table class='tab_cadre_fixehov'>";
$header_begin = "<tr>";
$header_top = '';
$header_bottom = '';
$header_end = '';
if ($canedit && $nb) {
$header_begin .= "<th width='10'>";
$header_top .= Html::getCheckAllAsCheckbox('mass' . __CLASS__ . $rand);
$header_bottom .= Html::getCheckAllAsCheckbox('mass' . __CLASS__ . $rand);
$header_end .= "</th>";
}
$header_end .= "<th>" . __('Type') . "</th>";
$header_end .= "<th>" . _n('Recipient', 'Recipients', Session::getPluralNumber()) . "</th>";
$header_end .= "</tr>";
echo $header_begin . $header_top . $header_end;
// Users
if (count($this->users)) {
foreach ($this->users as $key => $val) {
foreach ($val as $data) {
echo "<tr class='tab_bg_1'>";
if ($canedit) {
echo "<td>";
Html::showMassiveActionCheckBox('KnowbaseItem_User', $data["id"]);
echo "</td>";
}
echo "<td>" . __('User') . "</td>";
echo "<td>" . getUserName($data['users_id']) . "</td>";
echo "</tr>";
}
}
}
// Groups
if (count($this->groups)) {
foreach ($this->groups as $key => $val) {
foreach ($val as $data) {
echo "<tr class='tab_bg_1'>";
if ($canedit) {
echo "<td>";
Html::showMassiveActionCheckBox('Group_KnowbaseItem', $data["id"]);
echo "</td>";
}
echo "<td>" . __('Group') . "</td>";
echo "<td>";
$names = Dropdown::getDropdownName('glpi_groups', $data['groups_id'], 1);
$groupname = sprintf(__('%1$s %2$s'), $names["name"], Html::showToolTip($names["comment"], array('display' => false)));
if ($data['entities_id'] >= 0) {
$groupname = sprintf(__('%1$s / %2$s'), $groupname, Dropdown::getDropdownName('glpi_entities', $data['entities_id']));
if ($data['is_recursive']) {
$groupname = sprintf(__('%1$s %2$s'), $groupname, "<span class='b'>(" . __('R') . ")</span>");
}
}
echo $groupname;
echo "</td>";
echo "</tr>";
}
}
}
// Entity
if (count($this->entities)) {
//.........这里部分代码省略.........
示例9: displayReservationsForAnItem
/**
* Display a reservation
*
* @param $ID ID a the reservation item
* @param $date date to display
**/
static function displayReservationsForAnItem($ID, $date)
{
global $DB;
$users_id = Session::getLoginUserID();
$resa = new self();
$user = new User();
list($year, $month, $day) = explode("-", $date);
$debut = $date . " 00:00:00";
$fin = $date . " 23:59:59";
$query = "SELECT *\n FROM `glpi_reservations`\n WHERE '" . $debut . "' < `end`\n AND '" . $fin . "' > `begin`\n AND `reservationitems_id` = '{$ID}'\n ORDER BY `begin`";
if ($result = $DB->query($query)) {
if ($DB->numrows($result) > 0) {
echo "<table width='100%'>";
while ($row = $DB->fetch_assoc($result)) {
echo "<tr>";
$user->getFromDB($row["users_id"]);
$display = "";
if ($debut > $row['begin']) {
$heure_debut = "00:00";
} else {
$heure_debut = get_hour_from_sql($row['begin']);
}
if ($fin < $row['end']) {
$heure_fin = "24:00";
} else {
$heure_fin = get_hour_from_sql($row['end']);
}
if (strcmp($heure_debut, "00:00") == 0 && strcmp($heure_fin, "24:00") == 0) {
$display = __('Day');
} else {
if (strcmp($heure_debut, "00:00") == 0) {
$display = sprintf(__('To %s'), $heure_fin);
} else {
if (strcmp($heure_fin, "24:00") == 0) {
$display = sprintf(__('From %s'), $heure_debut);
} else {
$display = $heure_debut . "-" . $heure_fin;
}
}
}
$rand = mt_rand();
$modif = $modif_end = "";
if ($resa->canEdit($row['id'])) {
$modif = "<a id='content_" . $ID . $rand . "'\n href='reservation.form.php?id=" . $row['id'] . "'>";
$modif_end = "</a>";
$modif_end .= Html::showToolTip($row["comment"], array('applyto' => "content_" . $ID . $rand, 'display' => false));
}
echo "<td class='tab_resa center'>" . $modif . "<span>" . $display . "<br><span class='b'>" . formatUserName($user->fields["id"], $user->fields["name"], $user->fields["realname"], $user->fields["firstname"]);
echo "</span></span>";
echo $modif_end;
echo "</td></tr>\n";
}
echo "</table>\n";
}
}
}
示例10: showConnection
/**
* Display a connection of a networking port
*
* @param $netport to be displayed
* @param $edit boolean permit to edit ? (false by default)
**/
static function showConnection($netport, $edit = false)
{
$ID = $netport->fields["id"];
if (empty($ID)) {
return false;
}
$device1 = $netport->getItem();
if (!$device1->can($device1->getID(), READ)) {
return false;
}
$canedit = $device1->canEdit($device1->fields["id"]);
$relations_id = 0;
$oppositePort = NetworkPort_NetworkPort::getOpposite($netport, $relations_id);
if ($oppositePort !== false) {
$device2 = $oppositePort->getItem();
if ($device2->can($device2->fields["id"], READ)) {
$networklink = $oppositePort->getLink();
$tooltip = Html::showToolTip($oppositePort->fields['comment'], array('display' => false));
$netlink = sprintf(__('%1$s %2$s'), "<span class='b'>" . $networklink . "</span>\n", $tooltip);
//TRANS: %1$s and %2$s are links
echo " " . sprintf(__('%1$s on %2$s'), $netlink, "<span class='b'>" . $device2->getLink() . "</span>");
if ($device1->fields["entities_id"] != $device2->fields["entities_id"]) {
echo "<br>(" . Dropdown::getDropdownName("glpi_entities", $device2->getEntityID()) . ")";
}
// write rights on dev1 + READ on dev2 OR READ on dev1 + write rights on dev2
if ($canedit || $device2->canEdit($device2->fields["id"])) {
echo " ";
Html::showSimpleForm($oppositePort->getFormURL(), 'disconnect', _x('button', 'Disconnect'), array('id' => $relations_id));
}
} else {
if (rtrim($oppositePort->fields["name"]) != "") {
$netname = $oppositePort->fields["name"];
} else {
$netname = __('Without name');
}
printf(__('%1$s on %2$s'), "<span class='b'>" . $netname . "</span>", "<span class='b'>" . $device2->getName() . "</span>");
echo "<br>(" . Dropdown::getDropdownName("glpi_entities", $device2->getEntityID()) . ")";
}
} else {
echo "<div id='not_connected_display{$ID}'>" . __('Not connected.') . "</div>";
if ($canedit) {
if (!$device1->isTemplate()) {
if ($edit) {
self::dropdownConnect($ID, array('name' => 'NetworkPortConnect_networkports_id_2', 'entity' => $device1->fields["entities_id"], 'entity_sons' => $device1->isRecursive()));
} else {
echo "<a href=\"" . $netport->getFormURL() . "?id={$ID}\">" . _x('button', 'Connect') . "</a>";
}
} else {
echo " ";
}
}
}
}
示例11: displayLine
static function displayLine($data, $displayhost = 1)
{
global $DB, $CFG_GLPI;
$pMonitoringService = new PluginMonitoringService();
$networkPort = new NetworkPort();
$pMonitoringComponent = new PluginMonitoringComponent();
$pmComponentscatalog_Host = new PluginMonitoringComponentscatalog_Host();
$entity = new Entity();
$pMonitoringService->getFromDB($data['id']);
echo "<td width='32' class='center'>";
$shortstate = self::getState($data['state'], $data['state_type'], $data['event'], $data['is_acknowledged']);
$alt = __('Ok', 'monitoring');
if ($shortstate == 'orange') {
$alt = __('Warning (data)', 'monitoring');
} else {
if ($shortstate == 'yellow') {
$alt = __('Warning (connection)', 'monitoring');
} else {
if ($shortstate == 'red') {
$alt = __('Critical', 'monitoring');
} else {
if ($shortstate == 'redblue') {
$alt = __('Critical / Acknowledge', 'monitoring');
}
}
}
}
echo "<img src='" . $CFG_GLPI['root_doc'] . "/plugins/monitoring/pics/box_" . $shortstate . "_32.png'\n title='" . $alt . "' alt='" . $alt . "' />";
echo "</td>";
echo "<td>";
$entity->getFromDB($data['entities_id']);
echo $entity->fields['completename'];
echo "</td>";
$pMonitoringComponent->getFromDB($data['plugin_monitoring_components_id']);
echo "<td class='center'>";
$timezone = '0';
if (isset($_SESSION['plugin_monitoring_timezone'])) {
$timezone = $_SESSION['plugin_monitoring_timezone'];
}
if ($pMonitoringComponent->fields['graph_template'] != '') {
echo "<a href='" . $CFG_GLPI['root_doc'] . "/plugins/monitoring/front/display.form.php?itemtype=PluginMonitoringService&items_id=" . $data['id'] . "'>";
$pmServicegraph = new PluginMonitoringServicegraph();
ob_start();
$pmServicegraph->displayGraph($pMonitoringComponent->fields['graph_template'], "PluginMonitoringService", $data['id'], "0", '2h', "div", "600");
$div = ob_get_contents();
ob_end_clean();
$chart = "<table width='600' class='tab_cadre'><tr><td>" . $div . "</td></tr></table>";
Html::showToolTip($chart, array('img' => $CFG_GLPI['root_doc'] . "/plugins/monitoring/pics/stats_32.png"));
$pmServicegraph->displayGraph($pMonitoringComponent->fields['graph_template'], "PluginMonitoringService", $data['id'], "0", '2h', "js");
}
echo "</a>";
echo "</td>";
if ($displayhost == '1') {
$pmComponentscatalog_Host->getFromDB($data["plugin_monitoring_componentscatalogs_hosts_id"]);
if (isset($pmComponentscatalog_Host->fields['itemtype']) and $pmComponentscatalog_Host->fields['itemtype'] != '') {
$itemtype = $pmComponentscatalog_Host->fields['itemtype'];
$item = new $itemtype();
$item->getFromDB($pmComponentscatalog_Host->fields['items_id']);
echo "<td>";
echo $item->getTypeName() . " : " . $item->getLink();
if (!is_null($pMonitoringService->fields['networkports_id']) and $pMonitoringService->fields['networkports_id'] > 0) {
$networkPort->getFromDB($pMonitoringService->fields['networkports_id']);
echo " [" . $networkPort->getLink() . "]";
}
echo "</td>";
} else {
echo "<td>" . __('Resources', 'monitoring') . "</td>";
}
}
echo "<td>" . $pMonitoringComponent->getLink();
if (!is_null($pMonitoringService->fields['networkports_id']) and $pMonitoringService->fields['networkports_id'] > 0) {
$networkPort->getFromDB($pMonitoringService->fields['networkports_id']);
echo " [" . $networkPort->getLink() . "]";
}
echo "</td>";
// $nameitem = '';
// if (isset($itemmat->fields['name'])) {
// $nameitem = "[".$itemmat->getLink(1)."]";
// }
//if ($pMonitoringService->fields['plugin_monitoring_services_id'] == '0') {
//echo "<td>".$itemmat->getLink(1)."</td>";
// } else {
// $pMonitoringServiceH->getFromDB($pMonitoringService->fields['plugin_monitoring_services_id']);
// $itemtypemat = $pMonitoringServiceH->fields['itemtype'];
// $itemmat = new $itemtypemat();
// $itemmat->getFromDB($pMonitoringServiceH->fields['items_id']);
// echo "<td>".$pMonitoringService->getLink(1).$nameitem." ".__('on', 'monitoring')." ".$itemmat->getLink(1)."</td>";
// }
// unset($itemmat);
echo "<td class='center'>";
if ($shortstate == 'red') {
echo "<table>";
echo "<tr>";
echo "<td>";
echo $data['state'];
echo "</td>";
echo "<td>";
echo "<a href='" . $CFG_GLPI['root_doc'] . "/plugins/monitoring/front/acknowledge.form.php?id=" . $data['id'] . "'>" . "<img src='" . $CFG_GLPI['root_doc'] . "/plugins/monitoring/pics/acknowledge_checked.png'" . " alt='" . __('Define an acknowledge', 'monitoring') . "'" . " title='" . __('Define an acknowledge', 'monitoring') . "'/>" . "</a>";
echo "</td>";
echo "</tr>";
//.........这里部分代码省略.........
示例12: showFormAPI
/**
* Print the config form for External API
*
* @since 9.1
* @return Nothing (display)
**/
function showFormAPI()
{
global $DB, $CFG_GLPI;
if (!self::canView()) {
return false;
}
echo "<div class='center spaced' id='tabsbody'>";
$canedit = Config::canUpdate();
if ($canedit) {
echo "<form name='form' action=\"" . Toolbox::getItemTypeFormURL(__CLASS__) . "\" method='post'>";
}
echo "<table class='tab_cadre_fixe'>";
echo "<tr><th colspan='4'>" . __('API') . "</th></tr>";
echo "<tr class='tab_bg_2'>";
echo "<td>" . __('URL of the API') . "</td>";
echo "<td colspan='3'><input type='text' name='url_base_api' size='80' value='" . $CFG_GLPI["url_base_api"] . "'></td>";
echo "</tr>";
echo "<tr class='tab_bg_2'>";
echo "<td>" . __("Enable Rest API") . "</td>";
echo "<td>";
Dropdown::showYesNo("enable_api", $CFG_GLPI["enable_api"]);
echo "</td>";
if ($CFG_GLPI["enable_api"]) {
echo "<td colspan='2'>";
$inline_doc_api = trim($CFG_GLPI['url_base_api'], '/') . "/";
echo "<a href='{$inline_doc_api}'>" . __("API inline Documentation") . "</a>";
echo "</td>";
}
echo "</tr>";
echo "<tr><th colspan='4'>" . __('Authentication') . "</th></tr>";
echo "<tr class='tab_bg_2'>";
echo "<td>";
echo __("Enable login with credentials") . " ";
Html::showToolTip(__("Allow to login to api and get a session token with user credentials"));
echo "</td>";
echo "<td>";
Dropdown::showYesNo("enable_api_login_credentials", $CFG_GLPI["enable_api_login_credentials"]);
echo "</td>";
echo "<td>";
echo __("Enable login with external token") . " ";
Html::showToolTip(__("Allow to login to api and get a session token with user external token. See Remote access key in user Settings tab "));
echo "</td>";
echo "<td>";
Dropdown::showYesNo("enable_api_login_external_token", $CFG_GLPI["enable_api_login_external_token"]);
echo "</td>";
echo "</tr>";
echo "<tr class='tab_bg_2'><td colspan='4' class='center'>";
echo "<input type='submit' name='update' class='submit' value=\"" . _sx('button', 'Save') . "\">";
echo "<br><br><br>";
echo "</td></tr>";
echo "</table>";
Html::closeForm();
echo "<table class='tab_cadre_fixe'>";
echo "<tr><td>";
echo "<hr>";
$buttons["apiclient.form.php"] = __('Add API client');
$title = "";
Html::displayTitle("", self::getTypeName(Session::getPluralNumber()), "", $buttons);
Search::show("APIClient");
echo "</td></tr>";
echo "</table></div>";
}
示例13: getComments
//.........这里部分代码省略.........
} else {
$pm_Host = new PluginMonitoringHost();
$pm_Host->getFromDB($id);
}
// Toolbox::logInFile("pm", "Host getcomments : $id : ".$pm_Host->getID()."\n");
$comment = "";
$toadd = array();
// associated computer ...
$item = new $pm_Host->fields['itemtype'];
$item->getFromDB($pm_Host->fields['items_id']);
if ($pm_Host->getField('itemtype') == 'Computer') {
if ($item->isField('completename')) {
$toadd[] = array('name' => __('Complete name'),
'value' => nl2br($item->getField('completename')));
}
$type = new ComputerType();
if ($item->getField("computertypes_id")) {
$type->getFromDB($item->getField("computertypes_id"));
$type = $type->getName();
if (! empty($type)) {
$toadd[] = array('name' => __('Type'),
'value' => nl2br($type));
}
} else {
return $comment;
}
$model = new ComputerModel();
if ($item->getField("computermodels_id")) {
$model->getFromDB($item->getField("computermodels_id"));
$model = $model->getName();
if (! empty($model)) {
$toadd[] = array('name' => __('Model'),
'value' => nl2br($model));
}
}
$state = new State();
$state->getFromDB($item->fields["states_id"]);
$state = $state->getName();
if (! empty($state)) {
$toadd[] = array('name' => __('State'),
'value' => nl2br($state));
}
$entity = new Entity();
$entity->getFromDB($item->fields["entities_id"]);
$entity = $entity->getName();
if (! empty($entity)) {
$toadd[] = array('name' => __('Entity'),
'value' => nl2br($entity));
}
$location = new Location();
$location->getFromDB($item->fields["locations_id"]);
$location = $location->getName(array('complete' => true));
if (! empty($location)) {
$toadd[] = array('name' => __('Location'),
'value' => nl2br($location));
}
if (! empty($item->fields["serial"])) {
$toadd[] = array('name' => __('Serial'),
'value' => nl2br($item->fields["serial"]));
}
if (! empty($item->fields["otherserial"])) {
$toadd[] = array('name' => __('Inventory number'),
'value' => nl2br($item->fields["otherserial"]));
}
if (($pm_Host instanceof CommonDropdown)
&& $pm_Host->isField('comment')) {
$toadd[] = array('name' => __('Comments'),
'value' => nl2br($pm_Host->getField('comment')));
}
if (count($toadd)) {
foreach ($toadd as $data) {
$comment .= sprintf(__('%1$s: %2$s')."<br>",
"<span class='b'>".$data['name'], "</span>".$data['value']);
}
}
} else {
$toadd[] = array('name' => __('Host type'),
'value' => nl2br($item->getTypeName()));
if ($item->isField('completename')) {
$toadd[] = array('name' => __('Complete name'),
'value' => nl2br($item->getField('completename')));
}
}
if (!empty($comment)) {
return Html::showToolTip($comment, array('display' => false));
}
}
示例14: genericDisplayPlanningItem
/**
* Display a Planning Item
*
* @param $itemtype itemtype
* @param $val Array of the item to display
* @param $who ID of the user (0 if all)
* @param $type position of the item in the time block (in, through, begin or end)
* (default '')
* @param $complete complete display (more details) (default 0)
*
* @return Nothing (display function)
**/
static function genericDisplayPlanningItem($itemtype, array $val, $who, $type = "", $complete = 0)
{
global $CFG_GLPI;
$rand = mt_rand();
$styleText = "";
if (isset($val["state"])) {
switch ($val["state"]) {
case 2:
// Done
$styleText = "color:#747474;";
break;
}
}
$parenttype = str_replace('Task', '', $itemtype);
if ($parent = getItemForItemtype($parenttype)) {
$parenttype_fk = $parent->getForeignKeyField();
} else {
return;
}
echo "<img src='" . $CFG_GLPI["root_doc"] . "/pics/rdv_interv.png' alt='' title=\"" . Html::entities_deep($parent->getTypeName(1)) . "\"> ";
echo "<img src='" . $parent->getStatusIconURL($val["status"]) . "' alt='" . Html::entities_deep($parent->getStatus($val["status"])) . "' title=\"" . Html::entities_deep($parent->getStatus($val["status"])) . "\">";
echo " <a id='content_tracking_" . $val["id"] . $rand . "'\n href='" . Toolbox::getItemTypeFormURL($parenttype) . "?id=" . $val[$parenttype_fk] . "'\n style='{$styleText}'>";
switch ($type) {
case "in":
//TRANS: %1$s is the start time of a planned item, %2$s is the end
printf(__('From %1$s to %2$s :'), date("H:i", strtotime($val["begin"])), date("H:i", strtotime($val["end"])));
break;
case "through":
break;
case "begin":
//TRANS: %s is the start time of a planned item
printf(__('Start at %s:'), date("H:i", strtotime($val["begin"])));
break;
case "end":
//TRANS: %s is the end time of a planned item
printf(__('End at %s:'), date("H:i", strtotime($val["end"])));
break;
}
echo "<br>";
//TRANS: %1$s is name of the item, %2$d is its ID
printf(__('%1$s (#%2$d)'), Html::resume_text($val["name"], 80), $val[$parenttype_fk]);
if (!empty($val["device"])) {
echo "<br>" . $val["device"];
}
if ($who <= 0) {
// show tech for "show all and show group"
echo "<br>";
//TRANS: %s is user name
printf(__('By %s'), getUserName($val["users_id_tech"]));
}
echo "</a>";
$recall = '';
if (isset($val[getForeignKeyFieldForItemType($itemtype)]) && PlanningRecall::isAvailable()) {
$pr = new PlanningRecall();
if ($pr->getFromDBForItemAndUser($val['itemtype'], $val[getForeignKeyFieldForItemType($itemtype)], Session::getLoginUserID())) {
$recall = "<br><span class='b'>" . sprintf(__('Recall on %s'), Html::convDateTime($pr->fields['when'])) . "<span>";
}
}
if ($complete) {
echo "<br><span class='b'>";
if (isset($val["state"])) {
echo Planning::getState($val["state"]) . "<br>";
}
echo sprintf(__('%1$s: %2$s'), __('Priority'), $parent->getPriorityName($val["priority"]));
echo "<br>" . __('Description') . "</span><br>" . $val["content"];
echo $recall;
} else {
$content = "<span class='b'>";
if (isset($val["state"])) {
$content .= Planning::getState($val["state"]) . "<br>";
}
$content .= sprintf(__('%1$s: %2$s'), __('Priority'), $parent->getPriorityName($val["priority"])) . "<br>" . __('Description') . "</span><br>" . $val["content"] . $recall;
Html::showToolTip($content, array('applyto' => "content_tracking_" . $val["id"] . $rand));
}
}
示例15: displaySurvey
function displaySurvey($questions_id)
{
global $CFG_GLPI;
$psQuestion = new PluginSurveyticketQuestion();
if ($psQuestion->getFromDB($questions_id)) {
echo "<table class='tab_cadre' align='left' width='700' >";
echo "<tr class='tab_bg_1'>";
echo "<th colspan='3'>";
echo $psQuestion->fields['name'];
echo " ";
Html::showToolTip($psQuestion->fields['comment']);
echo "</th>";
echo "</tr>";
$nb_answer = $this->displayAnswers($questions_id);
echo "</table>";
if ($psQuestion->fields['type'] == 'radio' || $psQuestion->fields['type'] == 'yesno') {
$event = array("click");
$a_ids = array();
for ($i = 0; $i < $nb_answer; $i++) {
//array_push($a_ids, 'question'.$questions_id."_".$i);
$a_ids[] = 'question' . $questions_id . "-" . $i;
}
$params = array("question" . $questions_id => '__VALUE__', 'rand' => $questions_id, 'myname' => "question" . $questions_id);
} else {
if ($psQuestion->fields['type'] == 'date') {
$event = array("change");
$a_ids = "realquestion" . $questions_id;
$params = array("realquestion" . $questions_id => '__VALUE__', 'rand' => $questions_id, 'myname' => "realquestion" . $questions_id);
} else {
if ($psQuestion->fields['type'] == 'input') {
$event = array("change");
$a_ids = "realquestion" . $questions_id;
$params = array("realquestion" . $questions_id => '__VALUE__', 'rand' => $questions_id, 'myname' => "realquestion" . $questions_id);
} else {
$event = array("change");
$a_ids = 'question' . $questions_id;
$params = array("question" . $questions_id => '__VALUE__', 'rand' => $questions_id, 'myname' => "question" . $questions_id);
}
}
}
if ($psQuestion->fields['type'] == 'date' || $psQuestion->fields['type'] == 'input') {
echo "<script type='text/javascript'>";
Ajax::updateItemJsCode("nextquestion" . $questions_id, $CFG_GLPI["root_doc"] . "/plugins/surveyticket/ajax/displaysurvey.php", $params, $a_ids);
echo "</script>";
} else {
self::UpdateItemOnSelectEvent($a_ids, "nextquestion" . $questions_id, $CFG_GLPI["root_doc"] . "/plugins/surveyticket/ajax/displaysurvey.php", $params, $event);
}
echo "<br/><div id='nextquestion" . $questions_id . "'></div>";
}
}