get("settings_menu") ->append(Menu::factory("link") ->id("short_search_fix") ->label(t("Short search fix")) ->url(url::site("admin/short_search_fix"))); } // This is the function that changes what's written to the search_records database static function item_index_data($item, $data) { $prefix = module::get_var("short_search_fix","search_prefix"); foreach ($data as &$terms) { // strip leading, trailing, and extra whitespaces $terms = preg_replace('/^\s+/', '', $terms); $terms = preg_replace('/\s+$/', '', $terms); $terms = preg_replace('/\s\s+/', ' ', $terms); // add the prefixes if (preg_match('/\w/',$terms) > 0) { $terms = $prefix . str_replace(' ', ' '.$prefix, $terms); } } } }