/** * Show profile form * * @param $items_id integer id of the profile * @param $target value url of target * * @return nothing **/ function showForm($profiles_id = 0, $openform = TRUE, $closeform = TRUE) { echo "<div class='firstbloc'>"; if (($canedit = Session::haveRightsOr(self::$rightname, array(CREATE, UPDATE, PURGE))) && $openform) { $profile = new Profile(); echo "<form method='post' action='" . $profile->getFormURL() . "'>"; } $profile = new Profile(); $profile->getFromDB($profiles_id); $rights = array(array('itemtype' => 'PluginAddressingAddressing', 'label' => __('Generate reports', 'addressing'), 'field' => 'plugin_addressing')); $profile->displayRightsChoiceMatrix($rights, array('canedit' => $canedit, 'default_class' => 'tab_bg_2', 'title' => __('General'))); echo "<table class='tab_cadre_fixehov'>"; $effective_rights = ProfileRight::getProfileRights($profiles_id, array('plugin_addressing_use_ping_in_equipment')); echo "<tr class='tab_bg_2'>"; echo "<td width='20%'>" . __('Use ping on equipment form', 'addressing') . "</td>"; echo "<td colspan='5'>"; Html::showCheckbox(array('name' => '_plugin_addressing_use_ping_in_equipment[1_0]', 'checked' => $effective_rights['plugin_addressing_use_ping_in_equipment'])); echo "</td></tr>\n"; echo "</table>"; if ($canedit && $closeform) { echo "<div class='center'>"; echo Html::hidden('id', array('value' => $profiles_id)); echo Html::submit(_sx('button', 'Save'), array('name' => 'update')); echo "</div>\n"; Html::closeForm(); } echo "</div>"; }
/** * Show profile form * * @param $items_id integer id of the profile * @param $target value url of target * * @return nothing **/ function showForm($profiles_id = 0, $openform = TRUE, $closeform = TRUE) { echo "<div class='firstbloc'>"; if (($canedit = Session::haveRightsOr(self::$rightname, array(CREATE, UPDATE, PURGE))) && $openform) { $profile = new Profile(); echo "<form method='post' action='" . $profile->getFormURL() . "'>"; } $profile = new Profile(); $profile->getFromDB($profiles_id); if ($profile->getField('interface') == 'central') { $rights = $this->getAllRights(); $profile->displayRightsChoiceMatrix($rights, array('canedit' => $canedit, 'default_class' => 'tab_bg_2', 'title' => __('General'))); } echo "<table class='tab_cadre_fixehov'>"; echo "<tr class='tab_bg_1'><th colspan='4'>" . __('Helpdesk') . "</th></tr>\n"; $effective_rights = ProfileRight::getProfileRights($profiles_id, array('plugin_racks_open_ticket')); echo "<tr class='tab_bg_2'>"; echo "<td width='20%'>" . __('Associable items to a ticket') . "</td>"; echo "<td colspan='5'>"; Html::showCheckbox(array('name' => '_plugin_racks_open_ticket', 'checked' => $effective_rights['plugin_racks_open_ticket'])); echo "</td></tr>\n"; echo "</table>"; if ($canedit && $closeform) { echo "<div class='center'>"; echo Html::hidden('id', array('value' => $profiles_id)); echo Html::submit(_sx('button', 'Save'), array('name' => 'update')); echo "</div>\n"; Html::closeForm(); } echo "</div>"; }
/** * Display a single line of planning filter. * See self::showPlanningFilter function * * @param $filter_key : identify curent line of filter * @param $filter_data : array of filter date, must contains : * * 'show_delete' (boolean): show delete button * * 'filter_color_index' (integer): index of the color to use in self::$palette_bg * @param $options * * @return Nothing (display function) */ 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') { $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']++; if (!isset(self::$palette_bg[$params['filter_color_index']])) { $params['filter_color_index'] = 0; $color = self::$palette_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>"; }
static function displayList(PluginFusioninventoryDeployOrder $order, $datas, $rand) { global $CFG_GLPI; $pfDeployPackage = new PluginFusioninventoryDeployPackage(); $pfDeployPackage->getFromDB($order->fields['plugin_fusioninventory_deploypackages_id']); $checks_types = self::getTypes(); echo "<table class='tab_cadrehov package_item_list' id='table_check_{$rand}'>"; $i = 0; foreach ($datas['jobs']['checks'] as $check) { //specific case for filesystem size if (is_numeric($check['value'])) { if ($check['type'] == "freespaceGreater") { $check['value'] = $check['value'] * 1024 * 1024; } $check['value'] = PluginFusioninventoryDeployFile::processFilesize($check['value']); } echo Search::showNewLine(Search::HTML_OUTPUT, $i % 2); if ($pfDeployPackage->can($pfDeployPackage->getID(), UPDATE)) { echo "<td class='control'>"; Html::showCheckbox(array('name' => 'check_entries[]')); echo "</td>"; } echo "<td>"; echo "<a class='edit'" . "onclick=\"edit_subtype('check', {$order->fields['id']}, {$rand} ,this)\">" . $checks_types[$check['type']] . "</a><br />"; echo $check['path']; if (!empty($check['value'])) { echo " <b>"; if (strpos($check['type'], "Greater") !== FALSE) { echo ">"; } else { if (strpos($check['type'], "Lower") !== FALSE) { echo "<"; } else { echo "="; } } echo "</b> "; echo $check['value']; } echo "</td>"; if ($pfDeployPackage->can($pfDeployPackage->getID(), UPDATE)) { echo "<td class='rowhandler control' title='" . __('drag', 'fusioninventory') . "'><div class='drag row'></div></td>"; } echo "</tr>"; $i++; } if ($pfDeployPackage->can($pfDeployPackage->getID(), UPDATE)) { echo "<tr><th>"; Html::checkAllAsCheckbox("checksList{$rand}", mt_rand()); echo "</th><th colspan='3' class='mark'></th></tr>"; } echo "</table>"; if ($pfDeployPackage->can($pfDeployPackage->getID(), UPDATE)) { echo " <img src='" . $CFG_GLPI["root_doc"] . "/pics/arrow-left.png' alt='' />"; echo "<input type='submit' name='delete' value=\"" . __('Delete', 'fusioninventory') . "\" class='submit' />"; } }
/** * @since version 0.85 * * @see CommonDBTM::showMassiveActionsSubForm() **/ static function showMassiveActionsSubForm(MassiveAction $ma) { global $CFG_GLPI; switch ($ma->getAction()) { case "transfert": Dropdown::show('Entity'); echo Html::submit(_x('button', 'Post'), array('name' => 'massiveaction')); return true; break; case 'target_task': echo "<table class='tab_cadre' width='600'>"; echo "<tr>"; echo "<td>"; echo __('Task', 'fusioninventory') . " :"; echo "</td>"; echo "<td>"; $rand = mt_rand(); Dropdown::show('PluginFusioninventoryTask', array('name' => "tasks_id", 'condition' => "is_active = 0", 'toupdate' => array('value_fieldname' => "id", 'to_update' => "dropdown_packages_id{$rand}", 'url' => $CFG_GLPI["root_doc"] . "/plugins/fusioninventory/ajax/dropdown_taskjob.php"))); echo "</td>"; echo "</tr>"; echo "<tr>"; echo "<td>"; echo __('Package', 'fusioninventory') . " :"; echo "</td>"; echo "<td>"; Dropdown::show('PluginFusioninventoryDeployPackage', array('name' => "packages_id", 'rand' => $rand)); echo "</td>"; echo "</tr>"; echo "<tr>"; echo "<td colspan='2'>"; Html::showCheckbox(array('name' => 'separate_jobs', 'value' => 1)); echo __('Create a job for each group', 'fusioninventory'); echo "</td>"; echo "</tr>"; echo "<tr>"; echo "<td colspan='2' align='center'>"; echo Html::submit(_x('button', 'Post'), array('name' => 'massiveaction')); echo "</td>"; echo "</tr>"; echo "</table>"; return true; } }
/** Show LDAP groups to add or synchronise in an entity * * @param $target target page for the form * @param $start where to start the list * @param $sync synchronise or add ? (default 0) * @param $filter ldap filter to use (default '') * @param $filter2 second ldap filter to use (which case ?) (default '') * @param $entity working entity * @param $order display order (default DESC) * * @return nothing **/ static function showLdapGroups($target, $start, $sync = 0, $filter = '', $filter2 = '', $entity, $order = 'DESC') { echo "<br>"; $limitexceeded = false; $ldap_groups = self::getAllGroups($_SESSION["ldap_server"], $filter, $filter2, $entity, $limitexceeded, $order); if (is_array($ldap_groups)) { $numrows = count($ldap_groups); $rand = mt_rand(); $colspan = Session::isMultiEntitiesMode() ? 5 : 4; if ($numrows > 0) { self::displaySizeLimitWarning($limitexceeded); $parameters = ''; Html::printPager($start, $numrows, $target, $parameters); // delete end array_splice($ldap_groups, $start + $_SESSION['glpilist_limit']); // delete begin if ($start > 0) { array_splice($ldap_groups, 0, $start); } echo "<div class='center'>"; Html::openMassiveActionsForm('mass' . __CLASS__ . $rand); $massiveactionparams = array('num_displayed' => min($_SESSION['glpilist_limit'], count($ldap_groups)), 'container' => 'mass' . __CLASS__ . $rand, 'specific_actions' => array(__CLASS__ . MassiveAction::CLASS_ACTION_SEPARATOR . 'import_group' => _sx('button', 'Import')), 'extraparams' => array('massive_action_fields' => array('dn', 'ldap_import_type', 'ldap_import_entities', 'ldap_import_recursive'))); Html::showMassiveActions($massiveactionparams); echo "<table class='tab_cadre_fixe'>"; echo "<tr>"; echo "<th width='10'>"; Html::showCheckbox(array('criterion' => array('tag_for_massive' => 'select_item'))); echo "</th>"; $header_num = 0; echo Search::showHeaderItem(Search::HTML_OUTPUT, __('Group'), $header_num, $target . "?order=" . ($order == "DESC" ? "ASC" : "DESC"), 1, $order); echo "<th>" . __('Group DN') . "</th>"; echo "<th>" . __('Destination entity') . "</th>"; if (Session::isMultiEntitiesMode()) { echo "<th>" . __('Child entities') . "</th>"; } echo "</tr>"; $dn_index = 0; foreach ($ldap_groups as $groupinfos) { $group = $groupinfos["cn"]; $group_dn = $groupinfos["dn"]; $search_type = $groupinfos["search_type"]; echo "<tr class='tab_bg_2 center'>"; echo "<td>"; echo Html::hidden("dn[{$dn_index}]", array('value' => $group_dn, 'data-glpicore-ma-tags' => 'common')); echo Html::hidden("ldap_import_type[{$dn_index}]", array('value' => $search_type, 'data-glpicore-ma-tags' => 'common')); Html::showMassiveActionCheckBox(__CLASS__, $dn_index, array('massive_tags' => 'select_item')); echo "</td>"; echo "<td>" . $group . "</td>"; echo "<td>" . $group_dn . "</td>"; echo "<td>"; Entity::dropdown(array('value' => $entity, 'name' => "ldap_import_entities[{$dn_index}]", 'specific_tags' => array('data-glpicore-ma-tags' => 'common'))); echo "</td>"; if (Session::isMultiEntitiesMode()) { echo "<td>"; Html::showCheckbox(array('name' => "ldap_import_recursive[{$dn_index}]", 'specific_tags' => array('data-glpicore-ma-tags' => 'common'))); echo "</td>"; } else { echo Html::hidden("ldap_import_recursive[{$dn_index}]", array('value' => 0, 'data-glpicore-ma-tags' => 'common')); } echo "</tr>\n"; $dn_index++; } $massiveactionparams['ontop'] = false; Html::showMassiveActions($massiveactionparams); Html::closeForm(); echo "</div>"; Html::printPager($start, $numrows, $target, $parameters); } else { echo "<div class='center b'>" . __('No group to be imported') . "</div>"; } } else { echo "<div class='center b'>" . __('No group to be imported') . "</div>"; } }
/** * Display choice matrix * * @since version 0.85 * @param $columns array of column field name => column label * @param $rows array of field name => array( * 'label' the label of the row * 'columns' an array of specific information regaring current row and given column indexed by column field_name * * a string if only have to display a string * * an array('value' => ???, 'readonly' => ???) that is used to Dropdown::showYesNo() * @param $options array possible: * 'title' of the matrix * 'first_cell' the content of the upper-left cell * 'row_check_all' set to true to display a checkbox to check all elements of the row * 'col_check_all' set to true to display a checkbox to check all elements of the col * 'rand' random number to use for ids * * @return random value used to generate the ids **/ static function showCheckboxMatrix(array $columns, array $rows, array $options = array()) { $param['title'] = ''; $param['first_cell'] = ' '; $param['row_check_all'] = false; $param['col_check_all'] = false; $param['rotate_column_titles'] = false; $param['rand'] = mt_rand(); $param['table_class'] = 'tab_cadre_fixehov'; $param['cell_class_method'] = NULL; if (is_array($options) && count($options)) { foreach ($options as $key => $val) { $param[$key] = $val; } } $cb_options = array('title' => __s('Check/uncheck all')); $number_columns = count($columns) + 1; if ($param['row_check_all']) { $number_columns += 1; } $width = round(100 / $number_columns); echo "\n<table class='" . $param['table_class'] . "'>\n"; if (!empty($param['title'])) { echo "\t<tr>\n"; echo "\t\t<th colspan='{$number_columns}'>" . $param['title'] . "</th>\n"; echo "\t</tr>\n"; } echo "\t<tr class='tab_bg_1'>\n"; echo "\t\t<td>" . $param['first_cell'] . "</td>\n"; foreach ($columns as $col_name => $column) { $nb_cb_per_col[$col_name] = array('total' => 0, 'checked' => 0); $col_id = Html::cleanId('col_label_' . $col_name . '_' . $param['rand']); echo "\t\t<td class='center b"; if ($param['rotate_column_titles']) { echo " rotate"; } echo "' id='{$col_id}' width='{$width}%'>"; if (!is_array($column)) { $columns[$col_name] = $column = array('label' => $column); } if (isset($column['short']) && isset($column['long'])) { echo $column['short']; self::showToolTip($column['long'], array('applyto' => $col_id)); } else { echo $column['label']; } echo "</td>\n"; } if ($param['row_check_all']) { $col_id = Html::cleanId('col_of_table_' . $param['rand']); echo "\t\t<td class='center"; if ($param['rotate_column_titles']) { echo " rotate"; } echo "' id='{$col_id}'>" . __('Select/unselect all') . "</td>\n"; } echo "\t</tr>\n"; foreach ($rows as $row_name => $row) { if (!is_string($row) && !is_array($row)) { continue; } echo "\t<tr class='tab_bg_1'>\n"; if (is_string($row)) { echo "\t\t<th colspan='{$number_columns}'>{$row}</th>\n"; } else { $row_id = Html::cleanId('row_label_' . $row_name . '_' . $param['rand']); if (isset($row['class'])) { $class = $row['class']; } else { $class = ''; } echo "\t\t<td class='b {$class}' id='{$row_id}'>"; if (!empty($row['label'])) { echo $row['label']; } else { echo " "; } echo "</td>\n"; $nb_cb_per_row = array('total' => 0, 'checked' => 0); foreach ($columns as $col_name => $column) { $class = ''; if (!empty($row['class']) && !empty($column['class'])) { if (is_callable($param['cell_class_method'])) { $class = $param['cell_class_method']($row['class'], $column['class']); } } else { if (!empty($row['class'])) { $class = $row['class']; } else { if (!empty($column['class'])) { $class = $column['class']; } } } echo "\t\t<td class='center {$class}'>"; // Warning: isset return false if the value is NULL ... if (array_key_exists($col_name, $row['columns'])) { $content = $row['columns'][$col_name]; if (is_array($content) && array_key_exists('checked', $content)) { if (!array_key_exists('readonly', $content)) { $content['readonly'] = false; } $content['massive_tags'] = array(); if ($param['row_check_all']) { $content['massive_tags'][] = 'row_' . $row_name . '_' . $param['rand']; } if ($param['col_check_all']) { $content['massive_tags'][] = 'col_' . $col_name . '_' . $param['rand']; } if ($param['row_check_all'] && $param['col_check_all']) { $content['massive_tags'][] = 'table_' . $param['rand']; } $content['name'] = $row_name . "[{$col_name}]"; $content['id'] = Html::cleanId('cb_' . $row_name . '_' . $col_name . '_' . $param['rand']); Html::showCheckbox($content); $nb_cb_per_col[$col_name]['total']++; $nb_cb_per_row['total']++; if ($content['checked']) { $nb_cb_per_col[$col_name]['checked']++; $nb_cb_per_row['checked']++; } } else { if (is_string($content)) { echo $content; } else { echo " "; } } } else { echo " "; } echo "</td>\n"; } } if ($param['row_check_all'] && !is_string($row) && $nb_cb_per_row['total'] > 1) { $cb_options['criterion'] = array('tag_for_massive' => 'row_' . $row_name . '_' . $param['rand']); $cb_options['massive_tags'] = 'table_' . $param['rand']; $cb_options['id'] = Html::cleanId('cb_checkall_row_' . $row_name . '_' . $param['rand']); $cb_options['checked'] = $nb_cb_per_row['checked'] > $nb_cb_per_row['total'] / 2; echo "\t\t<td class='center'>" . Html::getCheckbox($cb_options) . "</td>\n"; } echo "\t</tr>\n"; } if ($param['col_check_all']) { echo "\t<tr class='tab_bg_1'>\n"; echo "\t\t<td>" . __('Select/unselect all') . "</td>\n"; foreach ($columns as $col_name => $column) { echo "\t\t<td class='center'>"; if ($nb_cb_per_col[$col_name]['total'] > 1) { $cb_options['criterion'] = array('tag_for_massive' => 'col_' . $col_name . '_' . $param['rand']); $cb_options['massive_tags'] = 'table_' . $param['rand']; $cb_options['id'] = Html::cleanId('cb_checkall_col_' . $col_name . '_' . $param['rand']); $cb_options['checked'] = $nb_cb_per_col[$col_name]['checked'] > $nb_cb_per_col[$col_name]['total'] / 2; echo Html::getCheckbox($cb_options); } else { echo " "; } echo "</td>\n"; } if ($param['row_check_all']) { $cb_options['criterion'] = array('tag_for_massive' => 'table_' . $param['rand']); $cb_options['massive_tags'] = ''; $cb_options['id'] = Html::cleanId('cb_checkall_table_' . $param['rand']); echo "\t\t<td class='center'>" . Html::getCheckbox($cb_options) . "</td>\n"; } echo "\t</tr>\n"; } echo "</table>\n"; return $param['rand']; }
function showForm($id, $options = array()) { if (!Session::haveRight('plugin_fusioninventory_printer', READ)) { return FALSE; } // display stats $stats = $this->stats($id); if ($stats) { $this->showTabs($options); $this->showFormHeader($options); echo "<tr class='tab_bg_1'>"; echo "<td>" . __('Total printed pages', 'fusioninventory') . " : </td>"; echo "<td>" . $stats["num_pages"] . "</td></tr>"; echo "<tr class='tab_bg_1'>"; echo "<td>" . __('Pages / day', 'fusioninventory') . " : </td>"; echo "<td>" . $stats["pages_per_day"] . "</td></tr>"; echo "</table></div>"; } // preparing to display history if (!isset($_GET['start'])) { $_GET['start'] = 0; } $numrows = $this->countAllEntries($id); $parameters = "id=" . $_GET["id"] . "&onglet=" . $_SESSION["glpi_onglet"]; echo "<br>"; Html::printPager($_GET['start'], $numrows, $_SERVER['PHP_SELF'], $parameters); $limit = $numrows; if ($_SESSION["glpilist_limit"] < $numrows) { $limit = $_SESSION["glpilist_limit"]; } // Get history $data = $this->getEntries($id, $_GET['start'], $limit); if (!$data) { return FALSE; } echo "<div align='center'><form method='post' name='printer_history_form'\n id='printer_history_form' action=\"" . Toolbox::getItemTypeFormURL(__CLASS__) . "\">"; echo "<table class='tab_cadre' cellpadding='5'><tr><th colspan='3'>"; echo __('History meter printer', 'fusioninventory') . " :</th></tr>"; echo "<tr class='tab_bg_1'>"; echo "<th></th>"; echo "<th>" . __('Date') . " :</th>"; echo "<th>" . __('Meter', 'fusioninventory') . " :</th></tr>"; for ($i = 0; $i < $limit; $i++) { echo "<tr class='tab_bg_1'>"; echo "<td align='center'>"; Html::showCheckbox(array('name' => "checked_{$i}", 'value' => 1)); echo "</td>"; echo "<td align='center'>" . $data["{$i}"]['date'] . "</td>"; echo "<td align='center'>" . $data["{$i}"]['pages'] . "</td>"; echo "</td></tr>"; echo "<input type='hidden' name='ID_{$i}' value='" . $data["{$i}"]['id'] . "'>"; } if (!Session::haveRight('plugin_fusioninventory_printer', UPDATE)) { return FALSE; } echo "<input type='hidden' name='limit' value='" . $limit . "'>"; echo "<tr class='tab_bg_1'><td colspan='3'>"; echo "<div align='center'><a onclick= \"if (markAllRows('printer_history_form'))\n return FALSE;\"\n href='" . $_SERVER['PHP_SELF'] . "?select=all'>" . __('Check All', 'fusioninventory') . "</a>"; echo " - <a onclick= \"if ( unMarkAllRows('printer_history_form') ) return FALSE;\"\n href='" . $_SERVER['PHP_SELF'] . "?select=none'>" . __('Uncheck All', 'fusioninventory') . "</a> "; echo "<input type='submit' name='delete' value=\"" . __('Delete', 'fusioninventory') . "\" class='submit' ></div></td></tr>"; echo "</table>"; Html::closeForm(); echo "</div>"; }
public function showCheckboxField($title, $varname, $options = array()) { echo "<label>" . $title . " :" . "</label>"; $options['name'] = $varname; $options['checked'] = $this->fields[$varname]; $options['zero_on_empty'] = true; echo "<div class='input_wrap'>"; Html::showCheckbox($options); echo "</div>"; }
/** * Show profile form * * @param $items_id integer id of the profile * @param $target value url of target * * @return nothing **/ function showForm($profiles_id = 0, $options = array()) { echo "<div class='firstbloc'>"; $profile = new Profile(); if ($profiles_id > 0) { $profile->check($profiles_id, READ); } else { // Create item $profile->check(-1, CREATE); } $profile->showFormHeader($options); $rights = $this->getAllRights(); $profile->displayRightsChoiceMatrix($rights, array('default_class' => 'tab_bg_2', 'title' => __('General'))); echo "<table class='tab_cadre_fixehov'>"; echo "<tr class='tab_bg_1'><th colspan='4'>" . __('Advanced', 'consumables') . "</th></tr>\n"; $effective_rights = ProfileRight::getProfileRights($profiles_id, array('plugin_consumables_user', 'plugin_consumables_group', 'plugin_consumables_validation', 'plugin_consumables_request')); echo "<tr class='tab_bg_2'>"; echo "<td>" . __('Consumable validation', 'consumables') . "</td>"; echo "<td>"; Html::showCheckbox(array('name' => '_plugin_consumables_validation[1_0]', 'checked' => $effective_rights['plugin_consumables_validation'])); echo "<td>" . __('Make a consumable request', 'consumables') . "</td>"; echo "<td>"; Html::showCheckbox(array('name' => '_plugin_consumables_request[1_0]', 'checked' => $effective_rights['plugin_consumables_request'])); echo "</td>"; echo "</tr>\n"; echo "<tr class='tab_bg_2'>"; echo "<td>" . __('Make a consumable request for all users', 'consumables') . "</td>"; echo "<td>"; Html::showCheckbox(array('name' => '_plugin_consumables_user[1_0]', 'checked' => $effective_rights['plugin_consumables_user'])); echo "</td>"; echo "<td>" . __('Make a consumable request for my groups', 'consumables') . "</td>"; echo "<td>"; Html::showCheckbox(array('name' => '_plugin_consumables_group[1_0]', 'checked' => $effective_rights['plugin_consumables_group'])); echo "</td>"; echo "</tr>\n"; $profile->showFormButtons($options); echo "</div>"; }
static function displayList(PluginFusioninventoryDeployOrder $order, $datas, $rand) { global $CFG_GLPI; $pfDeployPackage = new PluginFusioninventoryDeployPackage(); $pfDeployPackage->getFromDB($order->fields['plugin_fusioninventory_deploypackages_id']); echo "<table class='tab_cadrehov package_item_list' id='table_action_{$rand}'>"; $i = 0; foreach ($datas['jobs']['actions'] as $action) { echo Search::showNewLine(Search::HTML_OUTPUT, $i % 2); if ($pfDeployPackage->can($pfDeployPackage->getID(), UPDATE)) { echo "<td class='control'>"; Html::showCheckbox(array('name' => 'action_entries[]')); echo "</td>"; } $keys = array_keys($action); $action_type = array_shift($keys); echo "<td>"; echo "<a class='edit' " . "onclick=\"edit_subtype('action', {$order->fields['id']}, {$rand}, this)\">"; echo PluginFusioninventoryDeployAction::getType($action_type); echo "</a><br />"; foreach ($action[$action_type] as $key => $value) { if (is_array($value)) { if ($key === "list") { foreach ($value as $list) { echo $list; echo " "; } } } else { echo "<b>"; if ($key == 'exec') { echo __('Command to execute', 'fusioninventory'); } else { echo $key; } echo "</b>"; if ($key === "exec") { echo "<pre style='border-left:solid lightgrey 3px;margin-left: 5px;" . "padding-left:2px'>{$value}</pre>"; } else { echo " {$value} "; } } } if (isset($action[$action_type]['retChecks'])) { echo "<br><b>" . __("return codes saved for this command", 'fusioninventory') . "</b> : <ul class='retChecks'>"; foreach ($action[$action_type]['retChecks'] as $retCheck) { echo "<li>"; $retchecks_entries = self::retchecks_entries(); echo $retchecks_entries[$retCheck['type']] . " " . array_shift($retCheck['values']); echo "</li>"; } echo "</ul>"; } echo "</td>"; echo "</td>"; if ($pfDeployPackage->can($pfDeployPackage->getID(), UPDATE)) { echo "<td class='rowhandler control' title='" . __('drag', 'fusioninventory') . "'><div class='drag row'></div></td>"; } echo "</tr>"; $i++; } if ($pfDeployPackage->can($pfDeployPackage->getID(), UPDATE)) { echo "<tr><th>"; Html::checkAllAsCheckbox("actionsList{$rand}", mt_rand()); echo "</th><th colspan='3' class='mark'></th></tr>"; } echo "</table>"; if ($pfDeployPackage->can($pfDeployPackage->getID(), UPDATE)) { echo " <img src='" . $CFG_GLPI["root_doc"] . "/pics/arrow-left.png' alt=''>"; echo "<input type='submit' name='delete' value=\"" . __('Delete', 'fusioninventory') . "\" class='submit'>"; } }
public function _showActors() { global $CFG_GLPI; //$ok = $this->getFromDB($id); $id = $this->fields['id']; $name = $this->fields['name']; echo "<table class='tab_cadre'>"; $nb = 0; if ($ok) { $a_typenames = importArrayFromDB($this->fields[$name]); foreach ($a_typenames as $key => $a_typename) { foreach ($a_typename as $itemtype => $items_id) { $display = ''; if ($itemtype == "PluginFusioninventoryAgent" and $items_id == "") { $display = __('Auto managenement dynamic of agents', 'fusioninventory'); } else { if ($itemtype == "PluginFusioninventoryAgent" and $items_id == ".2") { $display = __('Auto managenement dynamic of agents (same subnet)', 'fusioninventory'); } else { $class = new $itemtype(); $class->getFromDB($items_id); $display = $class->getLink(1); } } echo "<tr>"; echo "<td style='padding: 1px 2px;'>"; Html::showCheckbox(array('name' => $name . "item", 'value' => $key)); echo "</td>"; echo "<td style='padding: 1px 2px;'>"; echo $display; echo "</td>"; echo "</tr>"; $nb++; } } } echo "</table>"; if ($nb > 0) { echo "<center><input type='button' id='delete" . $name . $id . "' name='delete" . $name . $id . "' " . "value=\"" . __('Delete', 'fusioninventory') . "\" class='submit'></center>"; $params = array($name . 'item' => '__CHECKBOX__', 'type' => $name, 'taskjobs_id' => $id); $toobserve = "delete" . $name . $id; $toupdate = "Deleteitem"; $url = $CFG_GLPI["root_doc"] . "/plugins/fusioninventory/ajax/taskjobdeletetype.php"; $parameters = $params; $events = array("click"); $minsize = -1; $forceloadfor = array(__('Delete', 'fusioninventory')); echo "<script type='text/javascript'>"; echo implode("\n", array(" function checkboxvalues(item) {", " var inputs = document.getElementsByName(item);", " var namelist = '';", " for(var i = 0; i < inputs.length; i++){", " if(inputs[i].checked) {", " namelist += inputs[i].value + '-';", " }", " }", " return namelist;", " }")); $zones = array($toobserve); if (is_array($toobserve)) { $zones = $toobserve; } foreach ($zones as $zone) { foreach ($events as $event) { echo "\n Ext.get('{$zone}').on(\n '{$event}',\n function() {"; $condition = ''; if ($minsize >= 0) { $condition = " Ext.get('{$zone}').getValue().length >= {$minsize} "; } if (count($forceloadfor)) { foreach ($forceloadfor as $value) { if (!empty($condition)) { $condition .= " || "; } $condition .= "Ext.get('{$zone}').getValue() == '{$value}'"; } } if (!empty($condition)) { echo "if ({$condition}) {"; } //self::updateItemJsCode($toupdate, $url, $parameters, $toobserve); // Get it from a Ext.Element object $out = "Ext.get('{$toupdate}').load({\n url: '{$url}',\n scripts: true"; if (count($parameters)) { $out .= ",\n params:'"; $first = TRUE; foreach ($parameters as $key => $val) { if ($first) { $first = FALSE; } else { $out .= "&"; } $out .= $key . "="; if ($val === "__CHECKBOX__") { $out .= "'+checkboxvalues('" . $key . "')+'"; } else { if (preg_match("/'/", $val)) { $out .= rawurlencode($val); } else { $out .= $val; } } } echo $out . "'\n"; } echo "});"; if (!empty($condition)) { echo "}"; } echo "});\n"; } } echo "</script>"; echo "<span id='Deleteitem'> </span>"; } }
/** * Display form to add exception of modules activation for each agent * * @param interger $items_id ID of the agent * * @return bool TRUE if form is ok * **/ function showFormAgentException($items_id) { global $CFG_GLPI; $pfAgent = new PluginFusioninventoryAgent(); $pfAgent->getFromDB($items_id); $canedit = $pfAgent->can($items_id, UPDATE); echo "<br/>"; if ($canedit) { echo "<form name='form_ic' method='post' action='" . $CFG_GLPI['root_doc'] . "/plugins/fusioninventory/front/agentmodule.form.php'>"; } echo "<table class='tab_cadre_fixe'>"; echo "<tr>"; echo "<th>" . __('Module', 'fusioninventory') . "</th>"; echo "<th>Activation</th>"; echo "<th>" . __('Module', 'fusioninventory') . "</th>"; echo "<th>Activation</th>"; echo "</tr>"; $a_modules = $this->find(); $i = 0; $a_methods = PluginFusioninventoryStaticmisc::getmethods(); foreach ($a_modules as $data) { if ($i == 0) { echo "<tr class='tab_bg_1'>"; } $modulename = $data["modulename"]; foreach ($a_methods as $datamod) { if (strtolower($data["modulename"]) == strtolower($datamod['method']) || isset($datamod['task']) && strtolower($data["modulename"]) == strtolower($datamod['task'])) { if (isset($datamod['name'])) { $modulename = $datamod['name']; } break; } } // Hack for snmpquery if ($data["modulename"] == 'SNMPQUERY') { $modulename = __('Network inventory (SNMP)', 'fusioninventory'); } // Hack for deploy if ($data["modulename"] == 'DEPLOY') { $modulename = __('Package deployment', 'fusioninventory'); } echo "<td width='50%'>" . $modulename . " :</td>"; echo "<td align='center'>"; $checked = $data['is_active']; $a_agentList = importArrayFromDB($data['exceptions']); if (in_array($items_id, $a_agentList)) { if ($checked == 1) { $checked = 0; } else { $checked = 1; } } $check = ""; Html::showCheckbox(array('name' => "activation-" . $data["modulename"], 'value' => '1', 'checked' => $checked)); echo "</td>"; if ($i == 1) { echo "</tr>"; $i = -1; } $i++; } if ($i == 1) { echo "<td></td>"; echo "<td></td>"; echo "</tr>"; } if ($canedit) { echo "<tr>"; echo "<td class='tab_bg_2 center' colspan='4'>"; echo Html::hidden('id', array('value' => $items_id)); echo "<input type='submit' name='updateexceptions' " . "value=\"" . __('Update') . "\" class='submit'>"; echo "</td>"; echo "</tr>"; echo "</table>"; Html::closeForm(); } else { echo "</table>"; } }
function displayList($tasks_id) { global $CFG_GLPI; $rand = mt_rand(); echo "<script type=\"text/javascript\">\nfunction edit_subtype(id,el) {\n\n //remove all border to previous selected item (remove classes)\n// Ext.select('#table_taskjob_'+ _rand +' tr').removeClass('selected');\n\n\n var row = null;\n if (el) {\n // get parent row of the selected element\n row = jQuery(el).parents('tr:first')\n }\n\n if (row) {\n //add border to selected index (add class)\n row.addClass('selected');\n// params['index'] = row.index();\n // change mode to edit\n// params['mode'] = 'edit';\n arg = 'taskjobs_id=' + id;\n } else {\n arg = 'tasks_id=' + id;\n }\n\n //scroll to edit form\n// document.getElementById('th_title_taskjob_' + _rand).scrollIntoView();\n\n //show and load form\n// \$('taskjobs_block' + _rand).setDisplayed('block');\n \$('#taskjobs_block').load('../ajax/taskjob_form.php?' + arg);\n}\n\n/*\n * Create a new subtype element.\n * This method just override *edit_subtype* with a null element.\n */\nfunction new_subtype(id) {\n edit_subtype(id, null);\n}\n</script>"; echo "<table class='tab_cadre_fixe' id='package_order_" . $tasks_id . "'>"; echo "<tr>"; echo "<th id='th_title_taskjob_{$rand}'>"; //echo "<img src='".$CFG_GLPI["root_doc"]."/plugins/fusioninventory/pics/$subtype.png' />"; echo " " . $this->getTypeName(); echo " "; echo "<img id='plus_taskjobs_block{$rand}'"; echo " onclick=\"new_subtype({$tasks_id})\" "; echo " title='" . __('Add') . "' alt='" . __('Add') . "' "; echo " class='pointer' src='" . $CFG_GLPI["root_doc"] . "/pics/add_dropdown.png' /> "; echo "</th>"; echo "</tr>"; echo "<tr>"; echo "<td style='vertical-align:top'>"; /** * Display subtype form **/ echo "<form name='additiontaskjob' method='post' " . " action='taskjob.form.php'>"; echo "<input type='hidden' name='orders_id' value='{$tasks_id}' />"; echo "<input type='hidden' name='itemtype' value='PluginFusioninventoryDeploy" . ucfirst('taskjob') . "' />"; echo "<div id='taskjobs_block'></div>"; Html::closeForm(); $a_taskjobs = getAllDatasFromTable($this->getTable(), "`plugin_fusioninventory_tasks_id`='" . $tasks_id . "'", FALSE, '`ranking`'); echo "<div id='drag_taskjob_taskjobs'>"; echo "<table class='tab_cadrehov package_item_list' id='table_taskjob_{$rand}' style='width: 950px'>"; $i = 0; foreach ($a_taskjobs as $data) { echo Search::showNewLine(Search::HTML_OUTPUT, $i % 2); echo "<td class='control'>"; Html::showCheckbox(array('name' => 'taskjob_entries[]', 'value' => $i)); echo "</td>"; echo "<td>"; echo "<a class='edit' " . "onclick=\"edit_subtype({$data['id']}, this)\">"; echo $data['name']; echo "</a><br />"; echo "<b>"; echo __('Definition', 'fusioninventory'); echo "</b>"; echo "<ul class='retChecks'>"; $a_definitions = importArrayFromDB($data['definition']); foreach ($a_definitions as $a_definition) { foreach ($a_definition as $itemtype => $items_id) { echo "<li>"; $item = new $itemtype(); $item->getFromDB($items_id); echo $item->getTypeName() . " > "; echo $item->getLink(); echo "</li>"; } } echo "</ul>"; echo "<b>"; echo __('Action', 'fusioninventory'); echo "</b>"; echo "<ul class='retChecks'>"; $a_actions = importArrayFromDB($data['action']); foreach ($a_actions as $a_action) { foreach ($a_action as $itemtype => $items_id) { echo "<li>"; $item = new $itemtype(); $item->getFromDB($items_id); echo $item->getTypeName() . " > "; echo $item->getLink(); echo "</li>"; } } echo "</ul>"; echo "</td>"; echo "</td>"; echo "<td class='rowhandler control' title='" . __('drag', 'fusioninventory') . "'><div class='drag row'></div></td>"; echo "</tr>"; $i++; } echo "<tr><th>"; Html::checkAllAsCheckbox("taskjobsList{$rand}", mt_rand()); echo "</th><th colspan='3' class='mark'></th></tr>"; echo "</table>"; echo "</div>"; echo " <img src='" . $CFG_GLPI["root_doc"] . "/pics/arrow-left.png' alt=''>"; echo "<input type='submit' name='delete' value=\"" . __('Delete', 'fusioninventory') . "\" class='submit'>"; /** * Initialize drag and drop on subtype lists **/ echo "<script type=\"text/javascript\">\n redipsInit('taskjob', 'taskjob', {$tasks_id});\n</script>"; echo "</table>"; }
/** * @since version 0.85 * * @see CommonDBRelation::showRelationMassiveActionsSubForm() **/ static function showRelationMassiveActionsSubForm(MassiveAction $ma, $peer_number) { if ($ma->getAction() == 'add' && $peer_number == 2) { echo "<br><br>" . sprintf(__('%1$s: %2$s'), _n('Entity', 'Entities', 1), ''); Entity::dropdown(array('entity' => $_SESSION['glpiactiveentities'])); echo "<br><br>" . sprintf(__('%1$s: %2$s'), __('Recursive'), ''); Html::showCheckbox(array('name' => 'is_recursive')); } }
function showFormItemtype($p_itemtype) { $can = 0; $typeright = strtolower($p_itemtype); if ($typeright == "networkequipment") { $typeright = "networking"; } if (Session::haveRight($typeright, UPDATE)) { $can = 1; } $tableName = getTableForItemType($p_itemtype); echo "<div width='50%'>"; $locked = PluginFusioninventoryLock::getLockFields($tableName, 0); if (!count($locked)) { $locked = array(); } $colspan = '2'; $item = new $p_itemtype(); $item->getEmpty(); echo "<form method='post' action='" . PluginFusioninventoryLock::getFormURL() . "'>"; echo "<input type='hidden' name='id' value='0'>"; echo "<input type='hidden' name='type' value='{$p_itemtype}'>"; echo "<table class='tab_cadre'>"; echo "<tr>"; echo "<th colspan='2'>" . $item->getTypeName(1) . "</th>"; echo "</tr>"; echo "<tr><th> " . __('Fields') . " </th>"; echo "<th> " . _n('Lock', 'Locks', 2, 'fusioninventory') . " </th>"; echo "</tr>"; $checked = false; $a_exclude = $this->excludeFields(); $serialized = $this->getSerialized_InventoryArray($p_itemtype, 0); $options = search::getOptions($p_itemtype); foreach ($item->fields as $key => $val) { $name = ""; $key_source = $key; if (!in_array($key, $a_exclude)) { if (in_array($key, $locked)) { $checked = true; } else { $checked = false; } // Get name of field $num = Search::getOptionNumber($p_itemtype, $key); if (isset($options[$num]['name'])) { $name = $options[$num]['name']; } else { //Get name by search in linkfields foreach ($options as $opt) { if (isset($opt['linkfield']) && $opt['linkfield'] == $key) { $name = $opt['name']; break; } } } $css_glpi_value = ''; // Get value of field $val = $this->getValueForKey($val, $key); echo "<tr class='tab_bg_1'>"; $table = getTableNameForForeignKeyField($key); if ($name == "" && $table != "") { $linkItemtype = getItemTypeForTable($table); $class = new $linkItemtype(); $name = $class->getTypeName(); } echo "<td>" . $name . "</td>"; echo "<td align='center'>"; Html::showCheckbox(array('name' => "lockfield_fusioninventory[{$key_source}]", 'checked' => $checked)); echo "</td>"; echo "</tr>"; } } if ($can == '1') { echo "<tr class='tab_bg_2'>"; echo "<td align='center' colspan='" . ($colspan + 1) . "'>"; echo "<input class='submit' type='submit' name='unlock_field_fusioninventory'\n value='" . __('Update') . "'>"; echo "</td>"; echo "</tr>"; } echo "</table>"; Html::closeForm(); echo "</div>"; }
/** * Print the user preference form * * @param $target form target * @param $ID integer Id of the user * * @return boolean : user found **/ function showMyForm($target, $ID) { global $CFG_GLPI, $PLUGIN_HOOKS; // Affiche un formulaire User if ($ID != Session::getLoginUserID() && !$this->currentUserHaveMoreRightThan($ID)) { return false; } if ($this->getFromDB($ID)) { $rand = mt_rand(); $authtype = $this->getAuthMethodsByID(); $extauth = !($this->fields["authtype"] == Auth::DB_GLPI || $this->fields["authtype"] == Auth::NOT_YET_AUTHENTIFIED && !empty($this->fields["password"])); // No autocopletion : $save_autocompletion = $CFG_GLPI["use_ajax_autocompletion"]; $CFG_GLPI["use_ajax_autocompletion"] = false; echo "<div class='center'>"; echo "<form method='post' name='user_manager' enctype='multipart/form-data' action='" . $target . "' autocomplete='off'>"; echo "<table class='tab_cadre_fixe'>"; echo "<tr><th colspan='4'>" . sprintf(__('%1$s: %2$s'), __('Login'), $this->fields["name"]); echo "<input type='hidden' name='name' value='" . $this->fields["name"] . "'>"; echo "<input type='hidden' name='id' value='" . $this->fields["id"] . "'>"; echo "</th></tr>"; echo "<tr class='tab_bg_1'><td>" . __('Surname') . "</td><td>"; if ($extauth && isset($authtype['realname_field']) && !empty($authtype['realname_field'])) { echo $this->fields["realname"]; } else { Html::autocompletionTextField($this, "realname"); } echo "</td>"; if (!empty($this->fields["name"])) { echo "<td rowspan='3'>" . __('Picture') . "</td>"; echo "<td rowspan='3'>"; echo "<div class='user_picture_border_small' id='picture{$rand}'>"; echo "<img class='user_picture_small' alt=\"" . __s('Picture') . "\" src='" . User::getThumbnailURLForPicture($this->fields['picture']) . "'>"; echo "</div>"; $full_picture = "<div class='user_picture_border'>"; $full_picture .= "<img class='user_picture' alt=\"" . __s('Picture') . "\" src='" . User::getURLForPicture($this->fields['picture']) . "'>"; $full_picture .= "</div>"; Html::showTooltip($full_picture, array('applyto' => "picture{$rand}")); echo "<input type='file' name='picture' accept='image/*'>"; echo " "; Html::showCheckbox(array('name' => '_blank_picture', 'title' => __('Clear'))); echo " " . __('Clear'); echo "</td>"; echo "</tr>"; } echo "<tr class='tab_bg_1'><td>" . __('First name') . "</td><td>"; if ($extauth && isset($authtype['firstname_field']) && !empty($authtype['firstname_field'])) { echo $this->fields["firstname"]; } else { Html::autocompletionTextField($this, "firstname"); } echo "</td></tr>"; echo "<tr class='tab_bg_1'>"; if (!GLPI_DEMO_MODE) { echo "<td>" . __('Language') . "</td><td>"; // Use session variable because field in table may be null if same of the global config Dropdown::showLanguages("language", array('value' => $_SESSION["glpilanguage"])); echo "</td>"; } else { echo "<td colspan='2'> </td>"; } echo "</tr>"; //do some rights verification if (!$extauth && Session::haveRight("password_update", "1")) { echo "<tr class='tab_bg_1'>"; echo "<td>" . __('Password') . "</td>"; echo "<td><input id='password' type='password' name='password' value='' size='30' autocomplete='off' onkeyup=\"return passwordCheck();\">"; echo "</td>"; echo "<td rowspan='2'>" . __('Password security policy') . "</td>"; echo "<td rowspan='2'>"; Config::displayPasswordSecurityChecks(); echo "</td>"; echo "</tr>"; echo "<tr class='tab_bg_1'>"; echo "<td>" . __('Password confirmation') . "</td>"; echo "<td><input type='password' name='password2' value='' size='30' autocomplete='off'>"; echo "</td></tr>"; } echo "<tr class='tab_bg_1'><td>" . __('Phone') . "</td><td>"; if ($extauth && isset($authtype['phone_field']) && !empty($authtype['phone_field'])) { echo $this->fields["phone"]; } else { Html::autocompletionTextField($this, "phone"); } echo "</td>"; echo "<td class='top'>" . _n('Email', 'Emails', Session::getPluralNumber()); UserEmail::showAddEmailButton($this); echo "</td><td>"; UserEmail::showForUser($this); echo "</td>"; echo "</tr>"; echo "<tr class='tab_bg_1'><td>" . __('Mobile phone') . " </td><td>"; if ($extauth && isset($authtype['mobile_field']) && !empty($authtype['mobile_field'])) { echo $this->fields["mobile"]; } else { Html::autocompletionTextField($this, "mobile"); } echo "</td>"; if (count($_SESSION['glpiprofiles']) > 1) { echo "<td>" . __('Default profile') . "</td><td>"; $options = Dropdown::getDropdownArrayNames('glpi_profiles', Profile_User::getUserProfiles($this->fields['id'])); Dropdown::showFromArray("profiles_id", $options, array('value' => $this->fields["profiles_id"], 'display_emptychoice' => true)); echo "</td>"; } else { echo "<td colspan='2'> </td>"; } echo "</tr>"; echo "<tr class='tab_bg_1'><td>" . __('Phone 2') . "</td><td>"; if ($extauth && isset($authtype['phone2_field']) && !empty($authtype['phone2_field'])) { echo $this->fields["phone2"]; } else { Html::autocompletionTextField($this, "phone2"); } echo "</td>"; $entities = Profile_User::getUserEntities($this->fields['id'], 1); if (!GLPI_DEMO_MODE && count($_SESSION['glpiactiveentities']) > 1) { echo "<td>" . __('Default entity') . "</td><td>"; Entity::dropdown(array('value' => $this->fields['entities_id'], 'entity' => $entities)); } else { echo "<td colspan='2'> "; } echo "</td></tr>"; echo "<tr class='tab_bg_1'><td>" . __('Administrative number') . "</td><td>"; if ($extauth && isset($authtype['registration_number_field']) && !empty($authtype['registration_number_field'])) { echo $this->fields["registration_number"]; } else { Html::autocompletionTextField($this, "registration_number"); } echo "</td><td colspan='2'></td></tr>"; echo "<tr class='tab_bg_1'><td>" . __('Location') . "</td><td>"; $entities = Profile_User::getUserEntities($ID, true); Location::dropdown(array('value' => $this->fields['locations_id'], 'entity' => $entities)); if (Config::canUpdate()) { echo "<td>" . __('Use GLPI in mode') . "</td><td>"; $modes[Session::NORMAL_MODE] = __('Normal'); //$modes[Session::TRANSLATION_MODE] = __('Translation'); $modes[Session::DEBUG_MODE] = __('Debug'); Dropdown::showFromArray('use_mode', $modes, array('value' => $this->fields["use_mode"])); } else { echo "<td colspan='2'> "; } echo "</td></tr>"; echo "<tr><td class='tab_bg_2 center' colspan='4'>"; echo "<input type='submit' name='update' value=\"" . _sx('button', 'Save') . "\" class='submit'>"; echo "</td></tr>"; echo "</table>"; Html::closeForm(); echo "</div>"; $CFG_GLPI["use_ajax_autocompletion"] = $save_autocompletion; return true; } return false; }
/** * Make a select box for a boolean choice (Yes/No) or display a checkbox. Add a * 'use_checkbox' = true to the $params array to display a checkbox instead a select box * * @param $name select name * @param $value preselected value. (default 0) * @param $restrict_to allows to display only yes or no in the dropdown (default -1) * @param $params Array of optional options (passed to showFromArray) * * @return rand value **/ static function showYesNo($name, $value = 0, $restrict_to = -1, $params = array()) { if (!array_key_exists('use_checkbox', $params)) { // TODO: switch to true when Html::showCheckbox() is validated $params['use_checkbox'] = false; } if ($params['use_checkbox']) { if (!empty($params['rand'])) { $rand = $params['rand']; } else { $rand = mt_rand(); } $options = array('name' => $name, 'id' => Html::cleanId("dropdown_" . $name . $rand)); switch ($restrict_to) { case 0: $options['checked'] = false; $options['readonly'] = true; break; case 1: $options['checked'] = true; $options['readonly'] = true; break; default: $options['checked'] = $value ? 1 : 0; $options['readonly'] = false; break; } Html::showCheckbox($options); return $rand; } if ($restrict_to != 0) { $options[0] = __('No'); } if ($restrict_to != 1) { $options[1] = __('Yes'); } $params['value'] = $value; $params['width'] = "65px"; return self::showFromArray($name, $options, $params); }
static function displayAjaxValues($config, $request_data, $rand, $mode) { global $CFG_GLPI; $pfDeployPackage = new PluginFusioninventoryDeployPackage(); $pfDeployOrder = new PluginFusioninventoryDeployOrder(); if (isset($request_data['orders_id'])) { $pfDeployOrder->getFromDB($request_data['orders_id']); $pfDeployPackage->getFromDB($pfDeployOrder->fields['plugin_fusioninventory_deploypackages_id']); } else { $pfDeployPackage->getEmpty(); } $p2p = 0; $p2p_retention_duration = 0; $uncompress = 0; if ($mode === 'create') { $source = $request_data['value']; /** * No need to continue if there is no selected source */ if ($source === '0') { return; } } else { $p2p = $config['data']['p2p']; $p2p_retention_duration = $config['data']['p2p-retention-duration']; $uncompress = $config['data']['uncompress']; } echo "<table class='package_item'>"; /* * Display file upload input only in 'create' mode */ echo "<tr>"; echo "<th>" . __("File", 'fusioninventory') . "</th>"; echo "<td>"; if ($mode === 'create') { switch ($source) { case "Computer": echo "<input type='file' name='file' value='" . __("filename", 'fusioninventory') . "' />"; echo "<i>" . self::getMaxUploadSize() . "</i>"; break; case "Server": echo "<input type='text' name='filename' id='server_filename{$rand}'" . " style='width:120px;float:left' />"; echo "<input type='button' class='submit' value='" . __("Choose", 'fusioninventory') . "' onclick='fileModal{$rand}.dialog(\"open\");' />"; Ajax::createModalWindow("fileModal{$rand}", $CFG_GLPI['root_doc'] . "/plugins/fusioninventory/ajax/deployfilemodal.php", array('title' => __('Select the file on server', 'fusioninventory'), 'extraparams' => array('rand' => $rand))); break; } } else { /* * Display only name in 'edit' mode */ echo $config['data']['name']; } echo "</td>"; echo "</tr>"; echo "<tr>"; echo "<th>" . __("Uncompress", 'fusioninventory') . "<img style='float:right' " . "src='" . $CFG_GLPI["root_doc"] . "/plugins/fusioninventory//pics/uncompress.png' /></th>"; echo "<td>"; Html::showCheckbox(array('name' => 'uncompress', 'checked' => $uncompress)); echo "</td>"; echo "</tr><tr>"; echo "<th>" . __("P2P", 'fusioninventory') . "<img style='float:right' src='" . $CFG_GLPI["root_doc"] . "/plugins/fusioninventory//pics/p2p.png' /></th>"; echo "<td>"; Html::showCheckbox(array('name' => 'p2p', 'checked' => $p2p)); echo "</td>"; echo "</tr><tr>"; echo "<th>" . __("retention days", 'fusioninventory') . "</th>"; echo "<td>"; /* * TODO: use task periodicity input to propose days, months and years */ Dropdown::showNumber('p2p-retention-duration', array('value' => $p2p_retention_duration, 'min' => 0, 'max' => 400)); echo "</td>"; echo "</tr><tr>"; echo "<td>"; echo "</td><td>"; if ($pfDeployPackage->can($pfDeployPackage->getID(), UPDATE)) { if ($mode === 'edit') { echo "<input type='submit' name='save_item' value=\"" . _sx('button', 'Save') . "\" class='submit' >"; } else { echo "<input type='submit' name='add_item' value=\"" . _sx('button', 'Add') . "\" class='submit' >"; } } echo "</td>"; echo "</tr></table>"; }
function showBehaviorForm($ID, $options = array()) { if ($ID > 0) { $this->check($ID, READ); } else { // Create item $this->check($ID, CREATE); $use_cache = false; $this->getEmpty(); } $this->fields['id'] = $ID; $right_name = PluginGenericobjectProfile::getProfileNameForItemtype(__CLASS__); $canedit = Session::haveRight($right_name, UPDATE); self::includeLocales($this->fields["name"]); self::includeConstants($this->fields["name"]); $this->showFormHeader($options); echo "<tr class='tab_bg_1'>"; echo "<td>" . __("Internal identifier", "genericobject") . "</td>"; echo "<td>"; if (!$ID) { Html::autocompletionTextField($this, 'name', array('value' => $this->fields["name"])); } else { echo "<input type='hidden' name='name' value='" . $this->fields["name"] . "'>"; echo $this->fields["name"]; } echo "</td>"; echo "<td></td>"; echo "<td></td>"; echo "</tr>"; echo "<tr class='tab_bg_1'>"; echo "<td>" . __("Label") . "</td>"; echo "<td>"; if ($ID) { $itemtype = $this->fields["itemtype"]; echo $itemtype::getTypeName(); } echo "</td>"; echo "<td rowspan='3' class='middle right'>" . __("Comments") . " : </td>"; echo "<td class='center middle' rowspan='3'><textarea cols='45' rows='4'\n name='comment' >" . $this->fields["comment"] . "</textarea></td>"; echo "</tr>"; echo "<tr class='tab_bg_1'>"; echo "<td>" . __("Active") . "</td>"; echo "<td>"; if (!$ID) { echo __("No"); } else { Dropdown::showYesNo("is_active", $this->fields["is_active"]); } echo "</td></td>"; echo "</tr>"; echo "<tr class='tab_bg_1'>"; echo "<td>" . __("Family of type of objects", 'genericobject') . "</td>"; echo "<td>"; PluginGenericobjectTypeFamily::dropdown(array('value' => $this->fields["plugin_genericobject_typefamilies_id"])); echo "</td></td>"; echo "</tr>"; echo "<tr class='tab_bg_1'>"; echo "<td colspan='2'></td>"; echo "</tr>"; if (!$this->isNewID($ID)) { $canedit = $this->can($ID, CREATE); echo "<tr class='tab_bg_1'><th colspan='4'>"; echo __("Behaviour", "genericobject"); echo "</th></tr>"; $use = array("use_recursivity" => __("Child entities"), "use_tickets" => __("Assistance"), "use_deleted" => __("Item in the dustbin"), "use_notepad" => _n('Note', 'Notes', 2), "use_history" => __("Historical"), "use_template" => __("Templates"), "use_infocoms" => __("Financial and administratives information"), "use_contracts" => _n("Contract", "Contracts", 2), "use_documents" => _n("Document", "Documents", 2), "use_loans" => _n("Reservation", "Reservations", 2), "use_global_search" => __("Global search"), "use_projects" => _n("Project", "Projects", 2), "use_network_ports" => __("Network connections", "genericobject")); $plugins = array("use_plugin_datainjection" => __("injection file plugin", "genericobject"), "use_plugin_geninventorynumber" => __("geninventorynumber plugin", "genericobject"), "use_plugin_order" => __("order plugin", "genericobject"), "use_plugin_uninstall" => __("item's uninstallation plugin", "genericobject"), "use_plugin_simcard" => __("simcard plugin", "genericobject")); $plugin = new Plugin(); $odd = 0; foreach ($use as $right => $label) { if (!$odd) { echo "<tr class='tab_bg_2'>"; } echo "<td>" . _sx('button', 'Use') . " " . $label . "</td>"; echo "<td>"; switch ($right) { case 'use_deleted': Html::showCheckbox(array('name' => $right, 'checked' => $this->canBeDeleted())); break; case 'use_recursivity': Html::showCheckbox(array('name' => $right, 'value' => $this->canBeRecursive(), 'checked' => $this->canBeRecursive())); break; case 'use_notes': Html::showCheckbox(array('name' => $right, 'checked' => $this->canUseNotepad())); break; case 'use_template': Html::showCheckbox(array('name' => $right, 'checked' => $this->canUseTemplate())); break; default: Html::showCheckbox(array('name' => $right, 'checked' => $this->fields[$right])); break; } echo "</td>"; if ($odd == 1) { $odd = 0; echo "</tr>"; } else { $odd++; } } if ($odd != 0) { echo "<td></td></tr>"; } echo "<tr class='tab_bg_1'><th colspan='4'>"; echo _n("Plugin", "Plugins", 2); echo "</th></tr>"; $odd = 0; foreach ($plugins as $right => $label) { if (!$odd) { echo "<tr class='tab_bg_2'>"; } echo "<td>" . _sx('button', 'Use') . " " . $label . "</td>"; echo "<td>"; switch ($right) { case 'use_plugin_datainjection': if ($plugin->isActivated('datainjection')) { Html::showCheckbox(array('name' => $right, 'checked' => $this->fields[$right])); } else { echo Dropdown::EMPTY_VALUE; echo "<input type='hidden' name='use_plugin_datainjection' value='0'>\n"; } break; case 'use_plugin_pdf': if ($plugin->isActivated('pdf')) { Html::showCheckbox(array('name' => $right, 'checked' => $this->fields[$right])); } else { echo Dropdown::EMPTY_VALUE; echo "<input type='hidden' name='use_plugin_pdf' value='0'>\n"; } break; case 'use_plugin_order': if ($plugin->isActivated('order')) { Html::showCheckbox(array('name' => $right, 'checked' => $this->fields[$right])); } else { echo Dropdown::EMPTY_VALUE; echo "<input type='hidden' name='use_plugin_order' value='0'>\n"; } break; case 'use_plugin_uninstall': if ($plugin->isActivated('uninstall')) { Html::showCheckbox(array('name' => $right, 'checked' => $this->fields[$right])); } else { echo Dropdown::EMPTY_VALUE; echo "<input type='hidden' name='use_plugin_uninstall' value='0'>\n"; } break; case 'use_plugin_simcard': if ($plugin->isActivated('simcard')) { Html::showCheckbox(array('name' => $right, 'checked' => $this->fields[$right])); } else { echo Dropdown::EMPTY_VALUE; echo "<input type='hidden' name='use_plugin_simcard' value='0'>\n"; } break; case 'use_plugin_geninventorynumber': if ($plugin->isActivated('geninventorynumber')) { Html::showCheckbox(array('name' => $right, 'checked' => $this->fields[$right])); } else { echo Dropdown::EMPTY_VALUE; echo "<input type='hidden' name='use_plugin_geninventorynumber' value='0'>\n"; } break; } echo "</td>"; if ($odd == 1) { $odd = 0; echo "</tr>"; } else { $odd++; } } if ($odd != 0) { echo "<td></td></tr>"; } } $this->showFormButtons($options); }
/** * Print the Tracking right form for the current profile * * @param $openform boolean open the form (true by default) * @param $closeform boolean close the form (true by default) **/ function showFormTracking($openform = true, $closeform = true) { global $CFG_GLPI; if (!self::canView()) { return false; } echo "<div class='spaced'>"; if (($canedit = Session::haveRightsOr(self::$rightname, array(CREATE, UPDATE, PURGE))) && $openform) { echo "<form method='post' action='" . $this->getFormURL() . "'>"; } echo "<table class='tab_cadre_fixe'>"; // Assistance / Tracking-helpdesk echo "<tr class='tab_bg_1'><th colspan='2'>" . __('Assistance') . "</th></tr>\n"; echo "<tr class='tab_bg_2'>"; echo "<td>" . _n('Ticket', 'Tickets', Session::getPluralNumber()) . ': ' . __('Default ticket template') . "</td><td width='30%'>"; // Only root entity ones and recursive $options = array('value' => $this->fields["tickettemplates_id"], 'entity' => 0); if (Session::isMultiEntitiesMode()) { $options['condition'] = '`is_recursive`'; } // Only add profile if on root entity if (!isset($_SESSION['glpiactiveentities'][0])) { $options['addicon'] = false; } TicketTemplate::dropdown($options); echo "</td></tr>\n"; echo "</table>"; $matrix_options = array('canedit' => $canedit, 'default_class' => 'tab_bg_2'); $rights = array(array('itemtype' => 'Ticket', 'label' => _n('Ticket', 'Tickets', Session::getPluralNumber()), 'field' => 'ticket'), array('itemtype' => 'TicketCost', 'label' => _n('Ticket cost', 'Ticket costs', Session::getPluralNumber()), 'field' => 'ticketcost'), array('itemtype' => 'TicketRecurrent', 'label' => __('Recurrent tickets'), 'field' => 'ticketrecurrent'), array('itemtype' => 'TicketTemplate', 'label' => _n('Ticket template', 'Ticket templates', Session::getPluralNumber()), 'field' => 'tickettemplate')); $matrix_options['title'] = _n('Ticket', 'Tickets', Session::getPluralNumber()); $this->displayRightsChoiceMatrix($rights, $matrix_options); $rights = array(array('itemtype' => 'TicketFollowup', 'label' => _n('Followup', 'Followups', Session::getPluralNumber()), 'field' => 'followup'), array('itemtype' => 'TicketTask', 'label' => _n('Task', 'Tasks', Session::getPluralNumber()), 'field' => 'task')); $matrix_options['title'] = _n('Followup', 'Followups', Session::getPluralNumber()) . " / " . _n('Task', 'Tasks', Session::getPluralNumber()); $this->displayRightsChoiceMatrix($rights, $matrix_options); $rights = array(array('itemtype' => 'TicketValidation', 'label' => _n('Validation', 'Validations', Session::getPluralNumber()), 'field' => 'ticketvalidation')); $matrix_options['title'] = _n('Validation', 'Validations', Session::getPluralNumber()); $this->displayRightsChoiceMatrix($rights, $matrix_options); echo "<table class='tab_cadre_fixe'>"; echo "<tr class='tab_bg_5'><th colspan='2'>" . __('Association') . "</th>"; echo "</tr>\n"; echo "<tr class='tab_bg_2'>"; echo "<td>" . __('See hardware of my groups') . "</td><td>"; Html::showCheckbox(array('name' => '_show_group_hardware', 'checked' => $this->fields['show_group_hardware'])); echo "</td></tr>"; echo "<tr class='tab_bg_2'>"; echo "<td>" . __('Link with items for the creation of tickets') . "</td>"; echo "\n<td>"; self::getLinearRightChoice(self::getHelpdeskHardwareTypes(true), array('field' => 'helpdesk_hardware', 'value' => $this->fields['helpdesk_hardware'])); echo "</td></tr>\n"; echo "<tr class='tab_bg_2'>"; echo "<td>" . __('Associable items to a ticket') . "</td>"; echo "<td><input type='hidden' name='_helpdesk_item_types' value='1'>"; self::dropdownHelpdeskItemtypes(array('values' => $this->fields["helpdesk_item_type"])); // Linear_HIT // self::getLinearRightChoice(self::getHelpdeskItemtypes(), // array('field' => 'helpdesk_item_type', // 'value' => $this->fields['helpdesk_item_type'], // 'check_all' => true, // 'zero_on_empty' => false, // 'max_per_line' => 4, // 'check_method' => // function ($element, $field) { // return in_array($element,$field); // })); echo "</td>"; echo "</tr>\n"; echo "</table>"; $rights = array(array('itemtype' => 'Stat', 'label' => __('Statistics'), 'field' => 'statistic'), array('itemtype' => 'Planning', 'label' => __('Planning'), 'field' => 'planning')); $matrix_options['title'] = __('Visibility'); $this->displayRightsChoiceMatrix($rights, $matrix_options); $rights = array(array('itemtype' => 'Problem', 'label' => _n('Problem', 'Problems', Session::getPluralNumber()), 'field' => 'problem')); $matrix_options['title'] = _n('Problem', 'Problems', Session::getPluralNumber()); $this->displayRightsChoiceMatrix($rights, $matrix_options); $rights = array(array('itemtype' => 'Change', 'label' => _n('Change', 'Changes', Session::getPluralNumber()), 'field' => 'change'), array('itemtype' => 'ChangeValidation', 'label' => _n('Validation', 'Validations', Session::getPluralNumber()), 'field' => 'changevalidation')); $matrix_options['title'] = _n('Change', 'Changes', Session::getPluralNumber()); $this->displayRightsChoiceMatrix($rights, $matrix_options); if ($canedit && $closeform) { echo "<div class='center'>"; echo "<input type='hidden' name='id' value='" . $this->fields['id'] . "'>"; echo "<input type='submit' name='update' value=\"" . _sx('button', 'Save') . "\" class='submit'>"; echo "</div>\n"; Html::closeForm(); } echo "</div>"; }
/** * Display detail networkport based on glpi core networkport and fusioninventory * networkport * * @param array $data with id ant fusionid * @param boolean $monitoring true if monitoring installed && actived * @param boolean $aggrega true if this port is aggregate port * * @return nothing */ function showNetworkPortDetail($data, $monitoring, $aggrega = 0) { global $CFG_GLPI, $DB; $nw = new NetworkPort_NetworkPort(); $networkName = new NetworkName(); $networkPort = new NetworkPort(); $pfNetworkPort = new PluginFusioninventoryNetworkPort(); $iPAddress = new IPAddress(); $networkPort->getFromDB($data['id']); $pfNetworkPort->getFromDB($data['fusionid']); $background_img = ""; if ($pfNetworkPort->fields["trunk"] == "1" && (strstr($pfNetworkPort->fields["ifstatus"], "up") || $pfNetworkPort->fields["ifstatus"] == 1)) { $background_img = " style='background-image: url(\"" . $CFG_GLPI['root_doc'] . "/plugins/fusioninventory/pics/port_trunk.png\"); '"; } else { if (PluginFusioninventoryNetworkPort::isPortHasMultipleMac($data['id']) && (strstr($pfNetworkPort->fields["ifstatus"], "up") || $pfNetworkPort->fields["ifstatus"] == 1)) { $background_img = " style='background-image: url(\"" . $CFG_GLPI['root_doc'] . "/plugins/fusioninventory/pics/multiple_mac_addresses.png\"); '"; } else { if (strstr($pfNetworkPort->fields["ifstatus"], "up") || $pfNetworkPort->fields["ifstatus"] == 1) { $background_img = " style='background-image: url(\"" . $CFG_GLPI['root_doc'] . "/plugins/fusioninventory/pics/connected_trunk.png\"); '"; } } } echo "<tr class='tab_bg_1 center' height='40'" . $background_img . ">"; if ($aggrega) { echo "<td style='background-color: #f2f2f2;'></td><td>"; } if (!$aggrega) { if ($networkPort->fields['instantiation_type'] == 'NetworkPortAggregate') { echo "<td>"; } else { echo "<td colspan='2'>"; } } echo "<a href='networkport.form.php?id=" . $networkPort->fields["id"] . "'>" . $networkPort->fields["name"] . "</a>"; Html::showToolTip($pfNetworkPort->fields['ifdescr']); if (!$aggrega) { if ($networkPort->fields['instantiation_type'] == 'NetworkPortAggregate') { echo "<td><i><font style='color: grey'>" . __('Aggregation port') . "</font></i></td>"; } } if ($monitoring == '1') { echo "<td>"; $state = PluginMonitoringNetworkport::isMonitoredNetworkport($data['id']); if (Session::haveRight("plugin_monitoring_componentscatalog", UPDATE)) { Html::showCheckbox(array('name' => 'networkports_id[]', 'value' => $data['id'], 'checked' => $state)); } else { if (Session::haveRight("plugin_monitoring_componentscatalog", READ)) { echo Dropdown::getYesNo($state); } } echo "</td>"; } $a_pref = DisplayPreference::getForTypeUser('PluginFusioninventoryNetworkport', Session::getLoginUserID()); foreach ($a_pref as $data_array) { switch ($data_array) { case 3: echo "<td>" . $pfNetworkPort->fields["ifmtu"] . "</td>"; break; case 5: echo "<td>" . $this->byteSize($pfNetworkPort->fields["ifspeed"], 1000) . "bps</td>"; break; case 6: echo "<td>"; if (strstr($pfNetworkPort->fields["ifstatus"], "up") || strstr($pfNetworkPort->fields["ifinternalstatus"], "1")) { echo "<img src='" . $CFG_GLPI['root_doc'] . "/pics/greenbutton.png'/>"; } else { if (strstr($pfNetworkPort->fields["ifstatus"], "down") || strstr($pfNetworkPort->fields["ifinternalstatus"], "2")) { echo "<img src='" . $CFG_GLPI['root_doc'] . "/pics/redbutton.png'/>"; } else { if (strstr($pfNetworkPort->fields["ifstatus"], "testing") || strstr($pfNetworkPort->fields["ifinternalstatus"], "3")) { echo "<img src='" . $CFG_GLPI['root_doc'] . "/plugins/fusioninventory/pics/yellowbutton.png'/>"; } } } echo "</td>"; break; case 7: echo "<td>" . $pfNetworkPort->fields["iflastchange"] . "</td>"; break; case 8: echo "<td>"; if ($pfNetworkPort->fields["ifinoctets"] == "0") { echo "-"; } else { echo $this->byteSize($pfNetworkPort->fields["ifinoctets"], 1000) . "o"; } echo " / "; if ($pfNetworkPort->fields["ifinoctets"] == "0") { echo "-"; } else { echo $this->byteSize($pfNetworkPort->fields["ifoutoctets"], 1000) . "o"; } echo "</td>"; break; case 9: $color = ''; if ($pfNetworkPort->fields["ifinerrors"] != "0" || $pfNetworkPort->fields["ifouterrors"] != "0") { $color = "background='#cf9b9b' class='tab_bg_1_2'"; } if ($pfNetworkPort->fields["ifinerrors"] == "0") { echo "<td " . $color . ">-"; } else { echo "<td " . $color . ">"; echo $pfNetworkPort->fields["ifinerrors"]; } echo " / "; if ($pfNetworkPort->fields["ifouterrors"] == "0") { echo "-"; } else { echo $pfNetworkPort->fields["ifouterrors"]; } echo "</td>"; break; case 10: if ($pfNetworkPort->fields["portduplex"] == 2) { echo "<td background='#cf9b9b' class='tab_bg_1_2'>"; echo __('Half', 'fusioninventory'); echo '</td>'; } else { if ($pfNetworkPort->fields["portduplex"] == 3) { echo '<td>'; echo __('Full', 'fusioninventory'); echo '</td>'; } else { echo "<td></td>"; } } break; case 11: // ** internal mac echo "<td>" . $networkPort->fields["mac"] . "</td>"; break; case 13: // ** Mac address and link to device which are connected to this port $opposite_port = $nw->getOppositeContact($data["id"]); if ($opposite_port != "" && $opposite_port != 0) { $networkPortOpposite = new NetworkPort(); if ($networkPortOpposite->getFromDB($opposite_port)) { $data_device = $networkPortOpposite->fields; $item = new $data_device["itemtype"](); $item->getFromDB($data_device["items_id"]); $link1 = $item->getLink(1); $link = str_replace($item->getName(0), $data_device["mac"], $item->getLink()); // * GetIP $a_networknames = current($networkName->find("`itemtype`='NetworkPort'\n AND `items_id`='" . $item->getID() . "'", "", 1)); $a_ipaddresses = current($iPAddress->find("`itemtype`='NetworkName'\n AND `items_id`='" . $a_networknames['id'] . "'", "", 1)); $link2 = str_replace($item->getName(0), $a_ipaddresses['name'], $item->getLink()); if ($data_device["itemtype"] == 'PluginFusioninventoryUnmanaged') { $icon = $this->getItemtypeIcon($item->fields["item_type"]); if ($item->getField("accepted") == "1") { echo "<td style='background:#bfec75'\n class='tab_bg_1_2'>" . $icon . $link1; } else { echo "<td background='#cf9b9b'\n class='tab_bg_1_2'>" . $icon . $link1; } if (!empty($link)) { echo "<br/>" . $link; } if (!empty($link2)) { echo "<br/>" . $link2; } if ($item->getField("hub") == "1") { $this->displayHubConnections($data_device["items_id"], $background_img); } echo "</td>"; } else { $icon = $this->getItemtypeIcon($data_device["itemtype"]); echo "<td>" . $icon . $link1; if (!empty($link)) { echo "<br/>" . $link; } if (!empty($link2)) { echo "<br/>" . $link2; } if ($data_device["itemtype"] == 'Phone') { $query_devicephone = "SELECT *\n FROM `glpi_networkports`\n WHERE `itemtype`='Phone'\n AND `items_id`='" . $data_device["items_id"] . "'\n AND `id`!='" . $data_device["id"] . "'\n LIMIT 1"; $result_devicephone = $DB->query($query_devicephone); if ($DB->numrows($result_devicephone) > 0) { $data_devicephone = $DB->fetch_assoc($result_devicephone); $computer_ports_id = $nw->getOppositeContact($data_devicephone["id"]); if ($computer_ports_id) { $networkport = new NetworkPort(); $networkport->getFromDB($computer_ports_id); if ($networkport->fields['itemtype'] == 'Computer') { echo "<hr/>"; echo "<img src='" . $CFG_GLPI['root_doc'] . "/plugins/fusioninventory/pics/computer_icon.png' " . "style='float:left'/> "; $computer = new Computer(); $computer->getFromDB($networkport->fields["items_id"]); $link1 = $computer->getLink(1); $link = str_replace($computer->getName(0), $networkport->fields["mac"], $computer->getLink()); $link2 = str_replace($computer->getName(0), $networkport->fields["ip"], $computer->getLink()); echo $icon . $link1; if (!empty($link)) { echo "<br/>" . $link; } if (!empty($link2)) { echo "<br/>" . $link2; } } } } } echo "</td>"; } } else { echo "<td></td>"; } } else { echo "<td></td>"; } break; case 14: // ** Connection status echo "<td>"; if (strstr($pfNetworkPort->fields["ifstatus"], "up") || strstr($pfNetworkPort->fields["ifstatus"], "1")) { echo "<img src='" . $CFG_GLPI['root_doc'] . "/plugins/fusioninventory/pics/wired_on.png'/>"; } else { if (strstr($pfNetworkPort->fields["ifstatus"], "down") || strstr($pfNetworkPort->fields["ifstatus"], "2")) { echo "<img src='" . $CFG_GLPI['root_doc'] . "/plugins/fusioninventory/pics/wired_off.png'/>"; } else { if (strstr($pfNetworkPort->fields["ifstatus"], "testing") || strstr($pfNetworkPort->fields["ifstatus"], "3")) { echo "<img src='" . $CFG_GLPI['root_doc'] . "/plugins/fusioninventory/pics/yellowbutton.png'/>"; } else { if (strstr($pfNetworkPort->fields["ifstatus"], "dormant") || strstr($pfNetworkPort->fields["ifstatus"], "5")) { echo "<img src='" . $CFG_GLPI['root_doc'] . "/plugins/fusioninventory/pics/orangebutton.png'/>"; } } } } echo "</td>"; break; case 12: echo "<td>"; $canedit = Session::haveRight('networking', UPDATE); $used = array(); $query_vlan = "SELECT * FROM glpi_networkports_vlans\n WHERE networkports_id='" . $data["id"] . "'"; $result_vlan = $DB->query($query_vlan); if ($DB->numrows($result_vlan) > 0) { echo "<table cellpadding='0' cellspacing='0'>"; while ($line = $DB->fetch_array($result_vlan)) { $used[] = $line["vlans_id"]; $vlan = new Vlan(); $vlan->getFromDB($line["vlans_id"]); if ($line['tagged'] == '1') { $state = 'T'; } else { $state = 'U'; } echo "<tr><td>" . $vlan->fields['name'] . " [" . $vlan->fields['tag'] . "] " . $state; echo "</td><td>"; if ($canedit) { echo "<a href='" . $CFG_GLPI["root_doc"] . "/front/networkport.form.php?unassign_vlan=unassigned&id=" . $line["id"] . "'>"; echo "<img src=\"" . $CFG_GLPI["root_doc"] . "/pics/delete.png\" alt='" . __('Delete', 'fusioninventory') . "' title='" . __('Delete', 'fusioninventory') . "'></a>"; } else { echo " "; } echo "</td>"; echo "</tr>"; } echo "</table>"; } else { echo " "; } echo "</td>"; break; case 15: echo "<td align='center'>"; if ($pfNetworkPort->fields['ifstatus'] == 1) { echo __('Connected'); } else { if ($pfNetworkPort->fields['lastup'] == "0000-00-00 00:00:00") { echo '-'; } else { $time = strtotime(date('Y-m-d H:i:s')) - strtotime($pfNetworkPort->fields['lastup']); echo Html::timestampToString($time, FALSE); } } echo "</td>"; break; case 16: echo "<td>" . $pfNetworkPort->fields["ifalias"] . "</td>"; break; } } echo "</tr>"; }