PluginProbe
wpForo Forum / 1.4.1
wpForo Forum v1.4.1
3.1.5 3.1.4 3.1.2 3.1.1 3.1.0 3.0.9 3.0.8 3.0.7 trunk 1.0.0 1.0.1 1.0.2 1.1.0 1.1.1 1.1.2 1.2.0 1.3.0 1.3.1 1.4.0 1.4.1 1.4.10 1.4.11 1.4.12 1.4.13 1.4.2 All 137 releases
wpforo / wpf-themes / classic / search.php

search.php in wpForo Forum 1.4.1, at wpf-themes/classic/search.php

155 lines 9.9 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2 // Exit if accessed directly
3 if( !defined( 'ABSPATH' ) ) exit;
4
5 if(!empty($_GET['wpfpaged'])) $paged = intval($_GET['wpfpaged']);
6
7 $args = array(
8 'offset' => ($paged - 1) * $wpforo->post->options['posts_per_page'],
9 'row_count' => $wpforo->post->options['posts_per_page'],
10 );
11
12 if(!empty($_GET['wpfs'])) $args['needle'] = sanitize_text_field($_GET['wpfs']);
13 if(!empty($_GET['wpff'])) $args['forumids'] = $_GET['wpff'];
14 if(!empty($_GET['wpfd'])) $args['date_period'] = sanitize_text_field($_GET['wpfd']);
15 if(!empty($_GET['wpfin'])) $args['type'] = sanitize_text_field($_GET['wpfin']);
16 if(!empty($_GET['wpfob'])) $args['orderby'] = sanitize_text_field($_GET['wpfob']);
17 if(!empty($_GET['wpfo'])) $args['order'] = sanitize_text_field($_GET['wpfo']);
18
19 $items_count = 0;
20 $posts = $wpforo->post->search($args, $items_count);
21 $wpfs = (isset($_GET['wpfs'])) ? sanitize_text_field($_GET['wpfs']) : '';
22 ?>
23
24
25 <p id="wpforo-search-title"><?php wpforo_phrase('Search result for') ?>: <span class="wpfcl-5"><?php echo esc_html($wpfs) ?></span></p>
26
27 <div class="wpforo-search-wrap">
28 <div class="wpf-search-bar">
29 <form action="<?php echo wpforo_home_url() ?>" method="get">
30 <?php wpforo_make_hidden_fields_from_url( wpforo_home_url() ) ?>
31 <div class="wpforo-table">
32 <div class="wpforo-tr">
33 <div class="wpforo-td wpfw-50 wpfltd">
34 <span class="wpf-search-label wpfcl-1">&nbsp;<?php wpforo_phrase('Search in Forums') ?>:</span><br />
35 <select name="wpff[]" class="wpfw-90 wpff" multiple="multiple">
36 <?php $wpforo->forum->dropdown(); ?>
37 </select>
38 </div>
39 <div class="wpforo-td wpfrtd">
40 <span class="wpf-search-label wpfcl-1">&nbsp;<?php wpforo_phrase('Search in date period') ?>:</span><br />
41 <select name="wpfd" class="wpfw-60 wpfd">
42 <option value="0"<?php echo !empty($_GET['wpfd']) && $_GET['wpfd'] == 0 ? ' selected' : '' ?>>&nbsp;<?php wpforo_phrase('Any Date') ?></option>
43 <option value="1"<?php echo !empty($_GET['wpfd']) && $_GET['wpfd'] == 1 ? ' selected' : '' ?>>&nbsp;<?php wpforo_phrase('Last 24 hours') ?></option>
44 <option value="7"<?php echo !empty($_GET['wpfd']) && $_GET['wpfd'] == 7 ? ' selected' : '' ?>>&nbsp;<?php wpforo_phrase('Last Week') ?></option>
45 <option value="30"<?php echo !empty($_GET['wpfd']) && $_GET['wpfd'] == 30 ? ' selected' : '' ?>>&nbsp;<?php wpforo_phrase('Last Month') ?></option>
46 <option value="90"<?php echo !empty($_GET['wpfd']) && $_GET['wpfd'] == 90 ? ' selected' : '' ?>>&nbsp;<?php wpforo_phrase('Last 3 Months') ?></option>
47 <option value="180"<?php echo !empty($_GET['wpfd']) && $_GET['wpfd'] == 180 ? ' selected' : '' ?>>&nbsp;<?php wpforo_phrase('Last 6 Months') ?></option>
48 <option value="365"<?php echo !empty($_GET['wpfd']) && $_GET['wpfd'] == 365 ? ' selected' : '' ?>>&nbsp;<?php wpforo_phrase('Last Year ago') ?></option>
49 </select>
50 <br />
51 <span class="wpf-search-label wpfcl-1">&nbsp;<?php wpforo_phrase('Sort Search Results by') ?>:</span><br />
52 <select class="wpfw-60 wpfob" name="wpfob">
53 <option value="relevancy"<?php echo !empty($_GET['wpfob']) && $_GET['wpfob'] == 'relevancy' ? ' selected' : '' ?>>&nbsp;<?php wpforo_phrase('Relevancy') ?></option>
54 <option value="date"<?php echo !empty($_GET['wpfob']) && $_GET['wpfob'] == 'date' ? ' selected' : '' ?>>&nbsp;<?php wpforo_phrase('Date') ?></option>
55 <option value="user"<?php echo !empty($_GET['wpfob']) && $_GET['wpfob'] == 'user' ? ' selected' : '' ?>>&nbsp;<?php wpforo_phrase('User') ?></option>
56 <option value="forum"<?php echo !empty($_GET['wpfob']) && $_GET['wpfob'] == 'forum' ? ' selected' : '' ?>>&nbsp;<?php wpforo_phrase('Forum') ?></option>
57 </select><br>
58 <select class="wpfw-60" name="wpfo" class="wpfo">
59 <option value="desc"<?php echo !empty($_GET['wpfo']) && $_GET['wpfo'] == 'desc' ? ' selected' : '' ?>>&nbsp;<?php wpforo_phrase('Descending order') ?></option>
60 <option value="asc"<?php echo !empty($_GET['wpfo']) && $_GET['wpfo'] == 'asc' ? ' selected' : '' ?>>&nbsp;<?php wpforo_phrase('Ascending order') ?></option>
61 </select>
62 </div>
63 </div>
64 <div class="wpforo-tr">
65 <div class="wpforo-td wpfw-40 wpfltd">
66 <span class="wpf-search-label wpfcl-1">&nbsp;<?php wpforo_phrase('Search Phrase') ?>:</span><br />
67 <input type="text" name="wpfs" class="wpfs" value="<?php echo esc_attr($wpfs) ?>" />
68 </div>
69 <div class="wpforo-td wpfrtd">
70 <span class="wpf-search-label wpfcl-1">&nbsp;<?php wpforo_phrase('Search Type') ?>:</span><br />
71 <select name="wpfin" class="wpfw-60 wpfin">
72 <option value="entire-posts"<?php echo !empty($_GET['wpfin']) && $_GET['wpfin'] == 'entire-posts' ? ' selected' : '' ?>>&nbsp;<?php wpforo_phrase('Search Entire Posts') ?></option>
73 <option value="titles-only"<?php echo !empty($_GET['wpfin']) && $_GET['wpfin'] == 'titles-only' ? ' selected' : '' ?>>&nbsp;<?php wpforo_phrase('Search Titles Only') ?></option>
74 <option value="user-posts"<?php echo !empty($_GET['wpfin']) && $_GET['wpfin'] == 'user-posts' ? ' selected' : '' ?>>&nbsp;<?php wpforo_phrase('Find Posts by User') ?></option>
75 <option value="user-topics"<?php echo !empty($_GET['wpfin']) && $_GET['wpfin'] == 'user-topics' ? ' selected' : '' ?>>&nbsp;<?php wpforo_phrase('Find Topics Started by User') ?></option>
76 </select>
77 </div>
78 </div>
79 <div class="wpforo-tr">
80 <div class="wpforo-td wpfw-40 wpfltd wpf-last">
81 <input type="submit" class="wpf-search" value="<?php wpforo_phrase('Search') ?>" />
82 </div>
83 <div class="wpforo-td wpfrtd wpf-last"></div>
84 </div>
85 </div>
86 </form>
87 </div>
88 <hr/>
89 <div class="wpf-snavi"><?php $wpforo->tpl->pagenavi($paged, $items_count, FALSE); ?></div>
90 <div class="wpforo-search-content">
91 <table width="100%" border="0" cellspacing="0" cellpadding="0">
92 <tr class="wpf-htr">
93 <td class="wpf-shead-icon">#</td>
94 <td class="wpf-shead-title"><?php wpforo_phrase('Post Title') ?></td>
95 <td class="wpf-shead-result"><?php wpforo_phrase('Result Info') ?></td>
96 <td class="wpf-shead-date"><?php wpforo_phrase('Date') ?></td>
97 <td class="wpf-shead-user"><?php wpforo_phrase('User') ?></td>
98 <td class="wpf-shead-forum"><?php wpforo_phrase('Forum') ?></td>
99 </tr>
100
101 <?php foreach($posts as $post) : extract($post, EXTR_OVERWRITE); ?>
102
103 <tr class="wpf-ttr">
104 <td class="wpf-spost-icon"><i class="fa fa-comments fa-1x wpfcl-0"></i></td>
105 <td class="wpf-spost-title"><a href="<?php echo esc_url($wpforo->post->get_post_url($postid)) ?>" title="<?php wpforo_phrase('View entire post') ?>"><?php echo esc_html($title) ?> &nbsp;<i class="fa fa-chevron-right" style="font-weight:100; font-size:11px;"></i></a></td>
106 <td class="wpf-spost-result wpfcl-5"><?php echo ( isset($matches) ? round($matches) : '' ) ?> <?php wpforo_phrase('relevance') ?></td>
107 <td class="wpf-spost-date"><?php wpforo_date($created); ?></td>
108 <td class="wpf-spost-user"><?php $user = wpforo_member($post); echo ( $user['display_name'] ? esc_html($user['display_name']) : esc_html(urldecode($user['user_nicename'])) ); ?></td>
109 <td class="wpf-spost-forum"><?php $forum = $wpforo->forum->get_forum($forumid); echo esc_html($forum['title']); ?></td>
110 </tr>
111 <tr class="wpf-ptr">
112 <td class="wpf-spost-icon">&nbsp;</td>
113 <td colspan="5" class="wpf-stext">
114 <?php
115 $body = wpforo_content_filter( $body );
116 $body = preg_replace('#\[attach\][^\[\]]*\[\/attach\]#is', '', strip_tags($body));
117 if(!empty($_GET['wpfs'])){
118 $words = explode(' ', trim($_GET['wpfs']));
119 if(!empty($words)){
120 $body_len = 564;
121 $pos = mb_stripos( $body, " ".trim($words[0]), 0, get_option('blog_charset') );
122 if( strlen($body) > $body_len && $pos !== FALSE ){
123 if($pos > ($body_len/2)){
124 $bef_body = "... ";
125 $start = mb_stripos( $body, " ", ($body_len/2), get_option('blog_charset') );;
126 }else{
127 $bef_body = "";
128 $start = 0;
129 }
130 if( (mb_strlen($body, get_option('blog_charset')) - $start) > $body_len ){
131 $aft_body = " ...";
132 }else{
133 $aft_body = "";
134 }
135 $body = $bef_body . mb_substr( $body, $start, $body_len, get_option('blog_charset') ) . $aft_body;
136 }
137 foreach($words as $word){
138 $word = trim($word);
139 $body = str_ireplace(' '.esc_html($word), ' <span class="wpf-sword wpfcl-b">'.esc_html($word).'</span>', $body);
140 }
141 }
142 }
143 echo $body;
144 ?>
145 </td>
146 </tr>
147
148 <?php endforeach ?>
149
150 </table>
151 </div>
152 <div class="wpf-snavi"><?php $wpforo->tpl->pagenavi($paged, $items_count, FALSE); ?></div>
153 </div>
154
155 <p>&nbsp;</p><p>&nbsp;</p><p>&nbsp;</p>