HEX
Server: LiteSpeed
System: Linux server257.web-hosting.com 4.18.0-553.54.1.lve.el8.x86_64 #1 SMP Wed Jun 4 13:01:13 UTC 2025 x86_64
User: salhiscp (12590)
PHP: 8.4.12
Disabled: NONE
Upload Files
File: /home/salhiscp/salhab360photos.com/wp-content/plugins/acora-settings/acora-settings.php
<?php
/*
Plugin Name: Acora Settings
Plugin URI: https://webdesign-flash.ro
Description: Plugin to contain portfolio custom post type, shortcodes, widgets, like, share and other functionality of the Acora theme.
Text Domain: acora-settings
Author: FWDesign
Version: 1.0
License: GPLv2
License URI: https://www.gnu.org/licenses/gpl-2.0.html
*/

define('ACORA_SETTINGS_THEME_THEME_DIR', get_template_directory_uri());
define('ACORA_SETTINGS_THEME_PLUGIN_DIR', plugin_dir_url(__FILE__ ));
define('ACORA_SETTINGS_THEME_VERSION', wp_get_theme()->get('Version'));

/**
  * Initialize.
  */
function acora_settings_init_plugin(){

	define('ACORA_SETTINGS_INIT',  true);

	// Only initlize plugin if Acora theme is used.
	if(wp_get_theme()->get('TextDomain') != 'acora' && wp_get_theme()->get('TextDomain') != 'acora-child'){
		return;
	}

	// Include admin files.
	include_once "files/theme.php";
	include_once "files/portfolio-custom-post-type.php";
	include_once "files/portfolio.php";
	include_once "files/portfolio-archive-classic.php";
	include_once "files/portfolio-archive-infinite.php";
	include_once "files/shortcodes.php";
	include_once "files/audio-post-format.php";
	include_once "files/gallery-post-format.php";
	include_once "files/link-post-format.php";
	include_once "files/quote-post-format.php";
	include_once "files/video-post-format.php";
	include_once "files/about-us.php";
	include_once "files/about-me.php";
	include_once "files/home-extended.php";
	include_once "files/home-simple.php";
	include_once "files/home-categories-selection.php";
	include_once "files/only-shortcode-full-width.php";
	include_once "files/only-shortcode-full-screen.php";
	include_once "files/uvp-home.php";
	include_once "files/contact.php";
	include_once "files/contact-simple.php";
	include_once "files/widgets.php";

	// Add shortcodes.
	acora_settings_add_theme_shortcodes();

	// Init portfolio custom post type.
	acora_settings_portfolio_init();

	// Register widgets.
	acora_settings_register_widgets();
	
	// Enqueue files.
	add_action('admin_enqueue_scripts', 'acora_settings_enqueue_admin_files');
    add_action('wp_enqueue_scripts', 'acora_settings_enque_front_files');

	// Make plugin available for translation
	load_plugin_textdomain('acora-settings', false, dirname(plugin_basename(__FILE__)) . '/laguages/');

	// Add permalinks.
	acora_settings_set_permalinks();

	/**
 	 * Only flash rewrite rules once when the plugin is initialized 
 	 * the first time after the plugin activation.
	 */
	if(get_option('acora_settings_allow_to_flush_rewrite_rules')){
		delete_option('acora_settings_allow_to_flush_rewrite_rules');
		global $wp_rewrite;
	    $wp_rewrite->flush_rules();
	    flush_rewrite_rules();
	}
}
add_action('init', 'acora_settings_init_plugin', 0);


/**
 * On plugin activation / deactivation set logic to flush rewrite rules only once.
 */
function acora_settings_plugin_activate() {
	update_option('acora_settings_allow_to_flush_rewrite_rules', true);
}
register_activation_hook( __FILE__, 'acora_settings_plugin_activate');

/**
 * Enqueue admin files.
 */
