Advertisement
Guest User

Untitled

a guest
Feb 12th, 2019
266
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 396.72 KB | None | 0 0
  1. <?php
  2. if ( ! 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. }
  12. endif;
  13.  
  14.  
  15.  
  16. if ( ! 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. }
  51. endif;
  52.  
  53.  
  54. add_action('redux/options/wprentals_admin/saved', 'wprentals_redux_on_save',10,2);
  55. function 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.  
  222. function 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.  
  241. if(!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. }
  315. endif;
  316.  
  317.  
  318.  
  319.  
  320. function 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.  
  334. if(!function_exists('wpestate_fields_type_select_redux')):
  335. function 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. }
  350. endif;
  351.  
  352.  
  353. if( !function_exists('wpestate_show_advanced_search_how_redux') ):
  354. function 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. }
  374. endif; // end wpestate_show_advanced_search_how
  375.  
  376.  
  377.  
  378. if( !function_exists('wpestate_show_advanced_search_options_redux') ):
  379.  
  380. function 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. }
  465. endif; // end wpestate_show_advanced_search_options
  466.  
  467.  
  468.  
  469. if(!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. }
  481. endif;
  482.  
  483.  
  484. if(!function_exists('wpestate_number_convert_currency')):
  485. function 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. }
  498. endif;
  499.  
  500.  
  501.  
  502. if ( ! 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.  
  533. if(!function_exists('wpestate_category_labels_dropdowns')):
  534. function 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. }
  554. endif;
  555.  
  556.  
  557. if(!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.  
  579. endif;
  580.  
  581. if( !function_exists('wpestate_delete_cache') ):
  582. function 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. }
  604. endif;
  605.  
  606.  
  607.  
  608.  
  609.  
  610.  
  611.  
  612.  
  613. if(!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. }
  658. endif;
  659.  
  660.  
  661.  
  662. if(!function_exists('wpestate_show_poi_onmap')):
  663. function 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. }
  684. endif;
  685.  
  686.  
  687. if(!function_exists('wpestate_splash_page_header')):
  688. function 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. }
  701. endif;
  702.  
  703.  
  704. if(!function_exists('wpestate_splash_slider')):
  705. function 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. }
  764. endif;
  765.  
  766.  
  767. if(!function_exists('wpestate_video_header')):
  768. function 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. }
  842. endif;
  843.  
  844.  
  845.  
  846.  
  847.  
  848.  
  849. if(!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. }
  854. endif;
  855.  
  856.  
  857. if(!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. }
  908. endif;
  909.  
  910. if(!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. }
  1030. endif;
  1031.  
  1032.  
  1033. add_action( 'updated_post_meta', 'wpestate_wpml_after_post_meta', 10, 4 );
  1034. function 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.  
  1045. if(!function_exists('wpestate_update_booking_dates_for_wpml')):
  1046. function 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. }
  1056. endif;
  1057.  
  1058.  
  1059.  
  1060. if(!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. }
  1106. endif;
  1107.  
  1108.  
  1109.  
  1110.  
  1111.  
  1112.  
  1113.  
  1114.  
  1115.  
  1116.  
  1117. if(!function_exists('wpestate_show_extra_options_booking')):
  1118. function 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. }
  1134. endif;
  1135.  
  1136.  
  1137. if(!function_exists('wpestate_curency_submission_pick')):
  1138. function 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. }
  1146. endif;
  1147.  
  1148.  
  1149. if(!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. }
  1159. endif;
  1160.  
  1161.  
  1162. if(!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. }
  1173. endif;
  1174.  
  1175.  
  1176. if(!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. }
  1183. endif;
  1184.  
  1185.  
  1186. if(!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. }
  1193. endif;
  1194.  
  1195.  
  1196. if( !function_exists('wpestate_the_excerpt_max_charlength') ):
  1197. function 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. }
  1217. endif;
  1218.  
  1219. if( !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. }
  1227. endif; // end wpestate_strip_words
  1228.  
  1229.  
  1230.  
  1231.  
  1232.  
  1233. if( !function_exists('wpestate_show_product_type')):
  1234. function wpestate_show_product_type($item_id){
  1235. return get_the_title($item_id);
  1236.  
  1237. }
  1238. endif;
  1239.  
  1240.  
  1241. if( !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&amp;player_id=player_1" allowFullScreen></iframe>
  1247. </div>';
  1248.  
  1249. }
  1250. endif; // end
  1251.  
  1252.  
  1253. if( !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&amp;rel=0" allowfullscreen></iframe>
  1259. </div>';
  1260.  
  1261. }
  1262. endif; // end
  1263.  
  1264.  
  1265. if( !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. }
  1279. endif;
  1280.  
  1281.  
  1282.  
  1283.  
  1284. if( !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. }
  1428. endif;
  1429.  
  1430.  
  1431.  
  1432.  
  1433.  
  1434.  
  1435. /////////////////////////////////////////////////////////////////////////////////
  1436. // header type
  1437. ///////////////////////////////////////////////////////////////////////////////////
  1438.  
  1439.  
  1440. if( !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. }
  1500. endif;
  1501.  
  1502.  
  1503. function 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.  
  1513. function 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.  
  1547. if( !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. }
  2032. endif;
  2033.  
  2034.  
  2035.  
  2036. if(!function_exists('wpestate_extra_options_exp')):
  2037. function 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. }
  2049. endif;
  2050.  
  2051.  
  2052. if(!function_exists('wpestate_early_bird')):
  2053. function 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. }
  2064. endif;
  2065.  
  2066.  
  2067. if(!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. }
  2091. endif;
  2092.  
  2093. if(!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. }
  2124. endif;
  2125.  
  2126.  
  2127.  
  2128.  
  2129. if(!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. }
  2142. endif;
  2143.  
  2144.  
  2145.  
  2146.  
  2147.  
  2148.  
  2149. if(!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. }
  2168. endif;
  2169.  
  2170.  
  2171. if( !function_exists('wpestate_calculate_weekedn_price') ):
  2172. function 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. }
  2183. endif;
  2184.  
  2185.  
  2186.  
  2187. if( !function_exists('wpestate_return_custom_price') ):
  2188. function 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. }
  2204. endif;
  2205.  
  2206.  
  2207.  
  2208. if( !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. }
  2225. endif;
  2226.  
  2227.  
  2228.  
  2229.  
  2230.  
  2231.  
  2232. /////////////////////////////////////////////////////////////////////////////////
  2233. // datepcker_translate
  2234. ///////////////////////////////////////////////////////////////////////////////////
  2235. if( !function_exists('wpestate_date_picker_translation') ):
  2236. function 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. }
  2262. endif;
  2263.  
  2264. /////////////////////////////////////////////////////////////////////////////////
  2265. // show price
  2266. ///////////////////////////////////////////////////////////////////////////////////
  2267. if( !function_exists('westate_display_corection') ):
  2268. function 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. }
  2277. endif;
  2278.  
  2279. if( !function_exists('wpestate_show_price') ):
  2280. function 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. }
  2345. endif;
  2346.  
  2347.  
  2348. if( !function_exists('TrimTrailingZeroes') ):
  2349. function TrimTrailingZeroes($nbr) {
  2350. if( strpos( $nbr,'.' )!==false ){
  2351. return rtrim( rtrim($nbr,'0'), '.');
  2352. }else{
  2353. return $nbr;
  2354. }
  2355. }
  2356. endif;
  2357.  
  2358.  
  2359. /////////////////////////////////////////////////////////////////////////////////
  2360. // show price custom
  2361. ///////////////////////////////////////////////////////////////////////////////////
  2362. if( !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. }
  2388. endif;
  2389.  
  2390. if( !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. }
  2416. endif;
  2417.  
  2418. /////////////////////////////////////////////////////////////////////////////////
  2419. // show price booking
  2420. ///////////////////////////////////////////////////////////////////////////////////
  2421.  
  2422.  
  2423. if( !function_exists('wpestate_show_price_booking') ):
  2424. function 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. }
  2471. endif;
  2472.  
  2473.  
  2474.  
  2475.  
  2476. //////////////////////////////////////////////////////////////////////////////////////
  2477. // show price bookign for invoice - 1 currency only
  2478. ///////////////////////////////////////////////////////////////////////////////////////
  2479.  
  2480. if( !function_exists('wpestate_show_price_booking_for_invoice') ):
  2481. function 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. }
  2521. endif;
  2522.  
  2523. /////////////////////////////////////////////////////////////////////////////////
  2524. // show top bar
  2525. ///////////////////////////////////////////////////////////////////////////////////
  2526. if( !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. }
  2546. endif;
  2547.  
  2548.  
  2549.  
  2550. /////////////////////////////////////////////////////////////////////////////////
  2551. // show create_booking_type
  2552. ///////////////////////////////////////////////////////////////////////////////////
  2553.  
  2554.  
  2555.  
  2556.  
  2557. if( !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. }
  2579. endif;
  2580.  
  2581.  
  2582.  
  2583.  
  2584.  
  2585.  
  2586. if( !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. }
  2621. endif;
  2622.  
  2623.  
  2624.  
  2625. if( !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. }
  2639. endif;
  2640.  
  2641.  
  2642.  
  2643.  
  2644. if( !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. }
  2692. endif;
  2693.  
  2694.  
  2695.  
  2696.  
  2697. ////////////////////////////////////////////////////////////////////////////////
  2698. /// show stripe form per listing
  2699. ////////////////////////////////////////////////////////////////////////////////
  2700.  
  2701. if( !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. }
  2768. endif;
  2769.  
  2770.  
  2771.  
  2772.  
  2773. ////////////////////////////////////////////////////////////////////////////////
  2774. /// show stripe form membership
  2775. ////////////////////////////////////////////////////////////////////////////////
  2776. if( !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. }
  2814. endif;
  2815.  
  2816.  
  2817.  
  2818.  
  2819.  
  2820. if( !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. }
  2867. endif;
  2868.  
  2869.  
  2870.  
  2871. /////////////////////////////////////////////////////////////////////////////////
  2872. /// get the associated user for certain agent
  2873. ////////////////////////////////////////////////////////////////////////////////
  2874.  
  2875. if( !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. }
  2898. endif;
  2899.  
  2900.  
  2901.  
  2902. /////////////////////////////////////////////////////////////////////////////////
  2903. /// check user vs agent id
  2904. ////////////////////////////////////////////////////////////////////////////////
  2905. if( !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. }
  2941. endif;
  2942.  
  2943.  
  2944.  
  2945.  
  2946. /////////////////////////////////////////////////////////////////////////////////
  2947. /// check user vs agent id
  2948. ////////////////////////////////////////////////////////////////////////////////
  2949. if( !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. }
  3000. endif;
  3001.  
  3002.  
  3003.  
  3004.  
  3005.  
  3006.  
  3007. ////////////////////////////////////////////////////////////////////////////////
  3008. /// show hieracy area
  3009. ////////////////////////////////////////////////////////////////////////////////
  3010. if( !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. }
  3034. endif;
  3035.  
  3036.  
  3037. if( !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. }
  3047. endif;
  3048.  
  3049. if( !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. }
  3059. endif;
  3060.  
  3061. if( !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. }
  3071. endif;
  3072.  
  3073.  
  3074.  
  3075. if( !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. }
  3089. endif;
  3090.  
  3091.  
  3092.  
  3093.  
  3094. /////////////////////////////////////////////////////////////////////////////////
  3095. // order by filter featured
  3096. ///////////////////////////////////////////////////////////////////////////////////
  3097.  
  3098. if( !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. }
  3108. endif;
  3109. /////////////////////////////////////////////////////////////////////////////////
  3110. // order by filter featured
  3111. ///////////////////////////////////////////////////////////////////////////////////
  3112.  
  3113. if( !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. }
  3120. endif; // end wpestate_my_order
  3121.  
  3122.  
  3123. ////////////////////////////////////////////////////////////////////////////////////////
  3124. /////// Pagination
  3125. /////////////////////////////////////////////////////////////////////////////////////////
  3126.  
  3127. if( !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. }
  3173. endif; // end kriesi_pagination
  3174.  
  3175.  
  3176.  
  3177. ////////////////////////////////////////////////////////////////////////////////////////
  3178. /////// Pagination Ajax
  3179. /////////////////////////////////////////////////////////////////////////////////////////
  3180.  
  3181. if( !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. }
  3218. endif; // end kriesi_pagination
  3219.  
  3220.  
  3221. if( !function_exists('second_loop_pagination') ):
  3222. function 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. }
  3264. endif;
  3265.  
  3266. ////////////////////////////////////////////////////////////////////////////////////////
  3267. /////// Pagination Custom
  3268. /////////////////////////////////////////////////////////////////////////////////////////
  3269.  
  3270. if( !function_exists('kriesi_pagination_ajax') ):
  3271.  
  3272. function 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. }
  3309. endif; // end kriesi_pagination
  3310.  
  3311.  
  3312.  
  3313. ////////////////////////////////////////////////////////////////////////////////
  3314. /// force html5 validation -remove category list rel atttribute
  3315. ////////////////////////////////////////////////////////////////////////////////
  3316.  
  3317. add_filter( 'wp_list_categories', 'wpestate_remove_category_list_rel' );
  3318. add_filter( 'the_category', 'wpestate_remove_category_list_rel' );
  3319.  
  3320. if( !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. }
  3325. endif; // end wpestate_remove_category_list_rel
  3326.  
  3327.  
  3328.  
  3329. ////////////////////////////////////////////////////////////////////////////////
  3330. /// avatar url
  3331. ////////////////////////////////////////////////////////////////////////////////
  3332.  
  3333. if( !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. }
  3338. endif; // end wpestate_get_avatar_url
  3339.  
  3340.  
  3341.  
  3342. ////////////////////////////////////////////////////////////////////////////////
  3343. /// get current map height
  3344. ////////////////////////////////////////////////////////////////////////////////
  3345.  
  3346. if( !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. }
  3359. endif; // end
  3360.  
  3361.  
  3362.  
  3363. ////////////////////////////////////////////////////////////////////////////////
  3364. /// get map open height
  3365. ////////////////////////////////////////////////////////////////////////////////
  3366.  
  3367. if( !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. }
  3381. endif; // end
  3382.  
  3383.  
  3384.  
  3385.  
  3386.  
  3387. ////////////////////////////////////////////////////////////////////////////////
  3388. /// get map open/close status
  3389. ////////////////////////////////////////////////////////////////////////////////
  3390.  
  3391. if( !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. }
  3407. endif; // end
  3408.  
  3409.  
  3410.  
  3411.  
  3412. ////////////////////////////////////////////////////////////////////////////////
  3413. /// get map longitude
  3414. ////////////////////////////////////////////////////////////////////////////////
  3415. if( !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. }
  3426. endif; // end
  3427.  
  3428.  
  3429.  
  3430.  
  3431. ////////////////////////////////////////////////////////////////////////////////
  3432. /// get map lattitudine
  3433. ////////////////////////////////////////////////////////////////////////////////
  3434.  
  3435. if( !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. }
  3448. endif; // end
  3449.  
  3450. ////////////////////////////////////////////////////////////////////////////////
  3451. /// get map zoom
  3452. ////////////////////////////////////////////////////////////////////////////////
  3453.  
  3454. if( !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. }
  3467. endif; // end
  3468.  
  3469.  
  3470. //wpestate_get_template_link('user_dashboard_my_reservations.php');
  3471. if( !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. }
  3504. endif; // end
  3505.  
  3506.  
  3507.  
  3508.  
  3509.  
  3510.  
  3511.  
  3512.  
  3513.  
  3514. ///////////////////////////////////////////////////////////////////////////////////////////
  3515. // return video divs for sliders
  3516. ///////////////////////////////////////////////////////////////////////////////////////////
  3517.  
  3518. if( !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&amp;player_id=player_1" allowFullScreen ></iframe>
  3524. </div>';
  3525.  
  3526. }
  3527. endif; // end
  3528.  
  3529.  
  3530. if( !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&amp;rel=0" allowfullscreen ></iframe>
  3536. </div>';
  3537.  
  3538. }
  3539. endif; // end
  3540.  
  3541.  
  3542. if( !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. }
  3557. endif;
  3558.  
  3559.  
  3560.  
  3561. if( !function_exists('wpestate_generateRandomString') ):
  3562. function 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. }
  3570. endif;
  3571.  
  3572.  
  3573.  
  3574.  
  3575. if( !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. }
  3619. endif;
  3620.  
  3621.  
  3622.  
  3623.  
  3624.  
  3625.  
  3626. ////////////////////////////////////////////////////////////////////////////////
  3627. /// show hieracy categeg
  3628. ////////////////////////////////////////////////////////////////////////////////
  3629.  
  3630. if( !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. }
  3734. endif;
  3735.  
  3736. ////////////////////////////////////////////////////////////////////////////////
  3737. /// get select arguments
  3738. ////////////////////////////////////////////////////////////////////////////////
  3739.  
  3740. if( !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. }
  3760. endif;
  3761.  
  3762. ////////////////////////////////////////////////////////////////////////////////
  3763. /// show hieracy action
  3764. ////////////////////////////////////////////////////////////////////////////////
  3765.  
  3766. if( !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. }
  3799. endif;
  3800.  
  3801.  
  3802. ////////////////////////////////////////////////////////////////////////////////
  3803. /// show hieracy categ
  3804. ////////////////////////////////////////////////////////////////////////////////
  3805. if( !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. }
  3839. endif;
  3840.  
  3841.  
  3842.  
  3843.  
  3844. ////////////////////////////////////////////////////////////////////////////////
  3845. /// show hieracy city
  3846. ////////////////////////////////////////////////////////////////////////////////
  3847. if( !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. }
  3881. endif;
  3882.  
  3883.  
  3884. ////////////////////////////////////////////////////////////////////////////////
  3885. /// show hieracy area
  3886. ////////////////////////////////////////////////////////////////////////////////
  3887. if( !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. }
  3923. endif;
  3924.  
  3925.  
  3926.  
  3927.  
  3928. if( !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. }
  3954. endif;
  3955.  
  3956. ////////////////////////////////////////////////////////////////////////////////
  3957. /// show name on saved searches
  3958. ////////////////////////////////////////////////////////////////////////////////
  3959.  
  3960. if( !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. }
  3977. endif;
  3978.  
  3979. ////////////////////////////////////////////////////////////////////////////////
  3980. /// get author
  3981. ////////////////////////////////////////////////////////////////////////////////
  3982.  
  3983.  
  3984. if( !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. }
  3992. endif;
  3993.  
  3994.  
  3995.  
  3996.  
  3997. function 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.  
  4030. function 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.  
  4064. function 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.  
  4098. function 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.  
  4136. if( !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. }
  4199. endif;
  4200.  
  4201.  
  4202.  
  4203. if( !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. }
  4260. endif;
  4261.  
  4262. if( !function_exists('wpestate_yelp_details') ):
  4263. function 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. }
  4401. endif;
  4402.  
  4403.  
  4404. if( !function_exists('wpestate_calculate_distance_geo') ):
  4405. function 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. }
  4422. endif;
  4423.  
  4424. if ( ! function_exists( 'wpestate_has_some_review')) :
  4425. function 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. }
  4439. endif;
  4440.  
  4441.  
  4442. if ( ! 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.  
  4467. if ( ! 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.  
  4478. if ( ! 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.  
  4517. if ( ! 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.  
  4539. if ( ! 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.  
  4562. if ( ! 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.  
  4586. if ( ! 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.  
  4601. if ( ! 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.  
  4624. if ( ! 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.  
  4698. if ( ! 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.  
  4728. if ( ! 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.  
  4743. add_filter( 'query_vars', 'wpestate_query_vars' );
  4744.  
  4745. if ( ! 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.  
  4759. if ( ! 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.  
  4792. if ( ! 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.  
  4842. if(!function_exists('wpestate_return_all_fields') ):
  4843. function 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. }
  4940. endif;
  4941.  
  4942.  
  4943. function 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.  
  4970. function wpestate_mandatory_array_non_latin($key){
  4971. return (sanitize_key($key));
  4972. }
  4973.  
  4974.  
  4975.  
  4976. if(!function_exists('wpestate_return_custom_unit_fields') ):
  4977. function 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. }
  5056. endif;
  5057.  
  5058.  
  5059.  
  5060. if(!function_exists('redux_wpestate_return_custom_unit_fields') ):
  5061. function 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. }
  5140. endif;
  5141.  
  5142.  
  5143. if(!function_exists('wpestate_strip_array') ):
  5144. function wpestate_strip_array($key){
  5145. $string =htmlspecialchars(stripslashes( ($key) ), ENT_QUOTES);
  5146. return wp_specialchars_decode ($string);
  5147. }
  5148. endif;
  5149.  
  5150.  
  5151. if( !function_exists('wpestate_date_picker_translation_return') ):
  5152. function 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. }
  5164. endif;
  5165.  
  5166. if( !function_exists('wpestate_show_mandatory_fields') ):
  5167. function 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. }
  5188. endif;
  5189.  
  5190.  
  5191. if( !function_exists('wpestate_show_labels') ):
  5192. function 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. }
  5299. endif;
  5300.  
  5301.  
  5302. if(!function_exists('wpestate_header_image')):
  5303. function 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. }
  5374. endif;
  5375.  
  5376.  
  5377. if(!function_exists('wpestate_show_advanced_search')):
  5378. function 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.  
  5390. endif;
  5391.  
  5392.  
  5393.  
  5394. if(!function_exists('wpestate_float_search_placement')):
  5395. function 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.  
  5422. endif;
  5423.  
  5424.  
  5425. if( !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. }
  5460. endif;
  5461.  
  5462.  
  5463. if( !function_exists('wpestate_is_user_dashboard') ):
  5464. function 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. }
  5488. endif;
  5489.  
  5490.  
  5491. if( !function_exists('wpestate_show_tax_header') ):
  5492. function 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. }
  5541. endif;
  5542.  
  5543.  
  5544. if (!function_exists('wpestate_font_awesome_list')):
  5545. function 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. }
  5553. endif;
  5554.  
  5555.  
  5556. if( !function_exists('wprentals_return_country_array') ):
  5557. function 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. }
  5804. endif;
  5805.  
  5806.  
  5807.  
  5808.  
  5809.  
  5810.  
  5811. function 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.  
  5834. function 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.  
  5907. function 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.  
  5919. function 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.  
  5980. if(!function_exists('wprentals_return_google_fonts')):
  5981. function 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. }
  6509. endif;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement