$this->load->view('html_begin', $this->html_head_params);
$this->load->view('header', array(
'search_category_name'=>$vs_data['category_name'],
- 'search_category_title'=>$vs_data['category_title']
));
// $main_params['content'] = $this->load->view('catalog/category_view', $data, TRUE);
public function search($search_query = "", $offset = 0, $category_name = NULL)
{
+ $this->load->model('videos_model');
+ $this->load->library('security');
+
// Redirect to an URL which contains search string if data was passed
// via POST method and not via URL segments.
$str_post_search = $this->input->post('search');
+ $str_post_category = $this->input->post('search-category');
if ($search_query === "" && $str_post_search !== FALSE)
- redirect('catalog/search/'. $str_post_search);
+ {
+ redirect('catalog/search/'
+ . $this->videos_model->encode_search_query($str_post_search)
+ . '/0'
+ . ($str_post_category === FALSE ? '' : "/$str_post_category"));
+ return;
+ }
- $this->load->model('videos_model');
- $this->load->library('security');
-
// **
// ** LOADING MODEL
// **
if ($category_name !== NULL)
{
$header_data['search_category_name'] = $results_data['category_name'];
- $header_data['search_category_title'] = $results_data['category_title'];
}
// Check if search string is valid.
$lang['ui_install_already_installed'] = ' is installed';
// Video Categories
+$lang['ui_categ_all-categories'] = 'All Categories';
$lang['ui_categ_movies'] = 'Movies';
$lang['ui_categ_tech-talks'] = 'TechTalks';
$lang['ui_categ_events'] = 'Events';
$str_query = "SELECT $selected_columns
FROM `videos`
- WHERE $category_cond $search_cond
+ WHERE $category_cond ( $search_cond )
$order
$limit";
- //echo "<p>$str_query</p>";
+// echo "<p>$str_query</p>";
$query = $this->db->query($str_query);
if ($query->num_rows() > 0)
return $search_query;
}
+ public function encode_search_query($search_query)
+ {
+ $search_query = str_replace('*', '_AST_', $search_query);
+ $search_query = str_replace('+', '_AND_', $search_query);
+ $search_query = str_replace('>', '_GT_', $search_query);
+ $search_query = str_replace('<', '_LT_', $search_query);
+ $search_query = str_replace('(', '_PO_', $search_query);
+ $search_query = str_replace(')', '_PC_', $search_query);
+ $search_query = str_replace('~', '_LOW_', $search_query);
+ $search_query = str_replace('"', '_QUO_', $search_query);
+
+ $search_query = urlencode($search_query);
+
+ return $search_query;
+ }
+
/**
* Return TRUE if it contains any special caracter from an advanced search
* query.
if (! isset($search_query))
$search_query = '';
if (! isset($search_category_name))
- $search_category_name = NULL;
+ $search_category_name = 'all-categories';
+
+ $categories['all-categories'] = $this->lang->line('ui_categ_all-categories');
+ foreach ($this->config->item('categories') as $id => $name)
+ {
+ $categories[$name] = $this->lang->line("ui_categ_$name");
+ }
?>
<ul
src="<?php echo site_url('img/p2p-next--big.png') ?>" alt="P2P-Next"
width="119" height="48" /> </a>
-
-
-
<?php echo form_open('catalog/search', array('id'=>'quick-search')); ?>
- <label for="search"><?php
- if ($search_category_name === NULL)
- echo $this->lang->line('ui_search') . ':';
- else
- echo $this->lang->line('ui_search_in') . ' <em>'
- . $search_category_title . '</em>:';
- ?>
- </label>
+ <label for="search-category"><?php echo $this->lang->line('ui_search_in') ?></label> <?php
+ echo form_dropdown('search-category', $categories,
+ $search_category_name, 'id=search-category') ?>:
<input type="text" id="search" name="search" value="<?php echo htmlentities($search_query) ?>" />
<input type="submit" id="button-quick-search" value="<?php echo $this->lang->line('ui_search') ?>" />
<a href="#" id="button-js-quick-search" style="display:none">
searchQuery = searchQuery.replace(/~/g, '_LOW_'); // ~
searchQuery = searchQuery.replace(/"/g, '_QUO_'); // "
searchQuery = encodeURI(searchQuery);
-
+
+ searchCategoryName = $('#search-category').val();
window.location = "<?php echo site_url('catalog/search') ?>/"
+ searchQuery + '/0'
- + "<?php echo ($search_category_name === NULL ? '' : '/'. $search_category_name) ?>";
+ + (searchCategoryName == 'all-categories' ? '' : '/'
+ + searchCategoryName);
};
$('#button-js-quick-search')