function acora_settings_enqueue_admin_files($hook){
	global $post;
	global $template;
  $tab_id = 0;
	$vars = 'var is_ACORA = true;';

	if($hook == 'post.php' || $hook == 'post-new.php'){
		if(get_post_type() == 'acora_portfolio'){
			wp_enqueue_script('acora-settings-admin-portfolio', esc_url(ACORA_SETTINGS_THEME_PLUGIN_DIR . '/js/admin-portfolio.js'), array(), ACORA_SETTINGS_THEME_VERSION, false);
		}else{
			wp_enqueue_script('acora-settings-admin-formats', esc_url(ACORA_SETTINGS_THEME_PLUGIN_DIR . '/js/admin-posts.js'), array(), ACORA_SETTINGS_THEME_VERSION, false);
		}	
	}else if('toplevel_page_acora_settings' == $hook){
        wp_enqueue_style('wp-color-picker'); 
        wp_enqueue_script('acora-settings-admin', esc_url(ACORA_SETTINGS_THEME_PLUGIN_DIR . '/js/admin.js'), array('wp-color-picker'), ACORA_SETTINGS_THEME_VERSION, true);
	}else if("widgets.php" == $hook){
		wp_enqueue_script('acora-settings-widgets', esc_url(ACORA_SETTINGS_THEME_PLUGIN_DIR . '/js/widgets.js'), array(), ACORA_SETTINGS_THEME_VERSION, true);
	}

    $vars .= 'var ajaxURL = "' . esc_html(admin_url('admin-ajax.php')) . '";';
    $vars .= 'var acora_nonce = "' . wp_create_nonce("acora-ajax") . '";';

	// Add inline js.
	if(($hook = 'post.php' || $hook == 'post-new.php') && !empty($post)){

    	$vars .= 'var postId = ' . esc_html($post->ID) . ';';
      $vars .= 'var isPage =' .  (get_post_type() == 'page' ? 'true' : 'false') .';';
      $vars .= 'var yes_t = "' . esc_html__('Yes', 'acora-settings') . '";';
    	$vars .= 'var no_t = "' . esc_html__('No', 'acora-settings') . '";';
    	$vars .= 'var del_t = "' . esc_html__('Delete', 'acora-settings') . '";';
    	$vars .= 'var edit_t = "' . esc_html__('Edit', 'acora-settings') . '";';
    	$vars .= 'var save_t = "' . esc_html__('Save', 'acora-settings') . '";';
    	$vars .= 'var cancel_t = "' . esc_html__('Cancel', 'acora-settings') . '";';
    	$vars .= 'var delete_t = "' . esc_html__('Delete', 'acora-settings') . '";';

		if(get_post_type() == 'acora_portfolio'){

			$data = acora_porfolio_get_data($post->ID);
    	 	extract($data);
    	 	$vars .= 'var item_type = "' . esc_html($item_type) . '";';
    	 	$vars .= 'var client = "' . esc_html($client) . '";';
    	 	$vars .= 'var client_website_url = "' . esc_url($client_website_url) . '";';
    	 	$vars .= 'var show_navigation_arrows = ' . esc_html($show_navigation_arrows) . ';';
    	 	$vars .= 'var show_fullscreen_button = ' . esc_html($show_fullscreen_button) . ';';
    	 	$vars .= 'var show_zoom_button = ' . esc_html($show_zoom_button) . ';';
    	 	$vars .= 'var slideshow_delay = ' . esc_html($slideshow_delay) . ';';
    	 	$vars .= 'var buttons_hide_delay = ' . esc_html($buttons_hide_delay) . ';';
    	 	$vars .= 'var gallery_images_ar = "' . esc_html(json_encode($gallery_images)) . '";';
    	 	$vars .= 'var add_drag_support = ' . esc_html($add_drag_support) . ';';
    	 	$vars .= 'var randomize_images = ' . esc_html($randomize_images) . ';';
    	 	$vars .= 'var video_source = "' . esc_url_raw($video_source) . '";';
    	 	$vars .= 'var video_password = "' . esc_url_raw($video_password) . '";';
    	 	$vars .= 'var vast = "' . esc_url_raw($vast) . '";';
    	 	$vars .= 'var video_subtitle = "' . esc_url_raw($video_subtitle) . '";';
    	 	$vars .= 'var video_thumbnails = "' . esc_html($video_thumbnails) . '";';
    	

		}else if(get_post_type() ==  'page'){

			// About us.
			$data = acora_settings_about_us_get_data($post->ID);
    	 	extract($data);
			$vars .= 'var display_type = "' . esc_html($display_type) . '";';
        	$vars .= 'var show_navigation_arrows = ' . esc_html($show_navigation_arrows) . ';';
        	$vars .= 'var show_zoom_button = ' . esc_html($show_zoom_button) . ';';
        	$vars .= 'var randomize_images = ' . esc_html($randomize_images) . ';';
        	$vars .= 'var add_drag_support = ' . esc_html($add_drag_support) . ';';
        	$vars .= 'var slideshow_delay = ' . esc_html($slideshow_delay) . ';';
        	$vars .= 'var buttons_hide_delay = ' . esc_html($buttons_hide_delay) . ';';
        	$vars .= 'var gallery_images_ar = "' . esc_html(json_encode($gallery_images)) . '";';
        	$vars .= 'var info_details = "' . esc_html($info_details) . '";';
        	$vars .= 'var table_details = "' . esc_html($table_details) . '";';
        	$vars .= 'var table_details = "' . esc_html($table_details) . '";';
        	$vars .= 'var table_details = "' . esc_html($table_details) . '";';
        	$vars .= 'var about_us_first_image_source = "' . esc_html(json_encode($about_us_first_image_source)) . '";';
        	$vars .= 'var about_us_first_image_caption = "' . esc_html($about_us_first_image_caption) . '";';
        	$vars .= 'var about_us_second_image_source = "' . esc_html(json_encode($about_us_second_image_source)) . '";';
        	$vars .= 'var about_us_second_image_caption = "' . esc_html($about_us_second_image_caption) . '";';
        	$vars .= 'var about_us_third_image_source = "' . esc_html(json_encode($about_us_third_image_source)) . '";';
        	$vars .= 'var about_us_third_image_caption = "' . esc_html($about_us_third_image_caption) . '";';
        	$vars .= 'var about_header_image_source = "' . esc_html(json_encode($about_header_image_source)) . '";';
        	$vars .= 'var about_header_video_source = "' . esc_html(json_encode($about_header_video_source)) . '";';
        	$vars .= 'var about_header_video_caption = "' . esc_html($about_header_video_caption) . '";';
        	$vars .= 'var about_header_video_autoplay = ' . esc_html($about_header_video_autoplay) . ';';
        	$vars .= 'var about_team_grid_type = "' . esc_html($about_team_grid_type) . '";';
        	$vars .= 'var team_title = "' . esc_html($team_title) . '";';
        	$vars .= 'var team_members_ar = "' . esc_html(json_encode($team_members)) . '";';
        	$vars .= 'var about_dg_first_image_source = "' . esc_html(json_encode($about_dg_first_image_source)) . '";';
        	$vars .= 'var about_dg_first_image_details = "' . esc_html($about_dg_first_image_details) . '";';
        	$vars .= 'var about_dg_second_image_source = "' . esc_html(json_encode($about_dg_second_image_source)) . '";';
        	$vars .= 'var about_dg_second_image_details = "' . esc_html($about_dg_second_image_details) . '";';
        	
			// About me.
		 	$data = acora_settings_about_me_get_data($post->ID);
    	 	extract($data);
    	 	$vars .= 'var about_me_display_type = "' . esc_html($about_me_display_type) . '";';
    	 	$vars .= 'var about_me_show_navigation_arrows = ' . esc_html($about_me_show_navigation_arrows) . ';';
    	 	$vars .= 'var about_me_show_zoom_button = ' . esc_html($about_me_show_zoom_button) . ';';
    	 	$vars .= 'var about_me_add_drag_support = ' . esc_html($about_me_add_drag_support) . ';';
    	 	$vars .= 'var about_me_randomize_images = ' . esc_html($about_me_randomize_images) . ';';
    	 	$vars .= 'var about_me_buttons_hide_delay = ' . esc_html($about_me_buttons_hide_delay) . ';';
    	 	$vars .= 'var about_me_slideshow_delay = ' . esc_html($about_me_slideshow_delay) . ';';
    	 	$vars .= 'var about_me_main_info_image = "' . esc_html(json_encode($about_me_main_info_image)) . '";';
    	 	$vars .= 'about_me_main_info_details = "' . esc_html($about_me_main_info_details) . '";';
    	 	$vars .= 'about_me_facebook = "' . esc_html($about_me_facebook) . '";';
    	 	$vars .= 'var about_me_google = "' . esc_html($about_me_google) . '";';
    	 	$vars .= 'var about_me_twitter = "' . esc_html($about_me_twitter) . '";';
    	 	$vars .= 'var about_me_pinterest ="' . esc_html($about_me_pinterest) . '";';
    	 	$vars .= 'var about_me_linkedin ="' . esc_html($about_me_linkedin) . '";';
    	 	$vars .= 'var about_me_instagram ="' . esc_html($about_me_instagram) . '";';	
    	 	$vars .= 'var about_me_flickr ="' . esc_html($about_me_flickr) . '";';
    	 	$vars .= 'var about_me_what_i_do_info_1 ="' . esc_html($about_me_what_i_do_info_1) . '";';
    	 	$vars .= 'var about_me_what_i_do_info_2 ="' . esc_html($about_me_what_i_do_info_2) . '";';
    	 	$vars .= 'var about_me_header_images_ar = "' . esc_html(json_encode($about_me_header_images_ar)) . '";';
    	 	$vars .= 'var about_me_clients_images_ar = "' . esc_html(json_encode($about_me_clients_images)) . '";';
    	 	$vars .= 'var about_me_port_grid0 ="' . esc_html($about_me_port_grid0) . '";';
    	 	$vars .= 'var about_me_port_grid1 ="' . esc_html($about_me_port_grid1) . '";';
    	 	$vars .= 'var about_me_port_text ="' . esc_html($about_me_port_text) . '";';
    	 	$vars .= 'var about_me_cf_details ="' . esc_html($about_me_cf_details) . '";';
    	 	$vars .= 'var about_me_cf_receiver_email ="' . esc_html($about_me_cf_receiver_email) . '";';

    	 	// Home extended.
    	 	$data = acora_settings_hex_get_data($post->ID);
   			extract($data);
    	 	$vars .= 'var hex_header_image_source = "' . esc_html(json_encode($hex_header_image_source)) . '";';
    	 	$vars .= 'var hex_header_video_source = "' . esc_html(json_encode($hex_header_video_source)) . '";';
    	 	$vars .= 'hex_header_video_caption = "' . esc_html($hex_header_video_caption) . '";';
    	 	$vars .= 'var hex_header_video_autoplay =' . esc_html($hex_header_video_autoplay) . ';';
    	 	$vars .= 'hex_header_text = "' . esc_html($hex_header_text) . '";';
    	 	$vars .= 'var hex_wa_first_image_source = "' . esc_html(json_encode($hex_wa_first_image_source)) . '";';
    	 	$vars .= 'hex_wa_first_image_caption = "' . esc_html($hex_wa_first_image_caption) . '";';
    	 	$vars .= 'var hex_wa_second_image_source = "' . esc_html(json_encode($hex_wa_second_image_source)) . '";';
    	 	$vars .= 'hex_wa_second_image_caption = "' . esc_html($hex_wa_second_image_caption) . '";';
    	 	$vars .= 'var hex_wa_third_image_source = "' . esc_html(json_encode($hex_wa_third_image_source)) . '";';
    	 	$vars .= 'hex_wa_third_image_caption = "' . esc_html($hex_wa_third_image_caption) . '";';
    	 	$vars .= 'hex_wa_text = "' . esc_html($hex_wa_text) . '";';
    	 	$vars .= 'hex_members = "' . esc_html($hex_members) . '";';
    	 	$vars .= 'var hex_st_first_image_source = "' . esc_html(json_encode($hex_st_first_image_source)) . '";';
    	 	$vars .= 'var hex_st_second_image_source = "' . esc_html(json_encode($hex_st_second_image_source)) . '";';
    	 	$vars .= 'hex_st_second_image_caption = "' . esc_html($hex_st_second_image_caption) . '";';
    	 	$vars .= 'hex_st_text = "' . esc_html($hex_st_text) . '";';
    	 	$vars .= 'hex_port_grid0 = "' . esc_html($hex_port_grid0) . '";';
    	 	$vars .= 'hex_port_grid1 = "' . esc_html($hex_port_grid1) . '";';
    	 	$vars .= 'hex_port_text = "' . esc_html($hex_port_text) . '";';
    	 	$vars .= 'hex_instagram_feed = "' . esc_html($hex_instagram_feed) . '";';
    	 	$vars .= 'var hex_clients_images = "' . esc_html(json_encode($hex_clients_images)) . '";';
    	 	$vars .= 'hex_our_blog = "' . esc_html($hex_our_blog) . '";';
    	 	$vars .= 'hex_team_text = "' . esc_html($hex_team_text) . '";';
    	 	$vars .= 'var hex_team_members = "' . esc_html(json_encode($hex_team_members)) . '";';
    	 	$vars .= 'hex_team_extra_btn_text = "' . esc_html($hex_team_extra_btn_text) . '";';
    	 	$vars .= 'var hex_hp_members = "' . esc_html(json_encode($hex_hp_members)) . '";';
    	 	$vars .= 'hex_hp_text = "' . esc_html($hex_hp_text) . '";';
           
    	 	// Home simple.
    	 	$data = acora_settings_hs_get_data($post->ID);
    		extract($data);
    		$vars .= 'hs_text = "' . esc_html($hs_text) . '";';
    		$vars .= 'var hs_media_source = "' . esc_html(json_encode($hs_media_source)) . '";';
    		$vars .= 'var hs_show_logo = ' . esc_html($hs_show_logo) . ';';
    		$vars .= 'var hs_use_alternative_logo = ' . esc_html($hs_use_alternative_logo) . ';';

    		// UVP home.
    		$data = acora_settings_uvp_get_data($post->ID);
    		extract($data);
    		$vars .= 'var uvp_details = "' . esc_html(json_encode($uvp_details)) . '";';
    		$vars .= 'var uvp_show_logo =' . esc_html($uvp_show_logo) . ';';
    		$vars .= 'var uvp_use_alternative_logo =' . esc_html($uvp_use_alternative_logo) . ';';

    	 	// Contact.
    	 	$data = acora_settings_contact_get_data($post->ID);
   			extract($data);
            $vars .= 'var maps_api_key ="' . esc_html($maps_api_key) . '";';
    	 	$vars .= 'var lat ="' . esc_html($lat) . '";';
    	 	$vars .= 'var long ="' . esc_html($long) . '";';
    	 	$vars .= 'var left_column ="' . esc_html($left_column) . '";';
    	 	$vars .= 'var right_column ="' . esc_html($right_column) . '";';
    	 	$vars .= 'var form_title ="' . esc_html($form_title) . '";';
    	 	$vars .= 'var receiver_email ="' . esc_html($receiver_email) . '";';

    	 	// Contact simple.
    	 	$data = acora_settings_cs_get_data($post->ID);
    		extract($data);
            $vars .= 'var cs_maps_api_key = "' . esc_html($cs_maps_api_key) . '";';
    		$vars .= 'var cs_text ="' . esc_html($cs_text) . '";';
    		$vars .= 'var cs_media_source = "' . esc_html(json_encode($cs_media_source)) . '";';
    		$vars .= 'var css_show_logo =' . esc_html($css_show_logo) . ';';
    		$vars .= 'var css_use_alternative_logo =' . esc_html($css_use_alternative_logo) . ';';

    		// Categories selection.
    		$data = acora_settings_cats_get_data($post->ID);
    		extract($data);
    		
    		$vars .= 'var cs_open_project =' . esc_html($cs_open_project) . ';';
    		$vars .= 'var cs_show_logo =' . esc_html($cs_show_logo) . ';';
    		$vars .= 'var cs_use_alternative_logo =' . esc_html($cs_use_alternative_logo) . ';';

    		// Only shortcode full screen.
    		$data = acora_settings_osfs_get_data($post->ID);
   			extract($data);
   			$vars .= 'var osfs_show_logo =' . esc_html($osfs_show_logo) . ';';
    		$vars .= 'var osfs_use_alternative_logo =' . esc_html($osfs_use_alternative_logo) . ';';

    		// Only shortcode full width.
    		$data = acora_settings_osfw_get_data($post->ID);
   			extract($data);
   			$vars .= 'var osfw_show_logo =' . esc_html($osfw_show_logo) . ';';
    		$vars .= 'var osfw_use_alternative_logo =' . esc_html($osfw_use_alternative_logo) . ';';

    		// Portfolio archive classic.
    		$data = acora_settings_pac_get_data($post->ID);
    		extract($data);
    		$vars .= 'var pac_show_logo =' . esc_html($pac_show_logo) . ';';
    		$vars .= 'var pac_use_alternative_logo =' . esc_html($pac_use_alternative_logo) . ';';

    		// Portfolio archive infinite.
    		$data = acora_settings_igp_get_data($post->ID);
    		extract($data);
    		$vars .= 'var igp_show_logo =' . esc_html($igp_show_logo) . ';';
    		$vars .= 'var igp_use_alternative_logo =' . esc_html($igp_use_alternative_logo) . ';';
    		$vars .= 'var igp_zoom =' . esc_html($igp_zoom) . ';';

    	 }else{

    	 	// Audio post format.
    		$data = acora_audio_get_data($post->ID);
    		extract($data);
    		$vars .= 'var audio_path = ' . (empty($audio_path) ? '"' : '"' . esc_url($audio_path)) . '";';

    		// Gallery post format.
    		$data = acora_gallery_get_data($post->ID);
    		extract($data);
    		$vars .= 'var show_navigation_arrows =' . esc_html($show_navigation_arrows) . ';';
    		$vars .= 'var show_zoom_button =' . esc_html($show_zoom_button) . ';';
    		$vars .= 'var show_fullscreen_button =' . esc_html($show_fullscreen_button) . ';';
    		$vars .= 'var randomize_images =' . esc_html($randomize_images) . ';';
    		$vars .= 'var add_drag_support =' . esc_html($add_drag_support) . ';';
    		$vars .= 'var display_type ="' . esc_html($display_type) . '";';
    		$vars .= 'var slideshow_delay =' . esc_html($slideshow_delay) . ';';
    		$vars .= 'var buttons_hide_delay =' . esc_html($buttons_hide_delay) . ';';
    		$vars .= 'var gallery_images_ar = "' . esc_html(json_encode($gallery_images)) . '";';

    		// Video post format.
    		$data = acora_video_get_data($post->ID);
    		extract($data);
    		$vars .= 'var video_path = ' . (empty($video_path) ? '"' : '"' . esc_url($video_path)) . '";';
    		$vars .= 'var poster_path = ' . (empty($poster_path) ? '"' : '"' . esc_url($poster_path)) . '";';
    		$vars .= 'var subtitle_path = ' . (empty($subtitle_path) ? '"' : '"' . esc_url($subtitle_path)) . '";';

    	}

        wp_add_inline_script('acora-settings-admin-formats', $vars);
        wp_add_inline_script('acora-settings-admin-portfolio', $vars);

	}else if('toplevel_page_acora_settings' == $hook){
       
        $vars .= 'var tabId = ' . esc_html($tab_id) . ';'; 
        $vars .= 'var generalSettings = "' . esc_html(json_encode(AcoraData::$data->general_settings)) . '";';
        $vars .= 'var blogSettings = "' . esc_html(json_encode(AcoraData::$data->blog_settings)) . '";';
        $vars .= 'var pageSettings = "' . esc_html(json_encode(AcoraData::$data->page_settings)) . '";';
        $vars .= 'var headerImages_ar = "' . esc_html(json_encode(AcoraData::$data->blog_settings['header_images'])) . '";';
        $vars .= 'var sidebarSettings = "' . esc_html(json_encode(AcoraData::$data->sidebar_settings)) . '";';
        $vars .= 'var menuSettings = "' . esc_html(json_encode(AcoraData::$data->menu_settings)) . '";';
        $vars .= 'var portfolioSettings = "' . esc_html(json_encode(AcoraData::$data->portfolio_settings)) . '";';
        $vars .= 'var footerSettings = "' . esc_html(json_encode(AcoraData::$data->footer_settings)) . '";';
        $vars .= 'var update_t = "' . esc_html__('Update', 'acora-settings') . '";';
        $vars .= 'var updating_t = "' . esc_html__('Updating', 'acora-settings') . '";';
        $vars .= 'var yes_t = "' . esc_html__('Yes', 'acora-settings') . '";';
        $vars .= 'var no_t = "' . esc_html__('No', 'acora-settings') . '";';
        
        wp_add_inline_script('acora-settings-admin', $vars);       
    }
}

