} if ($urlInfo['query']) { $urlInfo['path'] .= "?{$urlInfo['query']}"; } if ($urlInfo['host']) { $urlInfo['host'] = strtolower($urlInfo['host']); if (preg_match('/^[\\w\\-\\d]+\\.[\\w\\-\\d]+$/', $urlInfo['host'])) { $urlInfo['host'] = 'www.' . $urlInfo['host']; } $urlHost = $urlInfo['host']; $uri = $urlInfo['scheme'] . '://' . $extra . $urlInfo['host'] . $urlInfo['path']; $steps = array(); $stamp = microtime(true); while (count($steps) < 5) { $output[] = 'Scanning for Valid Target: ' . $uri . '<br>'; $res = findTarget($uri); if ($res == $uri) { break; } $uri = $res; $steps[] = $uri; } if (count($steps) == 5 && $uri == array_pop($steps)) { $output[] = 'Failed to find valid target...'; $uri = null; } else { $output[] = 'Found valid target: ' . $uri . '<br/>'; } $loadtime = microtime(true) - $stamp; } }
/** * Method to search group(s) returned from target LDAP field * Note: search value is now hardcoded but more than likely that will change and search array will be part of method * signature in the future * @param $searchLine String to search for targeted word/group name * @param $searchTerms A string word or array of Strings used to search group list from LDAP * @return bool found return true otherwise false */ function inSearchString($searchLine, $searchTerms) { if (isset($searchTerms) && isset($searchLine) && count($searchTerms) > 0 && count($searchLine) > 0) { if (is_array($searchTerms)) { $searchTermsCount = count($searchTerms); $found = 0; foreach ($searchTerms as $item) { if (findTarget($searchLine, $item)) { $found++; } } if ($found == $searchTermsCount) { return true; } } else { if (findTarget($searchLine, $searchTerms)) { return true; } } } return false; //default return value if system falls through all tests }