From 05c3bde0c29128d803d98b69b337ccfebe4c1732 Mon Sep 17 00:00:00 2001 From: jwangen Date: Sun, 27 Oct 2002 23:55:57 +0000 Subject: Search furthur implimented --- search.php | 331 +++++++++++++++++++++++++++++++++++++------------------------ 1 file changed, 202 insertions(+), 129 deletions(-) (limited to 'search.php') diff --git a/search.php b/search.php index a2ab225..4ffa0c8 100644 --- a/search.php +++ b/search.php @@ -4,20 +4,218 @@ define('BASE','./'); $current_view = 'search'; include('./functions/ical_parser.php'); +if (isset($HTTP_SERVER_VARS['HTTP_REFERER']) && $HTTP_SERVER_VARS['HTTP_REFERER'] != '') { + $back_page = $HTTP_SERVER_VARS['HTTP_REFERER']; +} else { + $back_page = BASE.$default_view.'.php?cal='.$cal.'&getdate='.$getdate; +} + +$search_valid = false; +if (isset($HTTP_GET_VARS['query']) && $HTTP_GET_VARS['query'] != '') { + $query = $HTTP_GET_VARS['query']; + $search_valid = true; +} + +$formatted_start_range = localizeDate($dateFormat_week, $start_range_time); +$formatted_end_range = localizeDate($dateFormat_week, $end_range_time); + +$search_box = ''; // yet to be implemented switch($HTTP_GET_VARS['mode']) { case 'advanced_search': // display advanced search stuff + break; case 'search': // display simple search stuff + $search_box .= + '
'."\n". + ''."\n". + ''."\n". + '
'; break; case 'results': // display results of either simple or advanced search break; default: // some generic thing, maybe same as search + $search_box .= + '
'."\n". + ''."\n". + ''."\n". + '
'; +} + +$search_started = getmicrotime(); +if ($search_valid) { + $format_search_arr = format_search($query); + $formatted_search = $format_search_arr[0]; + if (isset($master_array) && is_array($master_array)) { + foreach($master_array as $date_key_tmp => $date_tmp) { + if (is_array($date_tmp)) { + foreach($date_tmp as $time_tmp) { + if (is_array($time_tmp)) { + foreach ($time_tmp as $event_tmp) { + if (is_array($event_tmp)) { + $results1 = search_boolean($format_search_arr,$event_tmp['event_text']); + if (!$results1) { + $results2 = search_boolean($format_search_arr,$event_tmp['description']); + } + if ($results1 || $results2) { + $event_tmp['date'] = $date_key_tmp; + $the_arr[] = $event_tmp; + } + } + } + } + } + } + } + } +} else { + $formatted_search = 'No query given'; } +$search_ended = getmicrotime(); + +$search_took = number_format(($search_ended-$search_started),3); + +?> + + + + + + <?php echo "$calendar_name - $results_lang"; ?> + + + +
+ + + + + + + + + + +
+ + + + + + +
+
+ + + + +
+ + + + + + + + + + + + + + \n"; + echo ""; + echo "\n"; + + if ($val["event_text"]) { + $event_text = stripslashes(urldecode($val["event_text"])); + $description = stripslashes(urldecode($val["description"])); + $event_start = $val["event_start"]; + $event_end = $val["event_end"]; + $event_start = date ($timeFormat, strtotime ("$event_start")); + $event_end = date ($timeFormat, strtotime ("$event_end")); + $event_start = "$event_start - $event_end"; + if (!$val["event_start"]) { + $event_start = "$all_day_lang"; + $event_start2 = ''; + $event_end = ''; + } + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + } + } + } else { + echo ''; + } + + + + ?> + + + +
 
$dayofmonth
\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + if ($val["description"]) { + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + } + echo "
$time_lang:$event_start
$summary_lang:$event_text
$description_lang:$description
\n"; + echo "
'; + echo $no_results_lang; + echo '
 
+ '; + echo ''.$formatted_start_range.' - '.$formatted_end_range.'
'; + echo 'Search took '.$search_took.' seconds

'; + ?> +
+
+
+
+ + + + $date_tmp) { - if (is_array($date_tmp)) { - foreach($date_tmp as $time_tmp) { - if (is_array($time_tmp)) { - foreach ($time_tmp as $event_tmp) { - if (is_array($event_tmp)) { - $results1 = search_boolean($format_search_arr,$event_tmp['event_text']); - if (!$results1) { - $results2 = search_boolean($format_search_arr,$event_tmp['description']); - } - if ($results1 || $results2) { - $event_tmp['date'] = $date_key_tmp; - $the_arr[] = $event_tmp; - } - } - } - } - } - } - } +function getmicrotime() { + list($usec, $sec) = explode(' ',microtime()); + return ((float)$usec + (float)$sec); } - -?> - - - - - - <?php echo "$calendar_name - Search Results"; ?> - "> - - - -
- - - - - - - - - -
"; ?>"; ?>
- - - - -
- - - - - - - - - - \n"; - echo "\n"; - echo "\n"; - - } else { - echo "\n"; - echo "\n"; - echo "\n"; - } - - ?> -
"; ?>"; ?>
\n"; - foreach($the_arr as $val) { - $thedate = $val['date']; - $dayofmonth = strtotime ($thedate); - $dayofmonth = localizeDate ($dateFormat_week_list, $dayofmonth); - $i = 0; - if ($getdate == $thedate) { - $fontclass="class=\"G10BOLD\""; - } else { - $fontclass="class=\"G10B\""; - } - if ($val["event_text"]) { - $event_text = stripslashes(urldecode($val["event_text"])); - $event_text2 = addslashes($val["event_text"]); - $event_text2 = str_replace("\"", """, $event_text2); - $event_text2 = urlencode($event_text2); - $description = addslashes($val["description"]); - $description = str_replace("\"", """, $description); - $event_start = $val["event_start"]; - $event_end = $val["event_end"]; - $event_start = date ($timeFormat, strtotime ("$event_start")); - $event_end = date ($timeFormat, strtotime ("$event_end")); - $event_text = str_replace ("
", "", $event_text); - $event_start2 = $event_start; - if (strlen($event_text) > 70) { - $event_text = substr("$event_text", 0, 65); - $event_text = $event_text . "..."; - } - if (!$val["event_start"]) { - $event_start = "$all_day_lang"; - $event_start2 = ''; - $event_end = ''; - } - echo "\n"; - echo "\n"; - echo "\n"; - } - } - echo "
 $dayofmonth ($event_start)\n"; - echo " $event_text\n"; - echo "\n"; - echo ''.htmlspecialchars(urldecode($val["description"])).''; - echo "
No results found
-
- - -
- -
- - +?> \ No newline at end of file -- cgit v1.2.3