/**
 * Enqueue font files.
 */
function acora_settings_enque_front_files($hook){
    wp_enqueue_script('acora-settings-front', esc_url(ACORA_SETTINGS_THEME_PLUGIN_DIR . '/js/front.js'), array(), ACORA_SETTINGS_THEME_VERSION, true);
}

/**
 * Save theme settings, post, custom posts and template pages with AJAX.
 */
add_action('wp_ajax_nopriv_acora_settings_save_post_meta', 'acora_settings_save_post_meta');
add_action('wp_ajax_acora_settings_save_post_meta', 'acora_settings_save_post_meta');

function acora_settings_save_post_meta(){

	check_ajax_referer('acora-ajax', 'security');

	$post_id = wp_strip_all_tags($_POST['postId']);
	if(get_post_type($post_id) == 'post'){
			acora_settings_gallery_meta_box_save($_POST['postId']);
	}else if(get_post_type($post_id) == 'page'){
			acora_settings_about_us_meta_box_save($_POST['postId']);
	}else if(get_post_type($post_id) == 'acora_portfolio'){
			acora_theme_portfolio_meta_box_save($_POST['postId'], true);
	}else{
       acora_settings_create_theme_options();
    }
	die();
}


/**
 * Save likes with AJAX. 
 */
add_action('wp_ajax_nopriv_acora_settings_save_like', 'acora_settings_save_like');
add_action('wp_ajax_acora_settings_save_like', 'acora_settings_save_like');

