$mac = trim($mac); $rssi = str_replace('INTEGER:', '', $rssi); $rssi = trim($rssi); $result[$mac] = $rssi; } } } return $result; } } // Main code part $alter_config = $ubillingConfig->getAlter(); if ($alter_config['MTSIGMON_ENABLED']) { $sigmon = new MTSIGMON(); $allMonitoredDevices = $sigmon->getDevices(); $allusermacs = zb_UserGetAllMACs(); $alladdress = zb_AddressGetFullCityaddresslist(); $alltariffs = zb_TariffsGetAllUsers(); $allrealnames = zb_UserGetAllRealnames(); $alluserips = zb_UserGetAllIPs(); $result = ''; $hlightmac = ''; //hlight user mac sub if (isset($_GET['username'])) { $login = mysql_real_escape_string($_GET['username']); $userip = zb_UserGetIP($login); $usermac = zb_MultinetGetMAC($userip); $hlightmac = $usermac; } if (!empty($allMonitoredDevices)) { foreach ($allMonitoredDevices as $io => $eachdevice) {
/** * function that display JSON data for display FDB cache * * @param $fdbData_raw - array of existing cache _fdb files * * @return string */ function sn_SnmpParseFdbCacheJson($fdbData_raw) { $allusermacs = zb_UserGetAllMACs(); $allusermacs = array_flip($allusermacs); $alladdress = zb_AddressGetFulladdresslist(); $allswitches = zb_SwitchesGetAll(); $rawFilters = zb_StorageGet('FDBCACHEMACFILTERS'); $filteredCounter = 0; $switchdata = array(); $allfilters = array(); //switch data preprocessing if (!empty($allswitches)) { foreach ($allswitches as $io => $eachswitch) { $switchdata[$eachswitch['ip']] = $eachswitch['location']; } } //mac filters preprocessing if (!empty($rawFilters)) { $rawFilters = base64_decode($rawFilters); $rawFilters = explodeRows($rawFilters); if (!empty($rawFilters)) { foreach ($rawFilters as $rawfindex => $rawfmac) { $eachMacFilter = strtolower($rawfmac); $allfilters[trim($eachMacFilter)] = $rawfindex; } } } $result = '{ "aaData": ['; foreach ($fdbData_raw as $each_raw) { $nameExplode = explode('_', $each_raw); if (sizeof($nameExplode) == 2) { $switchIp = $nameExplode[0]; if (file_exists('exports/' . $each_raw)) { $eachfdb_raw = file_get_contents('exports/' . $each_raw); $eachfdb = unserialize($eachfdb_raw); if (!empty($eachfdb_raw)) { foreach ($eachfdb as $mac => $port) { //detecting user login by his mac if (isset($allusermacs[$mac])) { $userlogin = $allusermacs[$mac]; } else { $userlogin = false; } if ($userlogin) { $userlink = '<a href=?module=userprofile&username='******'><img src=skins/icon_user.gif> ' . @$alladdress[$userlogin] . '</a>'; } else { $userlink = ''; } if (sn_FDBFilterCheckMac($mac, $allfilters)) { $result .= ' [ "' . $switchIp . '", "' . $port . '", "' . @$switchdata[$switchIp] . '", "' . $mac . '", "' . $userlink . '" ],'; $filteredCounter++; } } } } } } //show some data if filters failed if ($filteredCounter == 0) { $result .= ' [ "", "", "", "' . __('Nothing found') . '", "" ],'; } $result = substr($result, 0, -1); $result .= '] }'; return $result; }
/** * Returns user profile search results * * @global object $ubillingConfig * @param string $query * @param string $searchtype * @return string */ function zb_UserSearchFields($query, $searchtype) { global $ubillingConfig; $query = mysql_real_escape_string(trim($query)); $searchtype = vf($searchtype); $altercfg = $ubillingConfig->getAlter(); //check strict mode for our searchtype $strictsearch = array(); if (isset($altercfg['SEARCH_STRICT'])) { if (!empty($altercfg['SEARCH_STRICT'])) { $strictsearch = explode(',', $altercfg['SEARCH_STRICT']); $strictsearch = array_flip($strictsearch); } } //construct query if ($searchtype == 'realname') { $mask = isset($strictsearch[$searchtype]) ? '' : '%'; $query = "SELECT `login` from `realname` WHERE `realname` LIKE '" . $mask . $query . $mask . "'"; } if ($searchtype == 'login') { $mask = isset($strictsearch[$searchtype]) ? '' : '%'; $query = "SELECT `login` from `users` WHERE `login` LIKE '" . $mask . $query . $mask . "'"; } if ($searchtype == 'phone') { $mask = isset($strictsearch[$searchtype]) ? '' : '%'; $query = "SELECT `login` from `phones` WHERE `phone` LIKE '" . $mask . $query . $mask . "'"; } if ($searchtype == 'mobile') { $mask = isset($strictsearch[$searchtype]) ? '' : '%'; $query = "SELECT `login` from `phones` WHERE `mobile` LIKE '" . $mask . $query . $mask . "'"; } if ($searchtype == 'email') { $mask = isset($strictsearch[$searchtype]) ? '' : '%'; $query = "SELECT `login` from `emails` WHERE `email` LIKE '" . $mask . $query . $mask . "'"; } if ($searchtype == 'note') { $mask = isset($strictsearch[$searchtype]) ? '' : '%'; $query = "SELECT `login` from `notes` WHERE `note` LIKE '" . $mask . $query . $mask . "'"; } if ($searchtype == 'contract') { $mask = isset($strictsearch[$searchtype]) ? '' : '%'; $query = "SELECT `login` from `contracts` WHERE `contract` LIKE '" . $mask . $query . $mask . "'"; } if ($searchtype == 'ip') { $mask = isset($strictsearch[$searchtype]) ? '' : '%'; $query = "SELECT `login` from `users` WHERE `IP` LIKE '" . $mask . $query . $mask . "'"; } if ($searchtype == 'seal') { $mask = isset($strictsearch[$searchtype]) ? '' : '%'; $query = "SELECT `login` from `condet` WHERE `seal` LIKE '" . $mask . $query . $mask . "'"; } //mac-address search if ($searchtype == 'mac') { $allfoundlogins = array(); $allMacs = zb_UserGetAllMACs(); $searchMacPart = strtolower($query); if (!empty($allMacs)) { $allMacs = array_flip($allMacs); foreach ($allMacs as $eachMac => $macLogin) { if (ispos($eachMac, $searchMacPart)) { $allfoundlogins[] = $macLogin; } } } } if ($searchtype == 'apt') { $query = "SELECT `login` from `address` WHERE `aptid` = '" . $query . "'"; } if ($searchtype == 'payid') { if ($altercfg['OPENPAYZ_REALID']) { $query = "SELECT `realid` AS `login` from `op_customers` WHERE `virtualid`='" . $query . "'"; } else { $query = "SELECT `login` from `users` WHERE `IP` = '" . int2ip($query) . "'"; } } // пытаемся изобразить результат if ($searchtype != 'mac') { $allresults = simple_queryall($query); $allfoundlogins = array(); if (!empty($allresults)) { foreach ($allresults as $io => $eachresult) { $allfoundlogins[] = $eachresult['login']; } //если таки по четкому адресу искали - давайте уж в профиль со старта if ($searchtype == 'apt') { rcms_redirect("?module=userprofile&username=" . $eachresult['login']); } } } $result = web_UserArrayShower($allfoundlogins); return $result; }