| 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"> <?php wpforo_phrase('Search in Forums') ?>:</span><br /> |
| 35 |
<select name="wpff[]" class="wpfw-90 wpff" multiple="multiple"> |
| 36 |
<?php $wpforo->forum->tree('select_box', FALSE); ?> |
| 37 |
</select> |
| 38 |
</div> |
| 39 |
<div class="wpforo-td wpfrtd"> |
| 40 |
<span class="wpf-search-label wpfcl-1"> <?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' : '' ?>> <?php wpforo_phrase('Any Date') ?></option> |
| 43 |
<option value="1"<?php echo !empty($_GET['wpfd']) && $_GET['wpfd'] == 1 ? ' selected' : '' ?>> <?php wpforo_phrase('Last 24 hours') ?></option> |
| 44 |
<option value="7"<?php echo !empty($_GET['wpfd']) && $_GET['wpfd'] == 7 ? ' selected' : '' ?>> <?php wpforo_phrase('Last Week') ?></option> |
| 45 |
<option value="30"<?php echo !empty($_GET['wpfd']) && $_GET['wpfd'] == 30 ? ' selected' : '' ?>> <?php wpforo_phrase('Last Month') ?></option> |
| 46 |
<option value="90"<?php echo !empty($_GET['wpfd']) && $_GET['wpfd'] == 90 ? ' selected' : '' ?>> <?php wpforo_phrase('Last 3 Months') ?></option> |
| 47 |
<option value="180"<?php echo !empty($_GET['wpfd']) && $_GET['wpfd'] == 180 ? ' selected' : '' ?>> <?php wpforo_phrase('Last 6 Months') ?></option> |
| 48 |
<option value="365"<?php echo !empty($_GET['wpfd']) && $_GET['wpfd'] == 365 ? ' selected' : '' ?>> <?php wpforo_phrase('Last Year ago') ?></option> |
| 49 |
</select> |
| 50 |
<br /> |
| 51 |
<span class="wpf-search-label wpfcl-1"> <?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' : '' ?>> <?php wpforo_phrase('Relevancy') ?></option> |
| 54 |
<option value="date"<?php echo !empty($_GET['wpfob']) && $_GET['wpfob'] == 'date' ? ' selected' : '' ?>> <?php wpforo_phrase('Date') ?></option> |
| 55 |
<option value="user"<?php echo !empty($_GET['wpfob']) && $_GET['wpfob'] == 'user' ? ' selected' : '' ?>> <?php wpforo_phrase('User') ?></option> |
| 56 |
<option value="forum"<?php echo !empty($_GET['wpfob']) && $_GET['wpfob'] == 'forum' ? ' selected' : '' ?>> <?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' : '' ?>> <?php wpforo_phrase('Descending order') ?></option> |
| 60 |
<option value="asc"<?php echo !empty($_GET['wpfo']) && $_GET['wpfo'] == 'asc' ? ' selected' : '' ?>> <?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"> <?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"> <?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' : '' ?>> <?php wpforo_phrase('Search Entire Posts') ?></option> |
| 73 |
<option value="titles-only"<?php echo !empty($_GET['wpfin']) && $_GET['wpfin'] == 'titles-only' ? ' selected' : '' ?>> <?php wpforo_phrase('Search Titles Only') ?></option> |
| 74 |
<option value="user-posts"<?php echo !empty($_GET['wpfin']) && $_GET['wpfin'] == 'user-posts' ? ' selected' : '' ?>> <?php wpforo_phrase('Find Posts by User') ?></option> |
| 75 |
<option value="user-topics"<?php echo !empty($_GET['wpfin']) && $_GET['wpfin'] == 'user-topics' ? ' selected' : '' ?>> <?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) ?> <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"> </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> </p><p> </p><p> </p> |