function fs_find_matching_engine($ref) { $engines = fs_get_search_engines(); foreach ($engines as $e) { if (strpos($ref, $e->pattern) !== false) { return $e; } } return false; }
function fs_get_search_terms_tree() { $error = ''; $max_num = fs_get_max_search_terms(); $search_terms_date_type = fs_get_option("search_terms_date_type", 90); if (is_numeric($search_terms_date_type)) { $terms = fs_get_recent_search_terms($max_num, $search_terms_date_type); } else { if ($search_terms_date_type == 'ever') { $terms = fs_get_recent_search_terms($max_num, null); } else { if ($search_terms_date_type == 'time_range') { $start_date = fs_format_sql_date("search_terms_start"); $end_date = fs_format_sql_date("search_terms_end"); if (!$end_date || !$start_date) { if (!$start_date) { $error = fs_r("Start date is missing"); } else { if (!$end_date) { $error = fs_r("End date is missing"); } } } else { $terms = fs_get_recent_search_terms_range($max_num, true, strtotime($start_date), strtotime($end_date), true); } } else { $error = "ERROR: Unexpected search_terms_date_type"; } } } $res = "<div id='search_terms_tree_id'>\n"; if ($error == '' && (isset($terms) && $terms !== false) && count($terms) > 0) { require_once FS_ABS_PATH . '/php/searchengines.php'; $engines_ht = fs_get_search_engines(true); $please_wait = fs_r("Please wait..."); $res .= "<ul class='mktree'>\n"; foreach ($terms as $line) { $imgtag = fs_get_search_engine_img_tag($engines_ht, $line->search_engine_id); $terms = fs_format_link($line->referer, $line->search_terms, null, null); $search_terms = "{$imgtag} <span>{$terms}</span> <span>(<b>‎{$line->c}</b>)</span>"; if ($line->num_engines > 1) { $id = "search_term_{$line->search_terms}"; $pid = "parent_search_term_{$line->search_terms}"; $res .= "<li id='{$pid}' onclick='fs_get_search_terms_engines_breakdown(\"{$id}\")'>{$search_terms}\n\t\t\t\t\t\t\t<ul id='{$id}'>\n\t\t\t\t\t\t\t\t<li>{$please_wait}</li>\n\t\t\t\t\t\t\t</ul>\n\t\t\t\t\t\t</li>\n"; } else { $res .= "<li>{$search_terms}</li>\n"; } } $res .= "</ul>\n"; } else { if ($error != '') { $res .= $error; } else { if ($terms === FALSE) { $res .= fs_db_error(); } else { $res .= fs_r('No data yet, go get some hits'); } } } $res .= "</div>\n"; return $res; }