function acora_settings_save_like(){

	check_ajax_referer('acora-ajax', 'security');
	
	$post_id = wp_strip_all_tags($_POST['postId']);
	$likes = get_post_meta($post_id, 'acora_likes', true);
	if(!isset($likes)) $likes = array();

	if(!empty($_SERVER['HTTP_CLIENT_IP'])) {
	    $ip = $_SERVER['HTTP_CLIENT_IP'];
	}elseif(!empty($_SERVER['HTTP_X_FORWARDED_FOR'])) {
	    $ip = $_SERVER['HTTP_X_FORWARDED_FOR'];
	} else {
	    $ip = $_SERVER['REMOTE_ADDR'];
	}

	$found = false;

	foreach($likes as $like){
		if($like == $ip){
			$found = true;
		} 
	}

	if(!$found){
		array_push($likes, $ip);
		update_post_meta($post_id, 'acora_likes', $likes);
		echo esc_html(count($likes));
	}else{
		echo 0;
	}

	die();
}

/**
 * Contact form AJAX. 
 * -------------------------------------------------------
 */
add_action('wp_ajax_nopriv_acora_settings_send_contact_form', 'acora_settings_send_contact_form');
add_action('wp_ajax_acora_settings_send_contact_form', 'acora_settings_send_contact_form');

