sanitizeQuote(_($page[0])),"value"=>basename($page[1],".page")),$searchPages) ) $searchPages[] = array("label"=>sanitizeQuote(_($page[0])),"value"=>basename($page[1],".page")); } file_put_contents("/tmp/gui.search/searchResults.json",serialize($searchPages)); } echo json_encode($searchPages); function getSettings() { global $searchPages, $pageInfo, $page,$file,$locale; $bannedPages = array("ShareEdit","UserEdit","Device","community.applications","Selftest","DeviceInfo","EthX","CA_Notices","SecuritySMB","SecurityNFS"); if (in_array(basename($page,".page"),$bannedPages) ) return; foreach (explode("\n",$file[1]) as $line) { $line = trim($line); if ( startsWith($line,"_(") && (endsWith($line,")_:") || endsWith($line,")_):") ) ) { preg_match("//i",$line,$extra,PREG_OFFSET_CAPTURE); $string = str_replace(["_(",")_:",")_?",")_"],["","","",""],$line); $extraEng = ""; $extraTra = ""; if ( $extra ) { $extrasearch = trim(str_replace([""],["",""],$extra[0][0])); $string = str_replace($extra[0][0],"",$string); foreach ( explode("|",$extrasearch) as $term ) { $extraEng .= $term."|"; $extraTra .= _($term)."|"; } $extraEng = " [".rtrim($extraEng,"|")."]"; $extraTra = " [".rtrim($extraTra,"|")."]"; } $string = sanitizeQuote($string); $linkPage = basename($page,".page"); if (strpos($linkPage,"WG") === 0) { $linkPage = "VPNmanager"; } if ( stripos(str_replace(" ","",$line),"") ) continue; if ( ! in_array(array("label"=>"$string $extraTra (".sanitizeQuote($pageInfo['Title']).")","value"=>"$linkPage**"._($string)),$searchPages) ) { $searchPages[] = array("label"=>_($string)." $extraTra (".sanitizeQuote(_($pageInfo['Title'])).")","value"=>"$linkPage**"._($string)); if ( $locale ) { if ( _($string) !== $string ) $searchPages[] = array("label"=>($string)." $extraEng (".sanitizeQuote($pageInfo['Title']).")","value"=>"$linkPage**"._($string)); } } } } } function sanitizeQuote($string) { return str_replace("'","",str_replace('"',"",$string)); } ############################################## # Determine if $haystack begins with $needle # ############################################## function startsWith($haystack, $needle) { if ( !is_string($haystack) || ! is_string($needle) ) return false; return $needle === "" || strripos($haystack, $needle, -strlen($haystack)) !== FALSE; } ############################################# # Determine if $string ends with $endstring # ############################################# function endsWith($string, $endString) { $len = strlen($endString); if ($len == 0) { return true; } return (substr($string, -$len) === $endString); } ?>