· 6 years ago · Feb 12, 2019, 06:34 PM
1<?php
2if ( ! function_exists( 'wprentals_update_option' ) ):
3 function wprentals_update_option( $theme_option, $value ,$option = false) {
4 global $wprentals_admin;
5 if($option){
6 $option_array = array($option=>$value);
7 Redux::setOption('wprentals_admin',$theme_option, $option_array);
8 }else{
9 Redux::setOption('wprentals_admin',$theme_option, $value);
10 }
11 }
12endif;
13
14
15
16if ( ! function_exists( 'wprentals_get_option' ) ):
17 function wprentals_get_option( $theme_option, $option = false ,$in_case_not = false) {
18
19 global $wprentals_admin;
20
21 if($theme_option=='wpestate_currency'){
22 $return = wpestate_reverse_convert_redux_wp_estate_multi_curr();
23 return $return;
24 }else if($theme_option=='wpestate_custom_fields_list'){
25 $return = wpestate_reverse_convert_redux_wp_estate_custom_fields();
26 return $return;
27 }else if($theme_option=='wp_estate_property_page_header'){
28 $return = wpestate_reverse_convert_redux_wp_estate_property_page_header();
29 return $return;
30 }else if($theme_option=='wp_estate_custom_listing_fields'){
31 $return = wpestate_reverse_convert_redux_wp_estate_custom_listing_fields();
32 return $return;
33 }else if($theme_option=='wp_estate_custom_infobox_fields'){
34 $return = wpestate_reverse_convert_redux_wpestate_convert_redux_wp_estate_custom_infobox_fields();
35 return $return;
36 }
37
38
39 if( isset( $wprentals_admin[$theme_option]) && $wprentals_admin[$theme_option]!='' ){
40 $return=$wprentals_admin[$theme_option];
41 if($option){
42 $return = $wprentals_admin[$theme_option][$option];
43 }
44 }else{
45 $return=$in_case_not;
46 }
47
48 return $return;
49
50 }
51endif;
52
53
54add_action('redux/options/wprentals_admin/saved', 'wprentals_redux_on_save',10,2);
55function wprentals_redux_on_save($value,$value2){
56 if(isset( $value['wpestate_set_search']['adv_search_what'])){
57 Redux::setOption('wprentals_admin','wp_estate_adv_search_what', $value['wpestate_set_search']['adv_search_what'] );
58 }
59 if(isset( $value['wpestate_set_search']['adv_search_how'])){
60 Redux::setOption('wprentals_admin','wp_estate_adv_search_how', $value['wpestate_set_search']['adv_search_how']);
61 }
62 if(isset( $value['wpestate_set_search']['adv_search_label'])){
63 Redux::setOption('wprentals_admin','wp_estate_adv_search_label', $value['wpestate_set_search']['adv_search_label']);
64 }
65 if(isset( $value['wpestate_set_search']['search_field_label'])){
66 Redux::setOption('wprentals_admin','wp_estate_search_field_label', $value['wpestate_set_search']['search_field_label']);
67 }
68
69
70
71
72
73
74
75 if( isset( $value['wp_estate_adv_search_type'] ) && ( $value['wp_estate_adv_search_type'] =='newtype' || $value['wp_estate_adv_search_type'] =='oldtype') ){
76 $adv_search_what = array('Location','check_in','check_out','guest_no');
77 $adv_search_how = array('like','like','like','greater');
78
79
80 Redux::setOption('wprentals_admin','wp_estate_adv_search_what_classic',$adv_search_what);
81 Redux::setOption('wprentals_admin','wp_estate_adv_search_how_classic',$adv_search_how);
82
83
84 $adv_search_what_classic_half = array('Location','check_in','check_out','guest_no','property_rooms','property_category','property_action_category','property_bedrooms','property_bathrooms','property_price');
85 $adv_search_how_classic_half = array('like','like','like','greater','greater','like','like','greater','greater','between');
86 Redux::setOption('wprentals_admin','wp_estate_adv_search_what_half',$adv_search_what_classic_half);
87 Redux::setOption('wprentals_admin','wp_estate_adv_search_how_half',$adv_search_how_classic_half);
88 }
89
90
91
92
93 if ( isset( $value['wp_estate_delete_orphan'] ) ){
94 if( $value['wp_estate_delete_orphan']=='yes'){
95 setup_wp_estate_delete_orphan_lists();
96 }else{
97 wp_clear_scheduled_hook('prefix_wp_estate_delete_orphan_lists');
98 }
99 }
100
101 if( $value['wp_estate_wpestate_autocomplete']=='no'){
102 event_wp_estate_create_auto_function();
103 }
104
105 if ( isset( $value['wp_estate_paid_submission'] ) ){
106 if( $value['wp_estate_paid_submission']=='membership'){
107 wp_estate_schedule_user_check();
108 }else{
109 wp_clear_scheduled_hook('wpestate_check_for_users_event');
110 }
111 }
112
113 if( isset($value['wpestate_autocomplete']) ){
114 if( $value['wpestate_autocomplete']=='no' ){
115 wpestate_create_auto_data();
116 }else{
117 wp_clear_scheduled_hook('event_wp_estate_create_auto');
118 }
119
120 }
121
122
123 if ( isset($value['wp_estate_auto_curency']) ){
124 if( $value['wp_estate_auto_curency']=='yes' ){
125 wp_estate_enable_load_exchange();
126 }else{
127 wp_clear_scheduled_hook('wpestate_load_exchange_action');
128 }
129 }
130
131 if( isset($value['wp_estate_book_down']) && floatval($value['wp_estate_book_down'])==100 ){
132 Redux::setOption('wprentals_admin','wp_estate_include_expenses','yes');
133 }
134
135
136 if( isset($value['wp_estate_theme_slider_manual']) && $value['wp_estate_theme_slider_manual']!=''){
137 $theme_slider = array();
138 $new_ids= explode(',', $value['wp_estate_theme_slider_manual']);
139
140 foreach($new_ids as $key=>$value){
141 $theme_slider[]=$value;
142 }
143 Redux::setOption('wprentals_admin','wp_estate_theme_slider',$theme_slider);
144 }
145
146 if( isset($value['wp_estate_feature_list']) && $value['wp_estate_feature_list']!=''){
147 update_option('wp_estate_feature_list',$value['wp_estate_feature_list']);
148 }
149 if( isset($value['wpestate_custom_fields_list']) && $value['wpestate_custom_fields_list']!=''){
150 update_option('wpestate_custom_fields_list',$value['wpestate_custom_fields_list']);
151 }
152
153
154
155 if( isset($value['wp_estate_book_down']) && $value['wp_estate_book_down']=='100'){
156 Redux::setOption('wprentals_admin','wp_estate_include_expenses','yes');
157 }
158
159
160 $api_options = array(
161
162 'wp_estate_measure_sys',
163 'wp_estate_date_lang',
164 'wp_estate_setup_weekend',
165 'wp_estate_separate_users',
166 'wp_estate_publish_only',
167 'wp_estate_prices_th_separator',
168 'wp_estate_currency_symbol',
169 'wp_estate_where_currency_symbol',
170 'wp_estate_currency_label_main',
171 'wp_estate_auto_curency',
172 'wp_estate_where_currency_symbol',
173 'wp_estate_feature_list',
174 'wp_estate_status_list',
175 'wp_estate_company_name',
176 'wp_estate_email_adr',
177 'wp_estate_telephone_no',
178 'wp_estate_mobile_no',
179 'wp_estate_fax_ac',
180 'wp_estate_skype_ac',
181 'wp_estate_co_address',
182 'wp_estate_facebook_link',
183 'wp_estate_twitter_link',
184 'wp_estate_google_link',
185 'wp_estate_pinterest_link',
186 'wp_estate_linkedin_link',
187 'wp_estate_facebook_login',
188 'wp_estate_google_login',
189 'wp_estate_yahoo_login',
190 'wp_estate_social_register_on',
191 'wp_estate_readsys',
192 'wp_estate_enable_paypal',
193 'wp_estate_enable_stripe',
194 'wp_estate_admin_submission',
195 'wp_estate_price_submission',
196 'wp_estate_price_featured_submission',
197 'wp_estate_submission_curency',
198 'wp_estate_prop_image_number',
199 'wp_estate_enable_direct_pay',
200 'wp_estate_submission_curency_custom',
201 'wp_estate_free_mem_list',
202 'wp_estate_free_feat_list',
203 'wp_estate_book_down',
204 'wp_estate_book_down_fixed_fee',
205 'wp_estate_service_fee_fixed_fee',
206 'wp_estate_service_fee'
207 );
208
209 $theme_options_api_redux=array();
210 foreach($api_options as $key=>$item_val){
211 $theme_options_api_redux[str_replace('wp_estate_','',$item_val)]=$value[$item_val];
212 }
213
214 rcapi_udate_theme_options($theme_options_api_redux);
215
216 return $value;
217}
218
219
220
221
222function wprentals_redux_advanced_exteded(){
223
224 $feature_list = esc_html( get_option('wp_estate_feature_list','') );
225 $feature_list_array = explode( ',',$feature_list);
226
227 $return_array = array();
228
229 foreach ($feature_list_array as $key=>$checker) {
230 $data= wprentals_prepare_non_latin($checker,$checker);
231 $return_array[ $data['key'] ]=$data['label'];
232 }
233 return $return_array;
234
235}
236
237
238
239
240
241if(!function_exists('wpestate_sms_notice_managment_redux')):
242 function wpestate_sms_notice_managment_redux(){
243
244 $sms_data =( rcapi_retrive_sms());
245 $sms_data = json_decode($sms_data,true);
246
247
248 $sms_array=array(
249 'validation' => __('Phone Number Validation','wprentals'),
250 // scos ca nu are logica 'new_user' => __('New user notification','wprentals'),
251 'admin_new_user' => __('New user admin notification','wprentals'),
252 'password_reset_request' => __('Password Reset Request','wprentals'),
253 'password_reseted' => __('Password Reseted','wprentals'),
254 'approved_listing' => __('Approved Listings','wprentals'),
255 'admin_expired_listing' => __('Admin - Expired Listing','wprentals'),
256 'paid_submissions' => __('Paid Submission','wprentals'),
257 'featured_submission' => __('Featured Submission','wprentals'),
258 'account_downgraded' => __('Account Downgraded','wprentals'),
259 'membership_cancelled' => __('Membership Cancelled','wprentals'),
260 'free_listing_expired' => __('Free Listing Expired','wprentals'),
261 'new_listing_submission' => __('New Listing Submission','wprentals'),
262 'recurring_payment' => __('Recurring Payment','wprentals'),
263 'membership_activated' => __('Membership Activated','wprentals'),
264 'agent_update_profile' => __('Update Profile','wprentals'),
265 'bookingconfirmeduser' => __('Booking Confirmed - User','wprentals'),
266 'bookingconfirmed' => __('Booking Confirmed','wprentals'),
267 'bookingconfirmed_nodeposit'=> __('Booking Confirmed - no deposit','wprentals'),
268 'inbox' => __('Inbox- New Message','wprentals'),
269 'newbook' => __('New Booking Request','wprentals'),
270 'mynewbook' => __('User - New Booking Request','wprentals'),
271 'newinvoice' => __('Invoice generation','wprentals'),
272 'deletebooking' => __('Booking request rejected','wprentals'),
273 'deletebookinguser' => __('Booking Request Cancelled','wprentals'),
274 'deletebookingconfirmed' => __('Booking Period Cancelled ','wprentals'),
275 'new_wire_transfer' => __('New wire Transfer','wprentals'),
276 'admin_new_wire_transfer' => __('Admin - New wire Transfer','wprentals'),
277 'full_invoice_reminder' => __('Invoice Payment Reminder','wprentals'),
278 );
279
280
281
282
283
284 foreach ($sms_array as $key=>$label ){
285
286 print '<div class="sms_wrapper_redux">';
287 $value = stripslashes( wprentals_get_option('wp_estate_'.$key,'') );
288 $value_subject = stripslashes( wprentals_get_option('wp_estate_subject_'.$key,'') );
289
290
291
292
293 if( isset($sms_data['use_sms'][$key]) && $sms_data['use_sms'][$key]==1 ){
294 print '<label class="label_option_row" for="'.$key.'">'.__('SMS for','wprentals').' '.$label.' '.__('is active','wprentals').'</label>';
295 }else{
296 print '<label class="label_option_row" for="'.$key.'">'.__('SMS for','wprentals').' '.$label.' '.__('is NOT active','wprentals').'</label>';
297 }
298
299 print '<div class="option_row_explain">'.__('SMS text for','wprentals').' '.$label.'</div> ';
300
301 $sms_content='';
302
303 if(isset($sms_data['sms_content'][$key])){
304 $sms_content = stripslashes($sms_data['sms_content'][$key]);
305 }
306 print '<div class="sms_content">'.$sms_content.'</div>';
307 print '<div class="extra_exp"> '.wpestate_emails_extra_details($key).'</div>';
308 print '</div>';
309
310 }
311
312
313
314 }
315endif;
316
317
318
319
320function wp_estate_redux_on_child_theme_customcss(){
321 print '<textarea onclick="this.focus();this.select()" class="modal-content" style="height:250px;">';
322
323 $general_font = esc_html(wprentals_get_option('wp_estate_general_font', ''));
324 if ( $general_font != '' && $general_font != 'x'){
325 require_once get_template_directory().'/libs/custom_general_font.php';
326 }
327 require_once get_template_directory().'/libs/customcss.php';
328
329 print '</textarea><span style="margin-left:30px;">';
330}
331
332
333
334if(!function_exists('wpestate_fields_type_select_redux')):
335function wpestate_fields_type_select_redux($name_drop,$real_value){
336
337 $select = '<select name="'.$name_drop.'" style="width:140px;">';
338 $values = array('short text','long text','numeric','date','dropdown');
339
340 foreach($values as $option){
341 $select.='<option value="'.$option.'"';
342 if( $option == $real_value ){
343 $select.= ' selected="selected" ';
344 }
345 $select.= ' > '.$option.' </option>';
346 }
347 $select.= '</select>';
348 return $select;
349}
350endif;
351
352
353 if( !function_exists('wpestate_show_advanced_search_how_redux') ):
354function wpestate_show_advanced_search_how_redux($adv_search_how_value){
355 $return_string='';
356 $curent_value='';
357
358 $admin_submission_how_array=array('equal',
359 'greater',
360 'smaller',
361 'like',
362 'date bigger',
363 'date smaller');
364
365 foreach($admin_submission_how_array as $value){
366 $return_string.='<option value="'.$value.'" ';
367 if($adv_search_how_value==$value){
368 $return_string.= ' selected="selected" ';
369 }
370 $return_string.= '>'.$value.'</option>';
371 }
372 return $return_string;
373}
374endif; // end wpestate_show_advanced_search_how
375
376
377
378if( !function_exists('wpestate_show_advanced_search_options_redux') ):
379
380function wpestate_show_advanced_search_options_redux($adv_search_what_value){
381 $return_string='';
382
383 $admin_submission_array=array( 'Location' => esc_html('Location','wprentals'),
384 'check_in' => esc_html('check_in','wprentals'),
385 'check_out' => esc_html('check_out','wprentals'),
386 'property_category' => esc_html('First Category','wprentals'),
387 'property_action_category' => esc_html('Second Category','wprentals'),
388 'property_city' => esc_html('Cities','wprentals'),
389 'property_area' => esc_html('Areas','wprentals'),
390 'guest_no' => esc_html('guest_no','wprentals'),
391 'property_price' => esc_html('Price','wprentals'),
392 'property_size' => esc_html('Size','wprentals'),
393 'property_rooms' => esc_html('Rooms','wprentals'),
394 'property_bedrooms' => esc_html('Bedroms','wprentals'),
395 'property_bathrooms'=> esc_html('Bathrooms','wprentals'),
396 'property_address' => esc_html('Adress','wprentals'),
397 'property_county' => esc_html('County','wprentals'),
398 'property_state' => esc_html('State','wprentals'),
399 'property_zip' => esc_html('Zip','wprentals'),
400 'property_country' => esc_html('Country','wprentals'),
401
402
403 );
404
405 foreach($admin_submission_array as $key=>$value){
406
407 $return_string.='<option value="'.$key.'" ';
408 if($adv_search_what_value==$key){
409 $return_string.= ' selected="selected" ';
410 }
411 $return_string.= '>'.$value.'</option>';
412 }
413
414 $i=0;
415 //$custom_fields = get_option( 'wp_estate_custom_fields', true);
416// $custom_fields = get_option( 'wpestate_custom_fields_list', true);
417//
418// if( !empty($custom_fields)){
419// while($i< count($custom_fields) ){
420// $name = $custom_fields[$i][0];
421// $type = $custom_fields[$i][1];
422// $slug = str_replace(' ','-',$name);
423// if($name!=''){
424// $return_string.='<option value="'.$slug.'" ';
425// if($adv_search_what_value==$slug){
426// $return_string.= ' selected="selected" ';
427// }
428// $return_string.= '>'.$name.'</option>';
429// }
430// $i++;
431// }
432// }
433//
434 $custom_fields = get_option('wpestate_custom_fields_list');
435
436 if( !empty($custom_fields)){
437 while($i< count( $custom_fields['add_field_name'] ) ){
438
439 $data= wprentals_prepare_non_latin($custom_fields['add_field_name'][$i],$custom_fields['add_field_label'][$i]);
440
441
442 $return_string.='<option value="'.$data['key'].'" ';
443 if($adv_search_what_value==$data['key'] ){
444 $return_string.= ' selected="selected" ';
445 }
446 $return_string.= '>'.$data['label'].'</option>';
447 $i++;
448 }
449 }
450
451
452
453
454 $slug='none';
455 $name='none';
456 $return_string.='<option value="'.$slug.'" ';
457 if($adv_search_what_value==$slug){
458 $return_string.= ' selected="selected" ';
459 }
460 $return_string.= '>'.$name.'</option>';
461
462
463 return $return_string;
464}
465endif; // end wpestate_show_advanced_search_options
466
467
468
469if(!function_exists('wpestate_number_convert_currency')):
470 function wprentals_return_booking_type($edit_id){
471// 1 => __("Per Day","wprentals"),
472// 2 => __("Per Hour","wprentals"),
473//
474 $global_type= wprentals_get_option('wp_estate_booking_type','');
475 if($global_type==3){
476 return intval(get_post_meta($edit_id, 'local_booking_type', true));
477 }else{
478 return $global_type;
479 }
480}
481endif;
482
483
484if(!function_exists('wpestate_number_convert_currency')):
485function wpestate_number_convert_currency($price){
486 $custom_fields = wprentals_get_option('wpestate_currency','');
487 if( !empty($custom_fields) && isset($_COOKIE['my_custom_curr']) && isset($_COOKIE['my_custom_curr_pos']) && isset($_COOKIE['my_custom_curr_symbol']) && $_COOKIE['my_custom_curr_pos']!=-1){
488 $i = floatval($_COOKIE['my_custom_curr_pos']);
489 $custom_fields = wprentals_get_option('wpestate_currency','');
490 if ($price != 0) {
491 $price = $price * $custom_fields[$i][2];
492 }
493 }
494 return $price;
495
496
497}
498endif;
499
500
501
502if ( ! function_exists( 'wpestate_admin_display_verifications' ) ) {
503 /**
504 * Display verification widget
505 */
506 function wpestate_admin_display_verifications() {
507 global $current_user;
508 if ( 'profile' == get_current_screen()->id ) {
509 $verifications = '';
510 $verification_users = '';
511
512 $v_users = wpestate_get_verification_users();
513
514 foreach ( $v_users as $user_o ) {
515 $verification_users .= wpestate_render_single_userid($user_o);
516 }
517
518 $verifications .= '<div class="user-verifications">' . PHP_EOL;
519 $verifications .= $verification_users;
520 $verifications .= '</div> <!-- end .user-verifications -->' . PHP_EOL;
521
522 print $verifications;
523 }
524 }
525
526 // display verification widget only for admin users on the admin user edit page
527
528}
529
530
531
532
533if(!function_exists('wpestate_category_labels_dropdowns')):
534function wpestate_category_labels_dropdowns($who){
535 $category_main_dropdown_label = stripslashes( esc_html(wprentals_get_option('wp_estate_category_main_dropdown', '')));
536 $category_second_dropdown_label = stripslashes( esc_html(wprentals_get_option('wp_estate_category_second_dropdown', '')));
537
538
539 if( $who=='main' ){
540 if( $category_main_dropdown_label==''){
541 return esc_html__( 'All Types','wprentals');
542 }else{
543 return $category_main_dropdown_label;
544 }
545 }else{
546 if( $category_main_dropdown_label==''){
547 return esc_html__( 'All Sizes','wprentals');
548 }else{
549 return $category_second_dropdown_label;
550 }
551 }
552
553}
554endif;
555
556
557if(!function_exists('wpestate_city_submit_dropdown')):
558 function wpestate_city_submit_dropdown($tax,$value){
559
560 $args = array(
561 'orderby' => 'name',
562 'hide_empty' => 0,
563 );
564
565 $terms = get_terms( $tax, $args );
566 $list = '';
567 foreach ( $terms as $term ) {
568
569 $list.='<option name="'.$term->name.'"';
570 if($value==$term->name) {
571 $list.=' selected = "selected" ';
572 }
573 $list.='>'.$term->name.'</option>';
574 }
575
576 return $list;
577 }
578
579endif;
580
581if( !function_exists('wpestate_delete_cache') ):
582function wpestate_delete_cache(){
583 global $wpdb;
584 $sql = "SELECT `option_name` AS `name`, `option_value` AS `value`
585 FROM $wpdb->options
586 WHERE `option_name` LIKE %s
587 ORDER BY `option_name`";
588
589
590 $wild = '%';
591 $find = 'transient_';
592 $like = $wild . $wpdb->esc_like( $find ) . $wild;
593
594 $results = $wpdb->get_results( $wpdb->prepare($sql,$like) );
595 $transients = array();
596
597 foreach ( $results as $result ){
598 if ( 0 === strpos( $result->name, '_transient_wpestate' ) ){
599 $transient_name = str_replace('_transient_', '', $result->name);
600 delete_transient($transient_name);
601 }
602 }
603}
604endif;
605
606
607
608
609
610
611
612
613if(!function_exists('wpestate_price_pin_converter')):
614 function wpestate_price_pin_converter($pin_price,$where_currency,$currency){
615
616 if(isset($_COOKIE['my_custom_curr']) && isset($_COOKIE['my_custom_curr_pos']) && isset($_COOKIE['my_custom_curr_symbol']) && $_COOKIE['my_custom_curr_pos']!=-1){
617 $i = floatval($_COOKIE['my_custom_curr_pos']);
618 $th_separator = wprentals_get_option('wp_estate_prices_th_separator','');
619 $custom_fields = wprentals_get_option('wpestate_currency','');
620 if ($pin_price != 0) {
621 $pin_price = $pin_price * $custom_fields[$i][2];
622
623 $pin_price = number_format($pin_price,2,'.',$th_separator);
624 $pin_price = TrimTrailingZeroes($pin_price);
625
626
627 $currency = $custom_fields[$i][1];
628
629
630
631 }else{
632 $pin_price='';
633 }
634 }
635
636 $pin_price=floatval($pin_price);
637 if( 10000 < $pin_price && $pin_price < 1000000 ){
638 $pin_price = round( $pin_price / 1000 ,1);
639 $pin_price = $pin_price.''.__('K','wprentals');
640
641 }
642 if ( $pin_price >= 1000000 ){
643 $pin_price = round ( $pin_price / 1000000,1 );
644 $pin_price = $pin_price.''.__('M','wprentals');
645
646 }
647
648
649
650
651 if($where_currency=='before'){
652 $pin_price=$currency.' '.$pin_price;
653 }else{
654 $pin_price=$pin_price.' '.$currency;
655 }
656 return $pin_price;
657 }
658endif;
659
660
661
662if(!function_exists('wpestate_show_poi_onmap')):
663function wpestate_show_poi_onmap($where=''){
664 global $post;
665 if( !is_singular('estate_property') ){
666 return;
667 }
668 $points=array(
669 'transport' => __('Transport','wprentals'),
670 'supermarkets' => __('Supermarkets','wprentals'),
671 'schools' => __('Schools','wprentals'),
672 'restaurant' => __('Restaurants','wprentals'),
673 'pharma' => __('Pharmacies','wprentals'),
674 'hospitals' => __('Hospitals','wprentals'),
675 );
676
677 $return_value = '<div class="google_map_poi_marker">';
678 foreach($points as $key=>$value){
679 $return_value .= '<div class="google_poi'.$where.'" id="'.$key.'"><img src="'.get_template_directory_uri().'/css/css-images/poi/'.$key.'_icon.png" class="dashboad-tooltip" data-placement="right" data-original-title="'.$value.'" ></div>';
680 }
681 $return_value .= '</div>';
682 return $return_value;
683}
684endif;
685
686
687if(!function_exists('wpestate_splash_page_header')):
688function wpestate_splash_page_header(){
689
690 $spash_header_type = wprentals_get_option('wp_estate_spash_header_type','');
691
692 if($spash_header_type=='image'){
693 wpestate_header_image('');
694 }else if($spash_header_type=='video'){
695 wpestate_video_header();
696 }else if($spash_header_type=='image slider'){
697 wpestate_splash_slider();
698 }
699
700}
701endif;
702
703
704if(!function_exists('wpestate_splash_slider')):
705function wpestate_splash_slider(){
706 $splash_slider_gallery = esc_html(wprentals_get_option('wp_estate_splash_slider_gallery','') );
707 $splash_slider_transition = esc_html ( wprentals_get_option('wp_estate_splash_slider_transition','') );
708
709
710 $splash_slider_gallery_array= explode(',', $splash_slider_gallery);
711 $slider='<div id="splash_slider_wrapper" class="carousel slide" data-ride="carousel" data-interval="'.$splash_slider_transition.'">';
712 $i=0;
713
714 if(is_array($splash_slider_gallery_array)){
715 foreach ($splash_slider_gallery_array as $image_id) {
716
717 if(is_numeric($image_id) && $image_id!=''){
718 $i++;
719 if($i==1){
720 $class_active =' active ';
721 }else{
722 $class_active =' ';
723 }
724 $preview = wp_get_attachment_image_src($image_id, 'full');
725
726 if($preview[0]!=''){
727 $slider.= '<div class="item splash_slider_item';
728 $slider.=$class_active.' " style="background-image:url('.$preview[0].');" >
729 </div>';
730 }
731 }
732 }
733 }
734
735 $slider.='</div>';
736
737 $page_header_overlay_val = esc_html ( wprentals_get_option('wp_estate_splash_overlay_opacity','') );
738 $page_header_overlay_color = esc_html ( wprentals_get_option('wp_estate_splash_overlay_color','') );
739 $wp_estate_splash_overlay_image = esc_html ( wprentals_get_option('wp_estate_splash_overlay_image','url') );
740 $page_header_title_over_image = stripslashes( esc_html ( wprentals_get_option('wp_estate_splash_page_title','') ) );
741 $page_header_subtitle_over_image = stripslashes( esc_html ( wprentals_get_option('wp_estate_splash_page_subtitle','') ) );
742
743
744
745 if($page_header_overlay_color!='' || $wp_estate_splash_overlay_image!=''){
746 $slider.= '<div class="wpestate_header_image_overlay" style="background-color:'.$page_header_overlay_color.';opacity:'.$page_header_overlay_val.';background-image:url('.$wp_estate_splash_overlay_image.');"></div>';
747 }
748
749 if($page_header_title_over_image!=''){
750
751 $slider.= '<div class="heading_over_image_wrapper" >';
752 $slider.= '<h1 class="heading_over_image">'.$page_header_title_over_image.'</h1>';
753
754 if($page_header_subtitle_over_image!=''){
755 $slider.= '<div class="subheading_over_image">'.$page_header_subtitle_over_image.'</div>';
756 }
757
758 $slider.= '</div>';
759 }
760
761
762 print $slider;
763}
764endif;
765
766
767if(!function_exists('wpestate_video_header')):
768function wpestate_video_header(){
769
770 global $post;
771 $paralax_header = wprentals_get_option('wp_estate_paralax_header','');
772 if( isset($post->ID)){
773 if( is_page_template( 'splash_page.php' ) ){
774 $page_custom_video = esc_html ( wprentals_get_option('wp_estate_splash_video_mp4','url') );
775 $page_custom_video_webm = esc_html ( wprentals_get_option('wp_estate_splash_video_webm','url') );
776 $page_custom_video_ogv = esc_html ( wprentals_get_option('wp_estate_splash_video_ogv','url') );
777 $page_custom_video_cover_image = esc_html ( wprentals_get_option('wp_estate_splash_video_cover_img','url') );
778 $img_full_screen = 'no';
779 $page_header_title_over_video = stripslashes( esc_html ( get_option('wp_estate_splash_page_title','') ) );
780 $page_header_subtitle_over_video = stripslashes( esc_html ( get_option('wp_estate_splash_page_subtitle','') ) );
781 $page_header_video_height = '';
782 $page_header_overlay_color_video = esc_html ( wprentals_get_option('wp_estate_splash_overlay_color','') );
783 $page_header_overlay_val_video = esc_html ( wprentals_get_option('wp_estate_splash_overlay_opacity','') );
784 $wp_estate_splash_overlay_image = esc_html ( wprentals_get_option('wp_estate_splash_overlay_image','url') );
785 }else{
786 $page_custom_video = esc_html ( get_post_meta($post->ID, 'page_custom_video', true) );
787 $page_custom_video_webm = esc_html ( get_post_meta($post->ID, 'page_custom_video_webbm', true) );
788 $page_custom_video_ogv = esc_html ( get_post_meta($post->ID, 'page_custom_video_ogv', true) );
789 $page_custom_video_cover_image = esc_html ( get_post_meta($post->ID, 'page_custom_video_cover_image', true) );
790 $img_full_screen = esc_html ( get_post_meta($post->ID, 'page_header_video_full_screen', true) );
791 $page_header_title_over_video = stripslashes( esc_html ( get_post_meta($post->ID, 'page_header_title_over_video', true) ) ) ;
792 $page_header_subtitle_over_video = stripslashes( esc_html ( get_post_meta($post->ID, 'page_header_subtitle_over_video', true) ) );
793 $page_header_video_height = floatval ( get_post_meta($post->ID, 'page_header_video_height', true) );
794 $page_header_overlay_color_video = esc_html ( get_post_meta($post->ID, 'page_header_overlay_color_video', true) );
795 $page_header_overlay_val_video = esc_html ( get_post_meta($post->ID, 'page_header_overlay_val_video', true) );
796 $wp_estate_splash_overlay_image = '';
797 }
798
799
800 if($page_header_overlay_val_video==''){
801 $page_header_overlay_val_video=1;
802 }
803 if($page_header_video_height==0){
804 $page_header_video_height=580;
805 }
806
807
808 print '<div class="wpestate_header_video full_screen_'.$img_full_screen.' parallax_effect_'.$paralax_header.'" style="';
809
810 print ' height:'.$page_header_video_height.'px; ';
811
812 print '">';
813
814
815 print '<video id="hero-vid" class="header_video" poster="'.$page_custom_video_cover_image.'" width="100%" height="100%" autoplay controls muted loop>
816 <source src="'.$page_custom_video.'" type="video/mp4" />
817 <source src="'.$page_custom_video_webm.'" type="video/webm" />
818 <source src="'.$page_custom_video_ogv.'" type="video/ogg"/>
819
820 </video>';
821
822 if($page_header_overlay_color_video!='' || $wp_estate_splash_overlay_image!=''){
823 print '<div class="wpestate_header_video_overlay" style="background-color:#'.$page_header_overlay_color_video.';opacity:'.$page_header_overlay_val_video.';background-image:url('.$wp_estate_splash_overlay_image.');"></div>';
824 }
825
826 if($page_header_title_over_video!=''){
827 print '<div class="heading_over_video_wrapper" >';
828 print '<h1 class="heading_over_video">'.$page_header_title_over_video.'</h1>';
829
830 if($page_header_subtitle_over_video!=''){
831 print '<div class="subheading_over_video">'.$page_header_subtitle_over_video.'</div>';
832 }
833
834 print '</div>';
835 }
836
837
838 print'</div>';
839
840 }
841}
842endif;
843
844
845
846
847
848
849if(!function_exists('wpestate_calculate_new_mess')):
850 function wpestate_increment_mess_mo($userID){
851 $unread=intval ( get_user_meta($userID,'unread_mess',true) +1);
852 update_user_meta($userID,'unread_mess',$unread);
853 }
854endif;
855
856
857if(!function_exists('wpestate_calculate_new_mess')):
858 function wpestate_calculate_new_mess(){
859 global $current_user;
860 $current_user = wp_get_current_user();
861 $userID = $current_user->ID;
862
863 $args_mess = array(
864 'post_type' => 'wpestate_message',
865 'post_status' => 'publish',
866 'posts_per_page' => -1,
867 'order' => 'DESC',
868
869 'meta_query' => array(
870 'relation' => 'AND',
871 array(
872 'relation' => 'OR',
873 array(
874 'key' => 'message_to_user',
875 'value' => $userID,
876 'compare' => '='
877 ),
878 array(
879 'key' => 'message_from_user',
880 'value' => $userID,
881 'compare' => '='
882 ),
883 ),
884// array(
885// 'key' => 'first_content',
886// 'value' => 1,
887// 'compare' => '='
888// ),
889 array(
890 'key' => 'delete_destination'.$userID,
891 'value' => 1,
892 'compare' => '!='
893 ),
894 array(
895 'key' => 'message_status'.$userID,
896 'value' => 'unread',
897 'compare' => '=='
898 ),
899 )
900 );
901
902 $args_mess_selection = new WP_Query($args_mess);
903
904 update_user_meta($userID,'unread_mess',$args_mess_selection->found_posts);
905 //return $args_mess_selection->found_posts;
906
907 }
908endif;
909
910if(!function_exists('wpestate_booking_mark_confirmed')):
911 function wpestate_booking_mark_confirmed($booking_id,$invoice_id,$userId,$depozit,$user_email,$is_stripe=0){
912
913 $is_full_pay = 0;
914 $booking_details = array();
915 $booking_status = get_post_meta($booking_id, 'booking_status', true);
916 $is_full_instant_booking = get_post_meta($booking_id, 'is_full_instant', true);
917 $is_full_instant_invoice = get_post_meta($invoice_id, 'is_full_instant', true);
918
919
920
921
922 if ($booking_status!='confirmed'){
923 update_post_meta($booking_id, 'booking_status', 'confirmed');
924 $booking_details['booking_status']='confirmed';
925 }else{
926 // confirmed_paid_full
927 update_post_meta($booking_id, 'booking_status_full', 'confirmed');
928 $booking_details['booking_status_full']='confirmed';
929 $booking_details['balance']=0;
930 update_post_meta($booking_id, 'balance', 0);
931 }
932
933 if($is_full_instant_booking==1){
934 update_post_meta($booking_id, 'booking_status_full', 'confirmed');
935 $booking_details['booking_status_full']='confirmed';
936 $booking_details['balance']=0;
937 update_post_meta($booking_id, 'balance', 0);
938 }
939
940 if($is_stripe==1){
941 $depozit= ($depozit/100);
942 }
943
944
945
946
947 // reservation array
948 $curent_listng_id = get_post_meta($booking_id,'booking_id',true);
949 $reservation_array = wpestate_get_booking_dates($curent_listng_id);
950 update_post_meta($curent_listng_id, 'booking_dates', $reservation_array);
951
952
953
954
955 $invoice_details = array();
956 $invoice_status = get_post_meta($invoice_id, 'invoice_status', true);
957
958
959 if($invoice_status!='confirmed'){
960 update_post_meta($invoice_id, 'depozit_paid',$depozit );
961 update_post_meta($invoice_id, 'invoice_status', 'confirmed');
962 $invoice_details['invoice_status']='confirmed';
963 }else{
964 update_post_meta($invoice_id, 'invoice_status_full', 'confirmed');
965 $invoice_details['invoice_status_full']='confirmed';
966 $invoice_details['balance']=0;
967 update_post_meta($invoice_id, 'balance', 0);
968 }
969
970
971 if($is_full_instant_invoice==1){
972 update_post_meta($invoice_id, 'invoice_status_full', 'confirmed');
973 $invoice_details['invoice_status_full']='confirmed';
974 $invoice_details['balance']=0;
975 update_post_meta($invoice_id, 'balance', 0);
976 }
977
978 // 100% deposit
979 $wp_estate_book_down = floatval( get_post_meta($invoice_id, 'invoice_percent', true) );
980 $invoice_price = floatval( get_post_meta($invoice_id, 'item_price', true)) ;
981
982 if($wp_estate_book_down==100){
983 update_post_meta($booking_id, 'booking_status_full', 'confirmed');
984 $booking_details['booking_status_full']='confirmed';
985 $booking_details['balance']=0;
986 update_post_meta($booking_id, 'balance', 0);
987
988 update_post_meta($invoice_id, 'invoice_status_full', 'confirmed');
989 $invoice_details['invoice_status_full']='confirmed';
990 $invoice_details['balance']=0;
991 update_post_meta($invoice_id, 'balance', 0);
992 }
993 // end 100% deposit
994
995
996 wpestate_send_booking_email("bookingconfirmeduser",$user_email);
997
998 $receiver_id = wpsestate_get_author($invoice_id);
999 $receiver_email = get_the_author_meta('user_email', $receiver_id);
1000 $receiver_name = get_the_author_meta('user_login', $receiver_id);
1001 wpestate_send_booking_email("bookingconfirmed",$receiver_email);
1002
1003
1004 // add messages to inbox
1005 $subject = esc_html__( 'Booking Confirmation','wprentals');
1006 $description = esc_html__( 'A booking was confirmed','wprentals');
1007 wpestate_add_to_inbox($userId,$userId,$receiver_id,$subject,$description,1);
1008
1009
1010
1011
1012 // rcapi code
1013 $booking_guests = floatval(get_post_meta($booking_id, 'booking_guests', true));
1014 $booking_from_date = esc_html(get_post_meta($booking_id, 'booking_from_date', true));
1015 $booking_to_date = esc_html(get_post_meta($booking_id, 'booking_to_date', true));
1016 $booking_prop = esc_html(get_post_meta($booking_id, 'booking_id', true));
1017 $booking_array = wpestate_booking_price($booking_guests,$invoice_id,$curent_listng_id, $booking_from_date, $booking_to_date);
1018
1019
1020
1021
1022 $rcapi_booking_id = get_post_meta($booking_id,'rcapi_booking_id',true);
1023 rcapi_edit_booking($booking_id,$rcapi_booking_id,$booking_details);
1024
1025 $rcapi_invoice_id = get_post_meta($invoice_id,'rcapi_invoice_id',true);
1026 rcapi_edit_invoice($invoice_id,$rcapi_invoice_id,$invoice_details);
1027 // rcapi_update_invoice_as_paid($booking_id,$invoice_id,$booking_array);
1028
1029 }
1030endif;
1031
1032
1033add_action( 'updated_post_meta', 'wpestate_wpml_after_post_meta', 10, 4 );
1034function wpestate_wpml_after_post_meta( $meta_id, $post_id, $meta_key, $meta_value ){
1035 if ( 'booking_dates' == $meta_key ) {
1036 if (function_exists('icl_translate') ) {
1037 wpestate_update_booking_dates_for_wpml($post_id,$meta_value);
1038 }
1039 }
1040}
1041
1042
1043
1044
1045if(!function_exists('wpestate_update_booking_dates_for_wpml')):
1046function wpestate_update_booking_dates_for_wpml($listing_id,$reservation_array){
1047
1048 $trid = apply_filters( 'wpml_element_trid', NULL, $listing_id, 'post_page' );
1049 $translations = apply_filters( 'wpml_get_element_translations', NULL, $trid, 'post_page' );
1050
1051 foreach ($translations as $key=>$translate){
1052 $lan_id= $translate->element_id;
1053 update_post_meta($lan_id, 'booking_dates', $reservation_array);
1054 }
1055}
1056endif;
1057
1058
1059
1060if(!function_exists('wpestate_check_reservation_period')):
1061 function wpestate_check_reservation_period($bookid){
1062 $book_from = get_post_meta($bookid, 'booking_from_date', true);
1063 $book_to = get_post_meta($bookid, 'booking_to_date', true);
1064 $listing_id = get_post_meta($bookid, 'booking_id', true);
1065 $wprentals_is_per_hour = wprentals_return_booking_type($listing_id);
1066 $reservation_array = get_post_meta($listing_id, 'booking_dates',true);
1067 if($reservation_array==''){
1068 $reservation_array = wpestate_get_booking_dates($listing_id);
1069 }
1070//
1071// $book_from = wpestate_convert_dateformat($book_from);
1072// $book_to = wpestate_convert_dateformat($book_to);
1073
1074 $from_date = new DateTime($book_from);
1075 $from_date_unix = $from_date->getTimestamp();
1076
1077 $to_date = new DateTime($book_to);
1078 $to_date_unix_check = $to_date->getTimestamp();
1079
1080
1081 $to_date_unix = $to_date->getTimestamp();
1082
1083
1084
1085 // checking booking avalability
1086 while ($from_date_unix < $to_date_unix){
1087
1088 // print'check '. $from_date_unix.'</br>';
1089 if( array_key_exists($from_date_unix,$reservation_array ) ){
1090 // print '</br> iteration from date'.$from_date_unix. ' / ' .date("Y-m-d", $from_date_unix);
1091 print '<div class="create_invoice_form">';
1092 print esc_html__('It seems that this period was booked after you made the initial request and you cannot pay & finalize this request.','wprentals');
1093 print '</div>';
1094 return false;
1095 }
1096 if($wprentals_is_per_hour==2){
1097 $from_date->modify('+1 hour');
1098 }else{
1099 $from_date->modify('tomorrow');
1100 }
1101
1102 $from_date_unix = $from_date->getTimestamp();
1103 }
1104 return true;
1105 }
1106endif;
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117if(!function_exists('wpestate_show_extra_options_booking')):
1118function wpestate_show_extra_options_booking($post_id){
1119 $currency = esc_html( wprentals_get_option('wp_estate_currency_label_main', '') );
1120 $where_currency = esc_html( wprentals_get_option('wp_estate_where_currency_symbol', '') );
1121 $extra_pay_options = ( get_post_meta($post_id, 'extra_pay_options', true) );
1122
1123 if(is_array($extra_pay_options)){
1124 foreach($extra_pay_options as $key=>$extra_options){
1125 print'<div class="cost_row cost_row_extra wpestate_show_extra_options_booking" data-value_add="'.$extra_options[1].'" data-value_how="'.$extra_options[2].'" data-value_name="'.$extra_options[0].'" >';
1126 print '<div class="cost_explanation"> <input type="checkbox" data-key="'.$key.'" class="form-control" value="1" name="checkbox" /> '.$extra_options[0].' </div>';
1127 print '<div class="cost_value"><div class="cost_value_show">'. wpestate_show_price_booking($extra_options[1] ,$currency,$where_currency,1).'</div> '.wpestate_extra_options_exp($extra_options[2],$post_id).' </div>' ;
1128 print '</div>';
1129
1130 }
1131 print'<div class="space_extra_opt"><input type="hidden" id="extra_options_key" value=""></input></div>';
1132 }
1133}
1134endif;
1135
1136
1137if(!function_exists('wpestate_curency_submission_pick')):
1138function wpestate_curency_submission_pick(){
1139 $submission_curency = esc_html( wprentals_get_option('wp_estate_submission_curency_custom', '') );
1140 if($submission_curency == ''){
1141 $submission_curency = esc_html( wprentals_get_option('wp_estate_submission_curency', '') );
1142 }
1143 return $submission_curency;
1144
1145}
1146endif;
1147
1148
1149if(!function_exists('wpml_custom_price_adjust')):
1150 function wpml_custom_price_adjust($post_id){
1151 $return = get_post_meta($post_id, 'custom_price',true );
1152
1153 if(!$return){
1154 $return= get_post_meta($post_id, 'custom_price'.$post_id,true );
1155 }
1156
1157 return $return;
1158 }
1159endif;
1160
1161
1162if(!function_exists('wpml_mega_details_adjust')):
1163 function wpml_mega_details_adjust($post_id){
1164 $return = get_post_meta($post_id, 'mega_details',true );
1165
1166
1167 if(!$return){
1168 $return= get_post_meta($post_id, 'mega_details'.$post_id,true );
1169 }
1170
1171 return $return;
1172 }
1173endif;
1174
1175
1176if(!function_exists('wpml_custom_price_adjust_save')):
1177 function wpml_custom_price_adjust_save($post_id,$price_array){
1178 $old_custom = get_post_meta($post_id, 'custom_price'.$post_id,true );
1179 if($old_custom!=''){
1180 update_post_meta($post_id, 'custom_price'.$post_id,$price_array );
1181 }
1182 }
1183endif;
1184
1185
1186if(!function_exists('wpml_mega_details_adjust_save')):
1187 function wpml_mega_details_adjust_save($post_id,$price_array){
1188 $old_custom = get_post_meta($post_id, 'mega_details'.$post_id,true );
1189 if($old_custom!=''){
1190 update_post_meta($post_id, 'mega_details'.$post_id,$price_array );
1191 }
1192 }
1193endif;
1194
1195
1196if( !function_exists('wpestate_the_excerpt_max_charlength') ):
1197function wpestate_the_excerpt_max_charlength($charlength) {
1198 $excerpt = get_the_excerpt();
1199 $charlength++;
1200 $return='';
1201
1202 if ( mb_strlen( $excerpt ) > $charlength ) {
1203 $subex = mb_substr( $excerpt, 0, $charlength - 5 );
1204 $exwords = explode( ' ', $subex );
1205 $excut = - ( mb_strlen( $exwords[ count( $exwords ) - 1 ] ) );
1206 if ( $excut < 0 ) {
1207 $return= mb_substr( $subex, 0, $excut );
1208 } else {
1209 $return= $subex;
1210 }
1211 $return.= '[...]';
1212 } else {
1213 $return = $excerpt;
1214 }
1215 return $return;
1216}
1217endif;
1218
1219if( !function_exists('wpestate_strip_words') ):
1220 function wpestate_strip_words($text, $words_no) {
1221 $temp = explode(' ', $text, ($words_no + 1));
1222 if (count($temp) > $words_no) {
1223 array_pop($temp);
1224 }
1225 return implode(' ', $temp);
1226 }
1227endif; // end wpestate_strip_words
1228
1229
1230
1231
1232
1233if( !function_exists('wpestate_show_product_type')):
1234 function wpestate_show_product_type($item_id){
1235 return get_the_title($item_id);
1236
1237 }
1238endif;
1239
1240
1241if( !function_exists('wpestate_custom_vimdeo_video') ):
1242 function wpestate_custom_vimdeo_video($video_id) {
1243 $protocol = is_ssl() ? 'https' : 'http';
1244 return $return_string = '
1245 <div style="max-width:100%;" class="video">
1246 <iframe id="player_1" src="'.$protocol.'://player.vimeo.com/video/' . $video_id . '?api=1&player_id=player_1" allowFullScreen></iframe>
1247 </div>';
1248
1249 }
1250endif; // end
1251
1252
1253if( !function_exists('wpestate_custom_youtube_video') ):
1254 function wpestate_custom_youtube_video($video_id){
1255 $protocol = is_ssl() ? 'https' : 'http';
1256 return $return_string='
1257 <div style="max-width:100%;" class="video">
1258 <iframe id="player_2" title="YouTube video player" src="'.$protocol.'://www.youtube.com/embed/' . $video_id . '?wmode=transparent&rel=0" allowfullscreen></iframe>
1259 </div>';
1260
1261}
1262endif; // end
1263
1264
1265if( !function_exists('get_video_thumb') ):
1266 function get_video_thumb($post_id){
1267 $video_id = esc_html( get_post_meta($post_id, 'embed_video_id', true) );
1268 $video_type = esc_html( get_post_meta($post_id, 'embed_video_type', true) );
1269 $protocol = is_ssl() ? 'https' : 'http';
1270 if($video_type=='vimeo'){
1271 $hash2 = ( wp_remote_get($protocol."://vimeo.com/api/v2/video/$video_id.php") );
1272 $pre_tumb=(unserialize ( $hash2['body']) );
1273 $video_thumb=$pre_tumb[0]['thumbnail_medium'];
1274 }else{
1275 $video_thumb = $protocol.'://img.youtube.com/vi/' . $video_id . '/0.jpg';
1276 }
1277 return $video_thumb;
1278 }
1279endif;
1280
1281
1282
1283
1284if( !function_exists('wpestate_review_composer')):
1285 function wpestate_review_composer($agent_id){
1286 global $post;
1287 $prop_no = intval( wprentals_get_option('wp_estate_prop_no', '') );
1288 $owner_id = get_post_meta($agent_id, 'user_agent_id', true);
1289 if( $owner_id==0){
1290 $return_array['list_rating'] = 0;
1291 $return_array['coments_no'] = 0;
1292 $return_array['prop_selection'] ='';
1293 $return_array['templates'] ='';
1294 return $return_array;
1295 }
1296
1297 $post_array = array();
1298 $post_array[] = 0;
1299 $return_array = array();
1300 $paged = 1;
1301
1302 if( isset( $_GET['pagelist']) ){
1303 $paged = intval( $_GET['pagelist'] );
1304 }
1305
1306
1307 $args = array(
1308 'post_type' => 'estate_property',
1309 'author' => $owner_id,
1310 'paged' => $paged,
1311 'posts_per_page' => $prop_no,
1312 'post_status' => 'publish'
1313 );
1314
1315
1316
1317
1318 $prop_selection = new WP_Query($args);
1319
1320 $return_array['prop_selection']=$prop_selection;
1321 wp_reset_postdata();
1322 wp_reset_query();
1323
1324
1325 $arg2_reviews = array(
1326 'post_type' => 'estate_property',
1327 'author' => $owner_id,
1328 'paged' => 1,
1329 'posts_per_page' => 100,
1330 'post_status' => 'publish'
1331 );
1332 $prop_selection_Reviews = new WP_Query($arg2_reviews);
1333 if ( $prop_selection_Reviews->have_posts() ) {
1334 while ($prop_selection_Reviews->have_posts()):
1335 $prop_selection_Reviews->the_post();
1336
1337 $post_array[]=$post->ID;
1338 endwhile;
1339 wp_reset_postdata();
1340 wp_reset_query();
1341
1342 $args = array(
1343 'number' => '15',
1344 'post__in' => $post_array,
1345 );
1346
1347
1348 $comments = get_comments($args);
1349 $coments_no = 0;
1350 $stars_total= 0;
1351 $review_templates='';
1352
1353 foreach($comments as $comment) :
1354 $coments_no++;
1355 $userId=$comment->user_id;
1356 $userid_agent=get_user_meta($userId, 'user_agent_id', true);
1357 $reviewer_name=get_the_title($userid_agent);
1358 if($userid_agent==''){
1359 $reviewer_name= $comment->comment_author;
1360 }
1361
1362
1363 if($userid_agent==''){
1364 $user_small_picture_id = get_the_author_meta( 'small_custom_picture' , $comment->user_id,true );
1365 $preview = wp_get_attachment_image_src($user_small_picture_id,'wpestate_user_thumb');
1366 $preview_img = $preview[0];
1367 }else{
1368 $thumb_id = get_post_thumbnail_id($userid_agent);
1369 $preview = wp_get_attachment_image_src($thumb_id, 'thumbnail');
1370 $preview_img = $preview[0];
1371 }
1372
1373
1374 if($preview_img==''){
1375 $preview_img = get_stylesheet_directory_uri().'/img/default_user_agent.gif';
1376 }
1377
1378 $rating= get_comment_meta( $comment->comment_ID , 'review_stars', true );
1379 $tmp_rating = json_decode( $rating, TRUE );
1380 $rating=wpestate_get_star_total_value( $tmp_rating );
1381
1382 $stars_total+=$rating;
1383 $review_templates.='
1384 <div class="listing-review">
1385
1386 <div class="col-md-12 review-list-content norightpadding">
1387 <div class="reviewer_image" style="background-image: url('.$preview_img.');"></div>
1388 <div class="reviwer-name">'.$reviewer_name.'</div>
1389 <div class="property_ratings">';
1390 $review_templates.= wpestate_display_rating($rating);
1391 $review_templates.=' <span class="ratings-star">('. wpestate_get_star_total_value(wpestate_get_star_total_rating($rating)).' ' .esc_html__( 'of','wprentals').' 5)</span>
1392 </div>
1393
1394
1395 <div class="review-content">
1396 '. $comment->comment_content .'
1397
1398 <div class="review-date">
1399 '.esc_html__( 'Posted on ','wprentals' ). ' '. get_comment_date('j F Y',$comment->comment_ID).'
1400 </div>
1401 </div>
1402
1403
1404
1405 </div>
1406 </div> ';
1407
1408 endforeach;
1409
1410 $return_array['templates'] = $review_templates;
1411 $list_rating=0;
1412 if($coments_no>0){
1413 $list_rating= ceil($stars_total/$coments_no);
1414 }
1415
1416
1417 $return_array['list_rating'] = $list_rating;
1418 $return_array['coments_no'] = $coments_no;
1419
1420 }// if has listings
1421
1422
1423
1424
1425
1426 return $return_array;
1427 }
1428endif;
1429
1430
1431
1432
1433
1434
1435/////////////////////////////////////////////////////////////////////////////////
1436// header type
1437///////////////////////////////////////////////////////////////////////////////////
1438
1439
1440if( !function_exists('wpestate_show_media_header')):
1441 function wpestate_show_media_header($tip, $global_header_type,$header_type,$rev_slider,$custom_image){
1442
1443 if( is_page_template( 'splash_page.php' ) ){
1444 $header_type=20;
1445 }else
1446
1447 if( $tip=='global' ){
1448 switch ($global_header_type) {
1449 case 0://none
1450 break;
1451 case 1://image
1452 $global_header = wprentals_get_option('wp_estate_global_header','url');
1453 // print '<img src="'.$global_header.'" class="img-responsive headerimg" alt="header_image"/>';
1454 wpestate_header_image($global_header);
1455 break;
1456 case 2://theme slider
1457 wpestate_present_theme_slider();
1458 break;
1459 case 3://revolutin slider
1460 $global_revolution_slider = wprentals_get_option('wp_estate_global_revolution_slider','');
1461 putRevSlider($global_revolution_slider);
1462 break;
1463 case 4://google maps
1464 get_template_part('templates/google_maps_base');
1465 break;
1466 case 20:
1467 wpestate_splash_page_header();
1468 break;
1469 }
1470 }else{ // is local
1471 switch ($header_type) {
1472 case 1://none
1473 break;
1474 case 2://image
1475 //print '<img src="'.$custom_image.'" class="img-responsive" alt="header_image"/>';
1476 wpestate_header_image($custom_image);
1477 break;
1478 case 3://theme slider
1479 wpestate_present_theme_slider();
1480 break;
1481 case 4://revolutin slider
1482 putRevSlider($rev_slider);
1483 break;
1484 case 5://google maps
1485 get_template_part('templates/google_maps_base');
1486 break;
1487 case 6:
1488 wpestate_video_header();
1489 break;
1490
1491 case 20:
1492 wpestate_splash_page_header();
1493 break;
1494 }
1495 }
1496
1497
1498
1499 }
1500endif;
1501
1502
1503function wprentals_increase_time_unit($wprentals_is_per_hour,$from_date){
1504 if($wprentals_is_per_hour==2){
1505 $from_date->modify('+1 hour');
1506 }else{
1507 $from_date->modify('tomorrow');
1508 }
1509 return $from_date;
1510}
1511
1512
1513function wprentals_compute_no_of_hours($start_date,$end_date,$listing_id){
1514 $booking_start_hour_string = get_post_meta($listing_id,'booking_start_hour',true);
1515 $booking_end_hour_string = get_post_meta($listing_id,'booking_end_hour',true);
1516 $booking_start_hour = intval($booking_start_hour_string);
1517 $booking_end_hour = intval($booking_end_hour_string);
1518
1519 $hour_count=0;
1520 $from_date = new DateTime($start_date);
1521 $to_date = new DateTime($end_date);
1522
1523 while($from_date<$to_date){
1524 $from_date->modify('+1 hour');
1525 $from_date_unix = $from_date->getTimestamp();
1526 $current_hour = $from_date->format('H');
1527
1528 if($booking_start_hour_string=='' && $booking_end_hour_string==''){
1529 $hour_count++;
1530 }else {
1531 if( $booking_end_hour > $current_hour && $booking_start_hour <= $current_hour){
1532 $hour_count++;
1533 }
1534 }
1535
1536
1537
1538 }
1539 return $hour_count;
1540}
1541
1542
1543/////////////////////////////////////////////////////////////////////////////////
1544// datepcker_translate
1545///////////////////////////////////////////////////////////////////////////////////
1546
1547if( !function_exists('wpestate_booking_price')):
1548 function wpestate_booking_price($curent_guest_no,$invoice_id, $property_id, $from_date, $to_date,$bookid='',$extra_options_array='',$manual_expenses=''){
1549
1550 $wprentals_is_per_hour = wprentals_return_booking_type($property_id);
1551
1552
1553 $price_array = wpml_custom_price_adjust($property_id);
1554 $mega = wpml_mega_details_adjust($property_id);
1555
1556 $cleaning_fee_per_day = floatval ( get_post_meta($property_id, 'cleaning_fee_per_day', true) );
1557 $city_fee_per_day = floatval ( get_post_meta($property_id, 'city_fee_per_day', true) );
1558 $price_per_weekeend = floatval ( get_post_meta($property_id, 'price_per_weekeend', true) );
1559 $setup_weekend_status = esc_html ( wprentals_get_option('wp_estate_setup_weekend','') );
1560 $include_expeses = esc_html ( wprentals_get_option('wp_estate_include_expenses','') );
1561 $booking_from_date = $from_date;
1562 $booking_to_date = $to_date;
1563 $total_guests = floatval(get_post_meta($bookid, 'booking_guests', true));
1564
1565 $numberDays=1;
1566 if( $invoice_id == 0){
1567 $price_per_day = floatval(get_post_meta($property_id, 'property_price', true));
1568 $week_price = floatval(get_post_meta($property_id, 'property_price_per_week', true));
1569 $month_price = floatval(get_post_meta($property_id, 'property_price_per_month', true));
1570 $cleaning_fee = floatval(get_post_meta($property_id, 'cleaning_fee', true));
1571 $city_fee = floatval(get_post_meta($property_id, 'city_fee', true));
1572 $cleaning_fee_per_day = floatval(get_post_meta($property_id, 'cleaning_fee_per_day', true));
1573 $city_fee_per_day = floatval(get_post_meta($property_id, 'city_fee_per_day', true));
1574 $city_fee_percent = floatval(get_post_meta($property_id, 'city_fee_percent', true));
1575 $security_deposit = floatval(get_post_meta($property_id, 'security_deposit', true));
1576 $early_bird_percent = floatval(get_post_meta($property_id, 'early_bird_percent', true));
1577 $early_bird_days = floatval(get_post_meta($property_id, 'early_bird_days', true));
1578
1579 }else{
1580 $price_per_day = floatval(get_post_meta($invoice_id, 'default_price', true));
1581 $week_price = floatval(get_post_meta($invoice_id, 'week_price', true));
1582 $month_price = floatval(get_post_meta($invoice_id, 'month_price', true));
1583 $cleaning_fee = floatval(get_post_meta($invoice_id, 'cleaning_fee', true));
1584 $city_fee = floatval(get_post_meta($invoice_id, 'city_fee', true));
1585 $cleaning_fee_per_day = floatval(get_post_meta($invoice_id, 'cleaning_fee_per_day', true));
1586 $city_fee_per_day = floatval(get_post_meta($invoice_id, 'city_fee_per_day', true));
1587 $city_fee_percent = floatval(get_post_meta($invoice_id, 'city_fee_percent', true));
1588 $security_deposit = floatval(get_post_meta($invoice_id, 'security_deposit', true));
1589 $early_bird_percent = floatval(get_post_meta($invoice_id, 'early_bird_percent', true));
1590 $early_bird_days = floatval(get_post_meta($invoice_id, 'early_bird_days', true));
1591 }
1592
1593
1594
1595 $from_date = new DateTime($booking_from_date);
1596 $from_date_unix = $from_date->getTimestamp();
1597 $date_checker = strtotime(date("Y-m-d 00:00", $from_date_unix));
1598 $from_date_discount = $from_date->getTimestamp();
1599 $to_date = new DateTime($booking_to_date);
1600 $to_date_unix = $to_date->getTimestamp();
1601 $total_price = 0;
1602 $inter_price = 0;
1603 $has_custom = 0;
1604 $usable_price = 0;
1605 $has_wkend_price = 0;
1606 $cover_weekend = 0;
1607 $custom_period_quest= 0;
1608
1609 $custom_price_array = array();
1610 $timeDiff = abs( strtotime($booking_to_date) - strtotime($booking_from_date) );
1611 if($wprentals_is_per_hour==2){
1612 //per h
1613 $count_days= wprentals_compute_no_of_hours($booking_from_date,$booking_to_date,$property_id);
1614
1615 }else{
1616 //per day
1617 $count_days = $timeDiff/86400; // 86400 seconds in one day
1618
1619 }
1620
1621 $count_days = intval($count_days);
1622
1623 //check extra price per guest
1624 ///////////////////////////////////////////////////////////////////////////
1625 $extra_price_per_guest = floatval ( get_post_meta($property_id, 'extra_price_per_guest', true) );
1626 $price_per_guest_from_one = floatval ( get_post_meta($property_id, 'price_per_guest_from_one', true) );
1627 $overload_guest = floatval ( get_post_meta($property_id, 'overload_guest', true) );
1628 $guestnumber = floatval ( get_post_meta($property_id, 'guest_no', true) );
1629
1630 $booking_start_hour_string = get_post_meta($property_id,'booking_start_hour',true);
1631 $booking_end_hour_string = get_post_meta($property_id,'booking_end_hour',true);
1632 $booking_start_hour = intval($booking_start_hour_string);
1633 $booking_end_hour = intval($booking_end_hour_string);
1634
1635
1636 $has_guest_overload = 0;
1637 $total_extra_price_per_guest = 0;
1638 $extra_guests = 0;
1639
1640
1641
1642
1643
1644
1645
1646
1647 if($price_per_guest_from_one == 0 ) {
1648 ///////////////////////////////////////////////////////////////
1649 // per day math
1650 ////////////////////////////////////////////////////////////////
1651 //period_price_per_month,period_price_per_week
1652 //discoutn prices for month and week
1653 ///////////////////////////////////////////////////////////////////////////
1654 if( $count_days >= 7 && $week_price!=0){ // if more than 7 days booked
1655 $price_per_day = $week_price;
1656 }
1657
1658 if( $count_days >= 30 && $month_price!=0 ) {
1659 $price_per_day = $month_price;
1660 }
1661
1662 //custom prices - check the first day
1663 ///////////////////////////////////////////////////////////////////////////
1664 if( isset( $price_array[$date_checker] ) ) {
1665 $has_custom = 1;
1666 $custom_price_array [$date_checker] = $price_array[$date_checker];
1667 }
1668
1669 if( isset($mega[$date_checker]) && isset( $mega[$date_checker]['period_price_per_weekeend'] ) && $mega[$date_checker]['period_price_per_weekeend']!=0 ){
1670 $has_wkend_price = 1;
1671 }
1672
1673 if ($overload_guest==1){ // if we allow overload
1674 if($curent_guest_no > $guestnumber){
1675 $has_guest_overload = 1;
1676 $extra_guests = $curent_guest_no-$guestnumber;
1677 if( isset($mega[$date_checker]) && isset( $mega[$date_checker]['period_price_per_weekeend'] ) ){
1678 $total_extra_price_per_guest = $total_extra_price_per_guest + $extra_guests * $mega[$date_checker]['period_extra_price_per_guest'] ;
1679 $custom_period_quest=1;
1680 }else{
1681 $total_extra_price_per_guest = $total_extra_price_per_guest + $extra_guests * $extra_price_per_guest;
1682
1683 }
1684 }
1685
1686 }
1687
1688 if($price_per_weekeend!=0){
1689 $has_wkend_price = 1;
1690 }
1691
1692 $usable_price = wpestate_return_custom_price($date_checker,$mega,$price_per_weekeend,$price_array,$price_per_day,$count_days);
1693 $total_price = $total_price + $usable_price;
1694
1695 $inter_price = $inter_price + $usable_price;
1696 $custom_price_array [$date_checker] = $usable_price;
1697
1698 $from_date_unix_first_day= $from_date->getTimestamp();
1699
1700
1701
1702
1703 $from_date = wprentals_increase_time_unit($wprentals_is_per_hour,$from_date);
1704 $from_date_unix = $from_date->getTimestamp();
1705 $date_checker= strtotime(date("Y-m-d 00:00", $from_date_unix));
1706 $weekday = date('N', $from_date_unix_first_day); // 1-7
1707 if( wpestate_is_cover_weekend($weekday,$has_wkend_price,$setup_weekend_status) ){
1708 $cover_weekend=1;
1709 }
1710
1711
1712
1713// 1534636800===
1714// 1534582800
1715 // loop trough the dates
1716 //////////////////////////////////////////////////////////////////////////
1717 while ($from_date_unix < $to_date_unix){
1718
1719 $skip_a_beat=1;
1720 if($wprentals_is_per_hour==2){ //is per h
1721 $current_hour = $from_date->format('H');
1722
1723 if($booking_start_hour_string=='' && $booking_end_hour_string==''){
1724 $skip_a_beat=1;
1725 }else {
1726 if( $booking_end_hour > $current_hour && $booking_start_hour <= $current_hour){
1727 $skip_a_beat=1;
1728 }else{
1729 $skip_a_beat=0;
1730 }
1731 }
1732
1733
1734
1735 }
1736
1737
1738
1739
1740 if($skip_a_beat== 1){
1741 $numberDays++;
1742
1743 if( isset( $price_array[$date_checker] ) ) {
1744 $has_custom = 1;
1745 }
1746
1747 if( isset($mega[$date_checker]) && isset( $mega[$date_checker]['period_price_per_weekeend'] ) && $mega[$date_checker]['period_price_per_weekeend']!=0 ){
1748 $has_wkend_price = 1;
1749 }
1750
1751 if ($overload_guest==1){ // if we allow overload
1752 if($curent_guest_no > $guestnumber){
1753 $has_guest_overload = 1;
1754 $extra_guests = $curent_guest_no-$guestnumber;
1755 if( isset($mega[$date_checker]) && isset( $mega[$date_checker]['period_price_per_weekeend'] ) ){
1756 $total_extra_price_per_guest = $total_extra_price_per_guest + $extra_guests * $mega[$date_checker]['period_extra_price_per_guest'] ;
1757 $custom_period_quest=1;
1758 }else{
1759 $total_extra_price_per_guest = $total_extra_price_per_guest + $extra_guests * $extra_price_per_guest;
1760
1761 }
1762 }
1763 }
1764
1765 if($price_per_weekeend!=0){
1766 $has_wkend_price = 1;
1767 }
1768
1769
1770 $weekday = date('N', $from_date_unix); // 1-7
1771 if( wpestate_is_cover_weekend($weekday,$has_wkend_price,$setup_weekend_status) ){
1772 $cover_weekend=1;
1773 }
1774
1775 $usable_price = wpestate_return_custom_price($date_checker,$mega,$price_per_weekeend,$price_array,$price_per_day,$count_days);
1776 $total_price = $total_price + $usable_price;
1777
1778 $inter_price = $inter_price + $usable_price;
1779 $custom_price_array [$date_checker] = $usable_price;
1780 }//end skip a beat
1781 $from_date = wprentals_increase_time_unit($wprentals_is_per_hour,$from_date);
1782 $from_date_unix = $from_date->getTimestamp();
1783 $date_checker= strtotime(date("Y-m-d 00:00", $from_date_unix));
1784
1785 }
1786
1787 }else{
1788 $custom_period_quest=0;
1789
1790 ///////////////////////////////////////////////////////////////
1791 // per guest math
1792 ////////////////////////////////////////////////////////////////
1793
1794 if(isset($mega[$date_checker]['period_extra_price_per_guest']) ){
1795
1796 $total_price = $curent_guest_no* $mega[$date_checker]['period_extra_price_per_guest'];
1797 $inter_price = $curent_guest_no*$mega[$date_checker]['period_extra_price_per_guest'];
1798 $custom_price_array [$date_checker] = $curent_guest_no*$mega[$date_checker]['period_extra_price_per_guest'];
1799 $custom_period_quest = 1;
1800 }else{
1801
1802 $total_price = $curent_guest_no* $extra_price_per_guest;
1803 $inter_price = $curent_guest_no* $extra_price_per_guest;
1804 }
1805
1806
1807
1808 $from_date = wprentals_increase_time_unit($wprentals_is_per_hour,$from_date);
1809 $from_date_unix = $from_date->getTimestamp();
1810 $date_checker = strtotime(date("Y-m-d 00:00", $from_date_unix));
1811
1812
1813
1814
1815
1816 while ($from_date_unix < $to_date_unix){
1817 $skip_a_beat=1;
1818 if($wprentals_is_per_hour==2){ //is per h
1819 $current_hour = $from_date->format('H');
1820
1821 if($booking_start_hour_string=='' && $booking_end_hour_string==''){
1822 $skip_a_beat=1;
1823 }else {
1824 if( $booking_end_hour > $current_hour && $booking_start_hour <= $current_hour){
1825 $skip_a_beat=1;
1826 }else{
1827 $skip_a_beat=0;
1828 }
1829 }
1830
1831 }
1832
1833 if($skip_a_beat== 1){
1834 $numberDays++;
1835
1836
1837
1838 if( isset($mega[$date_checker]['period_extra_price_per_guest']) ) {
1839 $total_price = $total_price+ $curent_guest_no* $mega[$date_checker]['period_extra_price_per_guest'];
1840 $inter_price = $inter_price+ $curent_guest_no* $mega[$date_checker]['period_extra_price_per_guest'];
1841 $custom_price_array [$date_checker] =$curent_guest_no* $mega[$date_checker]['period_extra_price_per_guest'];
1842
1843
1844 $custom_period_quest= 1;
1845 }else{
1846 $total_price = $total_price+ $curent_guest_no * $extra_price_per_guest;
1847 $inter_price = $inter_price+ $curent_guest_no * $extra_price_per_guest;
1848 }
1849 }
1850
1851
1852
1853 $from_date = wprentals_increase_time_unit($wprentals_is_per_hour,$from_date);
1854 $from_date_unix = $from_date->getTimestamp();
1855
1856 if($wprentals_is_per_hour!=2){
1857 $date_checker = $from_date->getTimestamp();
1858 }
1859 //$date_checker= strtotime(date("Y-m-d 00:00", $from_date_unix));
1860
1861 }
1862
1863 }// end per guest math
1864
1865 $wp_estate_book_down = floatval ( wprentals_get_option('wp_estate_book_down', '') );
1866 $wp_estate_book_down_fixed_fee = floatval ( wprentals_get_option('wp_estate_book_down_fixed_fee', '') );
1867
1868
1869
1870 if ( !empty ( $extra_options_array ) ){
1871 $extra_pay_options = ( get_post_meta($property_id, 'extra_pay_options', true) );
1872
1873 foreach ($extra_options_array as $key=>$value){
1874 if( isset($extra_pay_options[$value][0]) ){
1875 $extra_option_value = wpestate_calculate_extra_options_value($count_days,$total_guests,$extra_pay_options[$value][2],$extra_pay_options[$value][1]);
1876 $total_price = $total_price + $extra_option_value;
1877 }
1878 }
1879 }
1880
1881
1882
1883 if( !empty ($manual_expenses) && is_array($manual_expenses) ) {
1884 foreach($manual_expenses as $key=>$value){
1885 if(floatval($value[1]) != 0 ){
1886 $total_price = $total_price + floatval($value[1]) ;
1887 }
1888 }
1889 }
1890
1891 // extra price per guest
1892 if($has_guest_overload==1 && $total_extra_price_per_guest>0){
1893 $total_price=$total_price + $total_extra_price_per_guest;
1894 }
1895
1896
1897
1898
1899 //early bird discount
1900 ///////////////////////////////////////////////////////////////////////////
1901 $early_bird_discount = wpestate_early_bird($property_id,$early_bird_percent,$early_bird_days,$from_date_discount,$total_price);
1902
1903 if($early_bird_discount>0){
1904 $total_price= $total_price - $early_bird_discount;
1905 }
1906
1907
1908
1909
1910
1911 //security depozit - refundable
1912 ///////////////////////////////////////////////////////////////////////////
1913 if(intval ($security_deposit)!=0 ){
1914 $total_price =$total_price+$security_deposit;
1915 }
1916
1917
1918
1919
1920
1921
1922
1923
1924 $total_price_before_extra=$total_price;
1925
1926
1927
1928
1929
1930 //cleaning or city fee per day
1931 ///////////////////////////////////////////////////////////////////////////
1932
1933 $cleaning_fee = wpestate_calculate_cleaning_fee($property_id,$count_days,$curent_guest_no,$cleaning_fee,$cleaning_fee_per_day);
1934 $city_fee = wpestate_calculate_city_fee($property_id,$count_days,$curent_guest_no,$city_fee,$city_fee_per_day,$city_fee_percent,$inter_price);
1935
1936
1937
1938
1939 if($cleaning_fee!=0 && $cleaning_fee!=''){
1940 $total_price=$total_price+$cleaning_fee;
1941 }
1942
1943 if($city_fee!=0 && $city_fee!=''){
1944 $total_price=$total_price+$city_fee;
1945 }
1946
1947
1948
1949
1950
1951 if( $invoice_id == 0){
1952 $price_for_service_fee = $total_price - $security_deposit - floatval($city_fee) - floatval($cleaning_fee);
1953 $service_fee = wpestate_calculate_service_fee($price_for_service_fee,$invoice_id);
1954 }else{
1955 $service_fee = get_post_meta($invoice_id, 'service_fee', true);
1956 }
1957
1958
1959
1960
1961
1962
1963 if($include_expeses=='yes'){
1964 $deposit = wpestate_calculate_deposit($wp_estate_book_down,$wp_estate_book_down_fixed_fee,$total_price);
1965 }else{
1966 $deposit = wpestate_calculate_deposit($wp_estate_book_down,$wp_estate_book_down_fixed_fee,$total_price_before_extra);
1967 }
1968
1969
1970 if(intval($invoice_id)==0){
1971 $you_earn = $total_price - $security_deposit - floatval($city_fee) - floatval($cleaning_fee) - $service_fee;
1972 update_post_meta($bookid,'you_earn',$you_earn);
1973 }else{
1974 $you_earn = get_post_meta($bookid,'you_earn',true);
1975 }
1976
1977
1978
1979 $taxes = 0;
1980
1981 if(intval($invoice_id)==0){
1982 $taxes_value = floatval(get_post_meta($property_id, 'property_taxes', true));
1983 }else{
1984 $taxes_value = floatval(get_post_meta($invoice_id, 'prop_taxed', true));
1985 }
1986 if($taxes_value>0){
1987 $taxes = round ( $you_earn*$taxes_value/100,2);
1988 }
1989
1990
1991 if(intval($invoice_id)==0){
1992 update_post_meta($bookid, 'custom_price_array', $custom_price_array);
1993 }else{
1994 $custom_price_array=get_post_meta($bookid, 'custom_price_array', true);
1995 }
1996
1997 $balance = $total_price - $deposit;
1998 $return_array=array();
1999 $return_array['book_type'] = $wprentals_is_per_hour;
2000 $return_array['default_price'] = $price_per_day;
2001 $return_array['week_price'] = $week_price;
2002 $return_array['month_price'] = $month_price;
2003 $return_array['total_price'] = $total_price;
2004 $return_array['inter_price'] = $inter_price;
2005 $return_array['balance'] = $balance;
2006 $return_array['deposit'] = $deposit;
2007 $return_array['from_date'] = $from_date;
2008 $return_array['to_date'] = $to_date;
2009 $return_array['cleaning_fee'] = $cleaning_fee;
2010 $return_array['city_fee'] = $city_fee;
2011 $return_array['has_custom'] = $has_custom;
2012 $return_array['custom_price_array'] = $custom_price_array;
2013 $return_array['numberDays'] = $numberDays;
2014 $return_array['count_days'] = $count_days;
2015 $return_array['has_wkend_price'] = $has_wkend_price;
2016 $return_array['has_guest_overload'] = $has_guest_overload;
2017 $return_array['total_extra_price_per_guest'] = $total_extra_price_per_guest;
2018 $return_array['extra_guests'] = $extra_guests;
2019 $return_array['extra_price_per_guest'] = $extra_price_per_guest;
2020 $return_array['price_per_guest_from_one'] = $price_per_guest_from_one;
2021 $return_array['curent_guest_no'] = $curent_guest_no;
2022 $return_array['cover_weekend'] = $cover_weekend;
2023 $return_array['custom_period_quest'] = $custom_period_quest;
2024 $return_array['security_deposit'] = $security_deposit;
2025 $return_array['early_bird_discount'] = $early_bird_discount;
2026 $return_array['taxes'] = $taxes;
2027 $return_array['service_fee'] = $service_fee;
2028 $return_array['youearned'] = $you_earn;
2029 return $return_array;
2030
2031 }
2032endif;
2033
2034
2035
2036if(!function_exists('wpestate_extra_options_exp')):
2037function wpestate_extra_options_exp($extra_id,$edit_id=''){
2038 $booking_type = wprentals_return_booking_type($edit_id);
2039 $rental_type = wprentals_get_option('wp_estate_item_rental_type',true);
2040 $options_array=array(
2041 0 => esc_html__('Single Fee','wprentals'),
2042 1 => ucfirst( wpestate_show_labels('per_night',$rental_type,$booking_type) ),
2043 2 => esc_html__('Per Guest','wprentals'),
2044 3 => ucfirst( wpestate_show_labels('per_night',$rental_type,$booking_type)).' '.esc_html__('per Guest','wprentals')
2045 );
2046
2047 return $options_array[$extra_id];
2048}
2049endif;
2050
2051
2052if(!function_exists('wpestate_early_bird')):
2053function wpestate_early_bird($property_id,$early_bird_percent,$early_bird_days,$from_date_discount,$total_price){
2054
2055 $day_diffrence = ( $from_date_discount- time() ) / 60/60/24;
2056 $discount=0;
2057 if($day_diffrence >= $early_bird_days){
2058 $discount=( $total_price * $early_bird_percent ) /100;
2059 }
2060
2061 return $discount;
2062
2063}
2064endif;
2065
2066
2067if(!function_exists('wpestate_calculate_cleaning_fee')):
2068 function wpestate_calculate_cleaning_fee($property_id,$count_days,$guests_no,$cleaning_fee,$cleaning_fee_per_day){
2069 $return_value=0;
2070
2071 $guests_no=intval($guests_no);
2072 if($guests_no==0){
2073 $guests_no=1;
2074 }
2075 switch ($cleaning_fee_per_day) {
2076 case 0:// single fee
2077 $return_value = $cleaning_fee;
2078 break;
2079 case 1://per night
2080 $return_value = $cleaning_fee*$count_days;
2081 break;
2082 case 2://per guest
2083 $return_value = $cleaning_fee*$guests_no;
2084 break;
2085 case 3://per guest and night
2086 $return_value = $cleaning_fee*$guests_no*$count_days;
2087 break;
2088 }
2089 return $return_value;
2090 }
2091endif;
2092
2093if(!function_exists('wpestate_calculate_city_fee')):
2094 function wpestate_calculate_city_fee($property_id,$count_days,$guests_no,$city_fee,$city_fee_per_day,$city_fee_percent,$inter_fee){
2095 $return_value=0;
2096 $guests_no=intval($guests_no);
2097 if($guests_no==0){
2098 $guests_no=1;
2099 }
2100 if($city_fee_percent==0){
2101
2102 switch ($city_fee_per_day) {
2103 case 0:// single fee
2104 $return_value = $city_fee;
2105 break;
2106 case 1://per night
2107 $return_value = $city_fee*$count_days;
2108 break;
2109 case 2://per guest
2110 $return_value = $city_fee*$guests_no;
2111 break;
2112 case 3://per guest and night
2113 $return_value = $city_fee*$guests_no*$count_days;
2114 break;
2115 }
2116 }else{
2117 $return_value=$inter_fee*$city_fee/100;
2118 }
2119
2120
2121
2122 return $return_value;
2123 }
2124endif;
2125
2126
2127
2128
2129if(!function_exists('wpestate_is_cover_weekend')):
2130 function wpestate_is_cover_weekend($weekday,$has_wkend_price,$setup_weekend_status){
2131 if( $setup_weekend_status ==0 && ( $weekday ==6 || $weekday==7) && $has_wkend_price==1){
2132 return true;
2133 }else if( $setup_weekend_status ==1 && ( $weekday ==5 || $weekday==6) && $has_wkend_price==1){
2134 return true;
2135 }else if( $setup_weekend_status ==2 && ( $weekday ==5 || $weekday ==6 || $weekday==7) && $has_wkend_price==1){
2136 return true;
2137 }else{
2138 return false;
2139 }
2140 return false;
2141 }
2142endif;
2143
2144
2145
2146
2147
2148
2149if(!function_exists('wpestate_calculate_deposit')):
2150 function wpestate_calculate_deposit($wp_estate_book_down,$wp_estate_book_down_fixed_fee,$total_price){
2151
2152 if ( $wp_estate_book_down_fixed_fee == 0) {
2153
2154 if($wp_estate_book_down =='' || $wp_estate_book_down == 0){
2155 $deposit = 0;
2156 }else{
2157
2158 $deposit = floatval ($wp_estate_book_down*$total_price/100);
2159
2160 $deposit = round($deposit,2);
2161 }
2162 }else{
2163 $deposit = $wp_estate_book_down_fixed_fee;
2164 }
2165 return $deposit;
2166
2167 }
2168endif;
2169
2170
2171if( !function_exists('wpestate_calculate_weekedn_price') ):
2172function wpestate_calculate_weekedn_price($mega,$from_date_unix,$price_per_weekeend,$price_per_day,$price_array,$count_days){
2173 $new_price='';
2174 if( isset($mega[$from_date_unix]) && isset( $mega[$from_date_unix]['period_price_per_weekeend'] ) && $mega[$from_date_unix]['period_price_per_weekeend']!=0 ){
2175 $new_price =$mega[$from_date_unix]['period_price_per_weekeend'];
2176 }else if($price_per_weekeend!=0){
2177 $new_price =$price_per_weekeend;
2178 }else{
2179 $new_price = wpestate_classic_price_return($price_per_day,$price_array, $from_date_unix,$count_days,$mega);
2180 }
2181 return $new_price;
2182}
2183endif;
2184
2185
2186
2187if( !function_exists('wpestate_return_custom_price') ):
2188function wpestate_return_custom_price($from_date_unix,$mega,$price_per_weekeend,$price_array,$price_per_day,$count_days){
2189 $weekday = date('N', $from_date_unix);
2190 $setup_weekend_status= esc_html ( wprentals_get_option('wp_estate_setup_weekend','') );
2191
2192 if( $setup_weekend_status ==0 && ( $weekday ==6 || $weekday==7) ){
2193 $new_price=wpestate_calculate_weekedn_price($mega,$from_date_unix,$price_per_weekeend,$price_per_day,$price_array,$count_days);
2194 }else if( $setup_weekend_status ==1 && ( $weekday ==5 || $weekday==6) ){
2195 $new_price=wpestate_calculate_weekedn_price($mega,$from_date_unix,$price_per_weekeend,$price_per_day,$price_array,$count_days);
2196 }else if( $setup_weekend_status ==2 && ( $weekday ==5 || $weekday ==6 || $weekday==7) ){
2197 $new_price=wpestate_calculate_weekedn_price($mega,$from_date_unix,$price_per_weekeend,$price_per_day,$price_array,$count_days);
2198 }else{
2199 $new_price = wpestate_classic_price_return($price_per_day,$price_array, $from_date_unix,$count_days,$mega);
2200 }
2201 return $new_price;
2202
2203}
2204endif;
2205
2206
2207
2208if( !function_exists('wpestate_classic_price_return') ):
2209 function wpestate_classic_price_return($price_per_day,$price_array, $from_date_unix,$count_days,$mega){
2210
2211
2212 if($count_days>=7 && $count_days<30 && isset( $mega[$from_date_unix]['period_price_per_week'] ) && $mega[$from_date_unix]['period_price_per_week']!=0 ){
2213
2214 return $mega[$from_date_unix]['period_price_per_week'];
2215 }else if($count_days>=30 && isset( $mega[$from_date_unix]['period_price_per_month'] ) && $mega[$from_date_unix]['period_price_per_month'] !=0 ){
2216 return $mega[$from_date_unix]['period_price_per_month'];
2217 }else if( isset( $price_array[$from_date_unix] ) ) {
2218 return $price_array[$from_date_unix];
2219 }else{
2220 return $price_per_day;
2221 }
2222
2223
2224 }
2225endif;
2226
2227
2228
2229
2230
2231
2232/////////////////////////////////////////////////////////////////////////////////
2233// datepcker_translate
2234///////////////////////////////////////////////////////////////////////////////////
2235if( !function_exists('wpestate_date_picker_translation') ):
2236function wpestate_date_picker_translation($selector){
2237
2238 if( $selector !=='check_in' && $selector !=='check_out' ){
2239 $date_lang_status= esc_html ( wprentals_get_option('wp_estate_date_lang','') );
2240 $dates_types=array(
2241 '0' =>'yy-mm-dd',
2242 '1' =>'yy-dd-mm',
2243 '2' =>'dd-mm-yy',
2244 '3' =>'mm-dd-yy',
2245 '4' =>'dd-yy-mm',
2246 '5' =>'mm-yy-dd',
2247
2248 );
2249
2250 print '<script type="text/javascript">
2251 //<![CDATA[
2252 jQuery(document).ready(function(){
2253 jQuery("#'.$selector.'").datepicker({
2254 dateFormat : "'.$dates_types[esc_html ( wprentals_get_option('wp_estate_date_format','') )].'"
2255 },jQuery.datepicker.regional["'.$date_lang_status.'"]).datepicker("widget").wrap(\'<div class="ll-skin-melon"/>\');
2256 });
2257 //]]>
2258 </script>';
2259
2260 }
2261}
2262endif;
2263
2264/////////////////////////////////////////////////////////////////////////////////
2265// show price
2266///////////////////////////////////////////////////////////////////////////////////
2267if( !function_exists('westate_display_corection') ):
2268function westate_display_corection($price){
2269 $whole = floor($price); // 1
2270 $fraction = $price - $whole;
2271
2272 if($fraction==0){
2273 $price=floatval($price);
2274 }
2275 return $price;
2276}
2277endif;
2278
2279if( !function_exists('wpestate_show_price') ):
2280function wpestate_show_price($post_id,$currency,$where_currency,$return=0){
2281
2282 $price_label = '<span class="price_label">'.esc_html ( get_post_meta($post_id, 'property_label', true) ).'</span>';
2283 $property_price_before_label = esc_html ( get_post_meta($post_id, 'property_price_before_label', true) );
2284 $property_price_after_label = esc_html ( get_post_meta($post_id, 'property_price_after_label', true) );
2285
2286 $price_label = '';
2287 $price_per_guest_from_one = floatval( get_post_meta($post_id, 'price_per_guest_from_one', true) );
2288
2289 if($price_per_guest_from_one==1){
2290 $price = floatval( get_post_meta($post_id, 'extra_price_per_guest', true) );
2291 }else{
2292 $price = floatval( get_post_meta($post_id, 'property_price', true) );
2293 }
2294
2295 $th_separator = wprentals_get_option('wp_estate_prices_th_separator','');
2296 $custom_fields = wprentals_get_option('wpestate_currency','');
2297
2298
2299
2300 if( !empty($custom_fields) && isset($_COOKIE['my_custom_curr']) && isset($_COOKIE['my_custom_curr_pos']) && isset($_COOKIE['my_custom_curr_symbol']) && $_COOKIE['my_custom_curr_pos']!=-1){
2301 $i = floatval($_COOKIE['my_custom_curr_pos']);
2302 $custom_fields = wprentals_get_option('wpestate_currency','');
2303 if ($price != 0) {
2304 $price = $price * $custom_fields[$i][2];
2305 // $price = westate_display_corection($price);
2306 $price = number_format($price,2,'.',$th_separator);
2307 $price = TrimTrailingZeroes($price);
2308
2309
2310 $currency = $custom_fields[$i][1];
2311
2312 if ($custom_fields[$i][3] == 'before') {
2313 $price = $currency . ' ' . $price;
2314 } else {
2315 $price = $price . ' ' . $currency;
2316 }
2317
2318 }else{
2319 $price='';
2320 }
2321 }else{
2322 if ($price != 0) {
2323 //$price = westate_display_corection($price);
2324 $price = number_format($price,2,'.',$th_separator);
2325 $price = TrimTrailingZeroes($price);
2326 if ($where_currency == 'before') {
2327 $price = $currency . ' ' . $price;
2328 } else {
2329 $price = $price . ' ' . $currency;
2330 }
2331
2332 }else{
2333 $price='';
2334 }
2335 }
2336
2337
2338
2339 if($return==0){
2340 print $property_price_before_label.' '.$price.' '.$price_label.$property_price_after_label;
2341 }else{
2342 return $property_price_before_label.' '.$price.' '.$price_label.$property_price_after_label;
2343 }
2344}
2345endif;
2346
2347
2348if( !function_exists('TrimTrailingZeroes') ):
2349function TrimTrailingZeroes($nbr) {
2350 if( strpos( $nbr,'.' )!==false ){
2351 return rtrim( rtrim($nbr,'0'), '.');
2352 }else{
2353 return $nbr;
2354 }
2355}
2356endif;
2357
2358
2359/////////////////////////////////////////////////////////////////////////////////
2360// show price custom
2361///////////////////////////////////////////////////////////////////////////////////
2362if( !function_exists('wpestate_show_price_custom') ):
2363 function wpestate_show_price_custom($price){
2364 $price_label = '';
2365 $currency = esc_html( wprentals_get_option('wp_estate_currency_label_main', '') );
2366 $where_currency = esc_html( wprentals_get_option('wp_estate_where_currency_symbol', '') );
2367 $th_separator = wprentals_get_option('wp_estate_prices_th_separator','');
2368 $custom_fields = wprentals_get_option('wpestate_currency','');
2369
2370 if ($price != 0) {
2371 //$price = westate_display_corection($price);
2372 $price = number_format($price,2,'.',$th_separator);
2373 $price = TrimTrailingZeroes($price);
2374 if ($where_currency == 'before') {
2375 $price = $currency . ' ' . $price;
2376 } else {
2377 $price = $price . ' ' . $currency;
2378 }
2379
2380 }else{
2381 $price='';
2382 }
2383
2384
2385 return $price.' '.$price_label;
2386
2387 }
2388endif;
2389
2390if( !function_exists('wpestate_show_price_custom_invoice') ):
2391 function wpestate_show_price_custom_invoice($price){
2392 $price_label = '';
2393 $currency = wpestate_curency_submission_pick();
2394 $where_currency = esc_html( get_option('wp_estate_where_currency_symbol', '') );
2395 $th_separator = wprentals_get_option('wp_estate_prices_th_separator','');
2396 $custom_fields = wprentals_get_option('wpestate_currency','');
2397
2398 if ($price != 0) {
2399 //$price = westate_display_corection($price);
2400 $price = number_format($price,2,'.',$th_separator);
2401 $price = TrimTrailingZeroes($price);
2402 if ($where_currency == 'before') {
2403 $price = $currency . ' ' . $price;
2404 } else {
2405 $price = $price . ' ' . $currency;
2406 }
2407
2408 }else{
2409 $price='';
2410 }
2411
2412
2413 return $price.' '.$price_label;
2414
2415 }
2416endif;
2417
2418/////////////////////////////////////////////////////////////////////////////////
2419// show price booking
2420///////////////////////////////////////////////////////////////////////////////////
2421
2422
2423if( !function_exists('wpestate_show_price_booking') ):
2424function wpestate_show_price_booking($price,$currency,$where_currency,$return=0){
2425 $price_label = '';
2426 $th_separator = wprentals_get_option('wp_estate_prices_th_separator','');
2427 $custom_fields = wprentals_get_option('wpestate_currency','');
2428
2429 if( !empty($custom_fields) && isset($_COOKIE['my_custom_curr']) && isset($_COOKIE['my_custom_curr_pos']) && isset($_COOKIE['my_custom_curr_symbol']) && $_COOKIE['my_custom_curr_pos']!=-1){
2430 $i = intval($_COOKIE['my_custom_curr_pos']);
2431 $custom_fields = wprentals_get_option('wpestate_currency','');
2432 if ($price != 0) {
2433 $price = $price * $custom_fields[$i][2];
2434 $price = number_format($price,2,'.',$th_separator);
2435 $price = TrimTrailingZeroes($price);
2436 $currency = $custom_fields[$i][1];
2437
2438 if ($custom_fields[$i][3] == 'before') {
2439 $price = $currency . ' ' . $price;
2440 } else {
2441 $price = $price . ' ' . $currency;
2442 }
2443
2444 }else{
2445 $price='';
2446 }
2447 }else{
2448 if ($price != 0) {
2449 //$price = westate_display_corection($price);
2450 $price = ( number_format($price,2,'.',$th_separator) );
2451 $price = TrimTrailingZeroes($price);
2452
2453 if ($where_currency == 'before') {
2454 $price = $currency . ' ' . $price;
2455 } else {
2456 $price = $price . ' ' . $currency;
2457 }
2458
2459 }else{
2460 $price='';
2461 }
2462 }
2463
2464
2465 if($return==0){
2466 print $price.' '.$price_label;
2467 }else{
2468 return $price.' '.$price_label;
2469 }
2470}
2471endif;
2472
2473
2474
2475
2476//////////////////////////////////////////////////////////////////////////////////////
2477// show price bookign for invoice - 1 currency only
2478///////////////////////////////////////////////////////////////////////////////////////
2479
2480if( !function_exists('wpestate_show_price_booking_for_invoice') ):
2481function wpestate_show_price_booking_for_invoice($price,$currency,$where_currency,$has_data=0,$return=0){
2482
2483
2484 $price_label='';
2485 $th_separator = wprentals_get_option('wp_estate_prices_th_separator','');
2486 $custom_fields = wprentals_get_option('wpestate_currency','');
2487
2488
2489 if (floatval($price) != 0) {
2490 $price=$clear_price=floatval($price);
2491 //$price = westate_display_corection($price);
2492 $price = number_format(($price),2,'.',$th_separator);
2493 $price = TrimTrailingZeroes($price);
2494
2495 if($has_data==1){
2496 $price = '<span class="inv_data_value" data-clearprice="'.$clear_price.'"> '.$price.'</span>';
2497 }
2498
2499 if ($where_currency == 'before') {
2500 $price = $currency . ' ' . $price;
2501 } else {
2502 $price = $price . ' ' . $currency;
2503 }
2504
2505 }else{
2506 $price=0;
2507 if ($where_currency == 'before') {
2508 $price = $currency . ' ' . $price;
2509 } else {
2510 $price = $price . ' ' . $currency;
2511 }
2512 }
2513
2514
2515 if($return==0){
2516 print $price.' '.$price_label;
2517 }else{
2518 return $price.' '.$price_label;
2519 }
2520}
2521endif;
2522
2523/////////////////////////////////////////////////////////////////////////////////
2524// show top bar
2525///////////////////////////////////////////////////////////////////////////////////
2526if( !function_exists('wpestate_show_top_bar') ):
2527 function wpestate_show_top_bar(){
2528 global $post;
2529 $is_top_bar= wprentals_get_option('wp_estate_show_top_bar_user_menu','');
2530
2531 if( $is_top_bar =="yes" ){
2532 if(!is_tax() && !is_category() && !is_archive() && !is_404() && !is_tag() ){
2533
2534 if ( !wpestate_check_if_admin_page($post->ID ) ){
2535 return true;
2536 }else{
2537 return false;
2538 }
2539 }
2540 return true;
2541 }else{
2542 return false;
2543 }
2544
2545 }
2546endif;
2547
2548
2549
2550/////////////////////////////////////////////////////////////////////////////////
2551// show create_booking_type
2552///////////////////////////////////////////////////////////////////////////////////
2553
2554
2555
2556
2557if( !function_exists('wpestate_check_if_admin_page') ):
2558 function wpestate_check_if_admin_page($page_id){
2559
2560 if( basename(get_page_template($page_id)) == 'user_dashboard.php' ||
2561 basename(get_page_template($page_id)) == 'user_dashboard_add_step1.php' ||
2562 basename(get_page_template($page_id)) == 'user_dashboard_edit_listing.php' ||
2563 basename(get_page_template($page_id)) == 'user_dashboard_favorite.php' ||
2564 basename(get_page_template($page_id)) == 'user_dashboard_profile.php' ||
2565 basename(get_page_template($page_id)) == 'user_dashboard_my_bookings.php' ||
2566 basename(get_page_template($page_id)) == 'user_dashboard_my_reservations.php' ||
2567 basename(get_page_template($page_id)) == 'user_dashboard_favorite' ||
2568 basename(get_page_template($page_id)) == 'user_dashboard_inbox.php' ||
2569 basename(get_page_template($page_id)) == 'user_dashboard_invoices.php' ||
2570 basename(get_page_template($page_id)) == 'user_dashboard_packs.php' ||
2571 basename(get_page_template($page_id)) == 'user_dashboard_searches.php' ||
2572 basename(get_page_template($page_id)) == 'user_dashboard_allinone.php' ) {
2573 return true;
2574 }else{
2575 return false;
2576 }
2577
2578 }
2579endif;
2580
2581
2582
2583
2584
2585
2586if( !function_exists('wpestate_new_list_to_user') ):
2587 function wpestate_new_list_to_user($newlist, $userid){
2588 if( wpsestate_get_author($newlist)==0 ){
2589 $user_pack = get_the_author_meta( 'package_id' , $userid );
2590 $remaining_listings = wpestate_get_remain_listing_user($userid,$user_pack);
2591
2592 if($remaining_listings === -1){
2593 $remaining_listings=11;
2594 }
2595 $paid_submission_status= esc_html ( wprentals_get_option('wp_estate_paid_submission','') );
2596
2597
2598 if( $paid_submission_status == 'membership' && $remaining_listings != -1 && $remaining_listings < 1 ) {
2599 wp_delete_post($newlist);
2600 return wpestate_get_template_link('user_dashboard_add_step1.php');
2601 }else{
2602 $new_post = array(
2603 'ID' => $newlist,
2604 'post_author' => $userid,
2605 );
2606 wp_update_post( $new_post );
2607 $paid_submission_status = esc_html ( wprentals_get_option('wp_estate_paid_submission','') );
2608 if( $paid_submission_status == 'membership'){ // update pack status
2609 wpestate_update_listing_no($userid);
2610 }
2611
2612 $edit_link = wpestate_get_template_link('user_dashboard_edit_listing.php');
2613 $edit_link_desc = esc_url_raw ( add_query_arg( 'listing_edit', $newlist , $edit_link) ) ;
2614 $edit_link_desc = esc_url_raw ( add_query_arg( 'action', 'description', $edit_link_desc) ) ;
2615 $edit_link_desc = esc_url_raw ( add_query_arg( 'isnew', 1, $edit_link_desc) ) ;
2616 return $edit_link_desc;
2617 }
2618
2619 }
2620 }
2621endif;
2622
2623
2624
2625if( !function_exists('wpestate_email_to_admin') ):
2626 function wpestate_email_to_admin($onlyfeatured){
2627 $arguments=array();
2628 if($onlyfeatured==1){
2629 $arguments=array();
2630 wpestate_select_email_type(wprentals_get_option('admin_email'),'featured_submission',$arguments);
2631 }else{
2632 $arguments=array();
2633 wpestate_select_email_type(wprentals_get_option('admin_email'),'paid_submissions',$arguments);
2634 }
2635
2636
2637
2638 }
2639endif;
2640
2641
2642
2643
2644if( !function_exists('wpestate_show_stripe_form_upgrade') ):
2645 function wpestate_show_stripe_form_upgrade($stripe_class,$post_id,$price_submission,$price_featured_submission){
2646 $is_stripe_live= esc_html ( wprentals_get_option('wp_estate_enable_stripe','') );
2647 if($is_stripe_live=='yes'){
2648 $stripe_secret_key = esc_html( wprentals_get_option('wp_estate_stripe_secret_key','') );
2649 $stripe_publishable_key = esc_html( wprentals_get_option('wp_estate_stripe_publishable_key','') );
2650
2651 $stripe = array(
2652 "secret_key" => $stripe_secret_key,
2653 "publishable_key" => $stripe_publishable_key
2654 );
2655
2656 Stripe::setApiKey($stripe['secret_key']);
2657 }
2658 $processor_link=wpestate_get_template_link('stripecharge.php');
2659 $current_user = wp_get_current_user();
2660 $userID = $current_user->ID ;
2661 $user_email = $current_user->user_email ;
2662
2663 $submission_curency_status = esc_html( wprentals_get_option('wp_estate_submission_curency','') );
2664 $price_featured_submission = $price_featured_submission*100;
2665
2666 print '
2667 <div class="stripe_upgrade">
2668 <form action="'.$processor_link.'" method="post" >
2669 <div class="stripe_simple upgrade_stripe">
2670 <script src="https://checkout.stripe.com/checkout.js"
2671 class="stripe-button"
2672 data-locale="auto"
2673 data-key="'. $stripe_publishable_key.'"
2674 data-amount="'.$price_featured_submission.'"
2675 data-zip-code="true"
2676 data-email="'.$user_email.'"
2677 data-currency="'.$submission_curency_status.'"
2678 data-panel-label="'.esc_html__( 'Set as Featured','wprentals').'"
2679 data-label="'.esc_html__( 'Set as Featured','wprentals').'"
2680 data-description="'.esc_html__( ' Featured Payment','wprentals').'">
2681
2682 </script>
2683 </div>
2684 <input type="hidden" id="propid" name="propid" value="'.$post_id.'">
2685 <input type="hidden" id="submission_pay" name="submission_pay" value="1">
2686 <input type="hidden" id="is_upgrade" name="is_upgrade" value="1">
2687 <input type="hidden" name="userID" value="'.$userID.'">
2688 <input type="hidden" id="pay_ammout" name="pay_ammout" value="'.$price_featured_submission.'">
2689 </form>
2690 </div>';
2691 }
2692endif;
2693
2694
2695
2696
2697////////////////////////////////////////////////////////////////////////////////
2698/// show stripe form per listing
2699////////////////////////////////////////////////////////////////////////////////
2700
2701if( !function_exists('wpestate_show_stripe_form_per_listing') ):
2702 function wpestate_show_stripe_form_per_listing($stripe_class,$post_id,$price_submission,$price_featured_submission){
2703
2704 $is_stripe_live= esc_html ( wprentals_get_option('wp_estate_enable_stripe','') );
2705 if($is_stripe_live=='yes'){
2706 $stripe_secret_key = esc_html( wprentals_get_option('wp_estate_stripe_secret_key','') );
2707 $stripe_publishable_key = esc_html( wprentals_get_option('wp_estate_stripe_publishable_key','') );
2708
2709 $stripe = array(
2710 "secret_key" => $stripe_secret_key,
2711 "publishable_key" => $stripe_publishable_key
2712 );
2713
2714 Stripe::setApiKey($stripe['secret_key']);
2715 }
2716 $processor_link=wpestate_get_template_link('stripecharge.php');
2717 $submission_curency_status = esc_html( wprentals_get_option('wp_estate_submission_curency','') );
2718 $current_user = wp_get_current_user();
2719 $userID = $current_user->ID ;
2720 $user_email = $current_user->user_email ;
2721
2722 $price_submission_total = $price_submission+$price_featured_submission;
2723 $price_submission_total = $price_submission_total*100;
2724 $price_submission = $price_submission*100;
2725 print '
2726 <div class="stripe-wrapper '.$stripe_class.'">
2727 <form action="'.$processor_link.'" method="post" id="stripe_form_simple">
2728 <div class="stripe_simple">
2729 <script src="https://checkout.stripe.com/checkout.js"
2730 class="stripe-button"
2731 data-locale="auto"
2732 data-key="'. $stripe_publishable_key.'"
2733 data-amount="'.$price_submission.'"
2734 data-zip-code="true"
2735 data-zip-code="true"
2736 data-email="'.$user_email.'"
2737 data-currency="'.$submission_curency_status.'"
2738 data-label="'.esc_html__( 'Pay with Credit Card','wprentals').'"
2739 data-description="'.esc_html__( 'Submission Payment','wprentals').'">
2740 </script>
2741 </div>
2742 <input type="hidden" id="propid" name="propid" value="'.$post_id.'">
2743 <input type="hidden" id="submission_pay" name="submission_pay" value="1">
2744 <input type="hidden" name="userID" value="'.$userID.'">
2745 <input type="hidden" id="pay_ammout" name="pay_ammout" value="'.$price_submission.'">
2746 </form>
2747
2748 <form action="'.$processor_link.'" method="post" id="stripe_form_featured">
2749 <div class="stripe_simple">
2750 <script src="https://checkout.stripe.com/checkout.js"
2751 class="stripe-button"
2752 data-key="'. $stripe_publishable_key.'"
2753 data-amount="'.$price_submission_total.'"
2754 data-email="'.$user_email.'"
2755 data-currency="'.$submission_curency_status.'"
2756 data-label="'.esc_html__( 'Pay with Credit Card','wprentals').'"
2757 data-description="'.esc_html__( 'Submission & Featured Payment','wprentals').'">
2758 </script>
2759 </div>
2760 <input type="hidden" id="propid" name="propid" value="'.$post_id.'">
2761 <input type="hidden" id="submission_pay" name="submission_pay" value="1">
2762 <input type="hidden" id="featured_pay" name="featured_pay" value="1">
2763 <input type="hidden" name="userID" value="'.$userID.'">
2764 <input type="hidden" id="pay_ammout" name="pay_ammout" value="'.$price_submission_total.'">
2765 </form>
2766 </div>';
2767 }
2768endif;
2769
2770
2771
2772
2773////////////////////////////////////////////////////////////////////////////////
2774/// show stripe form membership
2775////////////////////////////////////////////////////////////////////////////////
2776if( !function_exists('wpestate_show_stripe_form_membership') ):
2777 function wpestate_show_stripe_form_membership(){
2778
2779
2780 $current_user = wp_get_current_user();
2781 $userID = $current_user->ID;
2782 $user_login = $current_user->user_login;
2783 $user_email = get_the_author_meta( 'user_email' , $userID );
2784 $is_stripe_live= esc_html ( wprentals_get_option('wp_estate_enable_stripe','') );
2785 if($is_stripe_live=='yes'){
2786 $stripe_secret_key = esc_html( wprentals_get_option('wp_estate_stripe_secret_key','') );
2787 $stripe_publishable_key = esc_html( wprentals_get_option('wp_estate_stripe_publishable_key','') );
2788
2789 $stripe = array(
2790 "secret_key" => $stripe_secret_key,
2791 "publishable_key" => $stripe_publishable_key
2792 );
2793
2794
2795 Stripe::setApiKey($stripe['secret_key']);
2796
2797 }
2798 $pay_ammout='0';
2799 $pack_id='0';
2800
2801 $processor_link = wpestate_get_template_link('stripecharge.php');
2802 $submission_curency_status = esc_html( wprentals_get_option('wp_estate_submission_curency','') );
2803
2804
2805 print '
2806 <form action="'.$processor_link.'" method="post" id="stripe_form">
2807 '.wpestate_get_stripe_buttons($stripe['publishable_key'],$user_email,$submission_curency_status).'
2808
2809 <input type="hidden" id="pack_id" name="pack_id" value="'.$pack_id.'">
2810 <input type="hidden" name="userID" value="'.$userID.'">
2811 <input type="hidden" id="pay_ammout" name="pay_ammout" value="'.$pay_ammout.'">
2812 </form>';
2813 }
2814endif;
2815
2816
2817
2818
2819
2820if( !function_exists('wpestate_get_stripe_buttons') ):
2821 function wpestate_get_stripe_buttons($stripe_pub_key,$user_email,$submission_curency_status){
2822 wp_reset_query();
2823 $buttons='';
2824 $args = array(
2825 'post_type' => 'membership_package',
2826 'posts_per_page'=> -1,
2827 'meta_query' => array(
2828 array(
2829 'key' => 'pack_visible',
2830 'value' => 'yes',
2831 'compare' => '=',
2832 )
2833 )
2834 );
2835 $pack_selection = new WP_Query($args);
2836 $i=0;
2837 while($pack_selection->have_posts() ){
2838 $pack_selection->the_post();
2839 $postid = get_the_ID();
2840
2841 $pack_price = get_post_meta($postid, 'pack_price', true)*100;
2842 $title=get_the_title();
2843 if($i==0){
2844 $visible_stripe=" visible_stripe ";
2845 }else{
2846 $visible_stripe ='';
2847 }
2848 $i++;
2849 $buttons.='
2850 <div class="stripe_buttons '.$visible_stripe.' stripe_member" id="'. sanitize_title($title).'">
2851 <script src="https://checkout.stripe.com/checkout.js" id="stripe_script"
2852 class="stripe-button"
2853 data-locale="auto"
2854 data-key="'. $stripe_pub_key.'"
2855 data-amount="'.$pack_price.'"
2856 data-zip-code="true"
2857 data-email="'.$user_email.'"
2858 data-currency="'.$submission_curency_status.'"
2859 data-label="'.esc_html__( 'Pay with Credit Card','wprentals').'"
2860 data-description="'.$title.' '.esc_html__( 'Package Payment','wprentals').'">
2861 </script>
2862 </div>';
2863 }
2864 wp_reset_query();
2865 return $buttons;
2866 }
2867endif;
2868
2869
2870
2871/////////////////////////////////////////////////////////////////////////////////
2872/// get the associated user for certain agent
2873////////////////////////////////////////////////////////////////////////////////
2874
2875if( !function_exists('wpestate_user_for_agent') ):
2876 function wpestate_user_for_agent($agent_id){
2877 $args = array(
2878 'fields' =>'ID',
2879 'meta_query' => array(
2880
2881 0 => array(
2882 'key' => 'user_agent_id',
2883 'value' => $agent_id,
2884 'compare' => '='
2885 ),
2886
2887 )
2888 );
2889 $user_query = new WP_User_Query( $args );
2890 if(isset($user_query->results[0])){
2891 $user_agent_id=$user_query->results[0];
2892 }else{
2893 $user_agent_id=1;
2894 }
2895
2896 return $user_agent_id;
2897 }
2898endif;
2899
2900
2901
2902/////////////////////////////////////////////////////////////////////////////////
2903/// check user vs agent id
2904////////////////////////////////////////////////////////////////////////////////
2905if( !function_exists('wpestate_user_booked_from_agent') ):
2906 function wpestate_user_booked_from_agent($userid,$agent_id){
2907 $all_my_post=array();
2908 $args = array(
2909 'post_type' => 'wpestate_booking',
2910 'post_status' => 'publish',
2911 'posts_per_page' => -1,
2912 'author' => $userid ,
2913 'meta_query' => array(
2914 array(
2915 'key' => 'booking_status',
2916 'value' => 'confirmed',
2917 'compare' => '='
2918 )
2919 )
2920
2921
2922 );
2923
2924 $prop_selection = new WP_Query($args);
2925
2926 if ($prop_selection->have_posts()){
2927 while ($prop_selection->have_posts()): $prop_selection->the_post();
2928
2929 $prop_id = intval ( get_post_meta(get_the_ID(), 'booking_id', true) );
2930 if( intval(wpsestate_get_author ($prop_id)) === intval($agent_id ) ){
2931 return 1;
2932 }
2933
2934 endwhile; // end of the loop.
2935 return 0;
2936 }else{
2937 return 0;
2938 }
2939
2940 }
2941endif;
2942
2943
2944
2945
2946/////////////////////////////////////////////////////////////////////////////////
2947/// check user vs agent id
2948////////////////////////////////////////////////////////////////////////////////
2949if( !function_exists('wpestate_send_booking_email') ):
2950 function wpestate_send_booking_email($email_type,$receiver_email,$content=''){
2951 $user_email = $receiver_email;
2952
2953 if ($email_type == 'bookingconfirmeduser'){
2954 $arguments=array();
2955 wpestate_select_email_type($user_email,'bookingconfirmeduser',$arguments);
2956 }if ($email_type == 'bookingconfirmed'){
2957 $arguments=array();
2958 wpestate_select_email_type($user_email,'bookingconfirmed',$arguments);
2959 }else if ($email_type == 'bookingconfirmed_nodeposit'){
2960 $arguments=array();
2961 wpestate_select_email_type($user_email,'bookingconfirmed_nodeposit',$arguments);
2962 }else if ($email_type == 'inbox'){
2963 $arguments=array('content'=>$content);
2964 wpestate_select_email_type($user_email,'inbox',$arguments);
2965 }else if ($email_type == 'newbook'){
2966 $property_id= intval($content);
2967 $arguments= array(
2968 'booking_property_link'=>get_permalink($property_id)
2969 );
2970 wpestate_select_email_type($user_email,'newbook',$arguments);
2971 }else if ($email_type == 'mynewbook'){
2972 $property_id= intval($content);
2973 $arguments= array(
2974 'booking_property_link'=>get_permalink($property_id)
2975 );
2976 wpestate_select_email_type($user_email,'mynewbook',$arguments);
2977 }else if ($email_type == 'newinvoice'){
2978 $arguments=array();
2979 wpestate_select_email_type($user_email,'newinvoice',$arguments);
2980 }else if ($email_type == 'deletebooking'){
2981 $arguments=array();
2982 wpestate_select_email_type($user_email,'deletebooking',$arguments);
2983 }else if ($email_type == 'deletebookinguser'){
2984 $arguments=array();
2985 wpestate_select_email_type($user_email,'deletebookinguser',$arguments);
2986 }else if ($email_type == 'deletebookingconfirmed'){
2987 $arguments=array();
2988 wpestate_select_email_type($user_email,'deletebookingconfirmed',$arguments);
2989 }
2990
2991 /*
2992 $email_headers = "From: <noreply@".$_SERVER['HTTP_HOST']."> \r\n Reply-To:<noreply@".$_SERVER['HTTP_HOST'].">";
2993 $headers = 'From: noreply <noreply@'.$_SERVER['HTTP_HOST'].'>' . "\r\n".
2994 'Reply-To: <noreply@'.$_SERVER['HTTP_HOST'].'>\r\n" '.
2995 'X-Mailer: PHP/' . phpversion();
2996
2997 $mail = wp_mail($receiver_email, $subject, $message, $headers);
2998 */
2999 }
3000endif;
3001
3002
3003
3004
3005
3006
3007////////////////////////////////////////////////////////////////////////////////
3008/// show hieracy area
3009////////////////////////////////////////////////////////////////////////////////
3010if( !function_exists('wpestate_get_guest_dropdown') ):
3011 function wpestate_get_guest_dropdown($with_any='',$selected=''){
3012 $select_area_list='';
3013 if($with_any==''){
3014 $select_area_list.='<li role="presentation" data-value="0">'.esc_html__( 'any','wprentals').'</li>';
3015 }
3016
3017 $select_area_list .= '<li role="presentation" data-value="1"';
3018 if($selected==1){
3019 $select_area_list .=' selected="selected" ';
3020 }
3021 $select_area_list .= '>1 '.esc_html__( 'guest','wprentals').'</li>';
3022
3023 $guest_dropdown_no = intval ( wprentals_get_option('wp_estate_guest_dropdown_no','') );
3024 for($i=2;$i<=$guest_dropdown_no;$i++){
3025 $select_area_list .= '<li role="presentation" data-value="'. $i.'"';
3026 if($selected!='' && $selected==$i){
3027 $select_area_list .=' selected="selected" ';
3028 }
3029 $select_area_list .= '>'. $i.' '.esc_html__( 'guests','wprentals').'</li>';
3030 }
3031
3032 return $select_area_list;
3033 }
3034endif;
3035
3036
3037if( !function_exists('wpestate_get_rooms_dropdown') ):
3038 function wpestate_get_rooms_dropdown(){
3039 $select_area_list='<li role="presentation" data-value="0">'.esc_html__( 'any','wprentals').'</li>';
3040 $select_area_list .= '<li role="presentation" data-value="1">1 '.esc_html__( 'room','wprentals').'</li>';
3041 for($i=2;$i<15;$i++){
3042 $select_area_list .= '<li role="presentation" data-value="'. $i.'">'. $i.' '.esc_html__( 'rooms','wprentals').'</li>';
3043 }
3044
3045 return $select_area_list;
3046 }
3047endif;
3048
3049if( !function_exists('wpestate_get_bedrooms_dropdown') ):
3050 function wpestate_get_bedrooms_dropdown(){
3051 $select_area_list='<li role="presentation" data-value="0">'.esc_html__( 'any','wprentals').'</li>';
3052 $select_area_list .= '<li role="presentation" data-value="1">1 '.esc_html__( 'bedroom','wprentals').'</li>';
3053 for($i=2;$i<15;$i++){
3054 $select_area_list .= '<li role="presentation" data-value="'. $i.'">'. $i.' '.esc_html__( 'bedrooms','wprentals').'</li>';
3055 }
3056
3057 return $select_area_list;
3058 }
3059endif;
3060
3061if( !function_exists('wpestate_get_baths_dropdown') ):
3062 function wpestate_get_baths_dropdown(){
3063 $select_area_list='<li role="presentation" data-value="0">'.esc_html__( 'any','wprentals').'</li>';
3064 $select_area_list .= '<li role="presentation" data-value="1">1 '.esc_html__( 'bath','wprentals').'</li>';
3065 for($i=2;$i<15;$i++){
3066 $select_area_list .= '<li role="presentation" data-value="'. $i.'">'. $i.' '.esc_html__( 'baths','wprentals').'</li>';
3067 }
3068
3069 return $select_area_list;
3070 }
3071endif;
3072
3073
3074
3075if( !function_exists('wpestate_insert_attachment') ):
3076 function wpestate_insert_attachment($file_handler,$post_id,$setthumb='false') {
3077
3078 // check to make sure its a successful upload
3079 if ($_FILES[$file_handler]['error'] !== UPLOAD_ERR_OK) __return_false();
3080 require_once(ABSPATH . "wp-admin" . '/includes/image.php');
3081 require_once(ABSPATH . "wp-admin" . '/includes/file.php');
3082 require_once(ABSPATH . "wp-admin" . '/includes/media.php');
3083
3084 $attach_id = media_handle_upload( $file_handler, $post_id );
3085
3086 if ($setthumb) update_post_meta($post_id,'_thumbnail_id',$attach_id);
3087 return $attach_id;
3088 }
3089endif;
3090
3091
3092
3093
3094/////////////////////////////////////////////////////////////////////////////////
3095// order by filter featured
3096///////////////////////////////////////////////////////////////////////////////////
3097
3098if( !function_exists('wpestate_get_measure_unit') ):
3099 function wpestate_get_measure_unit() {
3100 $measure_sys = esc_html ( wprentals_get_option('wp_estate_measure_sys','') );
3101
3102 if($measure_sys=='feet'){
3103 return 'ft<sup>2</sup>';
3104 }else{
3105 return 'm<sup>2</sup>';
3106 }
3107 }
3108endif;
3109/////////////////////////////////////////////////////////////////////////////////
3110// order by filter featured
3111///////////////////////////////////////////////////////////////////////////////////
3112
3113if( !function_exists('wpestate_my_order') ):
3114 function wpestate_my_order($orderby) {
3115 global $wpdb;
3116 global $table_prefix;
3117 $orderby = $table_prefix.'postmeta.meta_value DESC, '.$table_prefix.'posts.ID DESC';
3118 return $orderby;
3119 }
3120endif; // end wpestate_my_order
3121
3122
3123////////////////////////////////////////////////////////////////////////////////////////
3124/////// Pagination
3125/////////////////////////////////////////////////////////////////////////////////////////
3126
3127if( !function_exists('kriesi_pagination') ):
3128 function kriesi_pagination($pages = '', $range = 2){
3129
3130 $showitems = ($range * 2)+1;
3131 global $paged;
3132 if(empty($paged)) $paged = 1;
3133
3134
3135 if($pages == '')
3136 {
3137 global $wp_query;
3138 $pages = $wp_query->max_num_pages;
3139 if(!$pages)
3140 {
3141 $pages = 1;
3142 }
3143 }
3144
3145 if(1 != $pages)
3146 {
3147 echo '<ul class="pagination pagination_nojax">';
3148 echo "<li class=\"roundleft\"><a href='".get_pagenum_link($paged - 1)."'><i class=\"fas fa-chevron-left\"></i></a></li>";
3149
3150 for ($i=1; $i <= $pages; $i++)
3151 {
3152 if (1 != $pages &&( !($i >= $paged+$range+1 || $i <= $paged-$range-1) || $pages <= $showitems ))
3153 {
3154 if ($paged == $i){
3155 print '<li class="active"><a href="'.get_pagenum_link($i).'" >'.$i.'</a><li>';
3156 }else{
3157 print '<li><a href="'.get_pagenum_link($i).'" >'.$i.'</a><li>';
3158 }
3159 }
3160 }
3161
3162 $prev_page= get_pagenum_link($paged + 1);
3163 if ( ($paged +1) > $pages){
3164 $prev_page= get_pagenum_link($paged );
3165 }else{
3166 $prev_page= get_pagenum_link($paged + 1);
3167 }
3168
3169
3170 echo "<li class=\"roundright\"><a href='".$prev_page."'><i class=\"fas fa-chevron-right\"></i></a><li></ul>";
3171 }
3172 }
3173endif; // end kriesi_pagination
3174
3175
3176
3177////////////////////////////////////////////////////////////////////////////////////////
3178/////// Pagination Ajax
3179/////////////////////////////////////////////////////////////////////////////////////////
3180
3181if( !function_exists('kriesi_pagination_agent') ):
3182
3183 function kriesi_pagination_agent($pages = '', $range = 2){
3184 $showitems = ($range * 2)+1;
3185 $paged = (get_query_var('page')) ? get_query_var('page') : 1;
3186 if(empty($paged)) $paged = 1;
3187
3188 if(1 != $pages)
3189 {
3190 $prev_pagex= str_replace('page/','',get_pagenum_link($paged - 1) );
3191 echo '<ul class="pagination pagination_nojax">';
3192 echo "<li class=\"roundleft\"><a href='".$prev_pagex."'><i class=\"fas fa-chevron-left\"></i></a></li>";
3193
3194 for ($i=1; $i <= $pages; $i++)
3195 {
3196 $cur_page=str_replace('page/','',get_pagenum_link($i) );
3197 if (1 != $pages &&( !($i >= $paged+$range+1 || $i <= $paged-$range-1) || $pages <= $showitems ))
3198 {
3199 if ($paged == $i){
3200 print '<li class="active"><a href="'.$cur_page.'" >'.$i.'</a><li>';
3201 }else{
3202 print '<li><a href="'.$cur_page.'" >'.$i.'</a><li>';
3203 }
3204 }
3205 }
3206
3207 $prev_page= str_replace('page/','',get_pagenum_link($paged + 1) );
3208 if ( ($paged +1) > $pages){
3209 $prev_page= str_replace('page/','',get_pagenum_link($paged ) );
3210 }else{
3211 $prev_page= str_replace('page/','', get_pagenum_link($paged + 1) );
3212 }
3213
3214
3215 echo "<li class=\"roundright\"><a href='".$prev_page."'><i class=\"fas fa-chevron-right\"></i></a><li></ul>";
3216 }
3217 }
3218endif; // end kriesi_pagination
3219
3220
3221if( !function_exists('second_loop_pagination') ):
3222function second_loop_pagination($pages = '', $range = 2,$paged,$link){
3223 $newpage = $paged -1;
3224 if ($newpage<1){
3225 $newpage=1;
3226 }
3227 $next_page = esc_url_raw ( add_query_arg('pagelist',$newpage, esc_url ($link) ) );
3228 $showitems = ($range * 2)+1;
3229 if($pages>1)
3230 {
3231 print "<ul class='pagination pagination_nojax pagination_agent'>";
3232 echo "<li class=\"roundleft\"><a href='".$next_page."'><i class=\"fas fa-chevron-left\"></i></a></li>";
3233
3234
3235 for ($i=1; $i <= $pages; $i++)
3236 {
3237 if (1 != $pages &&( !($i >= $paged+$range+1 || $i <= $paged-$range-1) || $pages <= $showitems ))
3238 {
3239 $newpage = $paged -1;
3240 $next_page = esc_url_raw (add_query_arg('pagelist',$i,esc_url ($link)));
3241 if ($paged == $i){
3242 echo "<li class='active'><a href='' >".$i."</a><li>";
3243 }else{
3244 echo "<li><a href='".$next_page."' >".$i."</a><li>";
3245 }
3246 }
3247 }
3248
3249 $prev_page= get_pagenum_link($paged + 1);
3250 if ( ($paged +1) > $pages){
3251 $prev_page = get_pagenum_link($paged );
3252 $newpage = $paged;
3253 $prev_page = esc_url_raw(add_query_arg('pagelist',$newpage,esc_url ($link)));
3254 }else{
3255 $prev_page = get_pagenum_link($paged + 1);
3256 $newpage = $paged + 1;
3257 $prev_page = esc_url_raw(add_query_arg('pagelist',$newpage,esc_url ($link)));
3258 }
3259
3260 echo "<li class=\"roundright\"><a href='".$prev_page."'><i class=\"fas fa-chevron-right\"></i></a><li>";
3261 echo "</ul>\n";
3262 }
3263}
3264endif;
3265
3266////////////////////////////////////////////////////////////////////////////////////////
3267/////// Pagination Custom
3268/////////////////////////////////////////////////////////////////////////////////////////
3269
3270if( !function_exists('kriesi_pagination_ajax') ):
3271
3272function kriesi_pagination_ajax($pages = '', $range = 2,$paged,$where){
3273 $showitems = ($range * 2)+1;
3274
3275 if(1 != $pages)
3276 {
3277 echo '<ul class="pagination '.$where.'">';
3278 if($paged!=1){
3279 $prev_page=$paged-1;
3280 }else{
3281 $prev_page=1;
3282 }
3283 echo "<li class=\"roundleft\"><a href='".get_pagenum_link($paged - 1)."' data-future='".$prev_page."'><i class=\"fas fa-chevron-left\"></i></a></li>";
3284
3285 for ($i=1; $i <= $pages; $i++)
3286 {
3287 if (1 != $pages &&( !($i >= $paged+$range+1 || $i <= $paged-$range-1) || $pages <= $showitems ))
3288 {
3289 if ($paged == $i){
3290 print '<li class="active"><a href="'.get_pagenum_link($i).'" data-future="'.$i.'">'.$i.'</a><li>';
3291 }else{
3292 print '<li><a href="'.get_pagenum_link($i).'" data-future="'.$i.'">'.$i.'</a><li>';
3293 }
3294 }
3295 }
3296
3297 $prev_page= get_pagenum_link($paged + 1);
3298 if ( ($paged +1) > $pages){
3299 $prev_page= get_pagenum_link($paged );
3300 echo "<li class=\"roundright\"><a href='".$prev_page."' data-future='".$paged."'><i class=\"fas fa-chevron-right\"></i></a><li>";
3301 }else{
3302 $prev_page= get_pagenum_link($paged + 1);
3303 echo "<li class=\"roundright\"><a href='".$prev_page."' data-future='".($paged+1)."'><i class=\"fas fa-chevron-right\"></i></a><li>";
3304 }
3305
3306 echo "</ul>\n";
3307 }
3308}
3309endif; // end kriesi_pagination
3310
3311
3312
3313////////////////////////////////////////////////////////////////////////////////
3314/// force html5 validation -remove category list rel atttribute
3315////////////////////////////////////////////////////////////////////////////////
3316
3317add_filter( 'wp_list_categories', 'wpestate_remove_category_list_rel' );
3318add_filter( 'the_category', 'wpestate_remove_category_list_rel' );
3319
3320if( !function_exists('wpestate_remove_category_list_rel') ):
3321 function wpestate_remove_category_list_rel( $output ) {
3322 // Remove rel attribute from the category list
3323 return str_replace( ' rel="category tag"', '', $output );
3324 }
3325endif; // end wpestate_remove_category_list_rel
3326
3327
3328
3329////////////////////////////////////////////////////////////////////////////////
3330/// avatar url
3331////////////////////////////////////////////////////////////////////////////////
3332
3333if( !function_exists('wpestate_get_avatar_url') ):
3334 function wpestate_get_avatar_url($get_avatar) {
3335 preg_match("/src='(.*?)'/i", $get_avatar, $matches);
3336 return $matches[1];
3337 }
3338endif; // end wpestate_get_avatar_url
3339
3340
3341
3342////////////////////////////////////////////////////////////////////////////////
3343/// get current map height
3344////////////////////////////////////////////////////////////////////////////////
3345
3346if( !function_exists('wpestate_get_current_map_height') ):
3347 function wpestate_get_current_map_height($post_id){
3348
3349 if ( $post_id == '' || is_home() ) {
3350 $min_height = intval ( wprentals_get_option('wp_estate_min_height','') );
3351 } else{
3352 $min_height = intval ( (get_post_meta($post_id, 'min_height', true)) );
3353 if($min_height==0){
3354 $min_height = intval ( wprentals_get_option('wp_estate_min_height','') );
3355 }
3356 }
3357 return $min_height;
3358 }
3359endif; // end
3360
3361
3362
3363////////////////////////////////////////////////////////////////////////////////
3364/// get map open height
3365////////////////////////////////////////////////////////////////////////////////
3366
3367if( !function_exists('wpestate_get_map_open_height') ):
3368 function wpestate_get_map_open_height($post_id){
3369
3370 if ( $post_id == '' || is_home() ) {
3371 $max_height = intval ( wprentals_get_option('wp_estate_max_height','') );
3372 } else{
3373 $max_height = intval ( (get_post_meta($post_id, 'max_height', true)) );
3374 if($max_height==0){
3375 $max_height = intval ( wprentals_get_option('wp_estate_max_height','') );
3376 }
3377 }
3378
3379 return $max_height;
3380 }
3381endif; // end
3382
3383
3384
3385
3386
3387////////////////////////////////////////////////////////////////////////////////
3388/// get map open/close status
3389////////////////////////////////////////////////////////////////////////////////
3390
3391if( !function_exists('wpestate_get_map_open_close_status') ):
3392 function wpestate_get_map_open_close_status($post_id){
3393 if ( $post_id == '' || is_home() ) {
3394 $keep_min = esc_html( wprentals_get_option('wp_estate_keep_min','' ) ) ;
3395 } else{
3396 $keep_min = esc_html ( (get_post_meta($post_id, 'keep_min', true)) );
3397 }
3398
3399 if ($keep_min == 'yes'){
3400 $keep_min=1; // map is forced at closed
3401 }else{
3402 $keep_min=0; // map is free for resize
3403 }
3404
3405 return $keep_min;
3406 }
3407endif; // end
3408
3409
3410
3411
3412////////////////////////////////////////////////////////////////////////////////
3413/// get map longitude
3414////////////////////////////////////////////////////////////////////////////////
3415if( !function_exists('wpestate_get_page_long') ):
3416 function wpestate_get_page_long($post_id){
3417 $header_type = get_post_meta ( $post_id ,'header_type', true);
3418 if( $header_type==5 ){
3419 $page_long = esc_html( get_post_meta($post_id, 'page_custom_long', true) );
3420 }
3421 else{
3422 $page_long = esc_html( wprentals_get_option('wp_estate_general_longitude','') );
3423 }
3424 return $page_long;
3425 }
3426endif; // end
3427
3428
3429
3430
3431////////////////////////////////////////////////////////////////////////////////
3432/// get map lattitudine
3433////////////////////////////////////////////////////////////////////////////////
3434
3435if( !function_exists('wpestate_get_page_lat') ):
3436 function wpestate_get_page_lat($post_id){
3437 $header_type = get_post_meta ( $post_id ,'header_type', true);
3438 if( $header_type==5 ){
3439 $page_lat = esc_html( get_post_meta($post_id, 'page_custom_lat', true) );
3440 }
3441 else{
3442 $page_lat = esc_html( wprentals_get_option('wp_estate_general_latitude','') );
3443 }
3444 return $page_lat;
3445
3446
3447}
3448endif; // end
3449
3450////////////////////////////////////////////////////////////////////////////////
3451/// get map zoom
3452////////////////////////////////////////////////////////////////////////////////
3453
3454if( !function_exists('wpestate_get_page_zoom') ):
3455 function wpestate_get_page_zoom($post_id){
3456 $header_type = get_post_meta ( $post_id ,'header_type', true);
3457 if( $header_type==5 ){
3458 $page_zoom = get_post_meta($post_id, 'page_custom_zoom', true);
3459 }
3460 else{
3461 $page_zoom = esc_html( wprentals_get_option('wp_estate_default_map_zoom','') );
3462 }
3463 return $page_zoom;
3464
3465
3466 }
3467endif; // end
3468
3469
3470//wpestate_get_template_link('user_dashboard_my_reservations.php');
3471if( !function_exists('wpestate_get_template_link') ):
3472 function wpestate_get_template_link( $template_name, $bypass=0){
3473
3474 $transient_name=$template_name;
3475
3476 if ( defined( 'ICL_LANGUAGE_CODE' ) ) {
3477 $transient_name.='_'. ICL_LANGUAGE_CODE;
3478 }
3479
3480
3481 $template_link = get_transient( 'wpestate_get_template_link_' . $transient_name );
3482
3483 if( $template_link === false || $bypass==1 ) {
3484 $pages = get_pages(array(
3485 'meta_key' => '_wp_page_template',
3486 'meta_value' => $template_name
3487 ));
3488
3489 if( $pages ){
3490 $template_link = get_permalink( $pages[0]->ID );
3491 }else{
3492 $template_link='';
3493 }
3494
3495
3496 set_transient('wpestate_get_template_link_' . $transient_name,$template_link,60*60*24);
3497
3498 }
3499
3500
3501
3502 return $template_link;
3503 }
3504endif; // end
3505
3506
3507
3508
3509
3510
3511
3512
3513
3514///////////////////////////////////////////////////////////////////////////////////////////
3515// return video divs for sliders
3516///////////////////////////////////////////////////////////////////////////////////////////
3517
3518if( !function_exists('wpestate_custom_vimdeo_video') ):
3519 function wpestate_custom_vimdeo_video($video_id) {
3520 $protocol = is_ssl() ? 'https' : 'http';
3521 return $return_string = '
3522 <div style="max-width:100%;" class="video">
3523 <iframe id="player_1" src='.$protocol.'"://player.vimeo.com/video/' . $video_id . '?api=1&player_id=player_1" allowFullScreen ></iframe>
3524 </div>';
3525
3526 }
3527endif; // end
3528
3529
3530if( !function_exists('wpestate_custom_youtube_video') ):
3531 function wpestate_custom_youtube_video($video_id){
3532 $protocol = is_ssl() ? 'https' : 'http';
3533 return $return_string='
3534 <div style="max-width:100%;" class="video">
3535 <iframe id="player_2" title="YouTube video player" src="'.$protocol.'://www.youtube.com/embed/' . $video_id . '?wmode=transparent&rel=0" allowfullscreen ></iframe>
3536 </div>';
3537
3538 }
3539endif; // end
3540
3541
3542if( !function_exists('wpestate_get_video_thumb') ):
3543 function wpestate_get_video_thumb($post_id){
3544 $video_id = esc_html( get_post_meta($post_id, 'embed_video_id', true) );
3545 $video_type = esc_html( get_post_meta($post_id, 'embed_video_type', true) );
3546 $protocol = is_ssl() ? 'https' : 'http';
3547 if($video_type=='vimeo'){
3548 $hash2 = ( wp_remote_get($protocol."://vimeo.com/api/v2/video/$video_id.php") );
3549 $pre_tumb=(unserialize ( $hash2['body']) );
3550 $video_thumb=$pre_tumb[0]['thumbnail_medium'];
3551 }else{
3552 $video_thumb = $protocol.'://img.youtube.com/vi/' . $video_id . '/0.jpg';
3553 }
3554 return $video_thumb;
3555
3556 }
3557endif;
3558
3559
3560
3561if( !function_exists('wpestate_generateRandomString') ):
3562function wpestate_generateRandomString($length = 10) {
3563 $characters = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';
3564 $randomString = '';
3565 for ($i = 0; $i < $length; $i++) {
3566 $randomString .= $characters[rand(0, strlen($characters) - 1)];
3567 }
3568 return $randomString;
3569}
3570endif;
3571
3572
3573
3574
3575if( !function_exists('wpestate_show_extended_search') ):
3576 function wpestate_show_extended_search($tip){
3577
3578 $feature_list = esc_html( get_option('wp_estate_feature_list','') );
3579 $feature_list_array = explode( ',',$feature_list);
3580
3581 $label_array = array();
3582
3583 foreach ($feature_list_array as $key=>$checker) {
3584 $data= wprentals_prepare_non_latin($checker,$checker);
3585 $label_array[ $data['key'] ]=$data['label'];
3586 }
3587
3588
3589 print '<div class="extended_search_check_wrapper" id="extended_search_check_filter">';
3590
3591 print '
3592 <div class="secondrow">
3593
3594
3595 </div>';
3596 print '<span id="adv_extended_close_adv"><i class="fas fa-times"></i></span>';
3597
3598 $advanced_exteded = wprentals_get_option( 'wp_estate_advanced_exteded');
3599
3600 foreach($advanced_exteded as $checker => $value){
3601
3602 $input_name = $value;
3603 $label = $label_array[$input_name];
3604 if (function_exists('icl_translate') ){
3605 $label = icl_translate('wprentals','wp_estate_property_custom_amm_'.$label, $label ) ;
3606 }
3607
3608 if($value!='none'){
3609 print '<div class="extended_search_checker"><input type="checkbox" id="'.$input_name.$tip.'" name="'.$input_name.'" ';
3610 if(isset($_REQUEST[$input_name]) && $_REQUEST[$input_name]==1){
3611 print ' checked = "checked" ';
3612 }
3613 print 'value="1" ><label for="'.$input_name.$tip.'">'.stripslashes($label). '</label></div>';
3614 }
3615 }
3616
3617 print '</div>';
3618 }
3619endif;
3620
3621
3622
3623
3624
3625
3626////////////////////////////////////////////////////////////////////////////////
3627/// show hieracy categeg
3628////////////////////////////////////////////////////////////////////////////////
3629
3630if( !function_exists('wpestate_hierarchical_category_childen') ):
3631 /*function wpestate_hierarchical_category_childen($taxonomy, $cat,$args ) {
3632
3633 $args['parent'] = $cat;
3634 $children = get_terms($taxonomy,$args);
3635
3636
3637 $children_categ_select_list = '';
3638 foreach ($children as $categ) {
3639 $area_addon = '';
3640 $city_addon = '';
3641
3642 if($taxonomy=='property_city'){
3643 $string = wpestate_limit45 ( sanitize_title ( $categ->slug ) );
3644 $slug = sanitize_key($string);
3645 $city_addon = ' data-value2="'.$slug.'" ';
3646 }
3647
3648 if($taxonomy=='property_area'){
3649 $term_meta = get_option( "taxonomy_$categ->term_id");
3650 $string = wpestate_limit45 ( sanitize_title ( $term_meta['cityparent'] ) );
3651 $slug = sanitize_key($string);
3652 $area_addon = ' data-parentcity="' . $slug . '" ';
3653
3654 }
3655
3656 $children_categ_select_list .= '<li role="presentation" data-value="'.$categ->slug.'" '.$city_addon.' '.$area_addon.' > - '. ucwords ( urldecode( $categ->name ) ).' ('.$categ->count.')'.'</li>';
3657 }
3658 return $children_categ_select_list;
3659 }*/
3660 function wpestate_hierarchical_category_childen($taxonomy, $cat,$args,$base=1,$level=1 ) {
3661 $level++;
3662 $args['parent'] = $cat;
3663 $children = get_terms($taxonomy,$args);
3664 $return_array=array();
3665 $total_main[$level]=0;
3666 $children_categ_select_list = '';
3667 foreach ($children as $categ) {
3668
3669 $area_addon = '';
3670 $city_addon = '';
3671
3672 if($taxonomy=='property_city'){
3673 $string = wpestate_limit45 ( sanitize_title ( $categ->slug ) );
3674 $slug = sanitize_key($string);
3675 $city_addon = ' data-value2="'.$slug.'" ';
3676 }
3677
3678 if($taxonomy=='property_area'){
3679 $term_meta = get_option( "taxonomy_$categ->term_id");
3680 $string = wpestate_limit45 ( sanitize_title ( $term_meta['cityparent'] ) );
3681 $slug = sanitize_key($string);
3682 $area_addon = ' data-parentcity="' . $slug . '" ';
3683
3684 }
3685
3686 $hold_base= $base;
3687 $base_string='';
3688 $base++;
3689 $hold_base= $base;
3690
3691 if($level==2){
3692 $base_string='-';
3693 }else{
3694 $i=2;
3695 $base_string='';
3696 while( $i <= $level ){
3697 $base_string.='-';
3698 $i++;
3699 }
3700
3701 }
3702
3703
3704 if($categ->parent!=0){
3705 $received =wpestate_hierarchical_category_childen( $taxonomy, $categ->term_id,$args,$base,$level );
3706 }
3707
3708
3709 $counter = $categ->count;
3710 if(isset($received['count'])){
3711 $counter = $counter+$received['count'];
3712 }
3713
3714 $children_categ_select_list .= '<li role="presentation" data-value="'.$categ->slug.'" '.$city_addon.' '.$area_addon.' > '.$base_string.' '. ucwords ( urldecode( $categ->name ) ).' ('.$counter.')'.'</li>';
3715
3716 if(isset($received['html'])){
3717 $children_categ_select_list .= $received['html'];
3718 }
3719
3720 $total_main[$level]=$total_main[$level]+$counter;
3721
3722 $return_array['count']=$counter;
3723 $return_array['html']=$children_categ_select_list;
3724
3725
3726 }
3727 // return $children_categ_select_list;
3728
3729 $return_array['count']=$total_main[$level];
3730
3731
3732 return $return_array;
3733 }
3734endif;
3735
3736////////////////////////////////////////////////////////////////////////////////
3737/// get select arguments
3738////////////////////////////////////////////////////////////////////////////////
3739
3740if( !function_exists('wpestate_get_select_arguments') ):
3741 function wpestate_get_select_arguments(){
3742 $args = array(
3743 'hide_empty' => true ,
3744 'hierarchical' => false,
3745 'pad_counts ' => true,
3746 'parent' => 0
3747 );
3748
3749 $show_empty_city_status = esc_html ( wprentals_get_option('wp_estate_show_empty_city','') );
3750 if ($show_empty_city_status=='yes'){
3751 $args = array(
3752 'hide_empty' => false ,
3753 'hierarchical' => false,
3754 'pad_counts ' => true,
3755 'parent' => 0
3756 );
3757 }
3758 return $args;
3759 }
3760endif;
3761
3762////////////////////////////////////////////////////////////////////////////////
3763/// show hieracy action
3764////////////////////////////////////////////////////////////////////////////////
3765
3766if( !function_exists('wpestate_get_action_select_list') ):
3767
3768 function wpestate_get_action_select_list($args){
3769 $transient_appendix = '';
3770 $transient_appendix = wpestate_add_language_currency_cache($transient_appendix,1);
3771
3772
3773 $categ_select_list = get_transient('wpestate_get_action_select_list_simple'.$transient_appendix);
3774 if($categ_select_list===false){
3775 $taxonomy = 'property_action_category';
3776 $categories = get_terms($taxonomy,$args);
3777
3778 $categ_select_list = ' <li role="presentation" data-value="all">'. wpestate_category_labels_dropdowns('second').'</li>';
3779
3780 foreach ($categories as $categ) {
3781 $received = wpestate_hierarchical_category_childen($taxonomy, $categ->term_id,$args );
3782 $counter = $categ->count;
3783 if(isset($received['count'])){
3784 $counter = $counter+$received['count'];
3785 }
3786
3787 $categ_select_list .= '<li role="presentation" data-value="'.$categ->slug.'">'. ucwords ( urldecode( $categ->name ) ).' ('.$counter.')'.'</li>';
3788 if(isset($received['html'])){
3789 $categ_select_list .= $received['html'];
3790 }
3791
3792 }
3793
3794 set_transient('wpestate_get_action_select_list_simple'.$transient_appendix,$categ_select_list,4*60*60);
3795
3796 }
3797 return $categ_select_list;
3798 }
3799endif;
3800
3801
3802////////////////////////////////////////////////////////////////////////////////
3803/// show hieracy categ
3804////////////////////////////////////////////////////////////////////////////////
3805if( !function_exists('wpestate_get_category_select_list') ):
3806
3807 function wpestate_get_category_select_list($args){
3808 $transient_appendix = '';
3809 $transient_appendix = wpestate_add_language_currency_cache($transient_appendix,1);
3810 $categ_select_list = get_transient('wpestate_get_category_select_list_simple'.$transient_appendix);
3811
3812 if($categ_select_list===false){
3813
3814 $taxonomy = 'property_category';
3815 $categories = get_terms($taxonomy,$args);
3816
3817 $categ_select_list = '<li role="presentation" data-value="all">'. wpestate_category_labels_dropdowns('main').'</li>';
3818
3819 foreach ($categories as $categ) {
3820 $counter = $categ->count;
3821 $received = wpestate_hierarchical_category_childen($taxonomy, $categ->term_id,$args );
3822
3823 if(isset($received['count'])){
3824 $counter = $counter+$received['count'];
3825 }
3826
3827 $categ_select_list .= '<li role="presentation" data-value="'.$categ->slug.'">'. ucwords ( urldecode( $categ->name ) ).' ('.$counter.')'.'</li>';
3828 if(isset($received['html'])){
3829 $categ_select_list .= $received['html'];
3830 }
3831
3832 }
3833
3834 set_transient('wpestate_get_category_select_list_simple'.$transient_appendix,$categ_select_list,4*60*60);
3835
3836 }
3837 return $categ_select_list;
3838 }
3839endif;
3840
3841
3842
3843
3844////////////////////////////////////////////////////////////////////////////////
3845/// show hieracy city
3846////////////////////////////////////////////////////////////////////////////////
3847if( !function_exists('wpestate_get_city_select_list') ):
3848
3849
3850 function wpestate_get_city_select_list($args){
3851 $transient_appendix = '';
3852 $transient_appendix = wpestate_add_language_currency_cache($transient_appendix,1);
3853 $categ_select_list = get_transient('wpestate_get_city_select_list_simple'.$transient_appendix);
3854 if($categ_select_list===false){
3855
3856 $categ_select_list = '<li role="presentation" data-value="all" data-value2="all">'. __('All Cities','wprentals').'</li>';
3857 $taxonomy = 'property_city';
3858 $categories = get_terms($taxonomy,$args);
3859
3860 foreach ($categories as $categ) {
3861 $string = wpestate_limit45 ( sanitize_title ( $categ->slug ) );
3862 $slug = sanitize_key($string);
3863 $received = wpestate_hierarchical_category_childen($taxonomy, $categ->term_id,$args );
3864 $counter = $categ->count;
3865 if( isset($received['count']) ){
3866 $counter = $counter+$received['count'];
3867 }
3868
3869 $categ_select_list .= '<li role="presentation" data-value="'.$categ->slug.'" data-value2="'.$slug.'">'. ucwords ( urldecode( $categ->name ) ).' ('.$counter.')'.'</li>';
3870 if(isset($received['html'])){
3871 $categ_select_list .= $received['html'];
3872 }
3873
3874 }
3875
3876 set_transient('wpestate_get_city_select_list_simple'.$transient_appendix,$categ_select_list,4*60*60);
3877
3878 }
3879 return $categ_select_list;
3880 }
3881endif;
3882
3883
3884////////////////////////////////////////////////////////////////////////////////
3885/// show hieracy area
3886////////////////////////////////////////////////////////////////////////////////
3887if( !function_exists('wpestate_get_area_select_list') ):
3888
3889
3890 function wpestate_get_area_select_list($args){
3891 $transient_appendix = '';
3892 $transient_appendix = wpestate_add_language_currency_cache($transient_appendix,1);
3893 $categ_select_list = get_transient('wpestate_get_area_select_list_simple'.$transient_appendix);
3894
3895 if($categ_select_list===false){
3896 $categ_select_list = '<li role="presentation" data-value="all">'.__('All Areas','wprentals').'</li>';
3897 $taxonomy = 'property_area';
3898 $categories = get_terms($taxonomy,$args);
3899
3900 foreach ($categories as $categ) {
3901 $term_meta = get_option( "taxonomy_$categ->term_id");
3902 $string = wpestate_limit45 ( sanitize_title ( $term_meta['cityparent'] ) );
3903 $slug = sanitize_key($string);
3904 $received = wpestate_hierarchical_category_childen($taxonomy, $categ->term_id,$args );
3905 $counter = $categ->count;
3906 if( isset($received['count']) ){
3907 $counter = $counter+$received['count'];
3908 }
3909
3910 $categ_select_list .= '<li role="presentation" data-value="'.$categ->slug.'" data-parentcity="' . $slug . '">'. ucwords ( urldecode( $categ->name ) ).' ('.$counter.')'.'</li>';
3911 if(isset($received['html'])){
3912 $categ_select_list .= $received['html'];
3913 }
3914
3915 }
3916
3917 set_transient('wpestate_get_area_select_list_simple'.$transient_appendix,$categ_select_list,4*60*60);
3918
3919
3920 }
3921 return $categ_select_list;
3922 }
3923endif;
3924
3925
3926
3927
3928if( !function_exists('wpestate_get_area_select_list_area_tax') ):
3929 function wpestate_get_area_select_list_area_tax($args, $parentcity=''){
3930 $select_area_list = '<li role="presentation" data-value="all">'.esc_html__( 'All Areas','wprentals').'</li>';
3931 $taxonomy = 'property_area';
3932 $tax_terms_area = get_terms($taxonomy,$args);
3933
3934 foreach ($tax_terms_area as $tax_term) {
3935
3936 $term_meta = get_option( "taxonomy_$tax_term->term_id");
3937 $string = wpestate_limit45 ( sanitize_title ( $term_meta['cityparent'] ) );
3938 $parentcity = wpestate_limit45 ( sanitize_title ( $parentcity ) );
3939 $slug = sanitize_key($string);
3940
3941 if($parentcity!='' && $parentcity == $string){
3942 $select_area_list .= '<li style="display:none;" role="presentation" data-value="'.$tax_term->slug.'" data-parentcity="' . $slug . '">'. ucwords (urldecode( $tax_term->name ) ).' ('.$tax_term->count.')'.'</li>';
3943 $select_area_list .= wpestate_hierarchical_category_childen( $taxonomy, $tax_term->term_id,$args );
3944 }else{
3945 $select_area_list .= '<li role="presentation" data-value="'.$tax_term->slug.'" data-parentcity="' . $slug . '">'. ucwords (urldecode( $tax_term->name ) ).' ('.$tax_term->count.')'.'</li>';
3946 $select_area_list .= wpestate_hierarchical_category_childen( $taxonomy, $tax_term->term_id,$args );
3947
3948 }
3949
3950
3951 }
3952 return $select_area_list;
3953 }
3954endif;
3955
3956////////////////////////////////////////////////////////////////////////////////
3957/// show name on saved searches
3958////////////////////////////////////////////////////////////////////////////////
3959
3960if( !function_exists('wpestate_get_custom_field_name') ):
3961 function wpestate_get_custom_field_name($query_name,$adv_search_what,$adv_search_label){
3962 $i=0;
3963
3964 foreach($adv_search_what as $key=>$term){
3965 $term = str_replace(' ', '_', $term);
3966 $slug = wpestate_limit45(sanitize_title( $term ));
3967 $slug = sanitize_key($slug);
3968
3969 if($slug==$query_name){
3970 return $adv_search_label[$key];
3971 }
3972 $i++;
3973 }
3974
3975 return $query_name;
3976 }
3977endif;
3978
3979////////////////////////////////////////////////////////////////////////////////
3980/// get author
3981////////////////////////////////////////////////////////////////////////////////
3982
3983
3984if( !function_exists('wpsestate_get_author') ):
3985 function wpsestate_get_author( $post_id = 0 ){
3986 $post = get_post( $post_id );
3987
3988 if( isset($post->post_author) ) {
3989 return $post->post_author;
3990 }
3991 }
3992endif;
3993
3994
3995
3996
3997function wpestate_convert_dateformat($date){
3998 // date is yy-mm-dd, yy0,mm1,dd2
3999 if($date==''){
4000 return $date;
4001 }
4002 $format = wprentals_get_option('wp_estate_date_format','');
4003
4004 $dates_types=array(
4005 '0' =>'Y-m-d',
4006 '1' =>'Y-d-m',
4007 '2' =>'d-m-Y',
4008 '3' =>'m-d-Y',
4009 '4' =>'d-Y-m',
4010 '5' =>'m-Y-d',
4011 );
4012
4013
4014 if (strpos($date, ' ') !== false) {
4015 $formatIn = $dates_types[$format]." H:i";
4016 $formatOut = 'Y-m-d H:i';
4017 }else{
4018 $formatIn = $dates_types[$format];
4019 $formatOut = 'Y-m-d';
4020 }
4021
4022
4023
4024 $dateOut = DateTime::createFromFormat($formatIn, $date);
4025
4026 return $dateOut->format($formatOut);
4027
4028}
4029
4030function wpestate_convert_dateformat_twodig($date){
4031 // date is yy-mm-dd, yy0,mm1,dd2
4032 if($date==''){
4033 return $date;
4034 }
4035 $format = wprentals_get_option('wp_estate_date_format','');
4036
4037 $dates_types=array(
4038 '0' =>'Y-m-d',
4039 '1' =>'Y-d-m',
4040 '2' =>'d-m-Y',
4041 '3' =>'m-d-Y',
4042 '4' =>'d-Y-m',
4043 '5' =>'m-Y-d',
4044 );
4045
4046
4047 if (strpos($date, ' ') !== false) {
4048 $formatIn = $dates_types[$format]." H:i";
4049 $formatOut = 'y-m-d H:i';
4050 }else{
4051 $formatIn = $dates_types[$format];
4052 $formatOut = 'y-m-d';
4053 }
4054
4055
4056
4057 $dateOut = DateTime::createFromFormat($formatIn, $date);
4058
4059 return $dateOut->format($formatOut);
4060
4061}
4062
4063
4064function wpestate_convert_dateformat_remove_hours_twodig($date){
4065 // date is yy-mm-dd, yy0,mm1,dd2
4066 if($date==''){
4067 return $date;
4068 }
4069 $format = wprentals_get_option('wp_estate_date_format','');
4070
4071 $dates_types=array(
4072 '0' =>'Y-m-d',
4073 '1' =>'Y-d-m',
4074 '2' =>'d-m-Y',
4075 '3' =>'m-d-Y',
4076 '4' =>'d-Y-m',
4077 '5' =>'m-Y-d',
4078 );
4079
4080
4081 if (strpos($date, ' ') !== false) {
4082 $formatIn = $dates_types[$format]." H:i";
4083 $formatOut = 'y-m-d 00:00';
4084 }else{
4085 $formatIn = $dates_types[$format];
4086 $formatOut = 'y-m-d 00:00';
4087 }
4088
4089
4090
4091 $dateOut = DateTime::createFromFormat($formatIn, $date);
4092
4093 return $dateOut->format($formatOut);
4094
4095}
4096
4097
4098function wpestate_convert_dateformat_reverse($date){
4099 if($date==''){
4100 return $date;
4101 }
4102 $format = wprentals_get_option('wp_estate_date_format','');
4103
4104 $dates_types=array(
4105 '0' =>'y-m-d',
4106 '1' =>'y-d-m',
4107 '2' =>'d-m-y',
4108 '3' =>'m-d-y',
4109 '4' =>'d-y-m',
4110 '5' =>'m-y-d',
4111 );
4112
4113
4114 if (strpos($date, ' ') !== false) {
4115 $formatOut = $dates_types[$format]." H:i";
4116 $formatIn = 'Y-m-d H:i';
4117 }else{
4118 $formatOut = $dates_types[$format];
4119 $formatIn = 'Y-m-d';
4120 }
4121
4122 $dateOut = DateTime::createFromFormat($formatIn, $date);
4123
4124
4125
4126 return $dateOut->format($formatOut);
4127
4128}
4129
4130
4131
4132////////////////////////////////////////////////////////////////////////////////
4133/// check avalability
4134////////////////////////////////////////////////////////////////////////////////
4135
4136if( !function_exists('wpestate_check_booking_valability') ):
4137 function wpestate_check_booking_valability($book_from,$book_to,$listing_id){
4138
4139 if($book_from=='' || $book_to==''){
4140 return true;
4141 }
4142
4143
4144 $book_from = wpestate_convert_dateformat($book_from);
4145 $book_to = wpestate_convert_dateformat($book_to);
4146 $wprentals_is_per_hour = wprentals_return_booking_type($listing_id);
4147
4148 $days = ( strtotime($book_to)-strtotime($book_from) ) / (60 * 60 * 24) ;
4149 $reservation_array = wpestate_get_booking_dates_advanced_search($listing_id);
4150 $from_date = new DateTime($book_from);
4151 $from_date_unix = $from_date->getTimestamp();
4152 $to_date = new DateTime($book_to);
4153 $to_date->modify('yesterday');
4154 $to_date_unix = $to_date->getTimestamp();
4155
4156 $mega_details = wpml_mega_details_adjust($listing_id);
4157
4158
4159
4160
4161 if($from_date_unix===$to_date_unix){
4162 if( array_key_exists($from_date_unix,$reservation_array ) ){
4163 return false;
4164 }
4165
4166 if($wprentals_is_per_hour!=2 && is_array($mega_details) ){ // if is not per hour
4167 if( array_key_exists($from_date_unix,$mega_details ) ){
4168 if( isset($mega_details[$from_date_unix]['period_min_days_booking']) && $mega_details[$from_date_unix]['period_min_days_booking']>$days ){
4169 return false;
4170 }
4171 }
4172 }
4173 }
4174
4175
4176 while ($from_date_unix < $to_date_unix){
4177 $from_date_unix = $from_date->getTimestamp();
4178 if( array_key_exists($from_date_unix,$reservation_array ) ){
4179 return false;
4180 }
4181
4182 if( $wprentals_is_per_hour!=2 && is_array($mega_details) ){ // if is not per hour
4183 if( isset($mega_details[$from_date_unix]['period_min_days_booking']) && $mega_details[$from_date_unix]['period_min_days_booking']>$days ){
4184 return false;
4185 }
4186 }
4187 $from_date->modify('tomorrow');
4188 }
4189
4190
4191 $min_days_booking = intval(get_post_meta($listing_id, 'min_days_booking',true));
4192
4193 if($wprentals_is_per_hour!=2 && $min_days_booking!=0 && $min_days_booking>$days){ // if is not per hour
4194 return false;
4195 }
4196
4197 return true;
4198 }
4199endif;
4200
4201
4202
4203if( !function_exists('wpestate_get_booking_dates_advanced_search') ):
4204 function wpestate_get_booking_dates_advanced_search($listing_id){
4205
4206 $reservation_array = get_post_meta($listing_id, 'booking_dates',true);
4207 if( !is_array($reservation_array) || $reservation_array=='' ){
4208 $reservation_array = array();
4209
4210 $args=array(
4211 'post_type' => 'wpestate_booking',
4212 'post_status' => 'any',
4213 'posts_per_page' => -1,
4214 'meta_query' => array(
4215 array(
4216 'key' => 'booking_id',
4217 'value' => $listing_id,
4218 'type' => 'NUMERIC',
4219 'compare' => '='
4220 ),
4221 array(
4222 'key' => 'booking_status',
4223 'value' => 'confirmed',
4224 'compare' => '='
4225 )
4226 )
4227 );
4228
4229 $booking_selection = new WP_Query($args);
4230 foreach ( $booking_selection->posts as $post ) {
4231 $pid = get_the_ID();
4232 $fromd = esc_html(get_post_meta($post->ID, 'booking_from_date', true));
4233 $tod = esc_html(get_post_meta($post->ID, 'booking_to_date', true));
4234
4235 $fromd = wpestate_convert_dateformat($fromd);
4236 $tod = wpestate_convert_dateformat($tod);
4237
4238
4239 $from_date = new DateTime($fromd);
4240 $from_date_unix = $from_date->getTimestamp();
4241 $to_date = new DateTime($tod);
4242 $to_date_unix = $to_date->getTimestamp();
4243 // $reservation_array[]=$from_date_unix;
4244 $reservation_array[$from_date_unix]=$pid;
4245
4246 while ($from_date_unix < $to_date_unix){
4247 $from_date->modify('tomorrow');
4248 $from_date_unix = $from_date->getTimestamp();
4249 //$reservation_array[]=$from_date_unix;
4250 $reservation_array[$from_date_unix]=$pid;
4251 }
4252 }
4253
4254
4255 }
4256
4257
4258 return $reservation_array;
4259 }
4260endif;
4261
4262if( !function_exists('wpestate_yelp_details') ):
4263function wpestate_yelp_details($post_id) {
4264
4265 $yelp_terms_array =
4266 array (
4267 'active' => array( 'category' => __('Active Life','wprentals'),
4268 'category_sign' => 'fas fa-motorcycle'),
4269 'arts' => array( 'category' => __('Arts & Entertainment','wprentals'),
4270 'category_sign' => 'fas fa-music') ,
4271 'auto' => array( 'category' => __('Automotive','wprentals'),
4272 'category_sign' => 'fas fa-car' ),
4273 'beautysvc' => array( 'category' => __('Beauty & Spas','wprentals'),
4274 'category_sign' => 'fas fa-female' ),
4275 'education' => array( 'category' => __('Education','wprentals'),
4276 'category_sign' => 'fas fa-graduation-cap' ),
4277 'eventservices' => array( 'category' => __('Event Planning & Services','wprentals'),
4278 'category_sign' => 'fas fa-birthday-cake' ),
4279 'financialservices' => array( 'category' => __('Financial Services','wprentals'),
4280 'category_sign' => 'fas fa-money-bill' ),
4281 'food' => array( 'category' => __('Food','wprentals'),
4282 'category_sign' => 'fas fa-utensils' ),
4283 'health' => array( 'category' => __('Health & Medical','wprentals'),
4284 'category_sign' => 'fas fa-briefcase-medical' ),
4285 'homeservices' => array( 'category' =>__('Home Services ','wprentals'),
4286 'category_sign' => 'fas fa-wrench' ),
4287 'hotelstravel' => array( 'category' => __('Hotels & Travel','wprentals'),
4288 'category_sign' => 'fas fa-bed' ),
4289 'localflavor' => array( 'category' => __('Local Flavor','wprentals'),
4290 'category_sign' => 'fas fa-coffee' ),
4291 'localservices' => array( 'category' => __('Local Services','wprentals'),
4292 'category_sign' => 'fas fa-dot-circle' ),
4293 'massmedia' => array( 'category' => __('Mass Media','wprentals'),
4294 'category_sign' => 'fas fa-tv' ),
4295 'nightlife' => array( 'category' => __('Nightlife','wprentals'),
4296 'category_sign' => 'fas fa-glass-martini-alt' ),
4297 'pets' => array( 'category' => __('Pets','wprentals'),
4298 'category_sign' => 'fas fa-paw' ),
4299 'professional' => array( 'category' => __('Professional Services','wprentals'),
4300 'category_sign' => 'fas fa-suitcase' ),
4301 'publicservicesgovt'=> array( 'category' => __('Public Services & Government','wprentals'),
4302 'category_sign' => 'fas fa-university' ),
4303 'realestate' => array( 'category' => __('Real Estate','wprentals'),
4304 'category_sign' => 'fas fa-building' ),
4305 'religiousorgs' => array( 'category' => __('Religious Organizations','wprentals'),
4306 'category_sign' => 'fas fa-cloud' ),
4307 'restaurants' => array( 'category' => __('Restaurants','wprentals'),
4308 'category_sign' => 'fas fa-utensils' ),
4309 'shopping' => array( 'category' => __('Shopping','wprentals'),
4310 'category_sign' => 'fas fa-shopping-bag' ),
4311 'transport' => array( 'category' => __('Transportation','wprentals'),
4312 'category_sign' => 'fas fa-bus-alt' )
4313 );
4314
4315 $yelp_terms = wprentals_get_option('wp_estate_yelp_categories','');
4316 $yelp_results_no = wprentals_get_option('wp_estate_yelp_results_no','');
4317 $yelp_dist_measure = wprentals_get_option('wp_estate_yelp_dist_measure','');
4318
4319 $yelp_client_id = wprentals_get_option('wp_estate_yelp_client_id','');
4320 $yelp_client_secret = wprentals_get_option('wp_estate_yelp_client_secret','');
4321 if($yelp_client_id=='' || $yelp_client_secret=='' ){
4322 return;
4323 }
4324
4325 //$location= "times square";
4326 $property_address = esc_html( get_post_meta($post_id, 'property_address', true) );
4327 $property_city_array = get_the_terms($post_id, 'property_city') ;
4328
4329 if(empty($property_city_array)){
4330 return;
4331 }
4332
4333 $property_city = $property_city_array[0]->name;
4334 $location = $property_address.','.$property_city;
4335
4336 $start_lat = get_post_meta($post_id,'property_latitude',true);
4337 $start_long = get_post_meta($post_id,'property_longitude',true);
4338
4339
4340 $yelp_to_display='';
4341
4342 $stored_yelp = get_post_meta($post_id,'stored_yelp',true);
4343 $stored_yelp_date = get_post_meta($post_id,'stored_yelp_data',true);
4344 $now = time();
4345
4346
4347
4348 $yelp_to_display = get_transient('wpestate_yelp_'.$post_id);
4349
4350 if($yelp_to_display===false){
4351
4352 foreach ( $yelp_terms as $key=>$term ) {
4353
4354 $category_name = $yelp_terms_array[$term]['category'];
4355 $category_icon = $yelp_terms_array[$term]['category_sign'];
4356
4357 $args = array(
4358 'term' => $term,
4359 'limit' => $yelp_results_no,
4360 'location' => $location
4361 );
4362
4363
4364 $details = wpestate_query_api($term,$location);
4365
4366
4367 if( isset($details->businesses) ){
4368 $category=$details->businesses;
4369
4370
4371
4372 $yelp_to_display.= '<div class="yelp_bussines_wrapper"><div class="yelp_icon"><i class="'.$category_icon.'"></i></div> <h4 class="yelp_category">'.$category_name.'</h4>';
4373 foreach($category as $unit){
4374
4375
4376 $yelp_to_display.= '<div class="yelp_unit">';
4377 $yelp_to_display.= '<h5 class="yelp_unit_name">'.$unit->name.'</h5>';
4378
4379 if(isset($unit->coordinates->latitude) && isset($unit->coordinates->longitude)){
4380 $yelp_to_display.= ' <span class="yelp_unit_distance"> '.wpestate_calculate_distance_geo($unit->coordinates->latitude,$unit->coordinates->longitude,$start_lat,$start_long,$yelp_dist_measure).'</span>';
4381 }
4382
4383 $image_path=(string)$unit->rating;
4384 $image_path= str_replace('.5', '_half', $image_path);
4385 $yelp_to_display.= '<img class="yelp_stars" src="'.get_template_directory_uri().'/img/yelp_small/small_'.$image_path.'.png" alt="'.$unit->name.'">';
4386
4387 $yelp_to_display.='</div>';
4388
4389 }
4390 $yelp_to_display.= '</div>';
4391 }
4392 }// end forearch
4393 set_transient('wpestate_yelp_'.$post_id,$yelp_to_display,24*60*60);
4394 }
4395
4396 print $yelp_to_display;
4397
4398
4399
4400}
4401endif;
4402
4403
4404if( !function_exists('wpestate_calculate_distance_geo') ):
4405function wpestate_calculate_distance_geo($lat,$long,$start_lat,$start_long,$yelp_dist_measure){
4406
4407 $angle = $start_long - $long;
4408 $distance = sin( deg2rad( $start_lat ) ) * sin( deg2rad( $lat ) ) + cos( deg2rad( $start_lat ) ) * cos( deg2rad( $lat ) ) * cos( deg2rad( $angle ) );
4409 $distance = acos( $distance );
4410 $distance = rad2deg( $distance );
4411
4412 if ($yelp_dist_measure=='miles'){
4413 $distance_miles = $distance * 60 * 1.1515;
4414 return '('.round( $distance_miles, 2 ).' '.__('miles','wprentals').')';
4415 }else{
4416 $distance_miles = $distance * 60 * 1.1515*1.6;
4417 return '('.round( $distance_miles, 2 ).' '.__('km','wprentals').')';
4418 }
4419
4420
4421}
4422endif;
4423
4424if ( ! function_exists( 'wpestate_has_some_review')) :
4425function wpestate_has_some_review($property_id){
4426 $total_stars = get_post_meta( $property_id , 'property_stars', TRUE );
4427 $total_stars = json_decode( $total_stars, TRUE );
4428
4429
4430 $total=0;
4431 if(is_array($total_stars)){
4432 foreach($total_stars as $key=>$value){
4433 $total=$total+intval($value);
4434 }
4435 }
4436 return $total;
4437
4438}
4439endif;
4440
4441
4442if ( ! function_exists( 'wpestate_display_property_rating')) {
4443 /**
4444 * Simple property rating display function
4445 *
4446 * @param $proeprty_id
4447 * @param string $type (total|fields|complete), 'total' is default
4448 *
4449 * @return string
4450 */
4451 function wpestate_display_property_rating( $proeprty_id, $type = 'total') {
4452 $star_rating = '';
4453 $total_stars = get_post_meta( $proeprty_id, 'property_stars', TRUE );
4454 if ( ! $total_stars ) {
4455 $total_stars = wpestate_calculate_property_rating( $proeprty_id );
4456 }
4457
4458 if ( $total_stars != '' ) {
4459 $star_rating = sprintf('<div class="property-rating">%s</div>', wpestate_display_rating( $total_stars, $type ) );
4460 }
4461
4462 return $star_rating;
4463 }
4464}
4465
4466
4467if ( ! function_exists( 'wpestate_get_max_stars' ) ) {
4468 /**
4469 * Set the max. nr. of stars for review
4470 *
4471 * @return int
4472 */
4473 function wpestate_get_max_stars() {
4474 return 5;
4475 }
4476}
4477
4478if ( ! function_exists( 'wpestate_display_rating' ) ) {
4479 /**
4480 * Display star rating
4481 *
4482 * @param $rating
4483 * @param string $type can be total|fields|complete
4484 *
4485 * @return string
4486 */
4487 function wpestate_display_rating( $rating, $type = 'total' ) {
4488 $rating_fields = wpestate_get_review_fields();
4489
4490 if ( is_string( $rating ) && strlen( $rating ) > 3 ) {
4491 $tmp_rating = json_decode( $rating, TRUE );
4492 switch ( $type ) {
4493 case 'total':
4494 $stars_total = wpestate_get_star_total_value( $tmp_rating );
4495 $star_rating = wpestate_render_rating_stars( $stars_total );
4496 break;
4497 case 'fields':
4498 $star_rating = wpestate_render_fields_rating( $tmp_rating, $rating_fields['fields'] );
4499 break;
4500 case 'complete':
4501 $star_rating = '<div class="property-rating">' . PHP_EOL;
4502 $stars_total = wpestate_get_star_total_value( $tmp_rating );
4503 $star_rating .= wpestate_render_rating_stars( $stars_total );
4504 $star_rating .= wpestate_render_fields_rating( $tmp_rating, $rating_fields['fields'] );
4505 $star_rating .= '</div> <!-- end .property-rating -->' . PHP_EOL;
4506 break;
4507 }
4508
4509 } else {
4510 $star_rating = wpestate_render_rating_stars( $rating );
4511 }
4512
4513 return $star_rating;
4514 }
4515}
4516
4517if ( ! function_exists( 'wpestate_render_rating_stars' ) ) {
4518 /**
4519 * Render rating fields
4520 *
4521 * @param $rating
4522 * @param $rating_fields
4523 *
4524 * @return string
4525 */
4526 function wpestate_render_fields_rating( $rating, $rating_fields ) {
4527 $star_rating = '';
4528 foreach ( $rating_fields as $field_key => $field_value ) {
4529 $star_rating .= sprintf( '<div class="%s">', esc_attr( $field_key ) ) . PHP_EOL;
4530 $star_rating .= sprintf( '<span class="rating_legend">%s</span>', esc_html( $field_value ) ) . PHP_EOL;
4531 $star_rating .= wpestate_render_rating_stars( intval( $rating[ $field_key ] ) );
4532 $star_rating .= sprintf( '</div><!-- end .%s -->', esc_attr( $field_key ) ) . PHP_EOL;
4533 }
4534
4535 return $star_rating;
4536 }
4537}
4538
4539if ( ! function_exists( 'wpestate_render_rating_stars' ) ) {
4540 /**
4541 * Renders the actual star rating
4542 *
4543 * @param $rating
4544 *
4545 * @return string
4546 */
4547 function wpestate_render_rating_stars( $rating ) {
4548 $max_rating = wpestate_get_max_stars();
4549 if ( floor( $rating ) < $rating ) { // add '&& 1 == 0' to disable half star rating
4550 $half_stars = '<i class="fas fa-star-half-alt"></i>';
4551 } else {
4552 $half_stars = '';
4553 $rating = ceil( $rating ); // to fix if half star rating is disabled
4554 }
4555 $full_stars = str_repeat( '<i class="fas fa-star"></i>', $rating );
4556 $empty_stars = str_repeat( '<i class="far fa-star"></i>', intval( ( $max_rating - $rating ) ) );
4557
4558 return $full_stars . $half_stars . $empty_stars;
4559 }
4560}
4561
4562if ( ! function_exists( 'wpestate_get_star_total_value' ) ) {
4563 /**
4564 * Find the total rating value
4565 * (old and new rating system)
4566 *
4567 * @param $rating
4568 *
4569 * @return mixed
4570 */
4571 function wpestate_get_star_total_value( $rating ) {
4572
4573 if ( isset( $rating['total'] ) ) {
4574 $stars_total = $rating['total'];
4575 } else if ( isset( $rating['rating'] ) ) {
4576 $stars_total = $rating['rating'];
4577 } else {
4578 $stars_total = $rating;
4579 }
4580
4581 return $stars_total;
4582 }
4583
4584}
4585
4586if ( ! function_exists( 'wpestate_get_star_total_rating' ) ) {
4587 /**
4588 * Returns the total rating
4589 *
4590 * @param $rating
4591 *
4592 * @return mixed
4593 */
4594 function wpestate_get_star_total_rating( $rating ) {
4595 $tmp_rating = json_decode( $rating, TRUE );
4596
4597 return wpestate_get_star_total_value( $tmp_rating );
4598 }
4599}
4600
4601if ( ! function_exists( 'wpestate_get_review_fields' ) ) {
4602 /**
4603 * Define review fields
4604 *
4605 * @return array
4606 */
4607 function wpestate_get_review_fields() {
4608 $fields = array(
4609 'total' => esc_html__( 'Total', 'wprentals' ),
4610 'fields' => array(
4611 'accuracy' => esc_html__( 'Accuracy', 'wprentals' ),
4612 'communication' => esc_html__( 'Communication', 'wprentals' ),
4613 'cleanliness' => esc_html__( 'Cleanliness', 'wprentals' ),
4614 'location' => esc_html__( 'Location', 'wprentals' ),
4615 'check_in' => esc_html__( 'Check In', 'wprentals' ),
4616 'value' => esc_html__( 'Value', 'wprentals' ),
4617 )
4618 );
4619
4620 return $fields;
4621 }
4622}
4623
4624if ( ! function_exists( 'wpestate_calculate_property_rating' ) ) {
4625 /**
4626 * Calculates the property rating
4627 *
4628 * @param $property_id
4629 *
4630 * @return string|void
4631 */
4632 function wpestate_calculate_property_rating( $property_id ) {
4633 if ( ! $property_id ) {
4634 return;
4635 }
4636
4637 $reviews = get_comments( array( 'post_id' => $property_id ) );
4638 $category_fields = wpestate_get_review_fields();
4639 $count_old_reviews = 0;
4640 $count_new_reviews = 0;
4641 $sum_old_reviews = 0;
4642 $stars_in_fields = array();
4643 $stars_fields = array();
4644 $stars_averages = array();
4645 $store = array();
4646
4647 foreach ( $reviews as $review ) {
4648 $raw_comment_rating = get_comment_meta( $review->comment_ID, 'review_stars', TRUE );
4649
4650 switch ( TRUE ) {
4651 // Old reviews
4652 case ( is_numeric( $raw_comment_rating ) ) :
4653 $count_old_reviews ++;
4654 $sum_old_reviews = $sum_old_reviews + intval( $raw_comment_rating );
4655 $stars_in_fields['total'][] = intval( $raw_comment_rating );
4656 break;
4657
4658 // New reviews
4659 case ( is_string( $raw_comment_rating ) ):
4660 $count_new_reviews ++;
4661 $tmp_rating = json_decode( $raw_comment_rating, TRUE );
4662 $stars_in_fields['total'][] = $tmp_rating['rating'];
4663
4664 // gather all stars per field in an array
4665 foreach ( $category_fields['fields'] as $field_key => $field_value ) {
4666 $stars_in_fields[ $field_key ][] = $tmp_rating[ $field_key ];
4667 }
4668
4669 break;
4670 }
4671
4672
4673 }
4674
4675 // Sums per fields
4676 foreach ( $category_fields['fields'] as $field_key => $field_value ) {
4677 if( isset( $stars_in_fields[ $field_key ] )){
4678 $stars_fields[ $field_key ] = array_sum( $stars_in_fields[ $field_key ] );
4679 $tmp_round = round( $stars_fields[ $field_key ] / count( $stars_in_fields[ $field_key ] ), 1 );
4680 $stars_averages[ $field_key ] = wpestate_round_to_nearest_05( $tmp_round );
4681 $store[] = sprintf( '"%s": %s', $field_key, $stars_averages[ $field_key ] );
4682 }
4683 }
4684
4685 // Calc total rating
4686 $all_reviews_total = array_sum( $stars_in_fields['total'] ) / ( ( $count_new_reviews + $count_old_reviews ) );
4687 $property_rating['total'] = wpestate_round_to_nearest_05( $all_reviews_total );
4688
4689 // Construct rating string for db
4690 $store[] = sprintf( '"%s": %s', 'rating', $property_rating['total'] );
4691 $star_rating = '{' . implode( ',', $store ) . '}';
4692 update_post_meta( $property_id, 'property_stars', $star_rating );
4693 return $star_rating;
4694 }
4695}
4696
4697
4698if ( ! function_exists( 'wpestate_round_to_nearest_05' ) ) {
4699 /**
4700 * Rounds a number to the nearest .5
4701 *
4702 * examples: 4.5 => 4.5; 4.3 => 4; 4.7 => 5;
4703 *
4704 * @param $round
4705 *
4706 * @return float
4707 */
4708 function wpestate_round_to_nearest_05( $round ) {
4709 $tmp_remainder = $round - floor( $round );
4710
4711 switch ( TRUE ) {
4712 case ( $tmp_remainder > .5 ):
4713 $rounded = ceil( $round );
4714 break;
4715 case ( $tmp_remainder < .5 ):
4716 $rounded = floor( $round );
4717 break;
4718 default:
4719 $rounded = $round;
4720 break;
4721 }
4722
4723 return $rounded;
4724
4725 }
4726}
4727
4728if ( ! function_exists( 'wpestate_query_vars' ) ) {
4729 /**
4730 * Add reviews paging
4731 *
4732 * @param $vars
4733 *
4734 * @return array
4735 */
4736 function wpestate_query_vars( $vars ) {
4737 $vars[] = 'rp';
4738
4739 return $vars;
4740 }
4741}
4742
4743add_filter( 'query_vars', 'wpestate_query_vars' );
4744
4745if ( ! function_exists( 'wpestate_get_current_url' ) ) {
4746 /**
4747 * Get the current URL
4748 *
4749 * @return string
4750 */
4751 function wpestate_get_current_url() {
4752 global $wp;
4753 $current_url = add_query_arg( $wp->query_string, '', home_url( $wp->request ) );
4754
4755 return $current_url;
4756 }
4757}
4758
4759if ( ! function_exists( 'wpestate_review_paging_url' ) ) {
4760 /**
4761 * Create a new URL depending on filter URL
4762 *
4763 * @param $param
4764 * @param string $add_rem
4765 *
4766 * @return string
4767 */
4768 function wpestate_review_paging_url( $param, $add_rem = 'add' ) {
4769
4770 // Add or remove parameters from URL
4771 if ( ! empty( $param ) && $add_rem == 'add' ) {
4772 if ( $param !== 'rp' ) {
4773 $current_url = remove_query_arg( 'rp' );
4774 }
4775 $new_url = add_query_arg( $param, $current_url );
4776
4777 } else if ( ! empty( $param ) && $add_rem == 'rem' ) {
4778 $query_keys = array_keys( $param );
4779 $new_url = remove_query_arg( $query_keys );
4780 } else {
4781 $new_url = $current_url;
4782 }
4783
4784 $tmp_url = preg_replace( '/\/page\/[0-9]{0,9}/', '', $new_url );
4785 $new_url = $tmp_url;
4786
4787 return $new_url;
4788 }
4789}
4790
4791
4792if ( ! function_exists( 'wpestate_review_pagination' ) ) {
4793 /**
4794 * Display review pagination
4795 *
4796 * @param string $pages
4797 * @param int $range
4798 */
4799 function wpestate_review_pagination( $pages = '', $range = 2 ) {
4800 global $post;
4801 $showitems = ( $range * 2 ) + 1;
4802 $cpaged = ( get_query_var( 'rp' ) != '' ) ? get_query_var( 'rp' ) : 1;
4803
4804 if ( $pages == '' ) {
4805 if ( ! $pages ) {
4806 $pages = 1;
4807 }
4808 }
4809
4810 if ( 1 != $pages ) {
4811 echo '<ul class="pagination pagination_nojax">';
4812
4813 if ( ( $cpaged - 1 ) <= 1 ) {
4814 $prev_page = wpestate_review_paging_url( array( 'rp' => '' ), 'rem' );
4815 } else {
4816 $prev_page = wpestate_review_paging_url( array( 'rp' => $cpaged - 1 ) );
4817 }
4818
4819 printf( '<li class="roundleft"><a href="%s"><i class="fas fa-chevron-left"></i></a></li>', esc_url( $prev_page ) );
4820
4821 for ( $i = 1; $i <= $pages; $i ++ ) {
4822 if ( 1 != $pages && ( ! ( $i >= $cpaged + $range + 1 || $i <= $cpaged - $range - 1 ) || $pages <= $showitems ) ) {
4823 $active = ( $cpaged == $i ) ? ' class=active ' : '';
4824 printf( '<li %s><a href="%s" >%d</a><li>', esc_attr( $active ), esc_url( wpestate_review_paging_url( array( 'rp' => $i ) ) ), $i );
4825 }
4826 }
4827
4828 $next_page = wpestate_review_paging_url( array( 'rp' => $cpaged + 1 ) );
4829 if ( ( $cpaged + 1 ) > $pages ) {
4830 $next_page = wpestate_review_paging_url( array( 'rp' => $cpaged ) );
4831 }
4832
4833 printf( '<li class="roundright"><a href="%s"><i class="fas fa-chevron-right"></i></a><li>', esc_url( $next_page ) );
4834
4835 echo "</ul>";
4836 }
4837 }
4838} // end wpestate_review_pagination
4839
4840
4841
4842if(!function_exists('wpestate_return_all_fields') ):
4843function wpestate_return_all_fields($is_mandatory=0){
4844
4845 // $submission_page_fields = ( get_option('wp_estate_submission_page_fields','') );
4846 //$redux_data = get_option( 'wprentals_admin' );
4847
4848
4849
4850 $all_submission_fields=$all_mandatory_fields=array(
4851 'title' => __('Title','wprentals'),
4852 'prop_category_submit' => __('Main Category','wprentals'),
4853 'prop_action_category_submit' => __('Second Category','wprentals'),
4854 'property_city_front' => __('Property/Item City','wprentals'),
4855 'property_area_front' => __('Property/Item Area','wprentals'),
4856 'property_description' => __('Description','wprentals'),
4857 'property_price' => __('Listing Price','wprentals'),
4858 'property_taxes' => __('Listing Taxes','wprentals'),
4859 'property_price_per_week' => __('Listing Price per day for 7 or more booked days','wprentals'),
4860 'property_price_per_month' => __('Listing Price per day for 30 or more booked days','wprentals'),
4861 'price_per_weekeend' => __('Listing Price per weekend','wprentals'),
4862 'cleaning_fee' => __('Cleaning Fee','wprentals'),
4863 'city_fee' => __('City Fee','wprentals'),
4864 'min_days_booking' => __('Minimum Days','wprentals'),
4865 'security_deposit' => __('Security Deposit','wprentals'),
4866 'early_bird_percent' => __('Early Bird Discount','wprentals'),
4867 'extra_price_per_guest' => __('Extra Price per Guest','wprentals'),
4868 'checkin_change_over' => __('Start check in on ','wprentals'),
4869 'checkin_checkout_change_over' => __('Start/End check in on ','wprentals'),
4870 'extra_options' => __('Extra Booking options','wprentals'),
4871 'custom_prices' => __('Custom Price','wprentals'),
4872 'attachid' => __('Property Media','wprentals'),
4873 'embed_video_id' => __('Embed Video Id','wprentals'),
4874 'embed_video_type' => __('Embed Video Type','wprentals'),
4875 'property_size' => __('property Size','wprentals'),
4876 'property_rooms' => __('Property Rooms','wprentals'),
4877 'property_bedrooms' => __('Property Bedrooms','wprentals'),
4878 'property_bathrooms' => __('Property Bathrooms','wprentals'),
4879 'property_address' => __('Property Address','wprentals'),
4880 'property_zip' => __('Property Zip','wprentals'),
4881 'property_county' => __('Property County','wprentals'),
4882 'property_state' => __('Property State','wprentals'),
4883 'property_map' => __('Property Map','wprentals'),
4884 'property_latitude' => __('Property Latitude','wprentals'),
4885 'property_longitude' => __('Property Longitude','wprentals'),
4886 'google_camera_angle' => __('Google Camera Angle','wprentals'),
4887 // 'avalability_calendar' => __('Avalability Calendar','wprentals'),
4888 );
4889 if($is_mandatory==0){
4890 unset($all_submission_fields['title']);
4891 }else{
4892 unset($all_submission_fields['property_map']);
4893 unset($all_submission_fields['avalability_calendar']);
4894 unset($all_mandatory_fields['extra_options']);
4895 }
4896
4897 $i=0;
4898
4899 $custom_fields = get_option('wpestate_custom_fields_list');
4900
4901 if( !empty($custom_fields)){
4902 while($i< count( $custom_fields['add_field_name'] ) ){
4903// $name = stripslashes($custom_fields['add_field_name'][$i]);
4904// $slug = str_replace(' ','-',$name);
4905// $label = stripslashes( $custom_fields['add_field_label'][$i] );
4906//
4907// $slug = htmlspecialchars ( $slug ,ENT_QUOTES);
4908// $slug = wpestate_limit45(sanitize_title( $slug ));
4909// $slug = sanitize_key($slug);
4910
4911
4912 $data= wprentals_prepare_non_latin($custom_fields['add_field_name'][$i],$custom_fields['add_field_label'][$i]);
4913
4914 $all_submission_fields[ $data['key'] ]=$data['label'];
4915 $i++;
4916 }
4917 }
4918
4919
4920 $feature_list = esc_html( get_option('wp_estate_feature_list','') );
4921 $feature_list_array = explode( ',',$feature_list);
4922
4923 foreach ($feature_list_array as $key=>$checker) {
4924// $checker = stripslashes($checker);
4925// $post_var_name = strtolower( str_replace(' ','_', trim($checker)) );
4926// $post_var_name = sanitize_title($post_var_name);
4927// $post_var_name = htmlspecialchars ( $post_var_name ,ENT_QUOTES);
4928//
4929//
4930//
4931
4932 $data= wprentals_prepare_non_latin($checker,$checker);
4933 $all_submission_fields[ $data['key'] ]=$data['label'];
4934 // $all_submission_fields[wpestate_limit45($post_var_name)]=trim($checker);
4935 }
4936 return $all_submission_fields;
4937
4938
4939}
4940endif;
4941
4942
4943function wprentals_prepare_non_latin($key,$label){
4944
4945 $label = stripslashes( $label);
4946
4947 $slug = stripslashes($key);
4948 $slug = str_replace(' ','-',$key);
4949 $slug = htmlspecialchars ( $slug ,ENT_QUOTES);
4950 $slug = wpestate_limit45(sanitize_title( $slug ));
4951 $slug = sanitize_key($slug);
4952
4953
4954 $return=array();
4955 $return['key']=trim($slug);
4956 $return['label']=trim($label);
4957 return $return;
4958}
4959
4960
4961
4962
4963
4964
4965
4966
4967
4968
4969
4970function wpestate_mandatory_array_non_latin($key){
4971 return (sanitize_key($key));
4972}
4973
4974
4975
4976if(!function_exists('wpestate_return_custom_unit_fields') ):
4977function wpestate_return_custom_unit_fields($selected_val,$for=''){
4978
4979 $all_fields=array(
4980 'none' => __('Leave Blank','wprentals'),
4981 'property_category' => __('Main Category','wprentals'),
4982 'property_action_category' => __('Second Category','wprentals'),
4983 'property_city' => __('Property/Item City','wprentals'),
4984 'property_area' => __('Property/Item Area','wprentals'),
4985 'property_price' => __('Property/Item Price','wprentals'),
4986 'guest_no' => __('Property/Item Guests Capacity','wprentals'),
4987 'property_taxes' => __('Property/Item Taxes','wprentals'),
4988 'property_price_per_week' => __('Property/Item Price per day for 7 or more booked days','wprentals'),
4989 'property_price_per_month' => __('Property/Item Price per day for 30 or more booked days','wprentals'),
4990 'price_per_weekeend' => __('Property/Item Price per weekend','wprentals'),
4991 'cleaning_fee' => __('Cleaning Fee','wprentals'),
4992 'city_fee' => __('City Fee','wprentals'),
4993 'min_days_booking' => __('Minimum Days','wprentals'),
4994 'security_deposit' => __('Security Deposit','wprentals'),
4995 'extra_price_per_guest' => __('Extra Price per Guest','wprentals'),
4996 'property_size' => __('Property Size','wprentals'),
4997 'property_rooms' => __('Property Rooms','wprentals'),
4998 'property_bedrooms' => __('Property Bedrooms','wprentals'),
4999 'property_bathrooms' => __('Property Bathrooms','wprentals'),
5000 'property_address' => __('Property Address','wprentals'),
5001 'property_zip' => __('Property Zip','wprentals'),
5002 'property_county' => __('Property County','wprentals'),
5003 'property_state' => __('Property State','wprentals'),
5004 'property_country' => __('Property Country','wprentals'),
5005 );
5006 if($for =='_infobox'){
5007 unset( $all_fields['property_category']);
5008 unset( $all_fields['property_action_category']);
5009 unset( $all_fields['property_price']);
5010 unset( $all_fields['property_price_per_week']);
5011 unset( $all_fields['property_price_per_month']);
5012 unset( $all_fields['price_per_weekeend']);
5013 unset( $all_fields['cleaning_fee']);
5014 unset( $all_fields['city_fee']);
5015 unset( $all_fields['extra_price_per_guest']);
5016 }
5017
5018 if($for =='_property'){
5019 unset( $all_fields['property_price']);
5020 unset( $all_fields['property_price_per_week']);
5021 unset( $all_fields['property_price_per_month']);
5022 unset( $all_fields['price_per_weekeend']);
5023 unset( $all_fields['cleaning_fee']);
5024 unset( $all_fields['city_fee']);
5025 unset( $all_fields['extra_price_per_guest']);
5026 }
5027
5028
5029 $i=0;
5030 $custom_fields = wprentals_get_option('wpestate_custom_fields_list','');
5031
5032 if( !empty($custom_fields)){
5033 while($i< count($custom_fields) ){
5034 $name = stripslashes($custom_fields[$i][0]);
5035 $slug = str_replace(' ','-',$name);
5036 $label = stripslashes( $custom_fields[$i][1] );
5037 $slug = htmlspecialchars ( $slug ,ENT_QUOTES);
5038
5039 $all_fields[strtolower($slug)]=$label;
5040 $i++;
5041 }
5042 }
5043
5044 $return_options='<select id="unit_field_value" name="unit_field_value'.$for.'[]" style="width:140px;">';
5045 foreach ($all_fields as $key=>$checker) {
5046 $return_options .= '<option value="'.$key.'" ';
5047 if($key=== htmlspecialchars ( stripslashes($selected_val) ,ENT_QUOTES)){
5048 $return_options.=' selected ';
5049 }
5050 $return_options .='>'.$checker.'</option>';
5051 }
5052 $return_options.='</select>';
5053 return $return_options;
5054
5055}
5056endif;
5057
5058
5059
5060if(!function_exists('redux_wpestate_return_custom_unit_fields') ):
5061function redux_wpestate_return_custom_unit_fields($select_name,$selected_val,$for=''){
5062
5063 $all_fields=array(
5064 'none' => __('Leave Blank','wprentals'),
5065 'property_category' => __('Main Category','wprentals'),
5066 'property_action_category' => __('Second Category','wprentals'),
5067 'property_city' => __('Property/Item City','wprentals'),
5068 'property_area' => __('Property/Item Area','wprentals'),
5069 'property_price' => __('Property/Item Price','wprentals'),
5070 'guest_no' => __('Property/Item Guests Capacity','wprentals'),
5071 'property_taxes' => __('Property/Item Taxes','wprentals'),
5072 'property_price_per_week' => __('Property/Item Price per day for 7 or more booked days','wprentals'),
5073 'property_price_per_month' => __('Property/Item Price per day for 30 or more booked days','wprentals'),
5074 'price_per_weekeend' => __('Property/Item Price per weekend','wprentals'),
5075 'cleaning_fee' => __('Cleaning Fee','wprentals'),
5076 'city_fee' => __('City Fee','wprentals'),
5077 'min_days_booking' => __('Minimum Days','wprentals'),
5078 'security_deposit' => __('Security Deposit','wprentals'),
5079 'extra_price_per_guest' => __('Extra Price per Guest','wprentals'),
5080 'property_size' => __('Property Size','wprentals'),
5081 'property_rooms' => __('Property Rooms','wprentals'),
5082 'property_bedrooms' => __('Property Bedrooms','wprentals'),
5083 'property_bathrooms' => __('Property Bathrooms','wprentals'),
5084 'property_address' => __('Property Address','wprentals'),
5085 'property_zip' => __('Property Zip','wprentals'),
5086 'property_county' => __('Property County','wprentals'),
5087 'property_state' => __('Property State','wprentals'),
5088 'property_country' => __('Property Country','wprentals'),
5089 );
5090 if($for =='_infobox'){
5091 unset( $all_fields['property_category']);
5092 unset( $all_fields['property_action_category']);
5093 unset( $all_fields['property_price']);
5094 unset( $all_fields['property_price_per_week']);
5095 unset( $all_fields['property_price_per_month']);
5096 unset( $all_fields['price_per_weekeend']);
5097 unset( $all_fields['cleaning_fee']);
5098 unset( $all_fields['city_fee']);
5099 unset( $all_fields['extra_price_per_guest']);
5100 }
5101
5102 if($for =='_property'){
5103 unset( $all_fields['property_price']);
5104 unset( $all_fields['property_price_per_week']);
5105 unset( $all_fields['property_price_per_month']);
5106 unset( $all_fields['price_per_weekeend']);
5107 unset( $all_fields['cleaning_fee']);
5108 unset( $all_fields['city_fee']);
5109 unset( $all_fields['extra_price_per_guest']);
5110 }
5111
5112
5113 $i=0;
5114 $custom_fields =wprentals_get_option('wpestate_custom_fields_list','');
5115
5116 if( !empty($custom_fields)){
5117 while($i< count($custom_fields) ){
5118 $name = stripslashes($custom_fields[$i][0]);
5119 $slug = str_replace(' ','-',$name);
5120 $label = stripslashes( $custom_fields[$i][1] );
5121 $slug = htmlspecialchars ( $slug ,ENT_QUOTES);
5122
5123 $all_fields[strtolower($slug)]=$label;
5124 $i++;
5125 }
5126 }
5127
5128 $return_options='<select id="unit_field_value" name="'.$select_name.'" style="width:140px;">';
5129 foreach ($all_fields as $key=>$checker) {
5130 $return_options .= '<option value="'.$key.'" ';
5131 if($key=== htmlspecialchars ( stripslashes($selected_val) ,ENT_QUOTES)){
5132 $return_options.=' selected ';
5133 }
5134 $return_options .='>'.$checker.'</option>';
5135 }
5136 $return_options.='</select>';
5137 return $return_options;
5138
5139}
5140endif;
5141
5142
5143if(!function_exists('wpestate_strip_array') ):
5144function wpestate_strip_array($key){
5145 $string =htmlspecialchars(stripslashes( ($key) ), ENT_QUOTES);
5146 return wp_specialchars_decode ($string);
5147}
5148endif;
5149
5150
5151if( !function_exists('wpestate_date_picker_translation_return') ):
5152function wpestate_date_picker_translation_return($selector){
5153 $date_lang_status= esc_html ( wprentals_get_option('wp_estate_date_lang','') );
5154 return '<script type="text/javascript">
5155 //<![CDATA[
5156 jQuery(document).ready(function(){
5157 jQuery("#'.$selector.'").datepicker({
5158 dateFormat : "yy-mm-dd"
5159 },jQuery.datepicker.regional["'.$date_lang_status.'"]).datepicker("widget").wrap(\'<div class="ll-skin-melon"/>\');
5160 });
5161 //]]>
5162 </script>';
5163}
5164endif;
5165
5166if( !function_exists('wpestate_show_mandatory_fields') ):
5167function wpestate_show_mandatory_fields(){
5168
5169 $mandatory_fields = ( wprentals_get_option('wp_estate_mandatory_page_fields','') );
5170
5171 if(is_array($mandatory_fields)){
5172 $mandatory_fields = array_map("wpestate_strip_array",$mandatory_fields);
5173 }
5174 if(is_array($mandatory_fields) && !empty($mandatory_fields) ){
5175 $all_mandatory_fields = wpestate_return_all_fields(1);
5176 print '<div class="submit_mandatory col-md-12">';
5177 _e('These fields are mandatory: ','wprentals');
5178 $lastkey = count($mandatory_fields) - 1;
5179 foreach ($mandatory_fields as $key=>$value){
5180 print $all_mandatory_fields[$value];
5181 if($key!==$lastkey){
5182 print ', ';
5183 };
5184 }
5185 print '</div>';
5186 }
5187}
5188endif;
5189
5190
5191if( !function_exists('wpestate_show_labels') ):
5192function wpestate_show_labels($label,$type,$book_type=''){
5193 $labels = array(
5194 'check_in' =>array(
5195 '0'=> esc_html__('Check in','wprentals'),
5196 '1'=> esc_html__('Start Date','wprentals'),
5197 ),
5198 'check_out' =>array(
5199 '0'=> esc_html__('Check Out','wprentals'),
5200 '1'=> esc_html__('End Date','wprentals'),
5201 ),
5202 'per_night' => array(
5203 '0'=> esc_html__( 'per night','wprentals'),
5204 '1'=> esc_html__( 'per day','wprentals'),
5205 '2'=> esc_html__( 'per hour','wprentals'),
5206 ),
5207 'price_label' => array(
5208 '0'=> esc_html__( 'Price per night','wprentals'),
5209 '1'=> esc_html__( 'Price per day','wprentals'),
5210 '2'=> esc_html__( 'Price per hour','wprentals'),
5211 ),
5212 'price_week_label' => array(
5213 '0'=> esc_html__( 'Price per night (7d+)','wprentals'),
5214 '1'=> esc_html__( 'Price per day (7d+)','wprentals'),
5215 '2'=> esc_html__( 'Price per hour (7h+)','wprentals'),
5216 ),
5217 'price_month_label' => array(
5218 '0'=> esc_html__( 'Price per night (30d+)','wprentals'),
5219 '1'=> esc_html__( 'Price per day (30d+)','wprentals'),
5220 '2'=> esc_html__( 'Price per hour (30h+)','wprentals'),
5221 ),
5222 'nights' => array(
5223 '0'=> esc_html__( 'nights','wprentals'),
5224 '1'=> esc_html__( 'days','wprentals'),
5225 '2'=> esc_html__( 'hours','wprentals'),
5226 ),
5227 'night' => array(
5228 '0'=> esc_html__( 'night','wprentals'),
5229 '1'=> esc_html__( 'day','wprentals'),
5230 '2'=> esc_html__( 'hour','wprentals'),
5231 ),
5232 'nights_custom_price' => array(
5233 '0'=> esc_html__( 'nights with custom price','wprentals'),
5234 '1'=> esc_html__( 'days with custom price','wprentals'),
5235 '2'=> esc_html__( 'hours with custom price','wprentals'),
5236 ),
5237
5238 'days_custom_price' => array(
5239 '0'=> esc_html__( 'nights with weekend price','wprentals'),
5240 '1'=> esc_html__( 'days with weekend price','wprentals'),
5241 '2'=> esc_html__( 'hours with weekend price','wprentals'),
5242 ),
5243 'price_week_label_ext' => array(
5244 '0'=> esc_html__( 'Price per night if the item is rented for more than 1 week (7 nights) or more than 1 month (30 nights)','wprentals'),
5245 '1'=> esc_html__( 'Price per day if the item is rented for more than 1 week (7 days) or more than 1 month (30 days)','wprentals'),
5246 '2'=> esc_html__( 'Price per hour if the item is rented for more than 7 hours or more than 30 hours','wprentals'),
5247 ),
5248 'price_month_label_ext' => array(
5249 '0'=> esc_html__( 'Price per night (30d+)','wprentals'),
5250 '1'=> esc_html__( 'Price per day (30d+)','wprentals'),
5251 '2'=> esc_html__( 'Price per hour (30h+)','wprentals'),
5252 ),
5253 'min_unit' => array(
5254 '0'=> esc_html__( 'Minimum nights of booking','wprentals'),
5255 '1'=> esc_html__( 'Minimum days of booking','wprentals'),
5256 '2'=> esc_html__( 'Minimum hours of booking','wprentals'),
5257 ),
5258 'early_bird' => array(
5259 '0'=> esc_html__( 'Early Bird Discount - in % from the price per night','wprentals'),
5260 '1'=> esc_html__( 'Early Bird Discount - in % from the price per day','wprentals'),
5261 '2'=> esc_html__( 'Early Bird Discount - in % from the price per hour','wprentals'),
5262 ),
5263 'extra_price_per_guest' => array(
5264 '0'=> esc_html__( 'Extra Price per guest per night in','wprentals'),
5265 '1'=> esc_html__( 'Extra Price per guest per day in','wprentals'),
5266 '2'=> esc_html__( 'Extra Price per guest per hour in','wprentals'),
5267 ),
5268 'no_of_nights' => array(
5269 '0'=> esc_html__( 'No of nights','wprentals'),
5270 '1'=> esc_html__( 'No of days','wprentals'),
5271 '2'=> esc_html__( 'No of hours','wprentals'),
5272 ),
5273 'per_night_per_guest' => array(
5274 '0'=> esc_html__( 'Per Night per Guest','wprentals'),
5275 '1'=> esc_html__( 'Per Day per Guest','wprentals'),
5276 '2'=> esc_html__( 'Per Hour per Guest','wprentals'),
5277 ),
5278
5279 );
5280
5281
5282 if($type==0){
5283 $key = $type;
5284 if($book_type==2){
5285 $key=$book_type;
5286 }
5287 }else{
5288 if($book_type!=''){
5289 $key=$book_type;
5290 }
5291 }
5292
5293 if(isset($labels[$label][$key])){
5294 return $labels[$label][$key];
5295 }else{
5296 return $labels[$label][$type];
5297 }
5298}
5299endif;
5300
5301
5302if(!function_exists('wpestate_header_image')):
5303function wpestate_header_image($image){
5304 global $post;
5305 $paralax_header = wprentals_get_option('wp_estate_paralax_header','');
5306 if( isset($post->ID)){
5307
5308 if( is_page_template( 'splash_page.php' ) ){
5309 $header_type=20;
5310 $image =esc_html( wprentals_get_option('wp_estate_splash_image','url') );
5311 $img_full_screen = 'no';
5312 $img_full_back_type = '';
5313 $page_header_title_over_image = stripslashes( esc_html ( wprentals_get_option('wp_estate_splash_page_title','') ) );
5314 $page_header_subtitle_over_image = stripslashes( esc_html ( wprentals_get_option('wp_estate_splash_page_subtitle','') ) ) ;
5315 $page_header_image_height = 600;
5316 $page_header_overlay_val = esc_html ( wprentals_get_option('wp_estate_splash_overlay_opacity','') );
5317 $page_header_overlay_color = esc_html ( wprentals_get_option('wp_estate_splash_overlay_color','') );
5318 $wp_estate_splash_overlay_image = esc_html ( wprentals_get_option('wp_estate_splash_overlay_image','url') );
5319
5320 }else{
5321 $img_full_screen = esc_html ( get_post_meta($post->ID, 'page_header_image_full_screen', true) );
5322 $img_full_back_type = esc_html ( get_post_meta($post->ID, 'page_header_image_back_type', true) );
5323 $page_header_title_over_image = stripslashes( esc_html ( get_post_meta($post->ID, 'page_header_title_over_image', true) ) );
5324 $page_header_subtitle_over_image = stripslashes( esc_html ( get_post_meta($post->ID, 'page_header_subtitle_over_image', true) ) );
5325 $page_header_image_height = floatval ( get_post_meta($post->ID, 'page_header_image_height', true) );
5326 $page_header_overlay_val = esc_html ( get_post_meta($post->ID, 'page_header_overlay_val', true) );
5327 $page_header_overlay_color = esc_html ( get_post_meta($post->ID, 'page_header_overlay_color', true) );
5328 $wp_estate_splash_overlay_image = '';
5329 }
5330
5331 if($page_header_overlay_val==''){
5332 $page_header_overlay_val=1;
5333 }
5334 if($page_header_image_height==0){
5335 $page_header_image_height=580;
5336 }
5337
5338 print '<div class="wpestate_header_image full_screen_'.$img_full_screen.' parallax_effect_'.$paralax_header.'" style="background-image:url('.$image.');';
5339 if($page_header_image_height!=0){
5340 print ' height:'.$page_header_image_height.'px; ';
5341 }
5342 if($img_full_back_type=='contain'){
5343 print ' background-size: contain; ';
5344 }
5345 print '">';
5346
5347 if($page_header_overlay_color!='' || $wp_estate_splash_overlay_image!=''){
5348 print '<div class="wpestate_header_image_overlay" style="background-color:'.$page_header_overlay_color.';opacity:'.$page_header_overlay_val.';background-image:url('.$wp_estate_splash_overlay_image.');"></div>';
5349 }
5350
5351 if($page_header_title_over_image!=''){
5352 print '<div class="heading_over_image_wrapper" >';
5353 print '<h1 class="heading_over_image">'.$page_header_title_over_image.'</h1>';
5354
5355 if($page_header_subtitle_over_image!=''){
5356 print '<div class="subheading_over_image">'.$page_header_subtitle_over_image.'</div>';
5357 }
5358
5359 print '</div>';
5360 }
5361
5362
5363 print'</div>';
5364
5365
5366
5367 }else{
5368 print '<div class="wpestate_header_image " style="background-image:url('.$image.')"></div>';
5369 }
5370
5371
5372
5373}
5374endif;
5375
5376
5377if(!function_exists('wpestate_show_advanced_search')):
5378function wpestate_show_advanced_search($post_id){
5379
5380 if( !wpestate_float_search_placement($post_id) && !wpestate_half_map_conditions ($post_id) ){
5381 if( !wpestate_is_user_dashboard() ){
5382
5383 get_template_part( 'templates/advanced_search' );
5384 }
5385
5386 }
5387
5388}
5389
5390endif;
5391
5392
5393
5394if(!function_exists('wpestate_float_search_placement')):
5395function wpestate_float_search_placement($post_id){
5396 global $post;
5397 $float_form_top_local = '';
5398 $float_search_form = esc_html ( wprentals_get_option('wp_estate_use_float_search_form','') );
5399 $search_float_type = 0;
5400
5401
5402 if ( isset($post->ID)){
5403 $search_float_type = intval (get_post_meta ( $post->ID, 'use_float_search_form_local_set', true));
5404 }
5405
5406 if( wpestate_half_map_conditions($post_id) ){
5407 return false;
5408 }
5409
5410 if( $search_float_type==0 && $float_search_form=='yes'){
5411 return true;
5412 }else if($search_float_type==2){
5413 return true;
5414 }else{
5415 return false;
5416 }
5417
5418
5419
5420}
5421
5422endif;
5423
5424
5425if( !function_exists('wpestate_half_map_conditions')):
5426 function wpestate_half_map_conditions($pos_id){
5427
5428 if( !is_category() && !is_tax() && basename(get_page_template($pos_id)) == 'property_list_half.php'){
5429 return true;
5430 } else if( ( is_tax('') ) && wprentals_get_option('wp_estate_property_list_type','')==2){
5431 $taxonomy = get_query_var('taxonomy');
5432 if( $taxonomy == 'property_category_agent' ||
5433 $taxonomy == 'property_action_category_agent' ||
5434 $taxonomy == 'property_city_agent' ||
5435 $taxonomy == 'property_area_agent' ||
5436 $taxonomy == 'property_county_state_agent' ||
5437 $taxonomy == 'category_agency' ||
5438 $taxonomy == 'action_category_agency' ||
5439 $taxonomy == 'city_agency' ||
5440 $taxonomy == 'area_agency' ||
5441 $taxonomy == 'county_state_agency' ||
5442 $taxonomy == 'property_category_developer' ||
5443 $taxonomy == 'property_action_developer' ||
5444 $taxonomy == 'property_city_developer' ||
5445 $taxonomy == 'property_area_developer' ||
5446 $taxonomy == 'property_county_state_developer'
5447
5448 ){
5449 return false;
5450 }else{
5451 return true;
5452 }
5453 } else if( is_page_template('advanced_search_results.php') && wprentals_get_option('wp_estate_property_list_type_adv','')==2){
5454 return true;
5455 }else{
5456 return false;
5457 }
5458
5459 }
5460endif;
5461
5462
5463if( !function_exists('wpestate_is_user_dashboard') ):
5464function wpestate_is_user_dashboard(){
5465
5466 if ( basename( get_page_template() ) == 'user_dashboard.php' ||
5467 basename( get_page_template() ) == 'user_dashboard_add_step1.php' ||
5468 basename( get_page_template() ) == 'user_dashboard_allinone.php' ||
5469 basename( get_page_template() ) == 'user_dashboard_edit_listing.php' ||
5470 basename( get_page_template() ) == 'user_dashboard_favorite.php' ||
5471 basename( get_page_template() ) == 'user_dashboard_inbox.php' ||
5472 basename( get_page_template() ) == 'user_dashboard_invoices.php' ||
5473 basename( get_page_template() ) == 'user_dashboard_my_bookings.php' ||
5474 basename( get_page_template() ) == 'user_dashboard_my_reservations.php' ||
5475 basename( get_page_template() ) == 'user_dashboard_packs.php' ||
5476 basename( get_page_template() ) == 'user_dashboard_profile.php'
5477 ){
5478
5479 return true;
5480 }else{
5481 return false;
5482 }
5483
5484
5485
5486
5487}
5488endif;
5489
5490
5491if( !function_exists('wpestate_show_tax_header') ):
5492function wpestate_show_tax_header(){
5493 $taxonmy = get_query_var('taxonomy');
5494
5495
5496 $term = get_query_var( 'term' );
5497 $term_data = get_term_by('slug', $term, $taxonmy);
5498 $place_id =$term_data->term_id;
5499 $category_attach_id ='';
5500 $category_tax ='';
5501 $category_featured_image ='';
5502 $category_name ='';
5503 $category_featured_image_url ='';
5504 $term_meta = get_option( "taxonomy_$place_id");
5505 $category_tagline ='';
5506 $page_tax ='';
5507
5508 if(isset($term_meta['category_featured_image'])){
5509 $category_featured_image=$term_meta['category_featured_image'];
5510 }
5511
5512 if(isset($term_meta['category_attach_id'])){
5513 $category_attach_id=$term_meta['category_attach_id'];
5514 $category_featured_image= wp_get_attachment_image_src( $category_attach_id, 'full');
5515 $category_featured_image_url=$category_featured_image[0];
5516 }
5517
5518 if(isset($term_meta['category_tax'])){
5519 $category_tax=$term_meta['category_tax'];
5520 $term= get_term( $place_id, $category_tax);
5521 $category_name=$term->name;
5522 }
5523
5524 if(isset($term_meta['category_tagline'])){
5525 $category_tagline=stripslashes ( $term_meta['category_tagline'] );
5526 }
5527
5528 if(isset($term_meta['page_tax'])){
5529 $page_tax=$term_meta['page_tax'];
5530 }
5531
5532
5533
5534 print '<div class="listing_main_image" id="listing_main_image_photo" style="background-image: url('.$category_featured_image_url.')">';
5535 print '<h1 class="entry-title entry-tax">'.$term_data->name.'</h1>';
5536 print '<div class="tax_tagline">'.$category_tagline.'</div>';
5537 print '<div class="img-overlay"></div>';
5538 print '</div>';
5539
5540}
5541endif;
5542
5543
5544if (!function_exists('wpestate_font_awesome_list')):
5545function wpestate_font_awesome_list(){
5546 print '<div class="iconpicker-items_wrapper">';
5547 print '<div class="iconpicker-items_wrapper_close">x</div>';
5548 print '<input type="text" id="icon_look_for" class="icon_look_for_class" value="" placeholder="'.esc_html__('Type to Search','wprentals').'">';
5549 print '<div class="iconpicker-items"><a role="button" href="#" class="iconpicker-item" title=".fab fa-500px"><i class="fab fa-500px"></i></a><a role="button" href="#" class="iconpicker-item" title=".fab fa-accessible-icon" data-search-terms="accessibility wheelchair handicap person wheelchair-alt "><i class="fab fa-accessible-icon"></i></a><a role="button" href="#" class="iconpicker-item" title=".fab fa-accusoft"><i class="fab fa-accusoft"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-address-book"><i class="fas fa-address-book"></i></a><a role="button" href="#" class="iconpicker-item" title=".far fa-address-book"><i class="far fa-address-book"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-address-card"><i class="fas fa-address-card"></i></a><a role="button" href="#" class="iconpicker-item" title=".far fa-address-card"><i class="far fa-address-card"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-adjust" data-search-terms="contrast "><i class="fas fa-adjust"></i></a><a role="button" href="#" class="iconpicker-item" title=".fab fa-adn"><i class="fab fa-adn"></i></a><a role="button" href="#" class="iconpicker-item" title=".fab fa-adversal"><i class="fab fa-adversal"></i></a><a role="button" href="#" class="iconpicker-item" title=".fab fa-affiliatetheme"><i class="fab fa-affiliatetheme"></i></a><a role="button" href="#" class="iconpicker-item" title=".fab fa-algolia"><i class="fab fa-algolia"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-align-center" data-search-terms="middle text "><i class="fas fa-align-center"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-align-justify" data-search-terms="text "><i class="fas fa-align-justify"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-align-left" data-search-terms="text "><i class="fas fa-align-left"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-align-right" data-search-terms="text "><i class="fas fa-align-right"></i></a><a role="button" href="#" class="iconpicker-item" title=".fab fa-amazon"><i class="fab fa-amazon"></i></a><a role="button" href="#" class="iconpicker-item" title=".fab fa-amazon-pay"><i class="fab fa-amazon-pay"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-ambulance" data-search-terms="vehicle support help "><i class="fas fa-ambulance"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-american-sign-language-interpreting"><i class="fas fa-american-sign-language-interpreting"></i></a><a role="button" href="#" class="iconpicker-item" title=".fab fa-amilia"><i class="fab fa-amilia"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-anchor" data-search-terms="link "><i class="fas fa-anchor"></i></a><a role="button" href="#" class="iconpicker-item" title=".fab fa-android" data-search-terms="robot "><i class="fab fa-android"></i></a><a role="button" href="#" class="iconpicker-item" title=".fab fa-angellist"><i class="fab fa-angellist"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-angle-double-down" data-search-terms="arrows "><i class="fas fa-angle-double-down"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-angle-double-left" data-search-terms="laquo quote previous back arrows "><i class="fas fa-angle-double-left"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-angle-double-right" data-search-terms="raquo quote next forward arrows "><i class="fas fa-angle-double-right"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-angle-double-up" data-search-terms="arrows "><i class="fas fa-angle-double-up"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-angle-down" data-search-terms="arrow "><i class="fas fa-angle-down"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-angle-left" data-search-terms="previous back arrow "><i class="fas fa-angle-left"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-angle-right" data-search-terms="next forward arrow "><i class="fas fa-angle-right"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-angle-up" data-search-terms="arrow "><i class="fas fa-angle-up"></i></a><a role="button" href="#" class="iconpicker-item" title=".fab fa-angrycreative"><i class="fab fa-angrycreative"></i></a><a role="button" href="#" class="iconpicker-item" title=".fab fa-angular"><i class="fab fa-angular"></i></a><a role="button" href="#" class="iconpicker-item" title=".fab fa-app-store"><i class="fab fa-app-store"></i></a><a role="button" href="#" class="iconpicker-item" title=".fab fa-app-store-ios"><i class="fab fa-app-store-ios"></i></a><a role="button" href="#" class="iconpicker-item" title=".fab fa-apper"><i class="fab fa-apper"></i></a><a role="button" href="#" class="iconpicker-item" title=".fab fa-apple" data-search-terms="osx food "><i class="fab fa-apple"></i></a><a role="button" href="#" class="iconpicker-item" title=".fab fa-apple-pay"><i class="fab fa-apple-pay"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-archive" data-search-terms="box storage package "><i class="fas fa-archive"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-arrow-alt-circle-down" data-search-terms="download arrow-circle-o-down "><i class="fas fa-arrow-alt-circle-down"></i></a><a role="button" href="#" class="iconpicker-item" title=".far fa-arrow-alt-circle-down" data-search-terms="download arrow-circle-o-down "><i class="far fa-arrow-alt-circle-down"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-arrow-alt-circle-left" data-search-terms="previous back arrow-circle-o-left "><i class="fas fa-arrow-alt-circle-left"></i></a><a role="button" href="#" class="iconpicker-item" title=".far fa-arrow-alt-circle-left" data-search-terms="previous back arrow-circle-o-left "><i class="far fa-arrow-alt-circle-left"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-arrow-alt-circle-right" data-search-terms="next forward arrow-circle-o-right "><i class="fas fa-arrow-alt-circle-right"></i></a><a role="button" href="#" class="iconpicker-item" title=".far fa-arrow-alt-circle-right" data-search-terms="next forward arrow-circle-o-right "><i class="far fa-arrow-alt-circle-right"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-arrow-alt-circle-up" data-search-terms="arrow-circle-o-up "><i class="fas fa-arrow-alt-circle-up"></i></a><a role="button" href="#" class="iconpicker-item" title=".far fa-arrow-alt-circle-up" data-search-terms="arrow-circle-o-up "><i class="far fa-arrow-alt-circle-up"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-arrow-circle-down" data-search-terms="download "><i class="fas fa-arrow-circle-down"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-arrow-circle-left" data-search-terms="previous back "><i class="fas fa-arrow-circle-left"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-arrow-circle-right" data-search-terms="next forward "><i class="fas fa-arrow-circle-right"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-arrow-circle-up"><i class="fas fa-arrow-circle-up"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-arrow-down" data-search-terms="download "><i class="fas fa-arrow-down"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-arrow-left" data-search-terms="previous back "><i class="fas fa-arrow-left"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-arrow-right" data-search-terms="next forward "><i class="fas fa-arrow-right"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-arrow-up"><i class="fas fa-arrow-up"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-arrows-alt" data-search-terms="expand enlarge fullscreen bigger move reorder resize arrow arrows "><i class="fas fa-arrows-alt"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-arrows-alt-h" data-search-terms="resize arrows-h "><i class="fas fa-arrows-alt-h"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-arrows-alt-v" data-search-terms="resize arrows-v "><i class="fas fa-arrows-alt-v"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-assistive-listening-systems"><i class="fas fa-assistive-listening-systems"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-asterisk" data-search-terms="details "><i class="fas fa-asterisk"></i></a><a role="button" href="#" class="iconpicker-item" title=".fab fa-asymmetrik"><i class="fab fa-asymmetrik"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-at" data-search-terms="email e-mail "><i class="fas fa-at"></i></a><a role="button" href="#" class="iconpicker-item" title=".fab fa-audible"><i class="fab fa-audible"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-audio-description"><i class="fas fa-audio-description"></i></a><a role="button" href="#" class="iconpicker-item" title=".fab fa-autoprefixer"><i class="fab fa-autoprefixer"></i></a><a role="button" href="#" class="iconpicker-item" title=".fab fa-avianex"><i class="fab fa-avianex"></i></a><a role="button" href="#" class="iconpicker-item" title=".fab fa-aviato"><i class="fab fa-aviato"></i></a><a role="button" href="#" class="iconpicker-item" title=".fab fa-aws"><i class="fab fa-aws"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-backward" data-search-terms="rewind previous "><i class="fas fa-backward"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-balance-scale"><i class="fas fa-balance-scale"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-ban" data-search-terms="delete remove trash hide block stop abort cancel ban prohibit "><i class="fas fa-ban"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-band-aid" data-search-terms="bandage ouch boo boo "><i class="fas fa-band-aid"></i></a><a role="button" href="#" class="iconpicker-item" title=".fab fa-bandcamp"><i class="fab fa-bandcamp"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-barcode" data-search-terms="scan "><i class="fas fa-barcode"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-bars" data-search-terms="menu drag reorder settings list ul ol checklist todo list hamburger "><i class="fas fa-bars"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-baseball-ball"><i class="fas fa-baseball-ball"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-basketball-ball"><i class="fas fa-basketball-ball"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-bath"><i class="fas fa-bath"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-battery-empty" data-search-terms="power status "><i class="fas fa-battery-empty"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-battery-full" data-search-terms="power status "><i class="fas fa-battery-full"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-battery-half" data-search-terms="power status "><i class="fas fa-battery-half"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-battery-quarter" data-search-terms="power status "><i class="fas fa-battery-quarter"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-battery-three-quarters" data-search-terms="power status "><i class="fas fa-battery-three-quarters"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-bed" data-search-terms="travel "><i class="fas fa-bed"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-beer" data-search-terms="alcohol stein drink mug bar liquor "><i class="fas fa-beer"></i></a><a role="button" href="#" class="iconpicker-item" title=".fab fa-behance"><i class="fab fa-behance"></i></a><a role="button" href="#" class="iconpicker-item" title=".fab fa-behance-square"><i class="fab fa-behance-square"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-bell" data-search-terms="alert reminder notification "><i class="fas fa-bell"></i></a><a role="button" href="#" class="iconpicker-item" title=".far fa-bell" data-search-terms="alert reminder notification "><i class="far fa-bell"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-bell-slash"><i class="fas fa-bell-slash"></i></a><a role="button" href="#" class="iconpicker-item" title=".far fa-bell-slash"><i class="far fa-bell-slash"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-bicycle" data-search-terms="vehicle bike gears "><i class="fas fa-bicycle"></i></a><a role="button" href="#" class="iconpicker-item" title=".fab fa-bimobject"><i class="fab fa-bimobject"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-binoculars"><i class="fas fa-binoculars"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-birthday-cake"><i class="fas fa-birthday-cake"></i></a><a role="button" href="#" class="iconpicker-item" title=".fab fa-bitbucket" data-search-terms="git bitbucket-square "><i class="fab fa-bitbucket"></i></a><a role="button" href="#" class="iconpicker-item" title=".fab fa-bitcoin"><i class="fab fa-bitcoin"></i></a><a role="button" href="#" class="iconpicker-item" title=".fab fa-bity"><i class="fab fa-bity"></i></a><a role="button" href="#" class="iconpicker-item" title=".fab fa-black-tie"><i class="fab fa-black-tie"></i></a><a role="button" href="#" class="iconpicker-item" title=".fab fa-blackberry"><i class="fab fa-blackberry"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-blind"><i class="fas fa-blind"></i></a><a role="button" href="#" class="iconpicker-item" title=".fab fa-blogger"><i class="fab fa-blogger"></i></a><a role="button" href="#" class="iconpicker-item" title=".fab fa-blogger-b"><i class="fab fa-blogger-b"></i></a><a role="button" href="#" class="iconpicker-item" title=".fab fa-bluetooth"><i class="fab fa-bluetooth"></i></a><a role="button" href="#" class="iconpicker-item" title=".fab fa-bluetooth-b"><i class="fab fa-bluetooth-b"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-bold"><i class="fas fa-bold"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-bolt" data-search-terms="lightning weather "><i class="fas fa-bolt"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-bomb"><i class="fas fa-bomb"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-book" data-search-terms="read documentation "><i class="fas fa-book"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-bookmark" data-search-terms="save "><i class="fas fa-bookmark"></i></a><a role="button" href="#" class="iconpicker-item" title=".far fa-bookmark" data-search-terms="save "><i class="far fa-bookmark"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-bowling-ball"><i class="fas fa-bowling-ball"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-box"><i class="fas fa-box"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-boxes"><i class="fas fa-boxes"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-braille"><i class="fas fa-braille"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-briefcase" data-search-terms="work business office luggage bag "><i class="fas fa-briefcase"></i></a><a role="button" href="#" class="iconpicker-item" title=".fab fa-btc"><i class="fab fa-btc"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-bug" data-search-terms="report insect "><i class="fas fa-bug"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-building" data-search-terms="work business apartment office company "><i class="fas fa-building"></i></a><a role="button" href="#" class="iconpicker-item" title=".far fa-building" data-search-terms="work business apartment office company "><i class="far fa-building"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-bullhorn" data-search-terms="announcement share broadcast louder megaphone "><i class="fas fa-bullhorn"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-bullseye" data-search-terms="target "><i class="fas fa-bullseye"></i></a><a role="button" href="#" class="iconpicker-item" title=".fab fa-buromobelexperte"><i class="fab fa-buromobelexperte"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-bus" data-search-terms="vehicle "><i class="fas fa-bus"></i></a><a role="button" href="#" class="iconpicker-item" title=".fab fa-buysellads"><i class="fab fa-buysellads"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-calculator"><i class="fas fa-calculator"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-calendar" data-search-terms="date time when event calendar-o "><i class="fas fa-calendar"></i></a><a role="button" href="#" class="iconpicker-item iconpicker-selected bg-primary" title=".far fa-calendar" data-search-terms="date time when event calendar-o "><i class="far fa-calendar"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-calendar-alt" data-search-terms="date time when event calendar "><i class="fas fa-calendar-alt"></i></a><a role="button" href="#" class="iconpicker-item" title=".far fa-calendar-alt" data-search-terms="date time when event calendar "><i class="far fa-calendar-alt"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-calendar-check" data-search-terms="ok "><i class="fas fa-calendar-check"></i></a><a role="button" href="#" class="iconpicker-item" title=".far fa-calendar-check" data-search-terms="ok "><i class="far fa-calendar-check"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-calendar-minus"><i class="fas fa-calendar-minus"></i></a><a role="button" href="#" class="iconpicker-item" title=".far fa-calendar-minus"><i class="far fa-calendar-minus"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-calendar-plus"><i class="fas fa-calendar-plus"></i></a><a role="button" href="#" class="iconpicker-item" title=".far fa-calendar-plus"><i class="far fa-calendar-plus"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-calendar-times"><i class="fas fa-calendar-times"></i></a><a role="button" href="#" class="iconpicker-item" title=".far fa-calendar-times"><i class="far fa-calendar-times"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-camera" data-search-terms="photo picture record "><i class="fas fa-camera"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-camera-retro" data-search-terms="photo picture record "><i class="fas fa-camera-retro"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-car" data-search-terms="vehicle "><i class="fas fa-car"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-caret-down" data-search-terms="more dropdown menu triangle down arrow "><i class="fas fa-caret-down"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-caret-left" data-search-terms="previous back triangle left arrow "><i class="fas fa-caret-left"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-caret-right" data-search-terms="next forward triangle right arrow "><i class="fas fa-caret-right"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-caret-square-down" data-search-terms="more dropdown menu caret-square-o-down "><i class="fas fa-caret-square-down"></i></a><a role="button" href="#" class="iconpicker-item" title=".far fa-caret-square-down" data-search-terms="more dropdown menu caret-square-o-down "><i class="far fa-caret-square-down"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-caret-square-left" data-search-terms="previous back caret-square-o-left "><i class="fas fa-caret-square-left"></i></a><a role="button" href="#" class="iconpicker-item" title=".far fa-caret-square-left" data-search-terms="previous back caret-square-o-left "><i class="far fa-caret-square-left"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-caret-square-right" data-search-terms="next forward caret-square-o-right "><i class="fas fa-caret-square-right"></i></a><a role="button" href="#" class="iconpicker-item" title=".far fa-caret-square-right" data-search-terms="next forward caret-square-o-right "><i class="far fa-caret-square-right"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-caret-square-up" data-search-terms="caret-square-o-up "><i class="fas fa-caret-square-up"></i></a><a role="button" href="#" class="iconpicker-item" title=".far fa-caret-square-up" data-search-terms="caret-square-o-up "><i class="far fa-caret-square-up"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-caret-up" data-search-terms="triangle up arrow "><i class="fas fa-caret-up"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-cart-arrow-down" data-search-terms="shopping "><i class="fas fa-cart-arrow-down"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-cart-plus" data-search-terms="add shopping "><i class="fas fa-cart-plus"></i></a><a role="button" href="#" class="iconpicker-item" title=".fab fa-cc-amazon-pay"><i class="fab fa-cc-amazon-pay"></i></a><a role="button" href="#" class="iconpicker-item" title=".fab fa-cc-amex" data-search-terms="amex "><i class="fab fa-cc-amex"></i></a><a role="button" href="#" class="iconpicker-item" title=".fab fa-cc-apple-pay"><i class="fab fa-cc-apple-pay"></i></a><a role="button" href="#" class="iconpicker-item" title=".fab fa-cc-diners-club"><i class="fab fa-cc-diners-club"></i></a><a role="button" href="#" class="iconpicker-item" title=".fab fa-cc-discover"><i class="fab fa-cc-discover"></i></a><a role="button" href="#" class="iconpicker-item" title=".fab fa-cc-jcb"><i class="fab fa-cc-jcb"></i></a><a role="button" href="#" class="iconpicker-item" title=".fab fa-cc-mastercard"><i class="fab fa-cc-mastercard"></i></a><a role="button" href="#" class="iconpicker-item" title=".fab fa-cc-paypal"><i class="fab fa-cc-paypal"></i></a><a role="button" href="#" class="iconpicker-item" title=".fab fa-cc-stripe"><i class="fab fa-cc-stripe"></i></a><a role="button" href="#" class="iconpicker-item" title=".fab fa-cc-visa"><i class="fab fa-cc-visa"></i></a><a role="button" href="#" class="iconpicker-item" title=".fab fa-centercode"><i class="fab fa-centercode"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-certificate" data-search-terms="badge star "><i class="fas fa-certificate"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-chart-area" data-search-terms="graph analytics area-chart "><i class="fas fa-chart-area"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-chart-bar" data-search-terms="graph analytics bar-chart "><i class="fas fa-chart-bar"></i></a><a role="button" href="#" class="iconpicker-item" title=".far fa-chart-bar" data-search-terms="graph analytics bar-chart "><i class="far fa-chart-bar"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-chart-line" data-search-terms="graph analytics line-chart dashboard "><i class="fas fa-chart-line"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-chart-pie" data-search-terms="graph analytics pie-chart "><i class="fas fa-chart-pie"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-check" data-search-terms="checkmark done todo agree accept confirm tick ok select "><i class="fas fa-check"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-check-circle" data-search-terms="todo done agree accept confirm ok select "><i class="fas fa-check-circle"></i></a><a role="button" href="#" class="iconpicker-item" title=".far fa-check-circle" data-search-terms="todo done agree accept confirm ok select "><i class="far fa-check-circle"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-check-square" data-search-terms="checkmark done todo agree accept confirm ok select "><i class="fas fa-check-square"></i></a><a role="button" href="#" class="iconpicker-item" title=".far fa-check-square" data-search-terms="checkmark done todo agree accept confirm ok select "><i class="far fa-check-square"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-chess"><i class="fas fa-chess"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-chess-bishop"><i class="fas fa-chess-bishop"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-chess-board"><i class="fas fa-chess-board"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-chess-king"><i class="fas fa-chess-king"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-chess-knight"><i class="fas fa-chess-knight"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-chess-pawn"><i class="fas fa-chess-pawn"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-chess-queen"><i class="fas fa-chess-queen"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-chess-rook"><i class="fas fa-chess-rook"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-chevron-circle-down" data-search-terms="more dropdown menu arrow "><i class="fas fa-chevron-circle-down"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-chevron-circle-left" data-search-terms="previous back arrow "><i class="fas fa-chevron-circle-left"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-chevron-circle-right" data-search-terms="next forward arrow "><i class="fas fa-chevron-circle-right"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-chevron-circle-up" data-search-terms="arrow "><i class="fas fa-chevron-circle-up"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-chevron-down"><i class="fas fa-chevron-down"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-chevron-left" data-search-terms="bracket previous back "><i class="fas fa-chevron-left"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-chevron-right" data-search-terms="bracket next forward "><i class="fas fa-chevron-right"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-chevron-up"><i class="fas fa-chevron-up"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-child"><i class="fas fa-child"></i></a><a role="button" href="#" class="iconpicker-item" title=".fab fa-chrome" data-search-terms="browser "><i class="fab fa-chrome"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-circle" data-search-terms="dot notification circle-thin "><i class="fas fa-circle"></i></a><a role="button" href="#" class="iconpicker-item" title=".far fa-circle" data-search-terms="dot notification circle-thin "><i class="far fa-circle"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-circle-notch" data-search-terms="circle-o-notch "><i class="fas fa-circle-notch"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-clipboard" data-search-terms="paste "><i class="fas fa-clipboard"></i></a><a role="button" href="#" class="iconpicker-item" title=".far fa-clipboard" data-search-terms="paste "><i class="far fa-clipboard"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-clipboard-check"><i class="fas fa-clipboard-check"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-clipboard-list"><i class="fas fa-clipboard-list"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-clock" data-search-terms="watch timer late timestamp date "><i class="fas fa-clock"></i></a><a role="button" href="#" class="iconpicker-item" title=".far fa-clock" data-search-terms="watch timer late timestamp date "><i class="far fa-clock"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-clone" data-search-terms="copy "><i class="fas fa-clone"></i></a><a role="button" href="#" class="iconpicker-item" title=".far fa-clone" data-search-terms="copy "><i class="far fa-clone"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-closed-captioning" data-search-terms="cc "><i class="fas fa-closed-captioning"></i></a><a role="button" href="#" class="iconpicker-item" title=".far fa-closed-captioning" data-search-terms="cc "><i class="far fa-closed-captioning"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-cloud" data-search-terms="save "><i class="fas fa-cloud"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-cloud-download-alt" data-search-terms="cloud-download "><i class="fas fa-cloud-download-alt"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-cloud-upload-alt" data-search-terms="cloud-upload "><i class="fas fa-cloud-upload-alt"></i></a><a role="button" href="#" class="iconpicker-item" title=".fab fa-cloudscale"><i class="fab fa-cloudscale"></i></a><a role="button" href="#" class="iconpicker-item" title=".fab fa-cloudsmith"><i class="fab fa-cloudsmith"></i></a><a role="button" href="#" class="iconpicker-item" title=".fab fa-cloudversify"><i class="fab fa-cloudversify"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-code" data-search-terms="html brackets "><i class="fas fa-code"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-code-branch" data-search-terms="git fork vcs svn github rebase version branch code-fork "><i class="fas fa-code-branch"></i></a><a role="button" href="#" class="iconpicker-item" title=".fab fa-codepen"><i class="fab fa-codepen"></i></a><a role="button" href="#" class="iconpicker-item" title=".fab fa-codiepie"><i class="fab fa-codiepie"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-coffee" data-search-terms="morning mug breakfast tea drink cafe "><i class="fas fa-coffee"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-cog" data-search-terms="settings "><i class="fas fa-cog"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-cogs" data-search-terms="settings gears "><i class="fas fa-cogs"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-columns" data-search-terms="split panes dashboard "><i class="fas fa-columns"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-comment" data-search-terms="speech notification note chat bubble feedback message texting sms conversation "><i class="fas fa-comment"></i></a><a role="button" href="#" class="iconpicker-item" title=".far fa-comment" data-search-terms="speech notification note chat bubble feedback message texting sms conversation "><i class="far fa-comment"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-comment-alt" data-search-terms="speech notification note chat bubble feedback message texting sms conversation commenting commenting "><i class="fas fa-comment-alt"></i></a><a role="button" href="#" class="iconpicker-item" title=".far fa-comment-alt" data-search-terms="speech notification note chat bubble feedback message texting sms conversation commenting commenting "><i class="far fa-comment-alt"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-comments" data-search-terms="speech notification note chat bubble feedback message texting sms conversation "><i class="fas fa-comments"></i></a><a role="button" href="#" class="iconpicker-item" title=".far fa-comments" data-search-terms="speech notification note chat bubble feedback message texting sms conversation "><i class="far fa-comments"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-compass" data-search-terms="safari directory menu location "><i class="fas fa-compass"></i></a><a role="button" href="#" class="iconpicker-item" title=".far fa-compass" data-search-terms="safari directory menu location "><i class="far fa-compass"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-compress" data-search-terms="collapse combine contract merge smaller "><i class="fas fa-compress"></i></a><a role="button" href="#" class="iconpicker-item" title=".fab fa-connectdevelop"><i class="fab fa-connectdevelop"></i></a><a role="button" href="#" class="iconpicker-item" title=".fab fa-contao"><i class="fab fa-contao"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-copy" data-search-terms="duplicate clone file files-o "><i class="fas fa-copy"></i></a><a role="button" href="#" class="iconpicker-item" title=".far fa-copy" data-search-terms="duplicate clone file files-o "><i class="far fa-copy"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-copyright"><i class="fas fa-copyright"></i></a><a role="button" href="#" class="iconpicker-item" title=".far fa-copyright"><i class="far fa-copyright"></i></a><a role="button" href="#" class="iconpicker-item" title=".fab fa-cpanel"><i class="fab fa-cpanel"></i></a><a role="button" href="#" class="iconpicker-item" title=".fab fa-creative-commons"><i class="fab fa-creative-commons"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-credit-card" data-search-terms="money buy debit checkout purchase payment credit-card-alt "><i class="fas fa-credit-card"></i></a><a role="button" href="#" class="iconpicker-item" title=".far fa-credit-card" data-search-terms="money buy debit checkout purchase payment credit-card-alt "><i class="far fa-credit-card"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-crop" data-search-terms="design "><i class="fas fa-crop"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-crosshairs" data-search-terms="picker gpd "><i class="fas fa-crosshairs"></i></a><a role="button" href="#" class="iconpicker-item" title=".fab fa-css3" data-search-terms="code "><i class="fab fa-css3"></i></a><a role="button" href="#" class="iconpicker-item" title=".fab fa-css3-alt"><i class="fab fa-css3-alt"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-cube" data-search-terms="package "><i class="fas fa-cube"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-cubes" data-search-terms="packages "><i class="fas fa-cubes"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-cut" data-search-terms="scissors scissors "><i class="fas fa-cut"></i></a><a role="button" href="#" class="iconpicker-item" title=".fab fa-cuttlefish"><i class="fab fa-cuttlefish"></i></a><a role="button" href="#" class="iconpicker-item" title=".fab fa-d-and-d"><i class="fab fa-d-and-d"></i></a><a role="button" href="#" class="iconpicker-item" title=".fab fa-dashcube"><i class="fab fa-dashcube"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-database"><i class="fas fa-database"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-deaf"><i class="fas fa-deaf"></i></a><a role="button" href="#" class="iconpicker-item" title=".fab fa-delicious"><i class="fab fa-delicious"></i></a><a role="button" href="#" class="iconpicker-item" title=".fab fa-deploydog"><i class="fab fa-deploydog"></i></a><a role="button" href="#" class="iconpicker-item" title=".fab fa-deskpro"><i class="fab fa-deskpro"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-desktop" data-search-terms="monitor screen desktop computer demo device pc "><i class="fas fa-desktop"></i></a><a role="button" href="#" class="iconpicker-item" title=".fab fa-deviantart"><i class="fab fa-deviantart"></i></a><a role="button" href="#" class="iconpicker-item" title=".fab fa-digg"><i class="fab fa-digg"></i></a><a role="button" href="#" class="iconpicker-item" title=".fab fa-digital-ocean"><i class="fab fa-digital-ocean"></i></a><a role="button" href="#" class="iconpicker-item" title=".fab fa-discord"><i class="fab fa-discord"></i></a><a role="button" href="#" class="iconpicker-item" title=".fab fa-discourse"><i class="fab fa-discourse"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-dna" data-search-terms="double helix helix "><i class="fas fa-dna"></i></a><a role="button" href="#" class="iconpicker-item" title=".fab fa-dochub"><i class="fab fa-dochub"></i></a><a role="button" href="#" class="iconpicker-item" title=".fab fa-docker"><i class="fab fa-docker"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-dollar-sign" data-search-terms="usd price "><i class="fas fa-dollar-sign"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-dolly"><i class="fas fa-dolly"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-dolly-flatbed"><i class="fas fa-dolly-flatbed"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-dot-circle" data-search-terms="target bullseye notification "><i class="fas fa-dot-circle"></i></a><a role="button" href="#" class="iconpicker-item" title=".far fa-dot-circle" data-search-terms="target bullseye notification "><i class="far fa-dot-circle"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-download" data-search-terms="import "><i class="fas fa-download"></i></a><a role="button" href="#" class="iconpicker-item" title=".fab fa-draft2digital"><i class="fab fa-draft2digital"></i></a><a role="button" href="#" class="iconpicker-item" title=".fab fa-dribbble"><i class="fab fa-dribbble"></i></a><a role="button" href="#" class="iconpicker-item" title=".fab fa-dribbble-square"><i class="fab fa-dribbble-square"></i></a><a role="button" href="#" class="iconpicker-item" title=".fab fa-dropbox"><i class="fab fa-dropbox"></i></a><a role="button" href="#" class="iconpicker-item" title=".fab fa-drupal"><i class="fab fa-drupal"></i></a><a role="button" href="#" class="iconpicker-item" title=".fab fa-dyalog"><i class="fab fa-dyalog"></i></a><a role="button" href="#" class="iconpicker-item" title=".fab fa-earlybirds"><i class="fab fa-earlybirds"></i></a><a role="button" href="#" class="iconpicker-item" title=".fab fa-edge" data-search-terms="browser ie "><i class="fab fa-edge"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-edit" data-search-terms="write edit update pencil pen "><i class="fas fa-edit"></i></a><a role="button" href="#" class="iconpicker-item" title=".far fa-edit" data-search-terms="write edit update pencil pen "><i class="far fa-edit"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-eject"><i class="fas fa-eject"></i></a><a role="button" href="#" class="iconpicker-item" title=".fab fa-elementor"><i class="fab fa-elementor"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-ellipsis-h" data-search-terms="dots "><i class="fas fa-ellipsis-h"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-ellipsis-v" data-search-terms="dots "><i class="fas fa-ellipsis-v"></i></a><a role="button" href="#" class="iconpicker-item" title=".fab fa-ember"><i class="fab fa-ember"></i></a><a role="button" href="#" class="iconpicker-item" title=".fab fa-empire"><i class="fab fa-empire"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-envelope" data-search-terms="email e-mail letter support mail message notification "><i class="fas fa-envelope"></i></a><a role="button" href="#" class="iconpicker-item" title=".far fa-envelope" data-search-terms="email e-mail letter support mail message notification "><i class="far fa-envelope"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-envelope-open" data-search-terms="email e-mail letter support mail message notification "><i class="fas fa-envelope-open"></i></a><a role="button" href="#" class="iconpicker-item" title=".far fa-envelope-open" data-search-terms="email e-mail letter support mail message notification "><i class="far fa-envelope-open"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-envelope-square" data-search-terms="email e-mail letter support mail message notification "><i class="fas fa-envelope-square"></i></a><a role="button" href="#" class="iconpicker-item" title=".fab fa-envira" data-search-terms="leaf "><i class="fab fa-envira"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-eraser" data-search-terms="remove delete "><i class="fas fa-eraser"></i></a><a role="button" href="#" class="iconpicker-item" title=".fab fa-erlang"><i class="fab fa-erlang"></i></a><a role="button" href="#" class="iconpicker-item" title=".fab fa-ethereum"><i class="fab fa-ethereum"></i></a><a role="button" href="#" class="iconpicker-item" title=".fab fa-etsy"><i class="fab fa-etsy"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-euro-sign" data-search-terms="eur eur "><i class="fas fa-euro-sign"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-exchange-alt" data-search-terms="transfer arrows arrow exchange swap "><i class="fas fa-exchange-alt"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-exclamation" data-search-terms="warning error problem notification notify alert danger "><i class="fas fa-exclamation"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-exclamation-circle" data-search-terms="warning error problem notification notify alert danger "><i class="fas fa-exclamation-circle"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-exclamation-triangle" data-search-terms="warning error problem notification notify alert danger "><i class="fas fa-exclamation-triangle"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-expand" data-search-terms="enlarge bigger resize "><i class="fas fa-expand"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-expand-arrows-alt" data-search-terms="enlarge bigger resize move arrows-alt "><i class="fas fa-expand-arrows-alt"></i></a><a role="button" href="#" class="iconpicker-item" title=".fab fa-expeditedssl"><i class="fab fa-expeditedssl"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-external-link-alt" data-search-terms="open new external-link "><i class="fas fa-external-link-alt"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-external-link-square-alt" data-search-terms="open new external-link-square "><i class="fas fa-external-link-square-alt"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-eye" data-search-terms="show visible views "><i class="fas fa-eye"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-eye-dropper" data-search-terms="eyedropper "><i class="fas fa-eye-dropper"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-eye-slash" data-search-terms="toggle show hide visible visiblity views "><i class="fas fa-eye-slash"></i></a><a role="button" href="#" class="iconpicker-item" title=".far fa-eye-slash" data-search-terms="toggle show hide visible visiblity views "><i class="far fa-eye-slash"></i></a><a role="button" href="#" class="iconpicker-item" title=".fab fa-facebook" data-search-terms="social network facebook-official "><i class="fab fa-facebook"></i></a><a role="button" href="#" class="iconpicker-item" title=".fab fa-facebook-f" data-search-terms="facebook "><i class="fab fa-facebook-f"></i></a><a role="button" href="#" class="iconpicker-item" title=".fab fa-facebook-messenger"><i class="fab fa-facebook-messenger"></i></a><a role="button" href="#" class="iconpicker-item" title=".fab fa-facebook-square" data-search-terms="social network "><i class="fab fa-facebook-square"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-fast-backward" data-search-terms="rewind previous beginning start first "><i class="fas fa-fast-backward"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-fast-forward" data-search-terms="next end last "><i class="fas fa-fast-forward"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-fax"><i class="fas fa-fax"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-female" data-search-terms="woman human user person profile "><i class="fas fa-female"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-fighter-jet" data-search-terms="fly plane airplane quick fast travel "><i class="fas fa-fighter-jet"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-file" data-search-terms="new page pdf document "><i class="fas fa-file"></i></a><a role="button" href="#" class="iconpicker-item" title=".far fa-file" data-search-terms="new page pdf document "><i class="far fa-file"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-file-alt" data-search-terms="new page pdf document file-text "><i class="fas fa-file-alt"></i></a><a role="button" href="#" class="iconpicker-item" title=".far fa-file-alt" data-search-terms="new page pdf document file-text "><i class="far fa-file-alt"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-file-archive"><i class="fas fa-file-archive"></i></a><a role="button" href="#" class="iconpicker-item" title=".far fa-file-archive"><i class="far fa-file-archive"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-file-audio"><i class="fas fa-file-audio"></i></a><a role="button" href="#" class="iconpicker-item" title=".far fa-file-audio"><i class="far fa-file-audio"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-file-code"><i class="fas fa-file-code"></i></a><a role="button" href="#" class="iconpicker-item" title=".far fa-file-code"><i class="far fa-file-code"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-file-excel"><i class="fas fa-file-excel"></i></a><a role="button" href="#" class="iconpicker-item" title=".far fa-file-excel"><i class="far fa-file-excel"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-file-image"><i class="fas fa-file-image"></i></a><a role="button" href="#" class="iconpicker-item" title=".far fa-file-image"><i class="far fa-file-image"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-file-pdf"><i class="fas fa-file-pdf"></i></a><a role="button" href="#" class="iconpicker-item" title=".far fa-file-pdf"><i class="far fa-file-pdf"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-file-powerpoint"><i class="fas fa-file-powerpoint"></i></a><a role="button" href="#" class="iconpicker-item" title=".far fa-file-powerpoint"><i class="far fa-file-powerpoint"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-file-video"><i class="fas fa-file-video"></i></a><a role="button" href="#" class="iconpicker-item" title=".far fa-file-video"><i class="far fa-file-video"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-file-word"><i class="fas fa-file-word"></i></a><a role="button" href="#" class="iconpicker-item" title=".far fa-file-word"><i class="far fa-file-word"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-film" data-search-terms="movie "><i class="fas fa-film"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-filter" data-search-terms="funnel options "><i class="fas fa-filter"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-fire" data-search-terms="flame hot popular "><i class="fas fa-fire"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-fire-extinguisher"><i class="fas fa-fire-extinguisher"></i></a><a role="button" href="#" class="iconpicker-item" title=".fab fa-firefox" data-search-terms="browser "><i class="fab fa-firefox"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-first-aid"><i class="fas fa-first-aid"></i></a><a role="button" href="#" class="iconpicker-item" title=".fab fa-first-order"><i class="fab fa-first-order"></i></a><a role="button" href="#" class="iconpicker-item" title=".fab fa-firstdraft"><i class="fab fa-firstdraft"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-flag" data-search-terms="report notification notify "><i class="fas fa-flag"></i></a><a role="button" href="#" class="iconpicker-item" title=".far fa-flag" data-search-terms="report notification notify "><i class="far fa-flag"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-flag-checkered" data-search-terms="report notification notify "><i class="fas fa-flag-checkered"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-flask" data-search-terms="science beaker experimental labs "><i class="fas fa-flask"></i></a><a role="button" href="#" class="iconpicker-item" title=".fab fa-flickr"><i class="fab fa-flickr"></i></a><a role="button" href="#" class="iconpicker-item" title=".fab fa-flipboard"><i class="fab fa-flipboard"></i></a><a role="button" href="#" class="iconpicker-item" title=".fab fa-fly"><i class="fab fa-fly"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-folder"><i class="fas fa-folder"></i></a><a role="button" href="#" class="iconpicker-item" title=".far fa-folder"><i class="far fa-folder"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-folder-open"><i class="fas fa-folder-open"></i></a><a role="button" href="#" class="iconpicker-item" title=".far fa-folder-open"><i class="far fa-folder-open"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-font" data-search-terms="text "><i class="fas fa-font"></i></a><a role="button" href="#" class="iconpicker-item" title=".fab fa-font-awesome" data-search-terms="meanpath "><i class="fab fa-font-awesome"></i></a><a role="button" href="#" class="iconpicker-item" title=".fab fa-font-awesome-alt"><i class="fab fa-font-awesome-alt"></i></a><a role="button" href="#" class="iconpicker-item" title=".fab fa-font-awesome-flag"><i class="fab fa-font-awesome-flag"></i></a><a role="button" href="#" class="iconpicker-item" title=".fab fa-fonticons"><i class="fab fa-fonticons"></i></a><a role="button" href="#" class="iconpicker-item" title=".fab fa-fonticons-fi"><i class="fab fa-fonticons-fi"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-football-ball"><i class="fas fa-football-ball"></i></a><a role="button" href="#" class="iconpicker-item" title=".fab fa-fort-awesome" data-search-terms="castle "><i class="fab fa-fort-awesome"></i></a><a role="button" href="#" class="iconpicker-item" title=".fab fa-fort-awesome-alt" data-search-terms="castle "><i class="fab fa-fort-awesome-alt"></i></a><a role="button" href="#" class="iconpicker-item" title=".fab fa-forumbee"><i class="fab fa-forumbee"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-forward" data-search-terms="forward next "><i class="fas fa-forward"></i></a><a role="button" href="#" class="iconpicker-item" title=".fab fa-foursquare"><i class="fab fa-foursquare"></i></a><a role="button" href="#" class="iconpicker-item" title=".fab fa-free-code-camp"><i class="fab fa-free-code-camp"></i></a><a role="button" href="#" class="iconpicker-item" title=".fab fa-freebsd"><i class="fab fa-freebsd"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-frown" data-search-terms="face emoticon sad disapprove rating "><i class="fas fa-frown"></i></a><a role="button" href="#" class="iconpicker-item" title=".far fa-frown" data-search-terms="face emoticon sad disapprove rating "><i class="far fa-frown"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-futbol"><i class="fas fa-futbol"></i></a><a role="button" href="#" class="iconpicker-item" title=".far fa-futbol"><i class="far fa-futbol"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-gamepad" data-search-terms="controller "><i class="fas fa-gamepad"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-gavel" data-search-terms="judge lawyer opinion hammer "><i class="fas fa-gavel"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-gem" data-search-terms="diamond "><i class="fas fa-gem"></i></a><a role="button" href="#" class="iconpicker-item" title=".far fa-gem" data-search-terms="diamond "><i class="far fa-gem"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-genderless"><i class="fas fa-genderless"></i></a><a role="button" href="#" class="iconpicker-item" title=".fab fa-get-pocket"><i class="fab fa-get-pocket"></i></a><a role="button" href="#" class="iconpicker-item" title=".fab fa-gg"><i class="fab fa-gg"></i></a><a role="button" href="#" class="iconpicker-item" title=".fab fa-gg-circle"><i class="fab fa-gg-circle"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-gift" data-search-terms="present "><i class="fas fa-gift"></i></a><a role="button" href="#" class="iconpicker-item" title=".fab fa-git"><i class="fab fa-git"></i></a><a role="button" href="#" class="iconpicker-item" title=".fab fa-git-square"><i class="fab fa-git-square"></i></a><a role="button" href="#" class="iconpicker-item" title=".fab fa-github" data-search-terms="octocat "><i class="fab fa-github"></i></a><a role="button" href="#" class="iconpicker-item" title=".fab fa-github-alt" data-search-terms="octocat "><i class="fab fa-github-alt"></i></a><a role="button" href="#" class="iconpicker-item" title=".fab fa-github-square" data-search-terms="octocat "><i class="fab fa-github-square"></i></a><a role="button" href="#" class="iconpicker-item" title=".fab fa-gitkraken"><i class="fab fa-gitkraken"></i></a><a role="button" href="#" class="iconpicker-item" title=".fab fa-gitlab" data-search-terms="Axosoft "><i class="fab fa-gitlab"></i></a><a role="button" href="#" class="iconpicker-item" title=".fab fa-gitter"><i class="fab fa-gitter"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-glass-martini" data-search-terms="martini drink bar alcohol liquor glass "><i class="fas fa-glass-martini"></i></a><a role="button" href="#" class="iconpicker-item" title=".fab fa-glide"><i class="fab fa-glide"></i></a><a role="button" href="#" class="iconpicker-item" title=".fab fa-glide-g"><i class="fab fa-glide-g"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-globe" data-search-terms="world planet map place travel earth global translate all language localize location coordinates country gps "><i class="fas fa-globe"></i></a><a role="button" href="#" class="iconpicker-item" title=".fab fa-gofore"><i class="fab fa-gofore"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-golf-ball"><i class="fas fa-golf-ball"></i></a><a role="button" href="#" class="iconpicker-item" title=".fab fa-goodreads"><i class="fab fa-goodreads"></i></a><a role="button" href="#" class="iconpicker-item" title=".fab fa-goodreads-g"><i class="fab fa-goodreads-g"></i></a><a role="button" href="#" class="iconpicker-item" title=".fab fa-google"><i class="fab fa-google"></i></a><a role="button" href="#" class="iconpicker-item" title=".fab fa-google-drive"><i class="fab fa-google-drive"></i></a><a role="button" href="#" class="iconpicker-item" title=".fab fa-google-play"><i class="fab fa-google-play"></i></a><a role="button" href="#" class="iconpicker-item" title=".fab fa-google-plus" data-search-terms="google-plus-circle google-plus-official "><i class="fab fa-google-plus"></i></a><a role="button" href="#" class="iconpicker-item" title=".fab fa-google-plus-g" data-search-terms="social network google-plus "><i class="fab fa-google-plus-g"></i></a><a role="button" href="#" class="iconpicker-item" title=".fab fa-google-plus-square" data-search-terms="social network "><i class="fab fa-google-plus-square"></i></a><a role="button" href="#" class="iconpicker-item" title=".fab fa-google-wallet"><i class="fab fa-google-wallet"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-graduation-cap" data-search-terms="learning school student "><i class="fas fa-graduation-cap"></i></a><a role="button" href="#" class="iconpicker-item" title=".fab fa-gratipay" data-search-terms="heart like favorite love "><i class="fab fa-gratipay"></i></a><a role="button" href="#" class="iconpicker-item" title=".fab fa-grav"><i class="fab fa-grav"></i></a><a role="button" href="#" class="iconpicker-item" title=".fab fa-gripfire"><i class="fab fa-gripfire"></i></a><a role="button" href="#" class="iconpicker-item" title=".fab fa-grunt"><i class="fab fa-grunt"></i></a><a role="button" href="#" class="iconpicker-item" title=".fab fa-gulp"><i class="fab fa-gulp"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-h-square" data-search-terms="hospital hotel "><i class="fas fa-h-square"></i></a><a role="button" href="#" class="iconpicker-item" title=".fab fa-hacker-news"><i class="fab fa-hacker-news"></i></a><a role="button" href="#" class="iconpicker-item" title=".fab fa-hacker-news-square"><i class="fab fa-hacker-news-square"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-hand-lizard"><i class="fas fa-hand-lizard"></i></a><a role="button" href="#" class="iconpicker-item" title=".far fa-hand-lizard"><i class="far fa-hand-lizard"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-hand-paper" data-search-terms="stop "><i class="fas fa-hand-paper"></i></a><a role="button" href="#" class="iconpicker-item" title=".far fa-hand-paper" data-search-terms="stop "><i class="far fa-hand-paper"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-hand-peace"><i class="fas fa-hand-peace"></i></a><a role="button" href="#" class="iconpicker-item" title=".far fa-hand-peace"><i class="far fa-hand-peace"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-hand-point-down" data-search-terms="point finger hand-o-down "><i class="fas fa-hand-point-down"></i></a><a role="button" href="#" class="iconpicker-item" title=".far fa-hand-point-down" data-search-terms="point finger hand-o-down "><i class="far fa-hand-point-down"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-hand-point-left" data-search-terms="point left previous back finger hand-o-left "><i class="fas fa-hand-point-left"></i></a><a role="button" href="#" class="iconpicker-item" title=".far fa-hand-point-left" data-search-terms="point left previous back finger hand-o-left "><i class="far fa-hand-point-left"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-hand-point-right" data-search-terms="point right next forward finger hand-o-right "><i class="fas fa-hand-point-right"></i></a><a role="button" href="#" class="iconpicker-item" title=".far fa-hand-point-right" data-search-terms="point right next forward finger hand-o-right "><i class="far fa-hand-point-right"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-hand-point-up" data-search-terms="point finger hand-o-up "><i class="fas fa-hand-point-up"></i></a><a role="button" href="#" class="iconpicker-item" title=".far fa-hand-point-up" data-search-terms="point finger hand-o-up "><i class="far fa-hand-point-up"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-hand-pointer" data-search-terms="select "><i class="fas fa-hand-pointer"></i></a><a role="button" href="#" class="iconpicker-item" title=".far fa-hand-pointer" data-search-terms="select "><i class="far fa-hand-pointer"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-hand-rock"><i class="fas fa-hand-rock"></i></a><a role="button" href="#" class="iconpicker-item" title=".far fa-hand-rock"><i class="far fa-hand-rock"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-hand-scissors"><i class="fas fa-hand-scissors"></i></a><a role="button" href="#" class="iconpicker-item" title=".far fa-hand-scissors"><i class="far fa-hand-scissors"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-hand-spock"><i class="fas fa-hand-spock"></i></a><a role="button" href="#" class="iconpicker-item" title=".far fa-hand-spock"><i class="far fa-hand-spock"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-handshake"><i class="fas fa-handshake"></i></a><a role="button" href="#" class="iconpicker-item" title=".far fa-handshake"><i class="far fa-handshake"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-hashtag"><i class="fas fa-hashtag"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-hdd" data-search-terms="harddrive hard drive storage save "><i class="fas fa-hdd"></i></a><a role="button" href="#" class="iconpicker-item" title=".far fa-hdd" data-search-terms="harddrive hard drive storage save "><i class="far fa-hdd"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-heading" data-search-terms="header header "><i class="fas fa-heading"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-headphones" data-search-terms="sound listen music audio "><i class="fas fa-headphones"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-heart" data-search-terms="love like favorite "><i class="fas fa-heart"></i></a><a role="button" href="#" class="iconpicker-item" title=".far fa-heart" data-search-terms="love like favorite "><i class="far fa-heart"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-heartbeat" data-search-terms="ekg vital signs "><i class="fas fa-heartbeat"></i></a><a role="button" href="#" class="iconpicker-item" title=".fab fa-hips"><i class="fab fa-hips"></i></a><a role="button" href="#" class="iconpicker-item" title=".fab fa-hire-a-helper"><i class="fab fa-hire-a-helper"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-history"><i class="fas fa-history"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-hockey-puck"><i class="fas fa-hockey-puck"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-home" data-search-terms="main house "><i class="fas fa-home"></i></a><a role="button" href="#" class="iconpicker-item" title=".fab fa-hooli"><i class="fab fa-hooli"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-hospital" data-search-terms="building medical center emergency room "><i class="fas fa-hospital"></i></a><a role="button" href="#" class="iconpicker-item" title=".far fa-hospital" data-search-terms="building medical center emergency room "><i class="far fa-hospital"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-hospital-symbol"><i class="fas fa-hospital-symbol"></i></a><a role="button" href="#" class="iconpicker-item" title=".fab fa-hotjar"><i class="fab fa-hotjar"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-hourglass"><i class="fas fa-hourglass"></i></a><a role="button" href="#" class="iconpicker-item" title=".far fa-hourglass"><i class="far fa-hourglass"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-hourglass-end"><i class="fas fa-hourglass-end"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-hourglass-half"><i class="fas fa-hourglass-half"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-hourglass-start"><i class="fas fa-hourglass-start"></i></a><a role="button" href="#" class="iconpicker-item" title=".fab fa-houzz"><i class="fab fa-houzz"></i></a><a role="button" href="#" class="iconpicker-item" title=".fab fa-html5"><i class="fab fa-html5"></i></a><a role="button" href="#" class="iconpicker-item" title=".fab fa-hubspot"><i class="fab fa-hubspot"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-i-cursor"><i class="fas fa-i-cursor"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-id-badge"><i class="fas fa-id-badge"></i></a><a role="button" href="#" class="iconpicker-item" title=".far fa-id-badge"><i class="far fa-id-badge"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-id-card"><i class="fas fa-id-card"></i></a><a role="button" href="#" class="iconpicker-item" title=".far fa-id-card"><i class="far fa-id-card"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-image" data-search-terms="photo album picture picture "><i class="fas fa-image"></i></a><a role="button" href="#" class="iconpicker-item" title=".far fa-image" data-search-terms="photo album picture picture "><i class="far fa-image"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-images" data-search-terms="photo album picture "><i class="fas fa-images"></i></a><a role="button" href="#" class="iconpicker-item" title=".far fa-images" data-search-terms="photo album picture "><i class="far fa-images"></i></a><a role="button" href="#" class="iconpicker-item" title=".fab fa-imdb"><i class="fab fa-imdb"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-inbox"><i class="fas fa-inbox"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-indent"><i class="fas fa-indent"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-industry" data-search-terms="factory "><i class="fas fa-industry"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-info" data-search-terms="help information more details "><i class="fas fa-info"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-info-circle" data-search-terms="help information more details "><i class="fas fa-info-circle"></i></a><a role="button" href="#" class="iconpicker-item" title=".fab fa-instagram"><i class="fab fa-instagram"></i></a><a role="button" href="#" class="iconpicker-item" title=".fab fa-internet-explorer" data-search-terms="browser ie "><i class="fab fa-internet-explorer"></i></a><a role="button" href="#" class="iconpicker-item" title=".fab fa-ioxhost"><i class="fab fa-ioxhost"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-italic" data-search-terms="italics "><i class="fas fa-italic"></i></a><a role="button" href="#" class="iconpicker-item" title=".fab fa-itunes"><i class="fab fa-itunes"></i></a><a role="button" href="#" class="iconpicker-item" title=".fab fa-itunes-note"><i class="fab fa-itunes-note"></i></a><a role="button" href="#" class="iconpicker-item" title=".fab fa-jenkins"><i class="fab fa-jenkins"></i></a><a role="button" href="#" class="iconpicker-item" title=".fab fa-joget"><i class="fab fa-joget"></i></a><a role="button" href="#" class="iconpicker-item" title=".fab fa-joomla"><i class="fab fa-joomla"></i></a><a role="button" href="#" class="iconpicker-item" title=".fab fa-js"><i class="fab fa-js"></i></a><a role="button" href="#" class="iconpicker-item" title=".fab fa-js-square"><i class="fab fa-js-square"></i></a><a role="button" href="#" class="iconpicker-item" title=".fab fa-jsfiddle"><i class="fab fa-jsfiddle"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-key" data-search-terms="unlock password "><i class="fas fa-key"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-keyboard" data-search-terms="type input "><i class="fas fa-keyboard"></i></a><a role="button" href="#" class="iconpicker-item" title=".far fa-keyboard" data-search-terms="type input "><i class="far fa-keyboard"></i></a><a role="button" href="#" class="iconpicker-item" title=".fab fa-keycdn"><i class="fab fa-keycdn"></i></a><a role="button" href="#" class="iconpicker-item" title=".fab fa-kickstarter"><i class="fab fa-kickstarter"></i></a><a role="button" href="#" class="iconpicker-item" title=".fab fa-kickstarter-k"><i class="fab fa-kickstarter-k"></i></a><a role="button" href="#" class="iconpicker-item" title=".fab fa-korvue"><i class="fab fa-korvue"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-language"><i class="fas fa-language"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-laptop" data-search-terms="demo computer device pc "><i class="fas fa-laptop"></i></a><a role="button" href="#" class="iconpicker-item" title=".fab fa-laravel"><i class="fab fa-laravel"></i></a><a role="button" href="#" class="iconpicker-item" title=".fab fa-lastfm"><i class="fab fa-lastfm"></i></a><a role="button" href="#" class="iconpicker-item" title=".fab fa-lastfm-square"><i class="fab fa-lastfm-square"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-leaf" data-search-terms="eco nature plant "><i class="fas fa-leaf"></i></a><a role="button" href="#" class="iconpicker-item" title=".fab fa-leanpub"><i class="fab fa-leanpub"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-lemon" data-search-terms="food "><i class="fas fa-lemon"></i></a><a role="button" href="#" class="iconpicker-item" title=".far fa-lemon" data-search-terms="food "><i class="far fa-lemon"></i></a><a role="button" href="#" class="iconpicker-item" title=".fab fa-less"><i class="fab fa-less"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-level-down-alt" data-search-terms="level-down "><i class="fas fa-level-down-alt"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-level-up-alt" data-search-terms="level-up "><i class="fas fa-level-up-alt"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-life-ring" data-search-terms="support "><i class="fas fa-life-ring"></i></a><a role="button" href="#" class="iconpicker-item" title=".far fa-life-ring" data-search-terms="support "><i class="far fa-life-ring"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-lightbulb" data-search-terms="idea inspiration "><i class="fas fa-lightbulb"></i></a><a role="button" href="#" class="iconpicker-item" title=".far fa-lightbulb" data-search-terms="idea inspiration "><i class="far fa-lightbulb"></i></a><a role="button" href="#" class="iconpicker-item" title=".fab fa-line"><i class="fab fa-line"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-link" data-search-terms="chain "><i class="fas fa-link"></i></a><a role="button" href="#" class="iconpicker-item" title=".fab fa-linkedin" data-search-terms="linkedin-square "><i class="fab fa-linkedin"></i></a><a role="button" href="#" class="iconpicker-item" title=".fab fa-linkedin-in" data-search-terms="linkedin "><i class="fab fa-linkedin-in"></i></a><a role="button" href="#" class="iconpicker-item" title=".fab fa-linode"><i class="fab fa-linode"></i></a><a role="button" href="#" class="iconpicker-item" title=".fab fa-linux" data-search-terms="tux "><i class="fab fa-linux"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-lira-sign" data-search-terms="try turkish try "><i class="fas fa-lira-sign"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-list" data-search-terms="ul ol checklist finished completed done todo "><i class="fas fa-list"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-list-alt" data-search-terms="ul ol checklist finished completed done todo "><i class="fas fa-list-alt"></i></a><a role="button" href="#" class="iconpicker-item" title=".far fa-list-alt" data-search-terms="ul ol checklist finished completed done todo "><i class="far fa-list-alt"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-list-ol" data-search-terms="ul ol checklist list todo list numbers "><i class="fas fa-list-ol"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-list-ul" data-search-terms="ul ol checklist todo list "><i class="fas fa-list-ul"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-location-arrow" data-search-terms="map coordinates location address place where gps "><i class="fas fa-location-arrow"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-lock" data-search-terms="protect admin security "><i class="fas fa-lock"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-lock-open" data-search-terms="protect admin password lock open "><i class="fas fa-lock-open"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-long-arrow-alt-down" data-search-terms="long-arrow-down "><i class="fas fa-long-arrow-alt-down"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-long-arrow-alt-left" data-search-terms="previous back long-arrow-left "><i class="fas fa-long-arrow-alt-left"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-long-arrow-alt-right" data-search-terms="long-arrow-right "><i class="fas fa-long-arrow-alt-right"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-long-arrow-alt-up" data-search-terms="long-arrow-up "><i class="fas fa-long-arrow-alt-up"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-low-vision"><i class="fas fa-low-vision"></i></a><a role="button" href="#" class="iconpicker-item" title=".fab fa-lyft"><i class="fab fa-lyft"></i></a><a role="button" href="#" class="iconpicker-item" title=".fab fa-magento"><i class="fab fa-magento"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-magic" data-search-terms="wizard automatic autocomplete "><i class="fas fa-magic"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-magnet"><i class="fas fa-magnet"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-male" data-search-terms="man human user person profile "><i class="fas fa-male"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-map"><i class="fas fa-map"></i></a><a role="button" href="#" class="iconpicker-item" title=".far fa-map"><i class="far fa-map"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-map-marker" data-search-terms="map pin location coordinates localize address travel where place gps "><i class="fas fa-map-marker"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-map-marker-alt" data-search-terms="map-marker gps "><i class="fas fa-map-marker-alt"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-map-pin"><i class="fas fa-map-pin"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-map-signs"><i class="fas fa-map-signs"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-mars" data-search-terms="male "><i class="fas fa-mars"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-mars-double"><i class="fas fa-mars-double"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-mars-stroke"><i class="fas fa-mars-stroke"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-mars-stroke-h"><i class="fas fa-mars-stroke-h"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-mars-stroke-v"><i class="fas fa-mars-stroke-v"></i></a><a role="button" href="#" class="iconpicker-item" title=".fab fa-maxcdn"><i class="fab fa-maxcdn"></i></a><a role="button" href="#" class="iconpicker-item" title=".fab fa-medapps"><i class="fab fa-medapps"></i></a><a role="button" href="#" class="iconpicker-item" title=".fab fa-medium"><i class="fab fa-medium"></i></a><a role="button" href="#" class="iconpicker-item" title=".fab fa-medium-m"><i class="fab fa-medium-m"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-medkit" data-search-terms="first aid firstaid help support health "><i class="fas fa-medkit"></i></a><a role="button" href="#" class="iconpicker-item" title=".fab fa-medrt"><i class="fab fa-medrt"></i></a><a role="button" href="#" class="iconpicker-item" title=".fab fa-meetup"><i class="fab fa-meetup"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-meh" data-search-terms="face emoticon rating neutral "><i class="fas fa-meh"></i></a><a role="button" href="#" class="iconpicker-item" title=".far fa-meh" data-search-terms="face emoticon rating neutral "><i class="far fa-meh"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-mercury" data-search-terms="transgender "><i class="fas fa-mercury"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-microchip"><i class="fas fa-microchip"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-microphone" data-search-terms="record voice sound "><i class="fas fa-microphone"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-microphone-slash" data-search-terms="record voice sound mute "><i class="fas fa-microphone-slash"></i></a><a role="button" href="#" class="iconpicker-item" title=".fab fa-microsoft"><i class="fab fa-microsoft"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-minus" data-search-terms="hide minify delete remove trash hide collapse "><i class="fas fa-minus"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-minus-circle" data-search-terms="delete remove trash hide "><i class="fas fa-minus-circle"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-minus-square" data-search-terms="hide minify delete remove trash hide collapse "><i class="fas fa-minus-square"></i></a><a role="button" href="#" class="iconpicker-item" title=".far fa-minus-square" data-search-terms="hide minify delete remove trash hide collapse "><i class="far fa-minus-square"></i></a><a role="button" href="#" class="iconpicker-item" title=".fab fa-mix"><i class="fab fa-mix"></i></a><a role="button" href="#" class="iconpicker-item" title=".fab fa-mixcloud"><i class="fab fa-mixcloud"></i></a><a role="button" href="#" class="iconpicker-item" title=".fab fa-mizuni"><i class="fab fa-mizuni"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-mobile" data-search-terms="cell phone cellphone text call iphone number telephone "><i class="fas fa-mobile"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-mobile-alt" data-search-terms="mobile "><i class="fas fa-mobile-alt"></i></a><a role="button" href="#" class="iconpicker-item" title=".fab fa-modx"><i class="fab fa-modx"></i></a><a role="button" href="#" class="iconpicker-item" title=".fab fa-monero"><i class="fab fa-monero"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-money-bill-alt" data-search-terms="cash money buy checkout purchase payment price "><i class="fas fa-money-bill-alt"></i></a><a role="button" href="#" class="iconpicker-item" title=".far fa-money-bill-alt" data-search-terms="cash money buy checkout purchase payment price "><i class="far fa-money-bill-alt"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-moon" data-search-terms="night darker contrast "><i class="fas fa-moon"></i></a><a role="button" href="#" class="iconpicker-item" title=".far fa-moon" data-search-terms="night darker contrast "><i class="far fa-moon"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-motorcycle" data-search-terms="vehicle bike "><i class="fas fa-motorcycle"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-mouse-pointer" data-search-terms="select "><i class="fas fa-mouse-pointer"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-music" data-search-terms="note sound "><i class="fas fa-music"></i></a><a role="button" href="#" class="iconpicker-item" title=".fab fa-napster"><i class="fab fa-napster"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-neuter"><i class="fas fa-neuter"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-newspaper" data-search-terms="press article "><i class="fas fa-newspaper"></i></a><a role="button" href="#" class="iconpicker-item" title=".far fa-newspaper" data-search-terms="press article "><i class="far fa-newspaper"></i></a><a role="button" href="#" class="iconpicker-item" title=".fab fa-nintendo-switch"><i class="fab fa-nintendo-switch"></i></a><a role="button" href="#" class="iconpicker-item" title=".fab fa-node"><i class="fab fa-node"></i></a><a role="button" href="#" class="iconpicker-item" title=".fab fa-node-js"><i class="fab fa-node-js"></i></a><a role="button" href="#" class="iconpicker-item" title=".fab fa-npm"><i class="fab fa-npm"></i></a><a role="button" href="#" class="iconpicker-item" title=".fab fa-ns8"><i class="fab fa-ns8"></i></a><a role="button" href="#" class="iconpicker-item" title=".fab fa-nutritionix"><i class="fab fa-nutritionix"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-object-group" data-search-terms="design "><i class="fas fa-object-group"></i></a><a role="button" href="#" class="iconpicker-item" title=".far fa-object-group" data-search-terms="design "><i class="far fa-object-group"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-object-ungroup" data-search-terms="design "><i class="fas fa-object-ungroup"></i></a><a role="button" href="#" class="iconpicker-item" title=".far fa-object-ungroup" data-search-terms="design "><i class="far fa-object-ungroup"></i></a><a role="button" href="#" class="iconpicker-item" title=".fab fa-odnoklassniki"><i class="fab fa-odnoklassniki"></i></a><a role="button" href="#" class="iconpicker-item" title=".fab fa-odnoklassniki-square"><i class="fab fa-odnoklassniki-square"></i></a><a role="button" href="#" class="iconpicker-item" title=".fab fa-opencart"><i class="fab fa-opencart"></i></a><a role="button" href="#" class="iconpicker-item" title=".fab fa-openid"><i class="fab fa-openid"></i></a><a role="button" href="#" class="iconpicker-item" title=".fab fa-opera"><i class="fab fa-opera"></i></a><a role="button" href="#" class="iconpicker-item" title=".fab fa-optin-monster"><i class="fab fa-optin-monster"></i></a><a role="button" href="#" class="iconpicker-item" title=".fab fa-osi"><i class="fab fa-osi"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-outdent"><i class="fas fa-outdent"></i></a><a role="button" href="#" class="iconpicker-item" title=".fab fa-page4"><i class="fab fa-page4"></i></a><a role="button" href="#" class="iconpicker-item" title=".fab fa-pagelines" data-search-terms="leaf leaves tree plant eco nature "><i class="fab fa-pagelines"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-paint-brush"><i class="fas fa-paint-brush"></i></a><a role="button" href="#" class="iconpicker-item" title=".fab fa-palfed"><i class="fab fa-palfed"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-pallet"><i class="fas fa-pallet"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-paper-plane"><i class="fas fa-paper-plane"></i></a><a role="button" href="#" class="iconpicker-item" title=".far fa-paper-plane"><i class="far fa-paper-plane"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-paperclip" data-search-terms="attachment "><i class="fas fa-paperclip"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-paragraph"><i class="fas fa-paragraph"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-paste" data-search-terms="copy clipboard "><i class="fas fa-paste"></i></a><a role="button" href="#" class="iconpicker-item" title=".fab fa-patreon"><i class="fab fa-patreon"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-pause" data-search-terms="wait "><i class="fas fa-pause"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-pause-circle"><i class="fas fa-pause-circle"></i></a><a role="button" href="#" class="iconpicker-item" title=".far fa-pause-circle"><i class="far fa-pause-circle"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-paw" data-search-terms="pet "><i class="fas fa-paw"></i></a><a role="button" href="#" class="iconpicker-item" title=".fab fa-paypal"><i class="fab fa-paypal"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-pen-square" data-search-terms="write edit update pencil-square "><i class="fas fa-pen-square"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-pencil-alt" data-search-terms="write edit update pencil design "><i class="fas fa-pencil-alt"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-percent"><i class="fas fa-percent"></i></a><a role="button" href="#" class="iconpicker-item" title=".fab fa-periscope"><i class="fab fa-periscope"></i></a><a role="button" href="#" class="iconpicker-item" title=".fab fa-phabricator"><i class="fab fa-phabricator"></i></a><a role="button" href="#" class="iconpicker-item" title=".fab fa-phoenix-framework"><i class="fab fa-phoenix-framework"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-phone" data-search-terms="call voice number support earphone telephone "><i class="fas fa-phone"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-phone-square" data-search-terms="call voice number support telephone "><i class="fas fa-phone-square"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-phone-volume" data-search-terms="telephone volume-control-phone "><i class="fas fa-phone-volume"></i></a><a role="button" href="#" class="iconpicker-item" title=".fab fa-php"><i class="fab fa-php"></i></a><a role="button" href="#" class="iconpicker-item" title=".fab fa-pied-piper"><i class="fab fa-pied-piper"></i></a><a role="button" href="#" class="iconpicker-item" title=".fab fa-pied-piper-alt"><i class="fab fa-pied-piper-alt"></i></a><a role="button" href="#" class="iconpicker-item" title=".fab fa-pied-piper-pp"><i class="fab fa-pied-piper-pp"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-pills" data-search-terms="medicine drugs "><i class="fas fa-pills"></i></a><a role="button" href="#" class="iconpicker-item" title=".fab fa-pinterest"><i class="fab fa-pinterest"></i></a><a role="button" href="#" class="iconpicker-item" title=".fab fa-pinterest-p"><i class="fab fa-pinterest-p"></i></a><a role="button" href="#" class="iconpicker-item" title=".fab fa-pinterest-square"><i class="fab fa-pinterest-square"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-plane" data-search-terms="travel trip location destination airplane fly mode "><i class="fas fa-plane"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-play" data-search-terms="start playing music sound "><i class="fas fa-play"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-play-circle" data-search-terms="start playing "><i class="fas fa-play-circle"></i></a><a role="button" href="#" class="iconpicker-item" title=".far fa-play-circle" data-search-terms="start playing "><i class="far fa-play-circle"></i></a><a role="button" href="#" class="iconpicker-item" title=".fab fa-playstation"><i class="fab fa-playstation"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-plug" data-search-terms="power connect "><i class="fas fa-plug"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-plus" data-search-terms="add new create expand "><i class="fas fa-plus"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-plus-circle" data-search-terms="add new create expand "><i class="fas fa-plus-circle"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-plus-square" data-search-terms="add new create expand "><i class="fas fa-plus-square"></i></a><a role="button" href="#" class="iconpicker-item" title=".far fa-plus-square" data-search-terms="add new create expand "><i class="far fa-plus-square"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-podcast"><i class="fas fa-podcast"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-pound-sign" data-search-terms="gbp gbp "><i class="fas fa-pound-sign"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-power-off" data-search-terms="on "><i class="fas fa-power-off"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-print"><i class="fas fa-print"></i></a><a role="button" href="#" class="iconpicker-item" title=".fab fa-product-hunt"><i class="fab fa-product-hunt"></i></a><a role="button" href="#" class="iconpicker-item" title=".fab fa-pushed"><i class="fab fa-pushed"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-puzzle-piece" data-search-terms="addon add-on section "><i class="fas fa-puzzle-piece"></i></a><a role="button" href="#" class="iconpicker-item" title=".fab fa-python"><i class="fab fa-python"></i></a><a role="button" href="#" class="iconpicker-item" title=".fab fa-qq"><i class="fab fa-qq"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-qrcode" data-search-terms="scan "><i class="fas fa-qrcode"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-question" data-search-terms="help information unknown support "><i class="fas fa-question"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-question-circle" data-search-terms="help information unknown support "><i class="fas fa-question-circle"></i></a><a role="button" href="#" class="iconpicker-item" title=".far fa-question-circle" data-search-terms="help information unknown support "><i class="far fa-question-circle"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-quidditch"><i class="fas fa-quidditch"></i></a><a role="button" href="#" class="iconpicker-item" title=".fab fa-quinscape"><i class="fab fa-quinscape"></i></a><a role="button" href="#" class="iconpicker-item" title=".fab fa-quora"><i class="fab fa-quora"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-quote-left"><i class="fas fa-quote-left"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-quote-right"><i class="fas fa-quote-right"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-random" data-search-terms="sort shuffle "><i class="fas fa-random"></i></a><a role="button" href="#" class="iconpicker-item" title=".fab fa-ravelry"><i class="fab fa-ravelry"></i></a><a role="button" href="#" class="iconpicker-item" title=".fab fa-react"><i class="fab fa-react"></i></a><a role="button" href="#" class="iconpicker-item" title=".fab fa-rebel"><i class="fab fa-rebel"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-recycle"><i class="fas fa-recycle"></i></a><a role="button" href="#" class="iconpicker-item" title=".fab fa-red-river"><i class="fab fa-red-river"></i></a><a role="button" href="#" class="iconpicker-item" title=".fab fa-reddit"><i class="fab fa-reddit"></i></a><a role="button" href="#" class="iconpicker-item" title=".fab fa-reddit-alien"><i class="fab fa-reddit-alien"></i></a><a role="button" href="#" class="iconpicker-item" title=".fab fa-reddit-square"><i class="fab fa-reddit-square"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-redo" data-search-terms="forward repeat repeat "><i class="fas fa-redo"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-redo-alt" data-search-terms="forward repeat "><i class="fas fa-redo-alt"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-registered"><i class="fas fa-registered"></i></a><a role="button" href="#" class="iconpicker-item" title=".far fa-registered"><i class="far fa-registered"></i></a><a role="button" href="#" class="iconpicker-item" title=".fab fa-rendact"><i class="fab fa-rendact"></i></a><a role="button" href="#" class="iconpicker-item" title=".fab fa-renren"><i class="fab fa-renren"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-reply"><i class="fas fa-reply"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-reply-all"><i class="fas fa-reply-all"></i></a><a role="button" href="#" class="iconpicker-item" title=".fab fa-replyd"><i class="fab fa-replyd"></i></a><a role="button" href="#" class="iconpicker-item" title=".fab fa-resolving"><i class="fab fa-resolving"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-retweet" data-search-terms="refresh reload share swap "><i class="fas fa-retweet"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-road" data-search-terms="street "><i class="fas fa-road"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-rocket" data-search-terms="app "><i class="fas fa-rocket"></i></a><a role="button" href="#" class="iconpicker-item" title=".fab fa-rocketchat"><i class="fab fa-rocketchat"></i></a><a role="button" href="#" class="iconpicker-item" title=".fab fa-rockrms"><i class="fab fa-rockrms"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-rss" data-search-terms="blog "><i class="fas fa-rss"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-rss-square" data-search-terms="feed blog "><i class="fas fa-rss-square"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-ruble-sign" data-search-terms="rub rub "><i class="fas fa-ruble-sign"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-rupee-sign" data-search-terms="indian inr "><i class="fas fa-rupee-sign"></i></a><a role="button" href="#" class="iconpicker-item" title=".fab fa-safari" data-search-terms="browser "><i class="fab fa-safari"></i></a><a role="button" href="#" class="iconpicker-item" title=".fab fa-sass"><i class="fab fa-sass"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-save" data-search-terms="floppy floppy-o "><i class="fas fa-save"></i></a><a role="button" href="#" class="iconpicker-item" title=".far fa-save" data-search-terms="floppy floppy-o "><i class="far fa-save"></i></a><a role="button" href="#" class="iconpicker-item" title=".fab fa-schlix"><i class="fab fa-schlix"></i></a><a role="button" href="#" class="iconpicker-item" title=".fab fa-scribd"><i class="fab fa-scribd"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-search" data-search-terms="magnify zoom enlarge bigger "><i class="fas fa-search"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-search-minus" data-search-terms="magnify minify zoom smaller "><i class="fas fa-search-minus"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-search-plus" data-search-terms="magnify zoom enlarge bigger "><i class="fas fa-search-plus"></i></a><a role="button" href="#" class="iconpicker-item" title=".fab fa-searchengin"><i class="fab fa-searchengin"></i></a><a role="button" href="#" class="iconpicker-item" title=".fab fa-sellcast" data-search-terms="eercast "><i class="fab fa-sellcast"></i></a><a role="button" href="#" class="iconpicker-item" title=".fab fa-sellsy"><i class="fab fa-sellsy"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-server"><i class="fas fa-server"></i></a><a role="button" href="#" class="iconpicker-item" title=".fab fa-servicestack"><i class="fab fa-servicestack"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-share"><i class="fas fa-share"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-share-alt"><i class="fas fa-share-alt"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-share-alt-square"><i class="fas fa-share-alt-square"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-share-square" data-search-terms="social send "><i class="fas fa-share-square"></i></a><a role="button" href="#" class="iconpicker-item" title=".far fa-share-square" data-search-terms="social send "><i class="far fa-share-square"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-shekel-sign" data-search-terms="ils ils "><i class="fas fa-shekel-sign"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-shield-alt" data-search-terms="shield "><i class="fas fa-shield-alt"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-ship" data-search-terms="boat sea "><i class="fas fa-ship"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-shipping-fast"><i class="fas fa-shipping-fast"></i></a><a role="button" href="#" class="iconpicker-item" title=".fab fa-shirtsinbulk"><i class="fab fa-shirtsinbulk"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-shopping-bag"><i class="fas fa-shopping-bag"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-shopping-basket"><i class="fas fa-shopping-basket"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-shopping-cart" data-search-terms="checkout buy purchase payment "><i class="fas fa-shopping-cart"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-shower"><i class="fas fa-shower"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-sign-in-alt" data-search-terms="enter join log in login sign up sign in signin signup arrow sign-in "><i class="fas fa-sign-in-alt"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-sign-language"><i class="fas fa-sign-language"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-sign-out-alt" data-search-terms="log out logout leave exit arrow sign-out "><i class="fas fa-sign-out-alt"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-signal" data-search-terms="graph bars status "><i class="fas fa-signal"></i></a><a role="button" href="#" class="iconpicker-item" title=".fab fa-simplybuilt"><i class="fab fa-simplybuilt"></i></a><a role="button" href="#" class="iconpicker-item" title=".fab fa-sistrix"><i class="fab fa-sistrix"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-sitemap" data-search-terms="directory hierarchy organization "><i class="fas fa-sitemap"></i></a><a role="button" href="#" class="iconpicker-item" title=".fab fa-skyatlas"><i class="fab fa-skyatlas"></i></a><a role="button" href="#" class="iconpicker-item" title=".fab fa-skype"><i class="fab fa-skype"></i></a><a role="button" href="#" class="iconpicker-item" title=".fab fa-slack" data-search-terms="hashtag anchor hash "><i class="fab fa-slack"></i></a><a role="button" href="#" class="iconpicker-item" title=".fab fa-slack-hash" data-search-terms="hashtag anchor hash "><i class="fab fa-slack-hash"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-sliders-h" data-search-terms="settings sliders "><i class="fas fa-sliders-h"></i></a><a role="button" href="#" class="iconpicker-item" title=".fab fa-slideshare"><i class="fab fa-slideshare"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-smile" data-search-terms="face emoticon happy approve satisfied rating "><i class="fas fa-smile"></i></a><a role="button" href="#" class="iconpicker-item" title=".far fa-smile" data-search-terms="face emoticon happy approve satisfied rating "><i class="far fa-smile"></i></a><a role="button" href="#" class="iconpicker-item" title=".fab fa-snapchat"><i class="fab fa-snapchat"></i></a><a role="button" href="#" class="iconpicker-item" title=".fab fa-snapchat-ghost"><i class="fab fa-snapchat-ghost"></i></a><a role="button" href="#" class="iconpicker-item" title=".fab fa-snapchat-square"><i class="fab fa-snapchat-square"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-snowflake"><i class="fas fa-snowflake"></i></a><a role="button" href="#" class="iconpicker-item" title=".far fa-snowflake"><i class="far fa-snowflake"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-sort" data-search-terms="order "><i class="fas fa-sort"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-sort-alpha-down" data-search-terms="sort-alpha-asc "><i class="fas fa-sort-alpha-down"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-sort-alpha-up" data-search-terms="sort-alpha-desc "><i class="fas fa-sort-alpha-up"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-sort-amount-down" data-search-terms="sort-amount-asc "><i class="fas fa-sort-amount-down"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-sort-amount-up" data-search-terms="sort-amount-desc "><i class="fas fa-sort-amount-up"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-sort-down" data-search-terms="arrow descending sort-desc "><i class="fas fa-sort-down"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-sort-numeric-down" data-search-terms="numbers sort-numeric-asc "><i class="fas fa-sort-numeric-down"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-sort-numeric-up" data-search-terms="numbers sort-numeric-desc "><i class="fas fa-sort-numeric-up"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-sort-up" data-search-terms="arrow ascending sort-asc "><i class="fas fa-sort-up"></i></a><a role="button" href="#" class="iconpicker-item" title=".fab fa-soundcloud"><i class="fab fa-soundcloud"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-space-shuttle"><i class="fas fa-space-shuttle"></i></a><a role="button" href="#" class="iconpicker-item" title=".fab fa-speakap"><i class="fab fa-speakap"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-spinner" data-search-terms="loading progress "><i class="fas fa-spinner"></i></a><a role="button" href="#" class="iconpicker-item" title=".fab fa-spotify"><i class="fab fa-spotify"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-square" data-search-terms="block box "><i class="fas fa-square"></i></a><a role="button" href="#" class="iconpicker-item" title=".far fa-square" data-search-terms="block box "><i class="far fa-square"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-square-full"><i class="fas fa-square-full"></i></a><a role="button" href="#" class="iconpicker-item" title=".fab fa-stack-exchange"><i class="fab fa-stack-exchange"></i></a><a role="button" href="#" class="iconpicker-item" title=".fab fa-stack-overflow"><i class="fab fa-stack-overflow"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-star" data-search-terms="award achievement night rating score favorite "><i class="fas fa-star"></i></a><a role="button" href="#" class="iconpicker-item" title=".far fa-star" data-search-terms="award achievement night rating score favorite "><i class="far fa-star"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-star-half" data-search-terms="award achievement rating score star-half-empty star-half-full "><i class="fas fa-star-half"></i></a><a role="button" href="#" class="iconpicker-item" title=".far fa-star-half" data-search-terms="award achievement rating score star-half-empty star-half-full "><i class="far fa-star-half"></i></a><a role="button" href="#" class="iconpicker-item" title=".fab fa-staylinked"><i class="fab fa-staylinked"></i></a><a role="button" href="#" class="iconpicker-item" title=".fab fa-steam"><i class="fab fa-steam"></i></a><a role="button" href="#" class="iconpicker-item" title=".fab fa-steam-square"><i class="fab fa-steam-square"></i></a><a role="button" href="#" class="iconpicker-item" title=".fab fa-steam-symbol"><i class="fab fa-steam-symbol"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-step-backward" data-search-terms="rewind previous beginning start first "><i class="fas fa-step-backward"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-step-forward" data-search-terms="next end last "><i class="fas fa-step-forward"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-stethoscope"><i class="fas fa-stethoscope"></i></a><a role="button" href="#" class="iconpicker-item" title=".fab fa-sticker-mule"><i class="fab fa-sticker-mule"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-sticky-note"><i class="fas fa-sticky-note"></i></a><a role="button" href="#" class="iconpicker-item" title=".far fa-sticky-note"><i class="far fa-sticky-note"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-stop" data-search-terms="block box square "><i class="fas fa-stop"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-stop-circle"><i class="fas fa-stop-circle"></i></a><a role="button" href="#" class="iconpicker-item" title=".far fa-stop-circle"><i class="far fa-stop-circle"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-stopwatch" data-search-terms="time "><i class="fas fa-stopwatch"></i></a><a role="button" href="#" class="iconpicker-item" title=".fab fa-strava"><i class="fab fa-strava"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-street-view" data-search-terms="map "><i class="fas fa-street-view"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-strikethrough"><i class="fas fa-strikethrough"></i></a><a role="button" href="#" class="iconpicker-item" title=".fab fa-stripe"><i class="fab fa-stripe"></i></a><a role="button" href="#" class="iconpicker-item" title=".fab fa-stripe-s"><i class="fab fa-stripe-s"></i></a><a role="button" href="#" class="iconpicker-item" title=".fab fa-studiovinari"><i class="fab fa-studiovinari"></i></a><a role="button" href="#" class="iconpicker-item" title=".fab fa-stumbleupon"><i class="fab fa-stumbleupon"></i></a><a role="button" href="#" class="iconpicker-item" title=".fab fa-stumbleupon-circle"><i class="fab fa-stumbleupon-circle"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-subscript"><i class="fas fa-subscript"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-subway"><i class="fas fa-subway"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-suitcase" data-search-terms="trip luggage travel move baggage "><i class="fas fa-suitcase"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-sun" data-search-terms="weather contrast lighter brighten day "><i class="fas fa-sun"></i></a><a role="button" href="#" class="iconpicker-item" title=".far fa-sun" data-search-terms="weather contrast lighter brighten day "><i class="far fa-sun"></i></a><a role="button" href="#" class="iconpicker-item" title=".fab fa-superpowers"><i class="fab fa-superpowers"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-superscript" data-search-terms="exponential "><i class="fas fa-superscript"></i></a><a role="button" href="#" class="iconpicker-item" title=".fab fa-supple"><i class="fab fa-supple"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-sync" data-search-terms="reload refresh refresh "><i class="fas fa-sync"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-sync-alt" data-search-terms="reload refresh "><i class="fas fa-sync-alt"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-syringe" data-search-terms="immunizations needle "><i class="fas fa-syringe"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-table" data-search-terms="data excel spreadsheet "><i class="fas fa-table"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-table-tennis"><i class="fas fa-table-tennis"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-tablet" data-search-terms="ipad device "><i class="fas fa-tablet"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-tablet-alt" data-search-terms="tablet "><i class="fas fa-tablet-alt"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-tachometer-alt" data-search-terms="tachometer dashboard "><i class="fas fa-tachometer-alt"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-tag" data-search-terms="label "><i class="fas fa-tag"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-tags" data-search-terms="labels "><i class="fas fa-tags"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-tasks" data-search-terms="progress loading downloading downloads settings "><i class="fas fa-tasks"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-taxi" data-search-terms="vehicle "><i class="fas fa-taxi"></i></a><a role="button" href="#" class="iconpicker-item" title=".fab fa-telegram"><i class="fab fa-telegram"></i></a><a role="button" href="#" class="iconpicker-item" title=".fab fa-telegram-plane"><i class="fab fa-telegram-plane"></i></a><a role="button" href="#" class="iconpicker-item" title=".fab fa-tencent-weibo"><i class="fab fa-tencent-weibo"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-terminal" data-search-terms="command prompt code "><i class="fas fa-terminal"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-text-height"><i class="fas fa-text-height"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-text-width"><i class="fas fa-text-width"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-th" data-search-terms="blocks squares boxes grid "><i class="fas fa-th"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-th-large" data-search-terms="blocks squares boxes grid "><i class="fas fa-th-large"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-th-list" data-search-terms="ul ol checklist finished completed done todo "><i class="fas fa-th-list"></i></a><a role="button" href="#" class="iconpicker-item" title=".fab fa-themeisle"><i class="fab fa-themeisle"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-thermometer" data-search-terms="temperature fever "><i class="fas fa-thermometer"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-thermometer-empty" data-search-terms="status "><i class="fas fa-thermometer-empty"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-thermometer-full" data-search-terms="status "><i class="fas fa-thermometer-full"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-thermometer-half" data-search-terms="status "><i class="fas fa-thermometer-half"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-thermometer-quarter" data-search-terms="status "><i class="fas fa-thermometer-quarter"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-thermometer-three-quarters" data-search-terms="status "><i class="fas fa-thermometer-three-quarters"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-thumbs-down" data-search-terms="dislike disapprove disagree hand thumbs-o-down "><i class="fas fa-thumbs-down"></i></a><a role="button" href="#" class="iconpicker-item" title=".far fa-thumbs-down" data-search-terms="dislike disapprove disagree hand thumbs-o-down "><i class="far fa-thumbs-down"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-thumbs-up" data-search-terms="like favorite approve agree hand thumbs-o-up "><i class="fas fa-thumbs-up"></i></a><a role="button" href="#" class="iconpicker-item" title=".far fa-thumbs-up" data-search-terms="like favorite approve agree hand thumbs-o-up "><i class="far fa-thumbs-up"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-thumbtack" data-search-terms="marker pin location coordinates thumb-tack "><i class="fas fa-thumbtack"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-ticket-alt" data-search-terms="ticket "><i class="fas fa-ticket-alt"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-times" data-search-terms="close exit x cross "><i class="fas fa-times"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-times-circle" data-search-terms="close exit x "><i class="fas fa-times-circle"></i></a><a role="button" href="#" class="iconpicker-item" title=".far fa-times-circle" data-search-terms="close exit x "><i class="far fa-times-circle"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-tint" data-search-terms="raindrop waterdrop drop droplet "><i class="fas fa-tint"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-toggle-off" data-search-terms="switch "><i class="fas fa-toggle-off"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-toggle-on" data-search-terms="switch "><i class="fas fa-toggle-on"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-trademark"><i class="fas fa-trademark"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-train"><i class="fas fa-train"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-transgender" data-search-terms="intersex "><i class="fas fa-transgender"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-transgender-alt"><i class="fas fa-transgender-alt"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-trash" data-search-terms="garbage delete remove hide "><i class="fas fa-trash"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-trash-alt" data-search-terms="garbage delete remove hide trash trash-o "><i class="fas fa-trash-alt"></i></a><a role="button" href="#" class="iconpicker-item" title=".far fa-trash-alt" data-search-terms="garbage delete remove hide trash trash-o "><i class="far fa-trash-alt"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-tree"><i class="fas fa-tree"></i></a><a role="button" href="#" class="iconpicker-item" title=".fab fa-trello"><i class="fab fa-trello"></i></a><a role="button" href="#" class="iconpicker-item" title=".fab fa-tripadvisor"><i class="fab fa-tripadvisor"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-trophy" data-search-terms="award achievement cup winner game "><i class="fas fa-trophy"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-truck" data-search-terms="shipping "><i class="fas fa-truck"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-tty"><i class="fas fa-tty"></i></a><a role="button" href="#" class="iconpicker-item" title=".fab fa-tumblr"><i class="fab fa-tumblr"></i></a><a role="button" href="#" class="iconpicker-item" title=".fab fa-tumblr-square"><i class="fab fa-tumblr-square"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-tv" data-search-terms="display computer monitor television "><i class="fas fa-tv"></i></a><a role="button" href="#" class="iconpicker-item" title=".fab fa-twitch"><i class="fab fa-twitch"></i></a><a role="button" href="#" class="iconpicker-item" title=".fab fa-twitter" data-search-terms="tweet social network "><i class="fab fa-twitter"></i></a><a role="button" href="#" class="iconpicker-item" title=".fab fa-twitter-square" data-search-terms="tweet social network "><i class="fab fa-twitter-square"></i></a><a role="button" href="#" class="iconpicker-item" title=".fab fa-typo3"><i class="fab fa-typo3"></i></a><a role="button" href="#" class="iconpicker-item" title=".fab fa-uber"><i class="fab fa-uber"></i></a><a role="button" href="#" class="iconpicker-item" title=".fab fa-uikit"><i class="fab fa-uikit"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-umbrella"><i class="fas fa-umbrella"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-underline"><i class="fas fa-underline"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-undo" data-search-terms="back "><i class="fas fa-undo"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-undo-alt" data-search-terms="back "><i class="fas fa-undo-alt"></i></a><a role="button" href="#" class="iconpicker-item" title=".fab fa-uniregistry"><i class="fab fa-uniregistry"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-universal-access"><i class="fas fa-universal-access"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-university" data-search-terms="bank institution "><i class="fas fa-university"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-unlink" data-search-terms="remove chain chain-broken "><i class="fas fa-unlink"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-unlock" data-search-terms="protect admin password lock "><i class="fas fa-unlock"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-unlock-alt" data-search-terms="protect admin password lock "><i class="fas fa-unlock-alt"></i></a><a role="button" href="#" class="iconpicker-item" title=".fab fa-untappd"><i class="fab fa-untappd"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-upload" data-search-terms="import "><i class="fas fa-upload"></i></a><a role="button" href="#" class="iconpicker-item" title=".fab fa-usb"><i class="fab fa-usb"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-user" data-search-terms="person man head profile account "><i class="fas fa-user"></i></a><a role="button" href="#" class="iconpicker-item" title=".far fa-user" data-search-terms="person man head profile account "><i class="far fa-user"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-user-circle" data-search-terms="person man head profile account "><i class="fas fa-user-circle"></i></a><a role="button" href="#" class="iconpicker-item" title=".far fa-user-circle" data-search-terms="person man head profile account "><i class="far fa-user-circle"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-user-md" data-search-terms="doctor profile medical nurse job occupation "><i class="fas fa-user-md"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-user-plus" data-search-terms="sign up signup "><i class="fas fa-user-plus"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-user-secret" data-search-terms="whisper spy incognito privacy "><i class="fas fa-user-secret"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-user-times"><i class="fas fa-user-times"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-users" data-search-terms="people profiles persons "><i class="fas fa-users"></i></a><a role="button" href="#" class="iconpicker-item" title=".fab fa-ussunnah"><i class="fab fa-ussunnah"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-utensil-spoon" data-search-terms="spoon "><i class="fas fa-utensil-spoon"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-utensils" data-search-terms="food restaurant spoon knife dinner eat cutlery "><i class="fas fa-utensils"></i></a><a role="button" href="#" class="iconpicker-item" title=".fab fa-vaadin"><i class="fab fa-vaadin"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-venus" data-search-terms="female "><i class="fas fa-venus"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-venus-double"><i class="fas fa-venus-double"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-venus-mars"><i class="fas fa-venus-mars"></i></a><a role="button" href="#" class="iconpicker-item" title=".fab fa-viacoin"><i class="fab fa-viacoin"></i></a><a role="button" href="#" class="iconpicker-item" title=".fab fa-viadeo"><i class="fab fa-viadeo"></i></a><a role="button" href="#" class="iconpicker-item" title=".fab fa-viadeo-square"><i class="fab fa-viadeo-square"></i></a><a role="button" href="#" class="iconpicker-item" title=".fab fa-viber"><i class="fab fa-viber"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-video" data-search-terms="film movie record camera video-camera "><i class="fas fa-video"></i></a><a role="button" href="#" class="iconpicker-item" title=".fab fa-vimeo"><i class="fab fa-vimeo"></i></a><a role="button" href="#" class="iconpicker-item" title=".fab fa-vimeo-square"><i class="fab fa-vimeo-square"></i></a><a role="button" href="#" class="iconpicker-item" title=".fab fa-vimeo-v" data-search-terms="vimeo "><i class="fab fa-vimeo-v"></i></a><a role="button" href="#" class="iconpicker-item" title=".fab fa-vine"><i class="fab fa-vine"></i></a><a role="button" href="#" class="iconpicker-item" title=".fab fa-vk"><i class="fab fa-vk"></i></a><a role="button" href="#" class="iconpicker-item" title=".fab fa-vnv"><i class="fab fa-vnv"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-volleyball-ball"><i class="fas fa-volleyball-ball"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-volume-down" data-search-terms="audio lower quieter sound music "><i class="fas fa-volume-down"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-volume-off" data-search-terms="audio mute sound music "><i class="fas fa-volume-off"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-volume-up" data-search-terms="audio higher louder sound music "><i class="fas fa-volume-up"></i></a><a role="button" href="#" class="iconpicker-item" title=".fab fa-vuejs"><i class="fab fa-vuejs"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-warehouse"><i class="fas fa-warehouse"></i></a><a role="button" href="#" class="iconpicker-item" title=".fab fa-weibo"><i class="fab fa-weibo"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-weight" data-search-terms="scale "><i class="fas fa-weight"></i></a><a role="button" href="#" class="iconpicker-item" title=".fab fa-weixin"><i class="fab fa-weixin"></i></a><a role="button" href="#" class="iconpicker-item" title=".fab fa-whatsapp"><i class="fab fa-whatsapp"></i></a><a role="button" href="#" class="iconpicker-item" title=".fab fa-whatsapp-square"><i class="fab fa-whatsapp-square"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-wheelchair" data-search-terms="handicap person "><i class="fas fa-wheelchair"></i></a><a role="button" href="#" class="iconpicker-item" title=".fab fa-whmcs"><i class="fab fa-whmcs"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-wifi"><i class="fas fa-wifi"></i></a><a role="button" href="#" class="iconpicker-item" title=".fab fa-wikipedia-w"><i class="fab fa-wikipedia-w"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-window-close"><i class="fas fa-window-close"></i></a><a role="button" href="#" class="iconpicker-item" title=".far fa-window-close"><i class="far fa-window-close"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-window-maximize"><i class="fas fa-window-maximize"></i></a><a role="button" href="#" class="iconpicker-item" title=".far fa-window-maximize"><i class="far fa-window-maximize"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-window-minimize"><i class="fas fa-window-minimize"></i></a><a role="button" href="#" class="iconpicker-item" title=".far fa-window-minimize"><i class="far fa-window-minimize"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-window-restore"><i class="fas fa-window-restore"></i></a><a role="button" href="#" class="iconpicker-item" title=".far fa-window-restore"><i class="far fa-window-restore"></i></a><a role="button" href="#" class="iconpicker-item" title=".fab fa-windows" data-search-terms="microsoft "><i class="fab fa-windows"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-won-sign" data-search-terms="krw krw "><i class="fas fa-won-sign"></i></a><a role="button" href="#" class="iconpicker-item" title=".fab fa-wordpress"><i class="fab fa-wordpress"></i></a><a role="button" href="#" class="iconpicker-item" title=".fab fa-wordpress-simple"><i class="fab fa-wordpress-simple"></i></a><a role="button" href="#" class="iconpicker-item" title=".fab fa-wpbeginner"><i class="fab fa-wpbeginner"></i></a><a role="button" href="#" class="iconpicker-item" title=".fab fa-wpexplorer"><i class="fab fa-wpexplorer"></i></a><a role="button" href="#" class="iconpicker-item" title=".fab fa-wpforms"><i class="fab fa-wpforms"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-wrench" data-search-terms="settings fix update spanner tool "><i class="fas fa-wrench"></i></a><a role="button" href="#" class="iconpicker-item" title=".fab fa-xbox"><i class="fab fa-xbox"></i></a><a role="button" href="#" class="iconpicker-item" title=".fab fa-xing"><i class="fab fa-xing"></i></a><a role="button" href="#" class="iconpicker-item" title=".fab fa-xing-square"><i class="fab fa-xing-square"></i></a><a role="button" href="#" class="iconpicker-item" title=".fab fa-y-combinator"><i class="fab fa-y-combinator"></i></a><a role="button" href="#" class="iconpicker-item" title=".fab fa-yahoo"><i class="fab fa-yahoo"></i></a><a role="button" href="#" class="iconpicker-item" title=".fab fa-yandex"><i class="fab fa-yandex"></i></a><a role="button" href="#" class="iconpicker-item" title=".fab fa-yandex-international"><i class="fab fa-yandex-international"></i></a><a role="button" href="#" class="iconpicker-item" title=".fab fa-yelp"><i class="fab fa-yelp"></i></a><a role="button" href="#" class="iconpicker-item" title=".fas fa-yen-sign" data-search-terms="jpy jpy "><i class="fas fa-yen-sign"></i></a><a role="button" href="#" class="iconpicker-item" title=".fab fa-yoast"><i class="fab fa-yoast"></i></a><a role="button" href="#" class="iconpicker-item" title=".fab fa-youtube" data-search-terms="video film youtube-play youtube-square "><i class="fab fa-youtube"></i></a><a role="button" href="#" class="iconpicker-item" title=".fab fa-youtube-square"><i class="fab fa-youtube-square"></i></a></div>';
5550 print '</div>';
5551
5552}
5553endif;
5554
5555
5556if( !function_exists('wprentals_return_country_array') ):
5557function wprentals_return_country_array(){
5558 $countries = array( 'Afghanistan' => esc_html__('Afghanistan','wprentals'),
5559 'Albania' => esc_html__('Albania','wprentals'),
5560 'Algeria' => esc_html__('Algeria','wprentals'),
5561 'American Samoa' => esc_html__('American Samoa','wprentals'),
5562 'Andorra' => esc_html__('Andorra','wprentals'),
5563 'Angola' => esc_html__('Angola','wprentals'),
5564 'Anguilla' => esc_html__('Anguilla','wprentals'),
5565 'Antarctica' => esc_html__('Antarctica','wprentals'),
5566 'Antigua and Barbuda' => esc_html__('Antigua and Barbuda','wprentals'),
5567 'Argentina' => esc_html__('Argentina','wprentals'),
5568 'Armenia' => esc_html__('Armenia','wprentals'),
5569 'Aruba' => esc_html__('Aruba','wprentals'),
5570 'Australia' => esc_html__('Australia','wprentals'),
5571 'Austria' => esc_html__('Austria','wprentals'),
5572 'Azerbaijan' => esc_html__('Azerbaijan','wprentals'),
5573 'Bahamas' => esc_html__('Bahamas','wprentals'),
5574 'Bahrain' => esc_html__('Bahrain','wprentals'),
5575 'Bangladesh' => esc_html__('Bangladesh','wprentals'),
5576 'Barbados' => esc_html__('Barbados','wprentals'),
5577 'Belarus' => esc_html__('Belarus','wprentals'),
5578 'Belgium' => esc_html__('Belgium','wprentals'),
5579 'Belize' => esc_html__('Belize','wprentals'),
5580 'Benin' => esc_html__('Benin','wprentals'),
5581 'Bermuda' => esc_html__('Bermuda','wprentals'),
5582 'Bhutan' => esc_html__('Bhutan','wprentals'),
5583 'Bolivia' => esc_html__('Bolivia','wprentals'),
5584 'Bosnia and Herzegowina'=> esc_html__('Bosnia and Herzegowina','wprentals'),
5585 'Botswana' => esc_html__('Botswana','wprentals'),
5586 'Bouvet Island' => esc_html__('Bouvet Island','wprentals'),
5587 'Brazil' => esc_html__('Brazil','wprentals'),
5588 'British Indian Ocean Territory'=> esc_html__('British Indian Ocean Territory','wprentals'),
5589 'Brunei Darussalam' => esc_html__('Brunei Darussalam','wprentals'),
5590 'Bulgaria' => esc_html__('Bulgaria','wprentals'),
5591 'Burkina Faso' => esc_html__('Burkina Faso','wprentals'),
5592 'Burundi' => esc_html__('Burundi','wprentals'),
5593 'Cambodia' => esc_html__('Cambodia','wprentals'),
5594 'Cameroon' => esc_html__('Cameroon','wprentals'),
5595 'Canada' => esc_html__('Canada','wprentals'),
5596 'Cape Verde' => esc_html__('Cape Verde','wprentals'),
5597 'Cayman Islands' => esc_html__('Cayman Islands','wprentals'),
5598 'Central African Republic' => esc_html__('Central African Republic','wprentals'),
5599 'Chad' => esc_html__('Chad','wprentals'),
5600 'Chile' => esc_html__('Chile','wprentals'),
5601 'China' => esc_html__('China','wprentals'),
5602 'Christmas Island' => esc_html__('Christmas Island','wprentals'),
5603 'Cocos (Keeling) Islands' => esc_html__('Cocos (Keeling) Islands','wprentals'),
5604 'Colombia' => esc_html__('Colombia','wprentals'),
5605 'Comoros' => esc_html__('Comoros','wprentals'),
5606 'Congo' => esc_html__('Congo','wprentals'),
5607 'Congo, the Democratic Republic of the' => esc_html__('Congo, the Democratic Republic of the','wprentals'),
5608 'Cook Islands' => esc_html__('Cook Islands','wprentals'),
5609 'Costa Rica' => esc_html__('Costa Rica','wprentals'),
5610 'Cote dIvoire' => esc_html__('Cote dIvoire','wprentals'),
5611 'Croatia (Hrvatska)' => esc_html__('Croatia (Hrvatska)','wprentals'),
5612 'Cuba' => esc_html__('Cuba','wprentals'),
5613 'Curacao' => esc_html__('Curacao','wprentals'),
5614 'Cyprus' => esc_html__('Cyprus','wprentals'),
5615 'Czech Republic' => esc_html__('Czech Republic','wprentals'),
5616 'Denmark' => esc_html__('Denmark','wprentals'),
5617 'Djibouti' => esc_html__('Djibouti','wprentals'),
5618 'Dominica' => esc_html__('Dominica','wprentals'),
5619 'Dominican Republic' => esc_html__('Dominican Republic','wprentals'),
5620 'East Timor' => esc_html__('East Timor','wprentals'),
5621 'Ecuador' => esc_html__('Ecuador','wprentals'),
5622 'Egypt' => esc_html__('Egypt','wprentals'),
5623 'El Salvador' => esc_html__('El Salvador','wprentals'),
5624 'Equatorial Guinea' => esc_html__('Equatorial Guinea','wprentals'),
5625 'Eritrea' => esc_html__('Eritrea','wprentals'),
5626 'Estonia' => esc_html__('Estonia','wprentals'),
5627 'Ethiopia' => esc_html__('Ethiopia','wprentals'),
5628 'Falkland Islands (Malvinas)' => esc_html__('Falkland Islands (Malvinas)','wprentals'),
5629 'Faroe Islands' => esc_html__('Faroe Islands','wprentals'),
5630 'Fiji' => esc_html__('Fiji','wprentals'),
5631 'Finland' => esc_html__('Finland','wprentals'),
5632 'France' => esc_html__('France','wprentals'),
5633 'France Metropolitan' => esc_html__('France Metropolitan','wprentals'),
5634 'French Guiana' => esc_html__('French Guiana','wprentals'),
5635 'French Polynesia' => esc_html__('French Polynesia','wprentals'),
5636 'French Southern Territories' => esc_html__('French Southern Territories','wprentals'),
5637 'Gabon' => esc_html__('Gabon','wprentals'),
5638 'Gambia' => esc_html__('Gambia','wprentals'),
5639 'Georgia' => esc_html__('Georgia','wprentals'),
5640 'Germany' => esc_html__('Germany','wprentals'),
5641 'Ghana' => esc_html__('Ghana','wprentals'),
5642 'Gibraltar' => esc_html__('Gibraltar','wprentals'),
5643 'Greece' => esc_html__('Greece','wprentals'),
5644 'Greenland' => esc_html__('Greenland','wprentals'),
5645 'Grenada' => esc_html__('Grenada','wprentals'),
5646 'Guadeloupe' => esc_html__('Guadeloupe','wprentals'),
5647 'Guam' => esc_html__('Guam','wprentals'),
5648 'Guatemala' => esc_html__('Guatemala','wprentals'),
5649 'Guinea' => esc_html__('Guinea','wprentals'),
5650 'Guinea-Bissau' => esc_html__('Guinea-Bissau','wprentals'),
5651 'Guyana' => esc_html__('Guyana','wprentals'),
5652 'Haiti' => esc_html__('Haiti','wprentals'),
5653 'Heard and Mc Donald Islands' => esc_html__('Heard and Mc Donald Islands','wprentals'),
5654 'Holy See (Vatican City State)'=> esc_html__('Holy See (Vatican City State)','wprentals'),
5655 'Honduras' => esc_html__('Honduras','wprentals'),
5656 'Hong Kong' => esc_html__('Hong Kong','wprentals'),
5657 'Hungary' => esc_html__('Hungary','wprentals'),
5658 'Iceland' => esc_html__('Iceland','wprentals'),
5659 'India' => esc_html__('India','wprentals'),
5660 'Indonesia' => esc_html__('Indonesia','wprentals'),
5661 'Iran (Islamic Republic of)' => esc_html__('Iran (Islamic Republic of)','wprentals'),
5662 'Iraq' => esc_html__('Iraq','wprentals'),
5663 'Ireland' => esc_html__('Ireland','wprentals'),
5664 'Israel' => esc_html__('Israel','wprentals'),
5665 'Italy' => esc_html__('Italy','wprentals'),
5666 'Jamaica' => esc_html__('Jamaica','wprentals'),
5667 'Japan' => esc_html__('Japan','wprentals'),
5668 'Jordan' => esc_html__('Jordan','wprentals'),
5669 'Kazakhstan' => esc_html__('Kazakhstan','wprentals'),
5670 'Kenya' => esc_html__('Kenya','wprentals'),
5671 'Kiribati' => esc_html__('Kiribati','wprentals'),
5672 'Korea, Democratic People Republic of' => esc_html__('Korea, Democratic People Republic of','wprentals'),
5673 'Korea, Republic of' => esc_html__('Korea, Republic of','wprentals'),
5674 'Kuwait' => esc_html__('Kuwait','wprentals'),
5675 'Kyrgyzstan' => esc_html__('Kyrgyzstan','wprentals'),
5676 'Lao, People Democratic Republic' => esc_html__('Lao, People Democratic Republic','wprentals'),
5677 'Latvia' => esc_html__('Latvia','wprentals'),
5678 'Lebanon' => esc_html__('Lebanon','wprentals'),
5679 'Lesotho' => esc_html__('Lesotho','wprentals'),
5680 'Liberia' => esc_html__('Liberia','wprentals'),
5681 'Libyan Arab Jamahiriya'=> esc_html__('Libyan Arab Jamahiriya','wprentals'),
5682 'Liechtenstein' => esc_html__('Liechtenstein','wprentals'),
5683 'Lithuania' => esc_html__('Lithuania','wprentals'),
5684 'Luxembourg' => esc_html__('Luxembourg','wprentals'),
5685 'Macau' => esc_html__('Macau','wprentals'),
5686 'Macedonia, The Former Yugoslav Republic of' => esc_html__('Macedonia, The Former Yugoslav Republic of','wprentals'),
5687 'Madagascar' => esc_html__('Madagascar','wprentals'),
5688 'Malawi' => esc_html__('Malawi','wprentals'),
5689 'Malaysia' => esc_html__('Malaysia','wprentals'),
5690 'Maldives' => esc_html__('Maldives','wprentals'),
5691 'Mali' => esc_html__('Mali','wprentals'),
5692 'Malta' => esc_html__('Malta','wprentals'),
5693 'Marshall Islands' => esc_html__('Marshall Islands','wprentals'),
5694 'Martinique' => esc_html__('Martinique','wprentals'),
5695 'Mauritania' => esc_html__('Mauritania','wprentals'),
5696 'Mauritius' => esc_html__('Mauritius','wprentals'),
5697 'Mayotte' => esc_html__('Mayotte','wprentals'),
5698 'Mexico' => esc_html__('Mexico','wprentals'),
5699 'Micronesia, Federated States of' => esc_html__('Micronesia, Federated States of','wprentals'),
5700 'Moldova, Republic of' => esc_html__('Moldova, Republic of','wprentals'),
5701 'Monaco' => esc_html__('Monaco','wprentals'),
5702 'Mongolia' => esc_html__('Mongolia','wprentals'),
5703 'Montserrat' => esc_html__('Montserrat','wprentals'),
5704 'Morocco' => esc_html__('Morocco','wprentals'),
5705 'Mozambique' => esc_html__('Mozambique','wprentals'),
5706 'Montenegro' => esc_html__('Montenegro','wprentals'),
5707 'Myanmar' => esc_html__('Myanmar','wprentals'),
5708 'Namibia' => esc_html__('Namibia','wprentals'),
5709 'Nauru' => esc_html__('Nauru','wprentals'),
5710 'Nepal' => esc_html__('Nepal','wprentals'),
5711 'Netherlands' => esc_html__('Netherlands','wprentals'),
5712 'Netherlands Antilles' => esc_html__('Netherlands Antilles','wprentals'),
5713 'New Caledonia' => esc_html__('New Caledonia','wprentals'),
5714 'New Zealand' => esc_html__('New Zealand','wprentals'),
5715 'Nicaragua' => esc_html__('Nicaragua','wprentals'),
5716 'Niger' => esc_html__('Niger','wprentals'),
5717 'Nigeria' => esc_html__('Nigeria','wprentals'),
5718 'Niue' => esc_html__('Niue','wprentals'),
5719 'Norfolk Island' => esc_html__('Norfolk Island','wprentals'),
5720 'Northern Mariana Islands' => esc_html__('Northern Mariana Islands','wprentals'),
5721 'Norway' => esc_html__('Norway','wprentals'),
5722 'Oman' => esc_html__('Oman','wprentals'),
5723 'Pakistan' => esc_html__('Pakistan','wprentals'),
5724 'Palau' => esc_html__('Palau','wprentals'),
5725 'Panama' => esc_html__('Panama','wprentals'),
5726 'Papua New Guinea' => esc_html__('Papua New Guinea','wprentals'),
5727 'Paraguay' => esc_html__('Paraguay','wprentals'),
5728 'Peru' => esc_html__('Peru','wprentals'),
5729 'Philippines' => esc_html__('Philippines','wprentals'),
5730 'Pitcairn' => esc_html__('Pitcairn','wprentals'),
5731 'Poland' => esc_html__('Poland','wprentals'),
5732 'Portugal' => esc_html__('Portugal','wprentals'),
5733 'Puerto Rico' => esc_html__('Puerto Rico','wprentals'),
5734 'Qatar' => esc_html__('Qatar','wprentals'),
5735 'Reunion' => esc_html__('Reunion','wprentals'),
5736 'Romania' => esc_html__('Romania','wprentals'),
5737 'Russian Federation' => esc_html__('Russian Federation','wprentals'),
5738 'Rwanda' => esc_html__('Rwanda','wprentals'),
5739 'Saint Kitts and Nevis' => esc_html__('Saint Kitts and Nevis','wprentals'),
5740 'Saint Lucia' => esc_html__('Saint Lucia','wprentals'),
5741 'Saint Vincent and the Grenadines' => esc_html__('Saint Vincent and the Grenadines','wprentals'),
5742 'Samoa' => esc_html__('Samoa','wprentals'),
5743 'San Marino' => esc_html__('San Marino','wprentals'),
5744 'Sao Tome and Principe' => esc_html__('Sao Tome and Principe','wprentals'),
5745 'Saudi Arabia' => esc_html__('Saudi Arabia','wprentals'),
5746 'Serbia' => esc_html__('Serbia','wprentals'),
5747 'Senegal' => esc_html__('Senegal','wprentals'),
5748 'Seychelles' => esc_html__('Seychelles','wprentals'),
5749 'Sierra Leone' => esc_html__('Sierra Leone','wprentals'),
5750 'Singapore' => esc_html__('Singapore','wprentals'),
5751 'Slovakia (Slovak Republic)'=> esc_html__('Slovakia (Slovak Republic)','wprentals'),
5752 'Slovenia' => esc_html__('Slovenia','wprentals'),
5753 'Solomon Islands' => esc_html__('Solomon Islands','wprentals'),
5754 'Somalia' => esc_html__('Somalia','wprentals'),
5755 'South Africa' => esc_html__('South Africa','wprentals'),
5756 'South Georgia and the South Sandwich Islands' => esc_html__('South Georgia and the South Sandwich Islands','wprentals'),
5757 'Spain' => esc_html__('Spain','wprentals'),
5758 'Sri Lanka' => esc_html__('Sri Lanka','wprentals'),
5759 'St. Helena' => esc_html__('St. Helena','wprentals'),
5760 'St. Pierre and Miquelon'=> esc_html__('St. Pierre and Miquelon','wprentals'),
5761 'Sudan' => esc_html__('Sudan','wprentals'),
5762 'Suriname' => esc_html__('Suriname','wprentals'),
5763 'Svalbard and Jan Mayen Islands' => esc_html__('Svalbard and Jan Mayen Islands','wprentals'),
5764 'Swaziland' => esc_html__('Swaziland','wprentals'),
5765 'Sweden' => esc_html__('Sweden','wprentals'),
5766 'Switzerland' => esc_html__('Switzerland','wprentals'),
5767 'Syrian Arab Republic' => esc_html__('Syrian Arab Republic','wprentals'),
5768 'Taiwan, Province of China' => esc_html__('Taiwan, Province of China','wprentals'),
5769 'Tajikistan' => esc_html__('Tajikistan','wprentals'),
5770 'Tanzania, United Republic of'=> esc_html__('Tanzania, United Republic of','wprentals'),
5771 'Thailand' => esc_html__('Thailand','wprentals'),
5772 'Togo' => esc_html__('Togo','wprentals'),
5773 'Tokelau' => esc_html__('Tokelau','wprentals'),
5774 'Tonga' => esc_html__('Tonga','wprentals'),
5775 'Trinidad and Tobago' => esc_html__('Trinidad and Tobago','wprentals'),
5776 'Tunisia' => esc_html__('Tunisia','wprentals'),
5777 'Turkey' => esc_html__('Turkey','wprentals'),
5778 'Turkmenistan' => esc_html__('Turkmenistan','wprentals'),
5779 'Turks and Caicos Islands' => esc_html__('Turks and Caicos Islands','wprentals'),
5780 'Tuvalu' => esc_html__('Tuvalu','wprentals'),
5781 'Uganda' => esc_html__('Uganda','wprentals'),
5782 'Ukraine' => esc_html__('Ukraine','wprentals'),
5783 'United Arab Emirates' => esc_html__('United Arab Emirates','wprentals'),
5784 'United Kingdom' => esc_html__('United Kingdom','wprentals'),
5785 'United States' => esc_html__('United States','wprentals'),
5786 'United States Minor Outlying Islands' => esc_html__('United States Minor Outlying Islands','wprentals'),
5787 'Uruguay' => esc_html__('Uruguay','wprentals'),
5788 'Uzbekistan' => esc_html__('Uzbekistan','wprentals'),
5789 'Vanuatu' => esc_html__('Vanuatu','wprentals'),
5790 'Venezuela' => esc_html__('Venezuela','wprentals'),
5791 'Vietnam' => esc_html__('Vietnam','wprentals'),
5792 'Virgin Islands (British)'=> esc_html__('Virgin Islands (British)','wprentals'),
5793 'Virgin Islands (U.S.)' => esc_html__('Virgin Islands (U.S.)','wprentals'),
5794 'Wallis and Futuna Islands' => esc_html__('Wallis and Futuna Islands','wprentals'),
5795 'Western Sahara' => esc_html__('Western Sahara','wprentals'),
5796 'Yemen' => esc_html__('Yemen','wprentals'),
5797 'Yugoslavia' => esc_html__('Yugoslavia','wprentals'),
5798 'Zambia' => esc_html__('Zambia','wprentals'),
5799 'Zimbabwe' => esc_html__('Zimbabwe','wprentals')
5800 );
5801 return $countries;
5802
5803}
5804endif;
5805
5806
5807
5808
5809
5810
5811function wprentals_return_theme_slider_list(){
5812 $return_array=array();
5813 $args = array( 'post_type' => 'estate_property',
5814 'post_status' => 'publish',
5815 'paged' => 0,
5816 'posts_per_page' => 50,
5817 'cache_results' => false,
5818 'update_post_meta_cache' => false,
5819 'update_post_term_cache' => false,
5820 );
5821
5822 $recent_posts = new WP_Query($args);
5823
5824 while ($recent_posts->have_posts()): $recent_posts->the_post();
5825 $theid = get_the_ID();
5826 $return_array[$theid] = get_the_title();
5827
5828 endwhile;
5829
5830 return $return_array;
5831}
5832
5833
5834function wprentals_add_pins_icons( $pin_fields ){
5835 $taxonomy = 'property_action_category';
5836 $tax_terms = get_terms($taxonomy,'hide_empty=0');
5837
5838
5839
5840 if(is_array($tax_terms)){
5841 foreach ($tax_terms as $tax_term) {
5842 $limit54 = $post_name = sanitize_key(wpestate_limit54($tax_term->slug));
5843
5844 $name = 'wp_estate_'.$post_name;
5845 $pin_fields[]=array(
5846 'id' => $name,
5847 'type' => 'media',
5848 'title' => esc_html__('For action ','wprentals').'<strong>'.$tax_term->name,
5849 'subtitle' => esc_html__( 'mage size must be 44px x 50px. ', 'wprentals' ),
5850 'default' => 'no',
5851 );
5852 }
5853 }
5854 $taxonomy_cat = 'property_category';
5855 $categories = get_terms($taxonomy_cat,'hide_empty=0');
5856
5857 if(is_array($categories)){
5858 foreach ($categories as $categ) {
5859 $limit54 = $post_name = sanitize_key(wpestate_limit54($categ->slug));
5860 $name = 'wp_estate_'.$post_name;
5861 $pin_fields[]=array(
5862 'id' => $name,
5863 'type' => 'media',
5864 'title' => esc_html__('For category ','wprentals').'<strong>'.$categ->name,
5865 'subtitle' => esc_html__( 'mage size must be 44px x 50px. ', 'wprentals' ),
5866 'default' => 'no',
5867 );
5868
5869 }
5870 }
5871 if(is_array($tax_terms)){
5872 foreach ($tax_terms as $tax_term) {
5873 if(is_array($categories)){
5874 foreach ($categories as $categ) {
5875 $limit54=sanitize_key(wpestate_limit27($categ->slug)).sanitize_key( wpestate_limit27($tax_term->slug) );
5876
5877 $name = 'wp_estate_'.$limit54;
5878 $pin_fields[]=array(
5879 'id' => $name,
5880 'type' => 'media',
5881 'title' => __('For action','wprentals').' <strong>'.$tax_term->name.'</strong>, '.__('category','wprentals').': <strong>'.$categ->name.'</strong>' ,
5882 'subtitle' => esc_html__( 'mage size must be 44px x 50px. ', 'wprentals' ),
5883 'default' => 'no',
5884 );
5885 }
5886 }
5887
5888 }
5889 }
5890
5891 $pin_fields[]=array(
5892 'id' => 'wp_estate_userpin',
5893 'type' => 'media',
5894 'title' => esc_html__('Userpin in geolocation','wprentals').'<strong>',
5895 'subtitle' => esc_html__( 'mage size must be 44px x 50px. ', 'wprentals' ),
5896 'default' => 'no',
5897 );
5898
5899 return $pin_fields;
5900
5901
5902}
5903
5904
5905
5906
5907function wprentals_redux_font_google(){
5908 $return=array();
5909 $return['']='- original font -';
5910
5911 $google_fonts_array=wprentals_return_google_fonts();
5912 foreach($google_fonts_array as $key=>$value){
5913 $return[$key]=$value;
5914 }
5915 return $return;
5916}
5917
5918
5919function wprentals_redux_yelp(){
5920 $yelp_terms_array =
5921 array (
5922 'active' => array( 'category' => __('Active Life','wprentals'),
5923 'category_sign' => 'fas fa-motorcycle'),
5924 'arts' => array( 'category' => __('Arts & Entertainment','wprentals'),
5925 'category_sign' => 'fas fa-music') ,
5926 'auto' => array( 'category' => __('Automotive','wprentals'),
5927 'category_sign' => 'fas fa-car' ),
5928 'beautysvc' => array( 'category' => __('Beauty & Spas','wprentals'),
5929 'category_sign' => 'fas fa-female' ),
5930 'education' => array( 'category' => __('Education','wprentals'),
5931 'category_sign' => 'fas fa-graduation-cap' ),
5932 'eventservices' => array( 'category' => __('Event Planning & Services','wprentals'),
5933 'category_sign' => 'fas fa-birthday-cake' ),
5934 'financialservices' => array( 'category' => __('Financial Services','wprentals'),
5935 'category_sign' => 'fas fa-money-bill' ),
5936 'food' => array( 'category' => __('Food','wprentals'),
5937 'category_sign' => 'fas fa-utensils' ),
5938 'health' => array( 'category' => __('Health & Medical','wprentals'),
5939 'category_sign' => 'fas fa-briefcase-medical' ),
5940 'homeservices' => array( 'category' =>__('Home Services ','wprentals'),
5941 'category_sign' => 'fas fa-wrench' ),
5942 'hotelstravel' => array( 'category' => __('Hotels & Travel','wprentals'),
5943 'category_sign' => 'fas fa-bed' ),
5944 'localflavor' => array( 'category' => __('Local Flavor','wprentals'),
5945 'category_sign' => 'fas fa-coffee' ),
5946 'localservices' => array( 'category' => __('Local Services','wprentals'),
5947 'category_sign' => 'fas fa-dot-circle' ),
5948 'massmedia' => array( 'category' => __('Mass Media','wprentals'),
5949 'category_sign' => 'fas fa-tv' ),
5950 'nightlife' => array( 'category' => __('Nightlife','wprentals'),
5951 'category_sign' => 'fas fa-glass-martini-alt' ),
5952 'pets' => array( 'category' => __('Pets','wprentals'),
5953 'category_sign' => 'fas fa-paw' ),
5954 'professional' => array( 'category' => __('Professional Services','wprentals'),
5955 'category_sign' => 'fas fa-suitcase' ),
5956 'publicservicesgovt'=> array( 'category' => __('Public Services & Government','wprentals'),
5957 'category_sign' => 'fas fa-university' ),
5958 'realestate' => array( 'category' => __('Real Estate','wprentals'),
5959 'category_sign' => 'fas fa-building' ),
5960 'religiousorgs' => array( 'category' => __('Religious Organizations','wprentals'),
5961 'category_sign' => 'fas fa-cloud' ),
5962 'restaurants' => array( 'category' => __('Restaurants','wprentals'),
5963 'category_sign' => 'fas fa-utensils' ),
5964 'shopping' => array( 'category' => __('Shopping','wprentals'),
5965 'category_sign' => 'fas fa-shopping-bag' ),
5966 'transport' => array( 'category' => __('Transportation','wprentals'),
5967 'category_sign' => 'fas fa-bus-alt' )
5968 );
5969
5970 $return = array();
5971 foreach($yelp_terms_array as $key=>$term){
5972 $return[$key] = $term['category'];
5973 }
5974 return $return;
5975
5976
5977}
5978
5979
5980if(!function_exists('wprentals_return_google_fonts')):
5981function wprentals_return_google_fonts(){
5982 $google_fonts_array = array(
5983 "Abel" => "Abel",
5984 "Abril Fatface" => "Abril Fatface",
5985 "Aclonica" => "Aclonica",
5986 "Acme" => "Acme",
5987 "Actor" => "Actor",
5988 "Adamina" => "Adamina",
5989 "Advent Pro" => "Advent Pro",
5990 "Aguafina Script" => "Aguafina Script",
5991 "Aladin" => "Aladin",
5992 "Aldrich" => "Aldrich",
5993 "Alegreya" => "Alegreya",
5994 "Alegreya SC" => "Alegreya SC",
5995 "Alex Brush" => "Alex Brush",
5996 "Alfa Slab One" => "Alfa Slab One",
5997 "Alice" => "Alice",
5998 "Alike" => "Alike",
5999 "Alike Angular" => "Alike Angular",
6000 "Allan" => "Allan",
6001 "Allerta" => "Allerta",
6002 "Allerta Stencil" => "Allerta Stencil",
6003 "Allura" => "Allura",
6004 "Almendra" => "Almendra",
6005 "Almendra SC" => "Almendra SC",
6006 "Amaranth" => "Amaranth",
6007 "Amatic SC" => "Amatic SC",
6008 "Amethysta" => "Amethysta",
6009 "Andada" => "Andada",
6010 "Andika" => "Andika",
6011 "Angkor" => "Angkor",
6012 "Annie Use Your Telescope" => "Annie Use Your Telescope",
6013 "Anonymous Pro" => "Anonymous Pro",
6014 "Antic" => "Antic",
6015 "Antic Didone" => "Antic Didone",
6016 "Antic Slab" => "Antic Slab",
6017 "Anton" => "Anton",
6018 "Arapey" => "Arapey",
6019 "Arbutus" => "Arbutus",
6020 "Architects Daughter" => "Architects Daughter",
6021 "Arimo" => "Arimo",
6022 "Arizonia" => "Arizonia",
6023 "Armata" => "Armata",
6024 "Artifika" => "Artifika",
6025 "Arvo" => "Arvo",
6026 "Asap" => "Asap",
6027 "Asset" => "Asset",
6028 "Astloch" => "Astloch",
6029 "Asul" => "Asul",
6030 "Atomic Age" => "Atomic Age",
6031 "Aubrey" => "Aubrey",
6032 "Audiowide" => "Audiowide",
6033 "Average" => "Average",
6034 "Averia Gruesa Libre" => "Averia Gruesa Libre",
6035 "Averia Libre" => "Averia Libre",
6036 "Averia Sans Libre" => "Averia Sans Libre",
6037 "Averia Serif Libre" => "Averia Serif Libre",
6038 "Bad Script" => "Bad Script",
6039 "Balthazar" => "Balthazar",
6040 "Bangers" => "Bangers",
6041 "Basic" => "Basic",
6042 "Battambang" => "Battambang",
6043 "Baumans" => "Baumans",
6044 "Bayon" => "Bayon",
6045 "Belgrano" => "Belgrano",
6046 "Belleza" => "Belleza",
6047 "Bentham" => "Bentham",
6048 "Berkshire Swash" => "Berkshire Swash",
6049 "Bevan" => "Bevan",
6050 "Bigshot One" => "Bigshot One",
6051 "Bilbo" => "Bilbo",
6052 "Bilbo Swash Caps" => "Bilbo Swash Caps",
6053 "Bitter" => "Bitter",
6054 "Black Ops One" => "Black Ops One",
6055 "Bokor" => "Bokor",
6056 "Bonbon" => "Bonbon",
6057 "Boogaloo" => "Boogaloo",
6058 "Bowlby One" => "Bowlby One",
6059 "Bowlby One SC" => "Bowlby One SC",
6060 "Brawler" => "Brawler",
6061 "Bree Serif" => "Bree Serif",
6062 "Bubblegum Sans" => "Bubblegum Sans",
6063 "Buda" => "Buda",
6064 "Buenard" => "Buenard",
6065 "Butcherman" => "Butcherman",
6066 "Butterfly Kids" => "Butterfly Kids",
6067 "Cabin" => "Cabin",
6068 "Cabin Condensed" => "Cabin Condensed",
6069 "Cabin Sketch" => "Cabin Sketch",
6070 "Caesar Dressing" => "Caesar Dressing",
6071 "Cagliostro" => "Cagliostro",
6072 "Calligraffitti" => "Calligraffitti",
6073 "Cambo" => "Cambo",
6074 "Candal" => "Candal",
6075 "Cantarell" => "Cantarell",
6076 "Cantata One" => "Cantata One",
6077 "Cardo" => "Cardo",
6078 "Carme" => "Carme",
6079 "Carter One" => "Carter One",
6080 "Caudex" => "Caudex",
6081 "Cedarville Cursive" => "Cedarville Cursive",
6082 "Ceviche One" => "Ceviche One",
6083 "Changa One" => "Changa One",
6084 "Chango" => "Chango",
6085 "Chau Philomene One" => "Chau Philomene One",
6086 "Chelsea Market" => "Chelsea Market",
6087 "Chenla" => "Chenla",
6088 "Cherry Cream Soda" => "Cherry Cream Soda",
6089 "Chewy" => "Chewy",
6090 "Chicle" => "Chicle",
6091 "Chivo" => "Chivo",
6092 "Coda" => "Coda",
6093 "Coda Caption" => "Coda Caption",
6094 "Codystar" => "Codystar",
6095 "Comfortaa" => "Comfortaa",
6096 "Coming Soon" => "Coming Soon",
6097 "Concert One" => "Concert One",
6098 "Condiment" => "Condiment",
6099 "Content" => "Content",
6100 "Contrail One" => "Contrail One",
6101 "Convergence" => "Convergence",
6102 "Cookie" => "Cookie",
6103 "Copse" => "Copse",
6104 "Corben" => "Corben",
6105 "Cousine" => "Cousine",
6106 "Coustard" => "Coustard",
6107 "Covered By Your Grace" => "Covered By Your Grace",
6108 "Crafty Girls" => "Crafty Girls",
6109 "Creepster" => "Creepster",
6110 "Crete Round" => "Crete Round",
6111 "Crimson Text" => "Crimson Text",
6112 "Crushed" => "Crushed",
6113 "Cuprum" => "Cuprum",
6114 "Cutive" => "Cutive",
6115 "Damion" => "Damion",
6116 "Dancing Script" => "Dancing Script",
6117 "Dangrek" => "Dangrek",
6118 "Dawning of a New Day" => "Dawning of a New Day",
6119 "Days One" => "Days One",
6120 "Delius" => "Delius",
6121 "Delius Swash Caps" => "Delius Swash Caps",
6122 "Delius Unicase" => "Delius Unicase",
6123 "Della Respira" => "Della Respira",
6124 "Devonshire" => "Devonshire",
6125 "Didact Gothic" => "Didact Gothic",
6126 "Diplomata" => "Diplomata",
6127 "Diplomata SC" => "Diplomata SC",
6128 "Doppio One" => "Doppio One",
6129 "Dorsa" => "Dorsa",
6130 "Dosis" => "Dosis",
6131 "Dr Sugiyama" => "Dr Sugiyama",
6132 "Droid Sans" => "Droid Sans",
6133 "Droid Sans Mono" => "Droid Sans Mono",
6134 "Droid Serif" => "Droid Serif",
6135 "Duru Sans" => "Duru Sans",
6136 "Dynalight" => "Dynalight",
6137 "EB Garamond" => "EB Garamond",
6138 "Eater" => "Eater",
6139 "Economica" => "Economica",
6140 "Electrolize" => "Electrolize",
6141 "Emblema One" => "Emblema One",
6142 "Emilys Candy" => "Emilys Candy",
6143 "Engagement" => "Engagement",
6144 "Enriqueta" => "Enriqueta",
6145 "Erica One" => "Erica One",
6146 "Esteban" => "Esteban",
6147 "Euphoria Script" => "Euphoria Script",
6148 "Ewert" => "Ewert",
6149 "Exo" => "Exo",
6150 "Expletus Sans" => "Expletus Sans",
6151 "Fanwood Text" => "Fanwood Text",
6152 "Fascinate" => "Fascinate",
6153 "Fascinate Inline" => "Fascinate Inline",
6154 "Federant" => "Federant",
6155 "Federo" => "Federo",
6156 "Felipa" => "Felipa",
6157 "Fjord One" => "Fjord One",
6158 "Flamenco" => "Flamenco",
6159 "Flavors" => "Flavors",
6160 "Fondamento" => "Fondamento",
6161 "Fontdiner Swanky" => "Fontdiner Swanky",
6162 "Forum" => "Forum",
6163 "Francois One" => "Francois One",
6164 "Fredericka the Great" => "Fredericka the Great",
6165 "Fredoka One" => "Fredoka One",
6166 "Freehand" => "Freehand",
6167 "Fresca" => "Fresca",
6168 "Frijole" => "Frijole",
6169 "Fugaz One" => "Fugaz One",
6170 "GFS Didot" => "GFS Didot",
6171 "GFS Neohellenic" => "GFS Neohellenic",
6172 "Galdeano" => "Galdeano",
6173 "Gentium Basic" => "Gentium Basic",
6174 "Gentium Book Basic" => "Gentium Book Basic",
6175 "Geo" => "Geo",
6176 "Geostar" => "Geostar",
6177 "Geostar Fill" => "Geostar Fill",
6178 "Germania One" => "Germania One",
6179 "Give You Glory" => "Give You Glory",
6180 "Glass Antiqua" => "Glass Antiqua",
6181 "Glegoo" => "Glegoo",
6182 "Gloria Hallelujah" => "Gloria Hallelujah",
6183 "Goblin One" => "Goblin One",
6184 "Gochi Hand" => "Gochi Hand",
6185 "Gorditas" => "Gorditas",
6186 "Goudy Bookletter 1911" => "Goudy Bookletter 1911",
6187 "Graduate" => "Graduate",
6188 "Gravitas One" => "Gravitas One",
6189 "Great Vibes" => "Great Vibes",
6190 "Gruppo" => "Gruppo",
6191 "Gudea" => "Gudea",
6192 "Habibi" => "Habibi",
6193 "Hammersmith One" => "Hammersmith One",
6194 "Handlee" => "Handlee",
6195 "Hanuman" => "Hanuman",
6196 "Happy Monkey" => "Happy Monkey",
6197 "Henny Penny" => "Henny Penny",
6198 "Herr Von Muellerhoff" => "Herr Von Muellerhoff",
6199 "Holtwood One SC" => "Holtwood One SC",
6200 "Homemade Apple" => "Homemade Apple",
6201 "Homenaje" => "Homenaje",
6202 "IM Fell DW Pica" => "IM Fell DW Pica",
6203 "IM Fell DW Pica SC" => "IM Fell DW Pica SC",
6204 "IM Fell Double Pica" => "IM Fell Double Pica",
6205 "IM Fell Double Pica SC" => "IM Fell Double Pica SC",
6206 "IM Fell English" => "IM Fell English",
6207 "IM Fell English SC" => "IM Fell English SC",
6208 "IM Fell French Canon" => "IM Fell French Canon",
6209 "IM Fell French Canon SC" => "IM Fell French Canon SC",
6210 "IM Fell Great Primer" => "IM Fell Great Primer",
6211 "IM Fell Great Primer SC" => "IM Fell Great Primer SC",
6212 "Iceberg" => "Iceberg",
6213 "Iceland" => "Iceland",
6214 "Imprima" => "Imprima",
6215 "Inconsolata" => "Inconsolata",
6216 "Inder" => "Inder",
6217 "Indie Flower" => "Indie Flower",
6218 "Inika" => "Inika",
6219 "Irish Grover" => "Irish Grover",
6220 "Istok Web" => "Istok Web",
6221 "Italiana" => "Italiana",
6222 "Italianno" => "Italianno",
6223 "Jim Nightshade" => "Jim Nightshade",
6224 "Jockey One" => "Jockey One",
6225 "Jolly Lodger" => "Jolly Lodger",
6226 "Josefin Sans" => "Josefin Sans",
6227 "Josefin Slab" => "Josefin Slab",
6228 "Judson" => "Judson",
6229 "Julee" => "Julee",
6230 "Junge" => "Junge",
6231 "Jura" => "Jura",
6232 "Just Another Hand" => "Just Another Hand",
6233 "Just Me Again Down Here" => "Just Me Again Down Here",
6234 "Kameron" => "Kameron",
6235 "Karla" => "Karla",
6236 "Kaushan Script" => "Kaushan Script",
6237 "Kelly Slab" => "Kelly Slab",
6238 "Kenia" => "Kenia",
6239 "Khmer" => "Khmer",
6240 "Knewave" => "Knewave",
6241 "Kotta One" => "Kotta One",
6242 "Koulen" => "Koulen",
6243 "Kranky" => "Kranky",
6244 "Kreon" => "Kreon",
6245 "Kristi" => "Kristi",
6246 "Krona One" => "Krona One",
6247 "La Belle Aurore" => "La Belle Aurore",
6248 "Lancelot" => "Lancelot",
6249 "Lato" => "Lato",
6250 "League Script" => "League Script",
6251 "Leckerli One" => "Leckerli One",
6252 "Ledger" => "Ledger",
6253 "Lekton" => "Lekton",
6254 "Lemon" => "Lemon",
6255 "Lilita One" => "Lilita One",
6256 "Limelight" => "Limelight",
6257 "Linden Hill" => "Linden Hill",
6258 "Lobster" => "Lobster",
6259 "Lobster Two" => "Lobster Two",
6260 "Londrina Outline" => "Londrina Outline",
6261 "Londrina Shadow" => "Londrina Shadow",
6262 "Londrina Sketch" => "Londrina Sketch",
6263 "Londrina Solid" => "Londrina Solid",
6264 "Lora" => "Lora",
6265 "Love Ya Like A Sister" => "Love Ya Like A Sister",
6266 "Loved by the King" => "Loved by the King",
6267 "Lovers Quarrel" => "Lovers Quarrel",
6268 "Luckiest Guy" => "Luckiest Guy",
6269 "Lusitana" => "Lusitana",
6270 "Lustria" => "Lustria",
6271 "Macondo" => "Macondo",
6272 "Macondo Swash Caps" => "Macondo Swash Caps",
6273 "Magra" => "Magra",
6274 "Maiden Orange" => "Maiden Orange",
6275 "Mako" => "Mako",
6276 "Marck Script" => "Marck Script",
6277 "Marko One" => "Marko One",
6278 "Marmelad" => "Marmelad",
6279 "Marvel" => "Marvel",
6280 "Mate" => "Mate",
6281 "Mate SC" => "Mate SC",
6282 "Maven Pro" => "Maven Pro",
6283 "Meddon" => "Meddon",
6284 "MedievalSharp" => "MedievalSharp",
6285 "Medula One" => "Medula One",
6286 "Megrim" => "Megrim",
6287 "Merienda One" => "Merienda One",
6288 "Merriweather" => "Merriweather",
6289 "Metal" => "Metal",
6290 "Metamorphous" => "Metamorphous",
6291 "Metrophobic" => "Metrophobic",
6292 "Michroma" => "Michroma",
6293 "Miltonian" => "Miltonian",
6294 "Miltonian Tattoo" => "Miltonian Tattoo",
6295 "Miniver" => "Miniver",
6296 "Miss Fajardose" => "Miss Fajardose",
6297 "Modern Antiqua" => "Modern Antiqua",
6298 "Molengo" => "Molengo",
6299 "Monofett" => "Monofett",
6300 "Monoton" => "Monoton",
6301 "Monsieur La Doulaise" => "Monsieur La Doulaise",
6302 "Montaga" => "Montaga",
6303 "Montez" => "Montez",
6304 "Montserrat" => "Montserrat",
6305 "Moul" => "Moul",
6306 "Moulpali" => "Moulpali",
6307 "Mountains of Christmas" => "Mountains of Christmas",
6308 "Mr Bedfort" => "Mr Bedfort",
6309 "Mr Dafoe" => "Mr Dafoe",
6310 "Mr De Haviland" => "Mr De Haviland",
6311 "Mrs Saint Delafield" => "Mrs Saint Delafield",
6312 "Mrs Sheppards" => "Mrs Sheppards",
6313 "Muli" => "Muli",
6314 "Mystery Quest" => "Mystery Quest",
6315 "Neucha" => "Neucha",
6316 "Neuton" => "Neuton",
6317 "News Cycle" => "News Cycle",
6318 "Niconne" => "Niconne",
6319 "Nixie One" => "Nixie One",
6320 "Nobile" => "Nobile",
6321 "Nokora" => "Nokora",
6322 "Norican" => "Norican",
6323 "Nosifer" => "Nosifer",
6324 "Nothing You Could Do" => "Nothing You Could Do",
6325 "Noticia Text" => "Noticia Text",
6326 "Nova Cut" => "Nova Cut",
6327 "Nova Flat" => "Nova Flat",
6328 "Nova Mono" => "Nova Mono",
6329 "Nova Oval" => "Nova Oval",
6330 "Nova Round" => "Nova Round",
6331 "Nova Script" => "Nova Script",
6332 "Nova Slim" => "Nova Slim",
6333 "Nova Square" => "Nova Square",
6334 "Numans" => "Numans",
6335 "Nunito" => "Nunito",
6336 "Odor Mean Chey" => "Odor Mean Chey",
6337 "Old Standard TT" => "Old Standard TT",
6338 "Oldenburg" => "Oldenburg",
6339 "Oleo Script" => "Oleo Script",
6340 "Open Sans" => "Open Sans",
6341 "Open Sans Condensed" => "Open Sans Condensed",
6342 "Orbitron" => "Orbitron",
6343 "Original Surfer" => "Original Surfer",
6344 "Oswald" => "Oswald",
6345 "Over the Rainbow" => "Over the Rainbow",
6346 "Overlock" => "Overlock",
6347 "Overlock SC" => "Overlock SC",
6348 "Ovo" => "Ovo",
6349 "Oxygen" => "Oxygen",
6350 "PT Mono" => "PT Mono",
6351 "PT Sans" => "PT Sans",
6352 "PT Sans Caption" => "PT Sans Caption",
6353 "PT Sans Narrow" => "PT Sans Narrow",
6354 "PT Serif" => "PT Serif",
6355 "PT Serif Caption" => "PT Serif Caption",
6356 "Pacifico" => "Pacifico",
6357 "Parisienne" => "Parisienne",
6358 "Passero One" => "Passero One",
6359 "Passion One" => "Passion One",
6360 "Patrick Hand" => "Patrick Hand",
6361 "Patua One" => "Patua One",
6362 "Paytone One" => "Paytone One",
6363 "Permanent Marker" => "Permanent Marker",
6364 "Petrona" => "Petrona",
6365 "Philosopher" => "Philosopher",
6366 "Piedra" => "Piedra",
6367 "Pinyon Script" => "Pinyon Script",
6368 "Plaster" => "Plaster",
6369 "Play" => "Play",
6370 "Playball" => "Playball",
6371 "Playfair Display" => "Playfair Display",
6372 "Podkova" => "Podkova",
6373 "Poiret One" => "Poiret One",
6374 "Poller One" => "Poller One",
6375 "Poly" => "Poly",
6376 "Pompiere" => "Pompiere",
6377 "Pontano Sans" => "Pontano Sans",
6378 "Port Lligat Sans" => "Port Lligat Sans",
6379 "Port Lligat Slab" => "Port Lligat Slab",
6380 "Prata" => "Prata",
6381 "Preahvihear" => "Preahvihear",
6382 "Press Start 2P" => "Press Start 2P",
6383 "Princess Sofia" => "Princess Sofia",
6384 "Prociono" => "Prociono",
6385 "Prosto One" => "Prosto One",
6386 "Puritan" => "Puritan",
6387 "Quantico" => "Quantico",
6388 "Quattrocento" => "Quattrocento",
6389 "Quattrocento Sans" => "Quattrocento Sans",
6390 "Questrial" => "Questrial",
6391 "Quicksand" => "Quicksand",
6392 "Qwigley" => "Qwigley",
6393 "Radley" => "Radley",
6394 "Raleway" => "Raleway",
6395 "Rammetto One" => "Rammetto One",
6396 "Rancho" => "Rancho",
6397 "Rationale" => "Rationale",
6398 "Redressed" => "Redressed",
6399 "Reenie Beanie" => "Reenie Beanie",
6400 "Revalia" => "Revalia",
6401 "Ribeye" => "Ribeye",
6402 "Ribeye Marrow" => "Ribeye Marrow",
6403 "Righteous" => "Righteous",
6404 "Rochester" => "Rochester",
6405 "Rock Salt" => "Rock Salt",
6406 "Rokkitt" => "Rokkitt",
6407 "Ropa Sans" => "Ropa Sans",
6408 "Rosario" => "Rosario",
6409 "Rosarivo" => "Rosarivo",
6410 "Rouge Script" => "Rouge Script",
6411 "Ruda" => "Ruda",
6412 "Ruge Boogie" => "Ruge Boogie",
6413 "Ruluko" => "Ruluko",
6414 "Ruslan Display" => "Ruslan Display",
6415 "Russo One" => "Russo One",
6416 "Ruthie" => "Ruthie",
6417 "Sail" => "Sail",
6418 "Salsa" => "Salsa",
6419 "Sancreek" => "Sancreek",
6420 "Sansita One" => "Sansita One",
6421 "Sarina" => "Sarina",
6422 "Satisfy" => "Satisfy",
6423 "Schoolbell" => "Schoolbell",
6424 "Seaweed Script" => "Seaweed Script",
6425 "Sevillana" => "Sevillana",
6426 "Shadows Into Light" => "Shadows Into Light",
6427 "Shadows Into Light Two" => "Shadows Into Light Two",
6428 "Shanti" => "Shanti",
6429 "Share" => "Share",
6430 "Shojumaru" => "Shojumaru",
6431 "Short Stack" => "Short Stack",
6432 "Siemreap" => "Siemreap",
6433 "Sigmar One" => "Sigmar One",
6434 "Signika" => "Signika",
6435 "Signika Negative" => "Signika Negative",
6436 "Simonetta" => "Simonetta",
6437 "Sirin Stencil" => "Sirin Stencil",
6438 "Six Caps" => "Six Caps",
6439 "Slackey" => "Slackey",
6440 "Smokum" => "Smokum",
6441 "Smythe" => "Smythe",
6442 "Sniglet" => "Sniglet",
6443 "Snippet" => "Snippet",
6444 "Sofia" => "Sofia",
6445 "Sonsie One" => "Sonsie One",
6446 "Sorts Mill Goudy" => "Sorts Mill Goudy",
6447 "Special Elite" => "Special Elite",
6448 "Spicy Rice" => "Spicy Rice",
6449 "Spinnaker" => "Spinnaker",
6450 "Spirax" => "Spirax",
6451 "Squada One" => "Squada One",
6452 "Stardos Stencil" => "Stardos Stencil",
6453 "Stint Ultra Condensed" => "Stint Ultra Condensed",
6454 "Stint Ultra Expanded" => "Stint Ultra Expanded",
6455 "Stoke" => "Stoke",
6456 "Sue Ellen Francisco" => "Sue Ellen Francisco",
6457 "Sunshiney" => "Sunshiney",
6458 "Supermercado One" => "Supermercado One",
6459 "Suwannaphum" => "Suwannaphum",
6460 "Swanky and Moo Moo" => "Swanky and Moo Moo",
6461 "Syncopate" => "Syncopate",
6462 "Tangerine" => "Tangerine",
6463 "Taprom" => "Taprom",
6464 "Telex" => "Telex",
6465 "Tenor Sans" => "Tenor Sans",
6466 "The Girl Next Door" => "The Girl Next Door",
6467 "Tienne" => "Tienne",
6468 "Tinos" => "Tinos",
6469 "Titan One" => "Titan One",
6470 "Trade Winds" => "Trade Winds",
6471 "Trocchi" => "Trocchi",
6472 "Trochut" => "Trochut",
6473 "Trykker" => "Trykker",
6474 "Tulpen One" => "Tulpen One",
6475 "Ubuntu" => "Ubuntu",
6476 "Ubuntu Condensed" => "Ubuntu Condensed",
6477 "Ubuntu Mono" => "Ubuntu Mono",
6478 "Ultra" => "Ultra",
6479 "Uncial Antiqua" => "Uncial Antiqua",
6480 "UnifrakturCook" => "UnifrakturCook",
6481 "UnifrakturMaguntia" => "UnifrakturMaguntia",
6482 "Unkempt" => "Unkempt",
6483 "Unlock" => "Unlock",
6484 "Unna" => "Unna",
6485 "VT323" => "VT323",
6486 "Varela" => "Varela",
6487 "Varela Round" => "Varela Round",
6488 "Vast Shadow" => "Vast Shadow",
6489 "Vibur" => "Vibur",
6490 "Vidaloka" => "Vidaloka",
6491 "Viga" => "Viga",
6492 "Voces" => "Voces",
6493 "Volkhov" => "Volkhov",
6494 "Vollkorn" => "Vollkorn",
6495 "Voltaire" => "Voltaire",
6496 "Waiting for the Sunrise" => "Waiting for the Sunrise",
6497 "Wallpoet" => "Wallpoet",
6498 "Walter Turncoat" => "Walter Turncoat",
6499 "Wellfleet" => "Wellfleet",
6500 "Wire One" => "Wire One",
6501 "Yanone Kaffeesatz" => "Yanone Kaffeesatz",
6502 "Yellowtail" => "Yellowtail",
6503 "Yeseva One" => "Yeseva One",
6504 "Yesteryear" => "Yesteryear",
6505 "Zeyada" => "Zeyada",
6506 );
6507 return $google_fonts_array;
6508}
6509endif;