1<?php 2/* 3 * Copyright 2005-2016 OCSInventory-NG/OCSInventory-ocsreports contributors. 4 * See the Contributors file for more details about them. 5 * 6 * This file is part of OCSInventory-NG/OCSInventory-ocsreports. 7 * 8 * OCSInventory-NG/OCSInventory-ocsreports is free software: you can redistribute 9 * it and/or modify it under the terms of the GNU General Public License as 10 * published by the Free Software Foundation, either version 2 of the License, 11 * or (at your option) any later version. 12 * 13 * OCSInventory-NG/OCSInventory-ocsreports is distributed in the hope that it 14 * will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty 15 * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 * GNU General Public License for more details. 17 * 18 * You should have received a copy of the GNU General Public License 19 * along with OCSInventory-NG/OCSInventory-ocsreports. if not, write to the 20 * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, 21 * MA 02110-1301, USA. 22 */ 23 24$data_limit = find_limit_values(); 25require_once('require/function_ipdiscover.php'); 26if ($_SESSION['OCS']["TAGS"]) { 27 $sql_tag = mysql2_prepare('select id from hardware h, accountinfo a where a.hardware_id=h.id and a.tag in ', array(), $_SESSION['OCS']["TAGS"]); 28 $result = mysql2_query_secure($sql_tag['SQL'], $_SESSION['OCS']["readServer"], $sql_tag['ARG']); 29 while ($val = mysqli_fetch_object($result)) { 30 $my_id[] = $val->id; 31 } 32 $myids = mysql2_prepare('', array(), $my_id); 33} 34 35if (isset($_SESSION['OCS']['ADMIN_CONSOLE'])) { 36 $edit = 0; 37} else { 38 $edit = 3; 39} 40 41$no_restrict = array("OCS_REPORT_NB_ALL_COMPUTOR"); 42 43$_SESSION['DATE']['HARDWARE-LASTCOME-TALL'] = date($l->g(1242)); 44$_SESSION['DATE']['HARDWARE-LASTDATE-TALL'] = date($l->g(1242)); 45$_SESSION['DATE']['HARDWARE-LASTCOME-SMALL'] = date($l->g(1242), mktime(0, 0, 0, date("m"), date("d") - $data_limit['GUI_REPORT_AGIN_MACH'], date("Y"))); 46 47$multi_search = array("OCS_REPORT_NB_NOTIFIED" => array("FIELD" => '', "COMP" => '', "VALUE" => ''), 48 "OCS_REPORT_NB_ERR" => array("FIELD" => '', "COMP" => '', "VALUE" => ''), 49 "OCS_REPORT_NB_CONTACT" => array("FIELD" => 'HARDWARE-LASTCOME', "COMP" => 'tall', "VALUE" => $_SESSION['DATE']['HARDWARE-LASTCOME-TALL']), 50 "OCS_REPORT_NB_INV" => array("FIELD" => 'HARDWARE-LASTDATE', "COMP" => 'tall', "VALUE" => $_SESSION['DATE']['HARDWARE-LASTDATE-TALL']), 51 "OCS_REPORT_NB_4_MOMENT" => array("FIELD" => 'HARDWARE-LASTCOME', "COMP" => 'small', "VALUE" => $_SESSION['DATE']['HARDWARE-LASTCOME-SMALL']), 52 "OCS_REPORT_NB_HARD_DISK_H" => array("FIELD" => '', "COMP" => '', "VALUE" => ''), 53 "OCS_REPORT_OSNAME" => array("FIELD" => 'HARDWARE-OSNAME', "COMP" => '', "VALUE" => ''), 54 "OCS_REPORT_USERAGENT" => array("FIELD" => 'HARDWARE-USERAGENT', "COMP" => 'exact', "VALUE" => ''), 55 "OCS_REPORT_PROCESSORT" => array("FIELD" => 'HARDWARE-PROCESSORT', "COMP" => 'exact', "VALUE" => ''), 56 "OCS_REPORT_RESOLUTION" => array("FIELD" => 'VIDEOS-RESOLUTION', "COMP" => '', "VALUE" => ''), 57 "OCS_REPORT_WORKGROUP" => array("FIELD" => 'HARDWARE-WORKGROUP', "COMP" => 'exact', "VALUE" => ''), 58 "OCS_REPORT_TAG" => array("FIELD" => 'ACCOUNTINFO-TAG', "COMP" => 'exact', "VALUE" => ''), 59 "OCS_REPORT_IPSUBNET" => array("FIELD" => 'NETWORKS-IPSUBNET', "COMP" => 'exact', "VALUE" => ''), 60 "OCS_REPORT_NB_LIMIT_FREQ_H" => array("FIELD" => 'HARDWARE-PROCESSORS', "COMP" => 'tall', "VALUE" => $data_limit['GUI_REPORT_PROC_MAX']), 61 "OCS_REPORT_NB_LIMIT_FREQ_M" => array("FIELD" => 'HARDWARE-PROCESSORS', "COMP" => 'small', "VALUE" => $data_limit['GUI_REPORT_PROC_MINI']), 62 "OCS_REPORT_NB_LIMIT_FREQ_B" => array("FIELD" => 'HARDWARE-PROCESSORS,HARDWARE-PROCESSORS', "COMP" => 'tall,small', "VALUE" => $data_limit['GUI_REPORT_PROC_MINI'] . ',' . $data_limit['GUI_REPORT_PROC_MAX']), 63 "OCS_REPORT_NB_LIMIT_MEM_H" => array("FIELD" => 'HARDWARE-MEMORY', "COMP" => 'tall', "VALUE" => $data_limit['GUI_REPORT_RAM_MAX']), 64 "OCS_REPORT_NB_LIMIT_MEM_M" => array("FIELD" => 'HARDWARE-MEMORY', "COMP" => 'small', "VALUE" => $data_limit['GUI_REPORT_RAM_MINI']), 65 "OCS_REPORT_NB_LIMIT_MEM_B" => array("FIELD" => 'HARDWARE-MEMORY,HARDWARE-MEMORY', "COMP" => 'tall,small', "VALUE" => $data_limit['GUI_REPORT_RAM_MINI'] . ',' . $data_limit['GUI_REPORT_RAM_MAX']), 66 "OCS_REPORT_NB_NOTIFIED" => array("FIELD" => 'DEVICES-DOWNLOAD', "COMP" => 'exact', "VALUE" => 'NULL', 'VALUE2' => $l->g(482), 'TYPE_FIELD' => "SelFieldValue"), 67 "OCS_REPORT_NB_ERR" => array("FIELD" => 'DEVICES-DOWNLOAD', "COMP" => 'exact', "VALUE" => 'NULL', 'VALUE2' => "***" . $l->g(956) . "***", 'TYPE_FIELD' => "SelFieldValue")); 68$table = array("OCS_REPORT_WORKGROUP" => "hardware", 69 "OCS_REPORT_TAG" => "accountinfo", 70 "OCS_REPORT_IPSUBNET" => "networks", 71 "OCS_REPORT_NB_NOTIFIED" => "devices", 72 "OCS_REPORT_NB_ERR" => "devices", 73 "OCS_REPORT_OSNAME" => "hardware", 74 "OCS_REPORT_USERAGENT" => "hardware", 75 "OCS_REPORT_PROCESSORT" => "hardware", 76 "OCS_REPORT_RESOLUTION" => "videos", 77 "OCS_REPORT_NB_LIMIT_FREQ_H" => "hardware", 78 "OCS_REPORT_NB_LIMIT_FREQ_M" => "hardware", 79 "OCS_REPORT_NB_LIMIT_FREQ_B" => "hardware", 80 "OCS_REPORT_NB_LIMIT_MEM_H" => "hardware", 81 "OCS_REPORT_NB_LIMIT_MEM_M" => "hardware", 82 "OCS_REPORT_NB_LIMIT_MEM_B" => "hardware", 83 "OCS_REPORT_NB_ALL_COMPUTOR" => "hardware", 84 "OCS_REPORT_NB_COMPUTOR" => "hardware", 85 "OCS_REPORT_NB_CONTACT" => "hardware", 86 "OCS_REPORT_NB_INV" => "hardware", 87 "OCS_REPORT_NB_4_MOMENT" => "hardware", 88 "OCS_REPORT_NB_SNMP" => "snmp", 89 "OCS_REPORT_NB_HARD_DISK_H" => "drives", 90 "OCS_REPORT_NB_HARD_DISK_M" => "drives", 91 "OCS_REPORT_NB_HARD_DISK_B" => "drives" 92 , "OCS_REPORT_NB_IPDISCOVER" => "nk" 93 , "OCS_REPORT_NB_LAST_INV" => "hardware"); 94 95$table_field = array("OCS_REPORT_WORKGROUP" => array($l->g(33) => "workgroup"), 96 "OCS_REPORT_TAG" => array($_SESSION['OCS']['TAG_LBL']['TAG'] => "tag"), 97 "OCS_REPORT_IPSUBNET" => array($l->g(316) => "ipsubnet"), 98 "OCS_REPORT_NB_NOTIFIED" => "devices", 99 "OCS_REPORT_NB_ERR" => "devices", 100 "OCS_REPORT_OSNAME" => array($l->g(25) => "osname"), 101 "OCS_REPORT_USERAGENT" => array($l->g(218) => "useragent"), 102 "OCS_REPORT_PROCESSORT" => array($l->g(350) => "processort"), 103 "OCS_REPORT_RESOLUTION" => array($l->g(62) => "resolution"), 104 "OCS_REPORT_NB_LIMIT_FREQ_H" => "hardware", 105 "OCS_REPORT_NB_LIMIT_FREQ_M" => "hardware", 106 "OCS_REPORT_NB_LIMIT_FREQ_B" => "hardware", 107 "OCS_REPORT_NB_LIMIT_MEM_H" => "hardware", 108 "OCS_REPORT_NB_LIMIT_MEM_M" => "hardware", 109 "OCS_REPORT_NB_LIMIT_MEM_B" => "hardware", 110 "OCS_REPORT_NB_ALL_COMPUTOR" => "hardware", 111 "OCS_REPORT_NB_COMPUTOR" => "hardware", 112 "OCS_REPORT_NB_CONTACT" => "hardware", 113 "OCS_REPORT_NB_INV" => "hardware", 114 "OCS_REPORT_NB_4_MOMENT" => "hardware", 115 "OCS_REPORT_NB_SNMP" => "snmp", 116 "OCS_REPORT_NB_HARD_DISK_H" => "drives", 117 "OCS_REPORT_NB_HARD_DISK_M" => "drives", 118 "OCS_REPORT_NB_HARD_DISK_B" => "drives" 119 , "OCS_REPORT_NB_IPDISCOVER" => "networks" 120 , "OCS_REPORT_NB_LAST_INV" => array("NAME" => "NAME", "ID" => "ID", $l->g(25) => "osname", $l->g(218) => "useragent")); 121 122 123$link = array("OCS_REPORT_WORKGROUP" => array("RELOAD" => 'OCS_REPORT_WORKGROUP'), 124 "OCS_REPORT_TAG" => array("RELOAD" => 'OCS_REPORT_TAG'), 125 "OCS_REPORT_IPSUBNET" => array("RELOAD" => 'OCS_REPORT_IPSUBNET'), 126 "OCS_REPORT_NB_NOTIFIED" => array("PAGE" => 'ms_multi_search'), 127 "OCS_REPORT_NB_ERR" => array("PAGE" => 'ms_multi_search'), 128 "OCS_REPORT_OSNAME" => array("RELOAD" => 'OCS_REPORT_OSNAME'), 129 "OCS_REPORT_USERAGENT" => array("RELOAD" => 'OCS_REPORT_USERAGENT'), 130 "OCS_REPORT_PROCESSORT" => array("RELOAD" => 'OCS_REPORT_PROCESSORT'), 131 "OCS_REPORT_RESOLUTION" => array("RELOAD" => 'OCS_REPORT_RESOLUTION'), 132 "OCS_REPORT_NB_LIMIT_FREQ_H" => array("PAGE" => 'ms_multi_search'), 133 "OCS_REPORT_NB_LIMIT_FREQ_M" => array("PAGE" => 'ms_multi_search'), 134 "OCS_REPORT_NB_LIMIT_FREQ_B" => array("PAGE" => 'ms_multi_search'), 135 "OCS_REPORT_NB_LIMIT_MEM_H" => array("PAGE" => 'ms_multi_search'), 136 "OCS_REPORT_NB_LIMIT_MEM_M" => array("PAGE" => 'ms_multi_search'), 137 "OCS_REPORT_NB_LIMIT_MEM_B" => array("PAGE" => 'ms_multi_search'), 138 "OCS_REPORT_NB_ALL_COMPUTOR" => '', 139 "OCS_REPORT_NB_COMPUTOR" => array("PAGE" => 'ms_all_computers'), 140 "OCS_REPORT_NB_CONTACT" => array("PAGE" => 'ms_multi_search'), 141 "OCS_REPORT_NB_INV" => array("PAGE" => 'ms_multi_search'), 142 "OCS_REPORT_NB_4_MOMENT" => array("PAGE" => 'ms_multi_search'), 143 "OCS_REPORT_NB_SNMP" => array("PAGE" => 'ms_snmp'), 144 "OCS_REPORT_NB_IPDISCOVER" => array("PAGE" => 'ms_ipdiscover'), 145 "OCS_REPORT_NB_LAST_INV" => array("RELOAD" => 'OCS_REPORT_NB_LAST_INV')); 146 147 148//all fields repart on categories 149$repart = array("OCS_REPORT_WORKGROUP" => "ELSE", 150 "OCS_REPORT_TAG" => "ELSE", 151 "OCS_REPORT_IPSUBNET" => "ELSE", 152 "OCS_REPORT_NB_NOTIFIED" => "ELSE", 153 "OCS_REPORT_NB_ERR" => "ELSE", 154 "OCS_REPORT_OSNAME" => "SOFT", 155 "OCS_REPORT_USERAGENT" => "SOFT", 156 "OCS_REPORT_PROCESSORT" => "HARD", 157 "OCS_REPORT_RESOLUTION" => "HARD", 158 "OCS_REPORT_NB_LIMIT_FREQ_H" => "HARD", 159 "OCS_REPORT_NB_LIMIT_FREQ_M" => "HARD", 160 "OCS_REPORT_NB_LIMIT_FREQ_B" => "HARD", 161 "OCS_REPORT_NB_LIMIT_MEM_H" => "HARD", 162 "OCS_REPORT_NB_LIMIT_MEM_M" => "HARD", 163 "OCS_REPORT_NB_LIMIT_MEM_B" => "HARD", 164 "OCS_REPORT_NB_ALL_COMPUTOR" => "ACTIVITY", 165 "OCS_REPORT_NB_COMPUTOR" => "ACTIVITY", 166 "OCS_REPORT_NB_CONTACT" => "ACTIVITY", 167 "OCS_REPORT_NB_INV" => "ACTIVITY", 168 "OCS_REPORT_NB_4_MOMENT" => "ACTIVITY", 169 "OCS_REPORT_NB_SNMP" => "ACTIVITY", 170 "OCS_REPORT_NB_HARD_DISK_H" => "HARD", 171 "OCS_REPORT_NB_HARD_DISK_M" => "HARD", 172 "OCS_REPORT_NB_HARD_DISK_B" => "HARD" 173 , "OCS_REPORT_NB_IPDISCOVER" => "ACTIVITY" 174 , "OCS_REPORT_NB_LAST_INV" => "ACTIVITY"); 175 176//all lbl fields 177$lbl_field = array("OCS_REPORT_WORKGROUP" => $l->g(778), 178 "OCS_REPORT_TAG" => $l->g(779), 179 "OCS_REPORT_IPSUBNET" => $l->g(780), 180 "OCS_REPORT_NB_NOTIFIED" => $l->g(781), 181 "OCS_REPORT_NB_ERR" => $l->g(782), 182 "OCS_REPORT_OSNAME" => $l->g(783), 183 "OCS_REPORT_USERAGENT" => $l->g(784), 184 "OCS_REPORT_PROCESSORT" => $l->g(785), 185 "OCS_REPORT_RESOLUTION" => $l->g(786), 186 "OCS_REPORT_NB_LIMIT_FREQ_H" => $l->g(787) . " <b>" . show_modif($data_limit['GUI_REPORT_PROC_MAX'], "GUI_REPORT_PROC_MAX", $edit, '', array('JAVASCRIPT' => valid_modif("GUI_REPORT_PROC_MAX"))) . "</b> " . $l->g(1239), 187 "OCS_REPORT_NB_LIMIT_FREQ_M" => $l->g(788) . " <b>" . show_modif($data_limit['GUI_REPORT_PROC_MINI'], "GUI_REPORT_PROC_MINI", $edit, '', array('JAVASCRIPT' => valid_modif("GUI_REPORT_PROC_MINI"))) . "</b> " . $l->g(1239), 188 "OCS_REPORT_NB_LIMIT_FREQ_B" => $l->g(789) . " <b>" . $data_limit['GUI_REPORT_PROC_MINI'] . "</b> " . $l->g(1239) . " " . $l->g(582) . " <b>" . $data_limit['GUI_REPORT_PROC_MAX'] . "</b> " . $l->g(1239), 189 "OCS_REPORT_NB_LIMIT_MEM_H" => $l->g(790) . " <b>" . show_modif($data_limit['GUI_REPORT_RAM_MAX'], "GUI_REPORT_RAM_MAX", $edit, '', array('JAVASCRIPT' => valid_modif("GUI_REPORT_RAM_MAX"))) . "</b> " . $l->g(1240), 190 "OCS_REPORT_NB_LIMIT_MEM_M" => $l->g(791) . " <b>" . show_modif($data_limit['GUI_REPORT_RAM_MINI'], "GUI_REPORT_RAM_MINI", $edit, '', array('JAVASCRIPT' => valid_modif("GUI_REPORT_RAM_MINI"))) . "</b> " . $l->g(1240), 191 "OCS_REPORT_NB_LIMIT_MEM_B" => $l->g(792) . " <b>" . $data_limit['GUI_REPORT_RAM_MINI'] . "</b> " . $l->g(1240) . " " . $l->g(582) . " <b>" . $data_limit['GUI_REPORT_RAM_MAX'] . "</b> " . $l->g(1240), 192 "OCS_REPORT_NB_ALL_COMPUTOR" => $l->g(793), 193 "OCS_REPORT_NB_COMPUTOR" => $l->g(794), 194 "OCS_REPORT_NB_CONTACT" => $l->g(795), 195 "OCS_REPORT_NB_INV" => $l->g(796), 196 "OCS_REPORT_NB_4_MOMENT" => $l->g(797) . " <b>" . show_modif($data_limit['GUI_REPORT_AGIN_MACH'], "GUI_REPORT_AGIN_MACH", $edit, '', array('JAVASCRIPT' => valid_modif("GUI_REPORT_AGIN_MACH"))) . "</b> " . $l->g(496), 197 "OCS_REPORT_NB_HARD_DISK_H" => $l->g(813) . " <b>" . show_modif($data_limit['GUI_REPORT_DD_MAX'], "GUI_REPORT_DD_MAX", $edit, '', array('JAVASCRIPT' => valid_modif("GUI_REPORT_DD_MAX"))) . "</b> " . $l->g(1240), 198 "OCS_REPORT_NB_HARD_DISK_M" => $l->g(814) . " <b>" . show_modif($data_limit['GUI_REPORT_DD_MINI'], "GUI_REPORT_DD_MINI", $edit, '', array('JAVASCRIPT' => valid_modif("GUI_REPORT_DD_MINI"))) . "</b> " . $l->g(1240), 199 "OCS_REPORT_NB_HARD_DISK_B" => $l->g(815) . " <b>" . $data_limit['GUI_REPORT_DD_MINI'] . "</b> " . $l->g(1240) . " " . $l->g(582) . " <b>" . $data_limit['GUI_REPORT_DD_MAX'] . "</b> " . $l->g(1240), 200 "OCS_REPORT_NB_IPDISCOVER" => $l->g(913), 201 "OCS_REPORT_NB_SNMP" => $l->g(1241)); 202 203 204$sql_field = array("OCS_REPORT_WORKGROUP" => array('ARG' => array('count(distinct workgroup) c', $table["OCS_REPORT_WORKGROUP"], '')), 205 "OCS_REPORT_TAG" => array('ARG' => array('count(distinct tag) c', $table["OCS_REPORT_TAG"], '')), 206 "OCS_REPORT_IPSUBNET" => array('ARG' => array('count(distinct ipsubnet) c', $table["OCS_REPORT_IPSUBNET"], '')), 207 "OCS_REPORT_NB_NOTIFIED" => array('SQL' => "select %s from %s where NAME='%s' and TVALUE is null", 208 'ARG' => array('count(distinct hardware_id) c', $table["OCS_REPORT_NB_NOTIFIED"], 'DOWNLOAD')), 209 "OCS_REPORT_NB_ERR" => array('SQL' => "select %s from %s where NAME='%s' and TVALUE like '%s'", 210 'ARG' => array('count(distinct hardware_id) c', $table["OCS_REPORT_NB_ERR"], "DOWNLOAD", "ERR_%")), 211 "OCS_REPORT_OSNAME" => array('ARG' => array('count(distinct osname) c', $table["OCS_REPORT_OSNAME"], '')), 212 "OCS_REPORT_USERAGENT" => array('ARG' => array('count(distinct useragent) c', $table["OCS_REPORT_USERAGENT"], '')), 213 "OCS_REPORT_PROCESSORT" => array('ARG' => array('count(distinct processort) c', $table["OCS_REPORT_PROCESSORT"], '')), 214 "OCS_REPORT_RESOLUTION" => array('ARG' => array('count(distinct resolution) c', $table["OCS_REPORT_RESOLUTION"], '')), 215 "OCS_REPORT_NB_LIMIT_FREQ_H" => array('ARG' => array('count(id) c', $table["OCS_REPORT_NB_LIMIT_FREQ_H"], "where processors >= " . $data_limit['GUI_REPORT_PROC_MAX'])), 216 "OCS_REPORT_NB_LIMIT_FREQ_M" => array('ARG' => array('count(id) c', $table["OCS_REPORT_NB_LIMIT_FREQ_M"], "where processors <= " . $data_limit['GUI_REPORT_PROC_MINI'])), 217 "OCS_REPORT_NB_LIMIT_FREQ_B" => array('ARG' => array('count(id) c', $table["OCS_REPORT_NB_LIMIT_FREQ_B"], "where processors <= " . $data_limit['GUI_REPORT_PROC_MAX'] . " and processors >= " . $data_limit['GUI_REPORT_PROC_MINI'])), 218 "OCS_REPORT_NB_LIMIT_MEM_H" => array('ARG' => array('count(id) c', $table["OCS_REPORT_NB_LIMIT_MEM_H"], "where memory >= " . $data_limit['GUI_REPORT_RAM_MAX'])), 219 "OCS_REPORT_NB_LIMIT_MEM_M" => array('ARG' => array('count(id) c', $table["OCS_REPORT_NB_LIMIT_MEM_M"], "where memory <= " . $data_limit['GUI_REPORT_RAM_MINI'])), 220 "OCS_REPORT_NB_LIMIT_MEM_B" => array('ARG' => array('count(id) c', $table["OCS_REPORT_NB_LIMIT_MEM_B"], "where memory <= " . $data_limit['GUI_REPORT_RAM_MAX'] . " and memory >= " . $data_limit['GUI_REPORT_RAM_MINI'])), 221 "OCS_REPORT_NB_ALL_COMPUTOR" => array('ARG' => array('count(id) c', $table["OCS_REPORT_NB_ALL_COMPUTOR"], '')), 222 "OCS_REPORT_NB_COMPUTOR" => array('ARG' => array('count(id) c', $table["OCS_REPORT_NB_COMPUTOR"], '')), 223 "OCS_REPORT_NB_CONTACT" => array('SQL' => "select %s from %s where lastcome >= date_format(sysdate(),'%s')", 224 'ARG' => array('count(id) c', $table["OCS_REPORT_NB_CONTACT"], "%Y-%m-%d 00:00:00")), 225 "OCS_REPORT_NB_INV" => array('SQL' => "select %s from %s where lastdate > date_format(sysdate(),'%s')", 226 'ARG' => array('count(id) c', $table["OCS_REPORT_NB_INV"], "%Y-%m-%d 00:00:00")), 227 "OCS_REPORT_NB_4_MOMENT" => array('ARG' => array('count(id) c', $table["OCS_REPORT_NB_4_MOMENT"], "where unix_timestamp(lastcome) < unix_timestamp(sysdate())-(" . $data_limit['GUI_REPORT_AGIN_MACH'] . "*86400)")), 228 "OCS_REPORT_NB_HARD_DISK_H" => array('SQL' => "select %s from %s where type='%s' and free>%s", 229 'ARG' => array('count(distinct(hardware_id)) c', $table["OCS_REPORT_NB_HARD_DISK_H"], "Hard Drive", $data_limit['GUI_REPORT_DD_MAX'])), 230 "OCS_REPORT_NB_HARD_DISK_M" => array('SQL' => "select %s from %s where type='%s' and free<%s", 231 'ARG' => array('count(distinct(hardware_id)) c', $table["OCS_REPORT_NB_HARD_DISK_M"], "Hard Drive", $data_limit['GUI_REPORT_DD_MINI'])), 232 "OCS_REPORT_NB_HARD_DISK_B" => array('SQL' => "select %s from %s where type='%s' and free<%s and free>=%s", 233 'ARG' => array('count(distinct(hardware_id)) c', $table["OCS_REPORT_NB_HARD_DISK_B"], "Hard Drive", $data_limit['GUI_REPORT_DD_MAX'], $data_limit['GUI_REPORT_DD_MINI'])), 234 "OCS_REPORT_NB_IPDISCOVER" => array('SQL' => "select %s c from netmap ", 235 'ARG' => array(count_noinv_network_devices())), 236 "OCS_REPORT_NB_SNMP" => array('ARG' => array('count(id) c', $table["OCS_REPORT_NB_SNMP"], ''))); 237 238function define_tab($data_on = array()) { 239 global $l; 240 $data_on['ACTIVITY'] = mb_strtoupper($l->g(798), 'UTF-8'); 241 $data_on['SOFT'] = mb_strtoupper($l->g(20), 'UTF-8'); 242 $data_on['HARD'] = mb_strtoupper($l->g(799), 'UTF-8'); 243 $data_on['ELSE'] = mb_strtoupper($l->g(800), 'UTF-8'); 244 if ($_SESSION['OCS']['profile']->getConfigValue('CONSOLE') == "YES") { 245 $data_on['ADMIN']['MSG'] = mb_strtoupper($l->g(915), 'UTF-8'); 246 247 if (!isset($default)) { 248 $default = 'MSG'; 249 } 250 } 251 return array('DATA' => $data_on, 'DEFAULT' => $default); 252} 253 254function show_active_tab($data_on) { 255 global $repart; 256 //witch fields not show 257 $no_show = look_config_default_values('OCS_REPORT_%', 1); 258 if (is_array($no_show)) { 259 foreach ($no_show['name'] as $key => $value) { 260 if (!isset($_SESSION['OCS']['ADMIN_CONSOLE'])) { 261 unset($repart[$key]); 262 } 263 } 264 } 265 foreach ($repart as $key => $value) { 266 $data[$value] = $value; 267 } 268 269 foreach ($data_on['DATA'] as $key => $value) { 270 if (!isset($data[$key])) { 271 if (!isset($_SESSION['OCS']['ADMIN_CONSOLE'])) { 272 unset($data_on['DATA'][$key]); 273 } 274 } 275 if (is_array($value)) { 276 foreach ($value as $key1 => $value1) { 277 $data_on['DATA'][$key1] = $value1; 278 } 279 unset($data_on['DATA'][$key]); 280 } 281 } 282 283 return $data_on; 284} 285 286function list_field($tab) { 287 global $repart, $lbl_field; 288 foreach ($repart as $key => $value) { 289 if ($value == $tab) { 290 $result[$key] = $lbl_field[$key]; 291 } 292 } 293 return $result; 294} 295 296function show_console_field($fields, $form_name) { 297 global $sql_field, $myids, $no_restrict, $table, $link, $pages_refs, $multi_search; 298 $no_groups_sql = " deviceid != '_SYSTEMGROUP_' and deviceid != '_DOWNLOADGROUP_' "; 299 $no_show = look_config_default_values('OCS_REPORT_%', 1); 300 301 echo "<table ALIGN = 'Center' cellspacing='5' CELLPADDING='4'><tr ><td align =center><font size=2>"; 302 foreach ($fields as $key => $value) { 303 if($sql_field[$key]['ARG'] != null){ 304 if (isset($_SESSION['OCS']['ADMIN_CONSOLE'])) { 305 if (isset($no_show['name'][$key])) { 306 $icon = "<td align=center><a href=# OnClick='pag(\"" . $key . "\",\"NO_VISIBLE\",\"" . $form_name . "\");'><img src='image/red.png'></a></td>"; 307 } else { 308 $icon = "<td align=center><a href=# OnClick='pag(\"" . $key . "\",\"VISIBLE\",\"" . $form_name . "\");'><img src='image/green.png'></a></td>"; 309 } 310 } else { 311 $icon = ""; 312 } 313 314 $arg_result = $sql_field[$key]['ARG']; 315 316 if (isset($sql_field[$key]['SQL'])) { 317 $sql_result = $sql_field[$key]['SQL']; 318 } else { 319 $sql_result = "select %s from %s %s"; 320 } 321 322 if ($table[$key] == 'hardware') { 323 if (is_defined($arg_result[2])) { 324 $sql_result .= " and " . $no_groups_sql; 325 } else { 326 $sql_result .= " where " . $no_groups_sql; 327 } 328 } 329 330 331 if ($myids) { 332 if (!in_array($key, $no_restrict)) { 333 if (is_defined($arg_result[2]) || $table[$key] == 'hardware' || is_defined($sql_field[$key]['SQL'])) { 334 $sql_result .= " and "; 335 } else { 336 $sql_result .= " where "; 337 } 338 339 if ($table[$key] != 'hardware' && $table[$key] != 'snmp' && $table[$key] != 'nk') { 340 $sql_result .= $table[$key] . ".hardware_id in " . $myids['SQL']; 341 } elseif ($table[$key] == 'hardware') { 342 $sql_result .= " id in " . $myids['SQL']; 343 } elseif ($table[$key] == 'snmp') { 344 345 } elseif ($table[$key] == 'nk') { 346 $sql_result = substr($sql_result, 0, -4); 347 } 348 349 if (is_array($sql_field[$key]['ARG'])) { 350 $arg_result = array_merge($arg_result, $myids['ARG']); 351 } else { 352 $arg_result = $myids['ARG']; 353 } 354 } 355 } 356 if (!isset($_SESSION['OCS']['COUNT_CONSOLE'][$key])) { 357 $res = mysql2_query_secure($sql_result, $_SESSION['OCS']["readServer"], $arg_result); 358 if ($res) { 359 $count = mysqli_fetch_object($res); 360 $_SESSION['OCS']['COUNT_CONSOLE'][$key] = $count->c; 361 } 362 } 363 if (isset($_SESSION['OCS']['COUNT_CONSOLE'][$key]) && is_numeric($_SESSION['OCS']['COUNT_CONSOLE'][$key])) { 364 $id_count = $_SESSION['OCS']['COUNT_CONSOLE'][$key]; 365 if (is_array($link[$key]) && $id_count != 0) { 366 if (isset($link[$key]['PAGE'])) { 367 $link_me_begin = "<a href='index.php?" . PAG_INDEX . "=" . $pages_refs[$link[$key]['PAGE']]; 368 if (isset($multi_search[$key]['FIELD'])) { 369 $link_me_begin .= "&fields=" . $multi_search[$key]['FIELD'] . "&comp=" . $multi_search[$key]['COMP'] . "&values=" . $multi_search[$key]['VALUE'] . "&values2=" . $multi_search[$key]['VALUE2'] . "&type_field=" . $multi_search[$key]['TYPE_FIELD']; 370 } 371 $link_me_begin .= "'>"; 372 $link_me_end = "</a>"; 373 } elseif (isset($link[$key]['RELOAD'])) { 374 $link_me_begin = "<a href=# OnClick='pag(\"" . $link[$key]['RELOAD'] . "\",\"SHOW_ME\",\"" . $form_name . "\");'>"; 375 $link_me_end = "</a>"; 376 } 377 } else { 378 $link_me_begin = ""; 379 $link_me_end = ""; 380 } 381 382 echo $value . "</font></td><td> </td><td align=center><font size=2><B>" . $link_me_begin . $id_count . $link_me_end . "</B></font></td>" . $icon . "</tr><tr><td align =center><font size=2>"; 383 } 384 } 385 } 386 echo "</table>"; 387 388} 389 390function find_limit_values() { 391 $arg = look_config_default_values('GUI_REPORT_%', 1); 392 return $arg['ivalue']; 393} 394 395function valid_modif($name) { 396 global $form_name; 397 return "onKeyPress=\"return scanTouche(event,/[0-9]/)\" onkeydown='convertToUpper(this)' 398 onkeyup='convertToUpper(this)' 399 onblur='pag(\"" . $name . "\",\"UPDATE_VALUE\",\"" . $form_name . "\");' 400 onclick='convertToUpper(this)'"; 401} 402 403?> 404