Esempio n. 1
0
GLPI is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.

GLPI is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with GLPI. If not, see <http://www.gnu.org/licenses/>.
--------------------------------------------------------------------------
*/
/** @file
* @brief show network port by network equipment
*/
include '../inc/includes.php';
Session::checkRight("reports", READ);
// Titre
if (isset($_POST["switch"]) && $_POST["switch"]) {
    Html::header(Report::getTypeName(Session::getPluralNumber()), $_SERVER['PHP_SELF'], "tools", "report");
    Report::title();
    $name = Dropdown::getDropdownName("glpi_networkequipments", $_POST["switch"]);
    echo "<div class='center spaced'><h2>" . sprintf(__('Network report by hardware: %s'), $name) . "</h2></div>";
    Report::reportForNetworkInformations("`glpi_networkequipments` AS ITEM", "PORT_1.`itemtype` = 'NetworkEquipment'\n                                              AND PORT_1.`items_id` = ITEM.`id`", "ITEM.`id` = '" . $_POST["switch"] . "'");
    Html::footer();
} else {
    Html::redirect($CFG_GLPI['root_doc'] . "/front/report.networking.php");
}
Esempio n. 2
0
GLPI is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with GLPI. If not, see <http://www.gnu.org/licenses/>.
--------------------------------------------------------------------------
*/
/** @file
* @brief
*/
include '../inc/includes.php';
Session::checkRight("reports", "r");
Html::header(Report::getTypeName(2), $_SERVER['PHP_SELF'], "utils", "report");
Report::title();
$items = array('Computer', 'Monitor', 'NetworkEquipment', 'Peripheral', 'Phone', 'Printer', 'Software');
# Titre
echo "<span class='big b'>" . __('List of the hardware under contract') . "</span><br><br>";
# Request All
if (isset($_POST["item_type"][0]) && $_POST["item_type"][0] == '0' || !isset($_POST["item_type"])) {
    $_POST["item_type"] = $items;
}
if (isset($_POST["item_type"]) && is_array($_POST["item_type"])) {
    $query = array();
    foreach ($_POST["item_type"] as $key => $val) {
        if (in_array($val, $items)) {
            $itemtable = getTableForItemType($val);
            $query[$val] = "SELECT `{$itemtable}`.`name` AS itemname,\n                                `{$itemtable}`.`is_deleted` AS itemdeleted,\n                                `glpi_locations`.`completename` AS location,\n                                `glpi_contracttypes`.`name` AS type,\n                                `glpi_infocoms`.`buy_date`,\n                                `glpi_infocoms`.`warranty_duration`,\n                                `glpi_contracts`.`begin_date`,\n                                `glpi_contracts`.`duration`,\n                                `glpi_entities`.`completename` AS entname,\n                                `glpi_entities`.`id` AS entID\n                         FROM `glpi_contracts_items`\n                         INNER JOIN `glpi_contracts`\n                              ON (`glpi_contracts_items`.`contracts_id` = `glpi_contracts`.`id`)\n                         INNER JOIN `{$itemtable}`\n                              ON (`glpi_contracts_items`.`itemtype` = '{$val}'\n                                  AND `{$itemtable}`.`id` = `glpi_contracts_items`.`items_id`)\n                         LEFT JOIN `glpi_infocoms`\n                              ON (`glpi_infocoms`.`itemtype` = '{$val}'\n                                  AND `{$itemtable}`.`id` = `glpi_infocoms`.`items_id`)\n                         LEFT JOIN `glpi_contracttypes`\n                              ON (`glpi_contracts`.`contracttypes_id` = `glpi_contracttypes`.`id`)\n                         LEFT JOIN `glpi_locations`\n                              ON (`{$itemtable}`.`locations_id` = `glpi_locations`.`id`)\n                         LEFT JOIN `glpi_entities`\n                              ON (`{$itemtable}`.`entities_id` = `glpi_entities`.`id`)\n                         WHERE `{$itemtable}`.`is_template` ='0' " . getEntitiesRestrictRequest("AND", $itemtable);
            if (isset($_POST["annee"][0]) && $_POST["annee"][0] != 'toutes') {
Esempio n. 3
0
 /**
  * Show Default Report
  *
  * @since version 0.84
  **/
 static function showDefaultReport()
 {
     global $DB;
     # Title
     echo "<span class='big b'>GLPI " . Report::getTypeName(2) . "</span><br><br>";
     # 1. Get counts of itemtype
     $items = array('Computer', 'Printer', 'NetworkEquipment', 'Software', 'Monitor', 'Peripheral', 'Phone');
     $linkitems = array('Printer', 'Monitor', 'Peripheral', 'Phone');
     echo "<table class='tab_cadrehov'>";
     foreach ($items as $itemtype) {
         $table_item = getTableForItemType($itemtype);
         $where = "WHERE `" . $table_item . "`.`is_deleted` = '0'\n                      AND `" . $table_item . "`.`is_template` = '0' ";
         $join = "";
         if (in_array($itemtype, $linkitems)) {
             $join = "LEFT JOIN `glpi_computers_items`\n                        ON (`glpi_computers_items`.`itemtype` = '" . $itemtype . "'\n                       AND `glpi_computers_items`.`items_id` = `" . $table_item . "`.`id`)";
         }
         $query = "SELECT COUNT(*)\n                FROM `" . $table_item . "`\n                {$join}\n                {$where} " . getEntitiesRestrictRequest("AND", $table_item);
         $result = $DB->query($query);
         $number = $DB->result($result, 0, 0);
         echo "<tr class='tab_bg_2'><td>" . $itemtype::getTypeName(2) . "</td>";
         echo "<td class='numeric'>{$number}</td></tr>";
     }
     echo "<tr class='tab_bg_1'><td colspan='2' class='b'>" . __('Operating system') . "</td></tr>";
     # 2. Get some more number data (operating systems per computer)
     $where = "WHERE `is_deleted` = '0'\n                      AND `is_template` = '0' ";
     $query = "SELECT COUNT(*) AS count, `glpi_operatingsystems`.`name` AS name\n                FROM `glpi_computers`\n                LEFT JOIN `glpi_operatingsystems`\n                   ON (`glpi_computers`.`operatingsystems_id` = `glpi_operatingsystems`.`id`)\n                {$where} " . getEntitiesRestrictRequest("AND", "glpi_computers") . "\n                GROUP BY `glpi_operatingsystems`.`name`";
     $result = $DB->query($query);
     while ($data = $DB->fetch_assoc($result)) {
         if (empty($data['name'])) {
             $data['name'] = Dropdown::EMPTY_VALUE;
         }
         echo "<tr class='tab_bg_2'><td>" . $data['name'] . "</td>";
         echo "<td class='numeric'>" . $data['count'] . "</td></tr>";
     }
     # Get counts of types
     $val = array_flip($items);
     unset($val["Software"]);
     $items = array_flip($val);
     foreach ($items as $itemtype) {
         echo "<tr class='tab_bg_1'><td colspan='2' class='b'>" . $itemtype::getTypeName(2) . "</td></tr>";
         $table_item = getTableForItemType($itemtype);
         $typeclass = $itemtype . "Type";
         $type_table = getTableForItemType($typeclass);
         $typefield = getForeignKeyFieldForTable(getTableForItemType($typeclass));
         $where = "WHERE `" . $table_item . "`.`is_deleted` = '0'\n                      AND `" . $table_item . "`.`is_template` = '0' ";
         $join = "";
         if (in_array($itemtype, $linkitems)) {
             $join = "LEFT JOIN `glpi_computers_items`\n                        ON (`glpi_computers_items`.`itemtype` = '" . $itemtype . "'\n                       AND `glpi_computers_items`.`items_id` = `" . $table_item . "`.`id`)";
         }
         $query = "SELECT COUNT(*) AS count, `" . $type_table . "`.`name` AS name\n                FROM `" . $table_item . "`\n                LEFT JOIN `" . $type_table . "`\n                   ON (`" . $table_item . "`.`" . $typefield . "`\n                        = `" . $type_table . "`.`id`)\n                {$join}\n                {$where} " . getEntitiesRestrictRequest("AND", $table_item) . "\n                GROUP BY `" . $type_table . "`.`name`";
         $result = $DB->query($query);
         while ($data = $DB->fetch_assoc($result)) {
             if (empty($data['name'])) {
                 $data['name'] = Dropdown::EMPTY_VALUE;
             }
             echo "<tr class='tab_bg_2'><td>" . $data['name'] . "</td>";
             echo "<td class='numeric'>" . $data['count'] . "</td></tr>";
         }
     }
     echo "</table>";
 }
 function getTabNameForItem(CommonGLPI $item, $withtemplate = 0)
 {
     return array(Report::getTypeName(1));
 }