| 1 |
<?php |
| 2 |
if( ! defined( 'ABSPATH' ) ) exit; |
| 3 |
|
| 4 |
/** |
| 5 |
* @var array $attributes The block attributes. |
| 6 |
* @var string $content The block default content. |
| 7 |
* @var WP_Block $block The block instance. |
| 8 |
*/ |
| 9 |
|
| 10 |
$instance = wp_parse_args( $attributes, [ |
| 11 |
'title' => __( 'Forum Search', 'wpforo' ), |
| 12 |
'boardid' => 0, |
| 13 |
] ); |
| 14 |
|
| 15 |
// wpForo Search widget logic |
| 16 |
wp_enqueue_script( 'wpforo-widgets-js' ); |
| 17 |
|
| 18 |
$data = [ |
| 19 |
'boardid' => (int) $instance['boardid'], |
| 20 |
'action' => 'wpforo_load_ajax_widget_Search', |
| 21 |
]; |
| 22 |
|
| 23 |
if( WPF()->board->get_current( 'boardid' ) === (int) $instance['boardid'] ) { |
| 24 |
$html = ''; |
| 25 |
ob_start(); ?> |
| 26 |
<form action="<?php echo wpforo_home_url() ?>" method="GET" id="wpforo-search-form"> |
| 27 |
<?php wpforo_make_hidden_fields_from_url( wpforo_home_url() ) ?> |
| 28 |
<label class="wpf-search-widget-label"> |
| 29 |
<input type="text" placeholder="<?php wpforo_phrase( 'Search...' ) ?>" name="wpfs" class="wpfw-100" |
| 30 |
value="<?php echo isset( $_GET['wpfs'] ) ? esc_attr( sanitize_text_field( $_GET['wpfs'] ) ) : '' ?>"> |
| 31 |
<svg onclick="this.closest('form').submit();" viewBox="0 0 16 16" xml:space="preserve" xmlns="http://www.w3.org/2000/svg"><g id="Guide"/> |
| 32 |
<g id="Layer_2"> |
| 33 |
<path d="M13.85,13.15l-2.69-2.69c0.74-0.9,1.2-2.03,1.2-3.28C12.37,4.33,10.04,2,7.18,2S2,4.33,2,7.18s2.33,5.18,5.18,5.18 c1.25,0,2.38-0.46,3.28-1.2l2.69,2.69c0.1,0.1,0.23,0.15,0.35,0.15s0.26-0.05,0.35-0.15C14.05,13.66,14.05,13.34,13.85,13.15z M3,7.18C3,4.88,4.88,3,7.18,3s4.18,1.88,4.18,4.18s-1.88,4.18-4.18,4.18S3,9.49,3,7.18z"/> |
| 34 |
</g></svg> |
| 35 |
</label> |
| 36 |
</form> |
| 37 |
<?php |
| 38 |
$html = ob_get_clean(); |
| 39 |
$onload = false; |
| 40 |
} else { |
| 41 |
$html = '<div style="text-align: center; font-size: 20px;"><i class="fas fa-spinner fa-spin"></i></div>'; |
| 42 |
$onload = true; |
| 43 |
$data['referer'] = home_url(); |
| 44 |
} |
| 45 |
|
| 46 |
$json = json_encode( $data ); |
| 47 |
?> |
| 48 |
<div id="wpf-widget-search" class="wpforo-block-search wpforo-widget-wrap"> |
| 49 |
<?php if( $instance['title'] ) : ?> |
| 50 |
<h3 class="widget-title"><?php echo apply_filters( 'widget_title', $instance['title'] ); ?></h3> |
| 51 |
<?php endif; ?> |
| 52 |
<div class="wpforo-widget-content wpforo-ajax-widget <?php echo( ! $onload ? 'wpforo-ajax-widget-onload-false' : '' ); ?>" data-json="<?php echo esc_attr( $json ); ?>"> |
| 53 |
<?php echo $html; ?> |
| 54 |
</div> |
| 55 |
</div> |
| 56 |
|