', '`', '\'', '"', '|', ',', '@', '_', '?', '%', '~', '.', '[', ']', '{', '}', ':', '\\', '/', '=', '\'', '!', '*'); $drop_char_replace = array(' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', '', '', ' ', ' ', ' ', ' ', '', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ' , ' ', '' , ' ', ' ', ' ', ' ', ' '); $search_keywords = str_replace($drop_char_match, $drop_char_replace, $search_keywords); // Split words $words = preg_split('#\s+#', $search_keywords); $words = array_unique($words); $search['fields']['keywords'] = array(); $search['fields']['keywords']['words'] =$words; $search['fields']['keywords']['mode']= $_POST['mode']; } if ($_POST['search_author']) { $search['fields']['author'] = array(); $search['fields']['author']['words'] = array($_POST['search_author']); } if (isset($_POST['cat'])) { $search['fields']['cat'] = array(); $search['fields']['cat']['words'] = $_POST['cat']; if (isset($_POST['subcats-included'])) { $search['fields']['cat']['mode'] = 'sub_inc'; } } if (!empty($_POST['start_year'])) { $type_date = $_POST['date_type']; // start event $date = $_POST['start_year'].'.'.$_POST['start_month'].'.'.$_POST['start_day']; $search['fields'][$type_date]['words'] = array($date); // duration $search_duration = 0; if ( !empty($date) && !empty( $_POST['duration_day']) ) { $search['fields'][$type_date]['mode'] = $_POST['duration_day']; } } // search string (for URL) creation $search_string = ''; $tokens = array(); if (!empty($search)) { foreach (array_keys($search['fields']) as $field) { $token = $field.':'; $token.= implode(',', $search['fields'][$field]['words']); if (isset($search['fields'][$field]['mode'])) { $token.= '~'.$search['fields'][$field]['mode']; } array_push($tokens, $token); } $search_string.= implode(';', $tokens); if (count($tokens) > 1) { $search_string.= '|AND'; } } else { array_push($errors, $lang['search_one_clause_at_least']); } } //----------------------------------------------------------------- redirection if (isset($_POST['submit']) and count($errors) == 0) { $url = 'category.php?cat=search&search='.$search_string; $url = add_session_id($url, true); redirect($url); } //----------------------------------------------------- template initialization // day list $start_day = ''; // month list $start_month = ''; // year list $start_year = ''; // // Start output of page // $title= $lang['search_title']; include(PHPWG_ROOT_PATH.'include/page_header.php'); $template->set_filenames( array('search'=>'search.tpl') ); $template->assign_vars(array( 'L_SEARCH_TITLE' => $lang['search_title'], 'L_SEARCH_OPTIONS' => $lang['search_options'], 'L_RETURN' => $lang['home'], 'L_SUBMIT' => $lang['submit'], 'L_RESET' => $lang['reset'], 'L_SEARCH_KEYWORDS'=>$lang['search_keywords'], 'L_SEARCH_KEYWORDS_HINT'=>$lang['search_keywords_hint'], 'L_SEARCH_ANY_TERMS'=>$lang['search_mode_or'], 'L_SEARCH_ALL_TERMS'=>$lang['search_mode_and'], 'L_SEARCH_AUTHOR'=>$lang['search_author'], 'L_SEARCH_AUTHOR_HINT'=>$lang['search_explain'], 'L_SEARCH_CATEGORIES'=>$lang['search_categories'], 'L_SEARCH_CATEGORIES_HINT'=>$lang['search_categories_hint'], 'L_SEARCH_SUBFORUMS'=>$lang['search_subcats_included'], 'L_YES' => $lang['yes'], 'L_NO' => $lang['no'], 'L_SEARCH_DATE' => $lang['search_date'], 'L_SEARCH_DATE_HINT' => $lang['search_date_hint'], 'L_TODAY' => $lang['today'], 'L_SEARCH_DATE_FROM'=>$lang['search_date_from'], 'L_SEARCH_DURATION'=>$lang['search_duration'], 'L_DAYS'=>$lang['days'], 'L_MONTH'=>$lang['w_month'], 'L_SEARCH_DATE_TYPE'=>$lang['search_date_type'], 'L_SEARCH_CREATION'=>$lang['search_date_creation'], 'L_SEARCH_AVAILABILITY'=>$lang['search_date_available'], 'L_RESULT_SORT'=>$lang['search_sort'], 'L_SORT_ASCENDING'=>$lang['search_ascending'], 'L_SORT_DESCENDING'=>$lang['search_descending'], 'TODAY_DAY' => date('d', time()), 'TODAY_MONTH' => date('m', time()), 'TODAY_YEAR' => date('Y', time()), 'S_CALENDAR_YEAR' => $start_year, 'S_CALENDAR_MONTH' => $start_month, 'S_CALENDAR_DAY' => $start_day, 'S_SEARCH_ACTION' => add_session_id( 'search.php' ), 'U_HOME' => add_session_id( 'category.php' ) ) ); //------------------------------------------------------------- categories form $query = ' SELECT name,id,date_last,nb_images,global_rank,uppercats FROM '.CATEGORIES_TABLE; if ($user['forbidden_categories'] != '') { $query.= ' WHERE id NOT IN ('.$user['forbidden_categories'].')'; } $query.= ' ;'; $selecteds = array(); display_select_cat_wrapper($query, $selecteds, 'category_option', false); //-------------------------------------------------------------- errors display if (sizeof($errors) != 0) { $template->assign_block_vars('errors',array()); foreach ($errors as $error) { $template->assign_block_vars('errors.error',array('ERROR'=>$error)); } } //------------------------------------------------------------ log informations pwg_log( 'search', $title ); mysql_close(); $template->pparse('search'); include(PHPWG_ROOT_PATH.'include/page_tail.php'); ?>