makeIPL($search_term); } $w = "'%".sqlescape($search_term)."%'"; // Get the "Pages" results. $r = $admin->searchPages($search_term,array("title","resources","meta_keywords","meta_description","nav_title"),"50"); $pages = array(); foreach ($r as $f) { $access_level = $admin->getPageAccessLevel($f["id"]); if ($access_level) { $res = json_decode($f["resources"],true); $bc = $cms->getBreadcrumbByPage($f); $bc_parts = array(); foreach ($bc as $part) { $bc_parts[] = ''.$part["title"].''; } $result = array( "id" => $f["id"], "title" => $f["nav_title"], "description" => BigTree::trimLength(strip_tags($res["page_content"]),450), "link" => ADMIN_ROOT."pages/edit/".$f["id"]."/", "breadcrumb" => implode(" › ",$bc_parts) ); $pages[] = $result; $total_results++; } } if (count($pages)) { $results["Pages"] = $pages; } // Get every module's results based on auto module views. $modules = $admin->getModules("name ASC"); foreach ($modules as $m) { // Get all auto module view actions for this module. $actions = $admin->getModuleActions($m); foreach ($actions as $action) { if ($action["view"]) { $view = BigTreeAutoModule::getView($action["view"]); $m_results = array(); $table_description = BigTree::describeTable($view["table"]); $qparts = array(); foreach ($table_description["columns"] as $column => $data) { $qparts[] = "`$column` LIKE $w"; } // Get matching results $qs = sqlquery("SELECT * FROM `".$view["table"]."` WHERE ".implode(" OR ",$qparts)); // Ignore SQL failures because we might have bad collation. while ($r = sqlfetch($qs,true)) { foreach ($r as &$piece) { $piece = $cms->replaceInternalPageLinks($piece); } unset($piece); $m_results[] = $r; $total_results++; } if (count($m_results)) { $results[$m["name"]][] = array( "view" => $view, "results" => $m_results, "module" => $m ); } } } } ?>