function acora_settings_send_contact_form(){

	check_ajax_referer('acora-ajax', 'security');

	$data = acora_settings_contact_get_data($_POST['postId']);
    extract($data);

	$name 		= strip_tags(trim($_POST['data']["name"]));
	$name 		= esc_html(str_replace(array("\r","\n"),array(" "," "),$name));
	$email 		= esc_html($_POST['data']["email"]);
	$message    = wp_kses(trim($_POST['data']["comment"]), wp_kses_allowed_html('post'));
	if(!empty($_POST['data']["receiverEmail"])){
		$receiver_email = esc_html($_POST['data']["receiverEmail"]);
	}

	if(!empty($_POST['data']['phone'])){
		$message .= '<br>Phone: ' . esc_html(trim($_POST['data']["phone"]));
	} 

	// Set the recipient email address.    
    $recipient = esc_html($receiver_email);

    // Set the email subject.
    $subject = esc_html('Contact Form Message From', 'acora-settings') . ': ' . $name;

    // Build the email content.
    $email_content = esc_html('Name', 'acora-settings') . ': ' . $name . "<br>";
    $email_content .= 'Email: ' . $email . "<br>";
    $email_content .= esc_html('Message', 'acora-settings') . ': ' . $message . "<br>";

    // Build the email headers.
	$email_headers = 'MIME-Version: 1.0' . "\r\n";
	$email_headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
	//$email_headers .= 'From:  ' . $name . ' <' . $recipient .'>' . " \r\n" .
				'Reply-To: '.  $recipient . "\r\n" .
				'X-Mailer: PHP/' . phpversion();

	if(mail($recipient, $subject, $email_content, $email_headers)) {
        esc_html_e('Thank You. Your message has been sent.', 'acora-settings');
    }else {
        esc_html_e('Oops! Something went wrong and we couldn\'t send your message !', 'acora-settings');
    }
	
	die();
}

