require_once BACKEND . 'ipdiscover/ipdiscover.php'; $tab_options['CACHE'] = 'RESET'; } if (isset($_SESSION['OCS']["ipdiscover"])) { $dpt = array_keys($_SESSION['OCS']["ipdiscover"]); array_unshift($dpt, ""); foreach ($dpt as $key => $value) { $list_index[$key] = $value; } asort($list_index); echo $l->g(562) . " " . show_modif($list_index, 'DPT_CHOISE', 2, $form_name, array('DEFAULT' => "NO")); } else { msg_info(mb_strtoupper($l->g(1134))); } if (isset($protectedPost['DPT_CHOISE']) and $protectedPost['DPT_CHOISE'] != '0') { $array_rsx = find_all_subnet($dpt[$protectedPost['DPT_CHOISE']]); $tab_options['VALUE']['LBL_RSX'] = $_SESSION['OCS']["ipdiscover"][$dpt[$protectedPost['DPT_CHOISE']]]; $arg_sql = array(); $sql = " select * from (select inv.RSX as ID,\n\t\t\t\t\t inv.c as 'INVENTORIE',\n\t\t\t\t\t non_ident.c as 'NON_INVENTORIE',\n\t\t\t\t\t ipdiscover.c as 'IPDISCOVER',\n\t\t\t\t\t ident.c as 'IDENTIFIE',\n\t\t\t\t\t CASE WHEN ident.c IS NULL and ipdiscover.c IS NULL THEN 100 WHEN ident.c IS NULL THEN 0 ELSE round(100-(non_ident.c*100/(ident.c+non_ident.c)),1) END as 'pourcentage'\n\t\t\t from (SELECT COUNT(DISTINCT hardware_id) as c,'IPDISCOVER' as TYPE,tvalue as RSX\n\t\t\t\t\tFROM devices \n\t\t\t\t\tWHERE name='IPDISCOVER' and tvalue in "; $arg = mysql2_prepare($sql, $arg_sql, $array_rsx); $arg['SQL'] .= " GROUP BY tvalue) \n\t\t\t\tipdiscover right join\n\t\t\t\t (SELECT count(distinct(hardware_id)) as c,'INVENTORIE' as TYPE,ipsubnet as RSX\n\t\t\t\t\tFROM networks left join subnet on networks.ipsubnet=subnet.netid\n\t\t\t\t\tWHERE ipsubnet in "; $arg = mysql2_prepare($arg['SQL'], $arg['ARG'], $array_rsx); $arg['SQL'] .= " and status='Up' GROUP BY ipsubnet) \n\t\t\t\tinv on ipdiscover.RSX=inv.RSX left join\n\t\t\t\t\t(SELECT COUNT(DISTINCT mac) as c,'IDENTIFIE' as TYPE,netid as RSX\n\t\t\t\t\tFROM netmap \n\t\t\t\t\tWHERE mac IN (SELECT DISTINCT(macaddr) FROM network_devices) \n\t\t\t\t\t\tand netid in "; $arg = mysql2_prepare($arg['SQL'], $arg['ARG'], $array_rsx); $arg['SQL'] .= " GROUP BY netid) \n\t\t\t\tident on ipdiscover.RSX=ident.RSX left join\n\t\t\t\t\t(SELECT COUNT(DISTINCT mac) as c,'NON IDENTIFIE' as TYPE,netid as RSX\n\t\t\t\t\tFROM netmap n\n\t\t\t\t\tLEFT JOIN networks ns ON ns.macaddr=n.mac\n\t\t\t\t\tWHERE n.mac NOT IN (SELECT DISTINCT(macaddr) FROM network_devices) \n\t\t\t\t\t\tand (ns.macaddr IS NULL OR ns.IPSUBNET <> n.netid) \n\t \t\t\t\t\tand ns.HARDWARE_ID IS NULL\n\t\t\t\t\t\tand n.netid in "; $arg = mysql2_prepare($arg['SQL'], $arg['ARG'], $array_rsx); $arg['SQL'] .= " GROUP BY netid) \n\t\t\t\tnon_ident on non_ident.RSX=inv.RSX \n\t\t\t\t) toto"; $tab_options['ARG_SQL'] = $arg['ARG']; $list_fields = array('LBL_RSX' => 'LBL_RSX', 'RSX' => 'ID', 'INVENTORIE' => 'INVENTORIE', 'NON_INVENTORIE' => 'NON_INVENTORIE', 'IPDISCOVER' => 'IPDISCOVER', 'IDENTIFIE' => 'IDENTIFIE'); if ($_SESSION['OCS']['CONFIGURATION']['IPDISCOVER'] == "YES") { $list_fields['SUP'] = 'ID';
function count_noinv_network_devices($dpt_choise = '') { $array_sub = find_all_subnet($dpt_choise); $arg_count = array(); $sql_count = "SELECT COUNT(DISTINCT mac) as c\n\t\t\t\t\tFROM netmap n \n\t\t\t\t\tLEFT OUTER JOIN networks ns ON ns.macaddr = mac \n\t\t\t\t\tWHERE mac NOT IN (SELECT DISTINCT(macaddr) FROM network_devices) \n\t\t\t\t\t\tand ( ns.macaddr IS NULL OR ns.IPSUBNET <> n.netid)\n\t\t\t\t\t\tand netid in "; $detail_query = mysql2_prepare($sql_count, $arg_count, $array_sub); if (!isset($_SESSION['OCS']['COUNT_CONSOLE']['OCS_REPORT_NB_IPDISCOVER']) and $dpt_choise == '') { $res_count = mysql2_query_secure($detail_query['SQL'], $_SESSION['OCS']["readServer"], $detail_query['ARG']); $val_count = mysqli_fetch_array($res_count); return $val_count['c']; } else { return $_SESSION['OCS']['COUNT_CONSOLE']['OCS_REPORT_NB_IPDISCOVER']; } }