');
}
/**
@@ -199,78 +199,134 @@ if (isset($_REQUEST['submit_search'])) {
return $sql;
} // end of the "PMA_getSearchSqls()" function
+ $response->addHTML(
+ PMA_dbSearchGetSearchResults(
+ $tables_selected, $searched, $option_str,
+ $search_str, $search_option, (! empty($field_str) ? $field_str : '')
+ )
+ );
+} // end 1.
-
- /**
- * Displays the results
- */
+/**
+ * Displays database search results
+ *
+ * @param array $tables_selected Tables on which search is to be performed
+ * @param string $searched The search word/phrase/regexp
+ * @param string $option_str Type of search
+ * @param string $search_str the string to search
+ * @param integer $search_option type of search
+ * (1 -> 1 word at least, 2 -> all words,
+ * 3 -> exact string, 4 -> regexp)
+ * @param string $field_str Restrict the search to this field
+ *
+ * @return string HTML for search results
+ */
+function PMA_dbSearchGetSearchResults($tables_selected, $searched, $option_str,
+ $search_str, $search_option, $field_str = null
+) {
$this_url_params = array(
'db' => $GLOBALS['db'],
'goto' => 'db_sql.php',
'pos' => 0,
'is_js_confirmed' => 0,
);
-
+ $html_output = '';
// Displays search string
- echo '
' . "\n"
- . '
';
if (count($tables_selected) > 1) {
- echo '
' . sprintf(
- _ngettext('Total: %s match', 'Total: %s matches', $num_search_result_total),
+ $html_output .= '
';
+ $html_output .= sprintf(
+ _ngettext(
+ 'Total: %s match',
+ 'Total: %s matches',
+ $num_search_result_total
+ ),
$num_search_result_total
- ) . '
' . "\n";
+ );
+ $html_output .= '';
}
-} // end 1.
+ return $html_output;
+}
+
+/**
+ * Provides search results row with browse/delete links.
+ * (for a table)
+ *
+ * @param string $each_table Tables on which search is to be performed
+ * @param array $newsearchsqls Contains SQL queries
+ * @param bool $odd_row For displaying contrasting table rows
+ *
+ * @return string HTML row
+ */
+function PMA_dbSearchGetResultsRow($each_table, $newsearchsqls, $odd_row)
+{
+ $res_cnt = PMA_DBI_fetch_value($newsearchsqls['select_count']);
+ // Start forming search results row
+ $html_output = '
';
+ $html_output .= '| ';
+ $html_output .= sprintf(
+ _ngettext(
+ '%1$s match inside table %2$s',
+ '%1$s matches inside table %2$s', $res_cnt
+ ),
+ $res_cnt, htmlspecialchars($each_table)
+ );
+ $html_output .= ' | ';
+
+ if ($res_cnt > 0) {
+ $this_url_params['sql_query'] = $newsearchsqls['select_fields'];
+ $browse_result_path = 'sql.php' . PMA_generate_common_url($this_url_params);
+ $html_output .= ''
+ . __('Browse') . ' | ';
+ $this_url_params['sql_query'] = $newsearchsqls['delete'];
+ $delete_result_path = 'sql.php' . PMA_generate_common_url($this_url_params);
+ $html_output .= ''
+ . __('Delete') . ' | ';
+ } else {
+ $html_output .= ' | '
+ .' | ';
+ }// end if else
+ $html_output .= '
';
+ return $html_output;
+}
/**
* If we are in an Ajax request, we need to exit after displaying all the HTML
@@ -278,96 +334,131 @@ if (isset($_REQUEST['submit_search'])) {
if ($GLOBALS['is_ajax_request'] == true) {
exit;
} else {
- echo '