/**
 * Share and likes. 
 * -------------------------------------------------------
 */

// Get global share buttons.
function acora_settings_get_share_buttons(){
	if((get_post_type() == 'post' && AcoraData::$data->blog_settings['use_share_feature']
	|| get_post_type() == 'acora_portfolio' && AcoraData::$data->portfolio_settings['use_share_feature']
	|| get_post_type() == 'page' && AcoraData::$data->page_settings['use_page_share_feature'])
	&& defined('ACORA_SETTINGS_INIT')
	){	
		$class = 'main-share-buttons-container';
		if(get_post_type() == 'acora_portfolio' && acora_settings_has_header()){
			$class .= ' has-header';
		}
		
		return  '<div class="' . esc_attr($class) . '"><span class="label">' . esc_html__('Share', 'acora') . '</span><div class="share-buttons-container" data-permalink="' . esc_url(get_permalink()) .'" data-title="' . esc_attr(get_the_title()) . '" data-images=' . esc_attr(json_encode(acora_get_meta_image())) . '></div></div>';
	}else{
		return '';
	}
}

// Get the like button.
function acora_get_like_button(){
	if(!defined('ACORA_SETTINGS_INIT')){
		return;
	}
	
	global $post;
	$likes = get_post_meta($post->ID, 'acora_likes', true);
	if(empty($likes)){
		$likes = array();
		update_post_meta($post->ID, 'acora_likes', $likes);
	} 
	$likes = count($likes);
	if(get_post_type() == 'post' && AcoraData::$data->blog_settings['use_like_feature']
	|| get_post_type() == 'acora_portfolio' && AcoraData::$data->portfolio_settings['use_like_feature']
	){
	
	$outupt = '<span class="like-button">
		<span class="icon fwdicon-love"></span>
		<span class="like-result">' . esc_html($likes) .'</span>
	</span>';
	return $outupt;
	}
}

// Get number of likes.
function acora_get_number_of_likes($post){
	$likes = get_post_meta($post->ID, 'acora_likes', true);
	if(empty($likes)){
		$likes = array();
	} 
	return esc_html(count($likes));
}


// Get share meta.
function acora_get_share_meta(){

	if(is_single()):
		acora_get_meta_image_size();
	?>
	<!-- Variables have been already escaped -->
		<meta property="og:title" content="<?php  esc_attr(wp_title()); ?>" />
		<meta property="og:locale" content="en_US" />
		<meta property="og:type" content="website" />
		<meta property="og:site_name" content="<?php esc_attr(bloginfo('name')); ?>"/>
		<meta property="og:url" content="<?php echo esc_url(get_permalink()); ?>" />
		<meta property="og:description" content="<?php echo acora_get_meta_excerpt(); ?>" />
		<meta property="og:updated_time" content="<?php echo esc_attr(date("c")); ?>" />
		<?php 
		if(!empty(acora_get_meta_image())):
			$rand = rand(0, 999999);
		?>
		<meta property="og:image" content="<?php echo esc_url(acora_get_meta_image()[0]) . '?' . $rand; ?>" />
		<meta property="og:image:secure_url" content="<?php echo esc_url(acora_get_meta_image()[0]) . '?' . $rand; ?>" />
		<meta property="og:image:width" content="<?php echo esc_attr(acora_get_meta_image_size()['w']) ?>" />
		<meta property="og:image:height" content="<?php echo esc_attr(acora_get_meta_image_size()['h']) ?>" />
		<meta name="twitter:image" content="<?php echo esc_url(acora_get_meta_image()[0]) . '?' . $rand; ?>" />
		<meta name="twitter:card" content="summary_large_image" />
	<?php
		endif;
	endif;
}