'Log handled - post_id = '.$post_id.' count = '.$love_count ) ) ); } } function essb_process_additional_ajax_requests() { $subscribe_action = isset($_REQUEST['essb-malchimp-signup']) ? $_REQUEST['essb-malchimp-signup']: ''; if ($subscribe_action == '1') { if (!class_exists('ESSBNetworks_SubscribeActions')) { include_once (ESSB3_PLUGIN_ROOT . 'lib/networks/essb-subscribe-actions.php'); } ESSBNetworks_SubscribeActions::process_subscribe(); die(); } if (defined('ESSB3_CACHED_COUNTERS')) { if (ESSBGlobalSettings::$cached_counters_cache_mode) { if (isset($_REQUEST['essb_counter_cache']) && $_REQUEST['essb_counter_cache'] == 'rebuild') { $share_details = essb_get_post_share_details(''); $share_details['full_url'] = $share_details['url']; $networks = essb_option_value('networks'); $result = ESSBCachedCounters::get_counters(get_the_ID(), $share_details, $networks); echo json_encode($result); die(); } } $full_counter_update = isset($_REQUEST['essb_clear_cached_counters']) ? $_REQUEST['essb_clear_cached_counters'] : ''; if ($full_counter_update == 'true') { delete_post_meta_by_key('essb_cache_expire'); } $full_history_clear = isset($_REQUEST['essb_clear_counters_history']) ? $_REQUEST['essb_clear_counters_history'] : ''; if ($full_history_clear == 'true') { delete_post_meta(get_the_ID(), 'essb_cache_expire'); $networks = essb_available_social_networks(); foreach ($networks as $key => $data) { delete_post_meta(get_the_ID(), 'essb_c_'.$key); } } } $current_action = isset($_REQUEST['action']) ? $_REQUEST['action'] : ''; if ($current_action == "essb_counts") { define('DOING_AJAX', true); send_nosniff_header(); header('content-type: application/json'); header('Cache-Control: no-cache'); header('Pragma: no-cache'); if(is_user_logged_in()) do_action('wp_ajax_essb_counts'); else do_action('wp_ajax_nopriv_essb_counts'); exit; } $sharing_thankyou = isset($_REQUEST['sharing-thankyou']) ? $_REQUEST['sharing-thankyou'] : ''; if ($sharing_thankyou == 'yes') { send_nosniff_header(); header('Cache-Control: no-cache'); header('Pragma: no-cache'); echo ' Sharing Success!

Thank you for sharing!

'; die(); } } function essb_actions_update_facebook_count() { $post_id = $_POST['post_id']; $count = $_POST['count']; $past_shares = intval(get_post_meta($post_id, 'essb_c_facebook', true)); if ( $count > $past_shares || essb_option_bool_value('cache_counter_force') ) { delete_post_meta( $post_id, 'essb_c_facebook' ); update_post_meta( $post_id, 'essb_c_facebook', $count ); } echo json_encode(array('network' => 'facebook', 'past_shares' => $past_shares, 'new_shares' => $count)); wp_die(); } function essb_actions_update_pinterest_count() { $post_id = $_POST['post_id']; $count = $_POST['count']; $past_shares = intval(get_post_meta($post_id, 'essb_c_pinterest', true)); if ( $count > $past_shares || essb_option_bool_value('cache_counter_force') ) { delete_post_meta( $post_id, 'essb_c_pinterest' ); update_post_meta( $post_id, 'essb_c_pinterest', $count ); } echo json_encode(array('network' => 'pinterest', 'past_shares' => $past_shares, 'new_shares' => $count)); wp_die(); } function essb_actions_update_post_count() { $post_id = isset($_POST["post_id"]) ? $_POST["post_id"] : ''; $service_id = isset($_POST["service"]) ? $_POST["service"] : ''; $post_id = sanitize_text_field($post_id); $service_id = sanitize_text_field($service_id); $post_id = intval($post_id); if ($service_id == "print_friendly") { $service_id = "print"; } $current_value = get_post_meta($post_id, 'essb_pc_'.$service_id, true); $current_value = intval($current_value) + 1; update_post_meta ( $post_id, 'essb_pc_'.$service_id, $current_value ); // since 5.6 if (essb_is_internal_counted($service_id)) { delete_post_meta( $post_id, 'essb_c_'.$service_id ); update_post_meta( $post_id, 'essb_c_'.$service_id, $current_value ); } // @since 3.6 // adding custom hook to execute when click on share buttons // @revision 5.6 - adding to event as a parameter the shared post_id and network $action_options = array('post_id' => $post_id, 'network' => $service_id); do_action('essb_after_sharebutton_click', $action_options); die(json_encode(array("post_id" => $post_id, "service" => $service_id, "current_value" => $current_value))); } function essb_actions_get_share_counts() { $networks = isset($_REQUEST['nw']) ? $_REQUEST['nw'] : ''; $url = isset($_REQUEST['url']) ? $_REQUEST['url'] : ''; $instance = isset($_REQUEST['instance']) ? $_REQUEST['instance'] : ''; $post = isset($_REQUEST['post']) ? $_REQUEST['post'] : ''; $networks = sanitize_text_field($networks); header('content-type: application/json'); // check if cache is present $is_active_cache = essb_option_bool_value('admin_ajax_cache'); $cache_ttl = intval(essb_option_value('admin_ajax_cache_time')); if ($cache_ttl == 0) { $cache_ttl = 600; } $list = explode(',', $networks); $output = array(); $output['url'] = sanitize_text_field($url); $output['instance'] = sanitize_text_field($instance); $output['post'] = sanitize_text_field($post); $output['network'] = $networks; if (!class_exists('ESSBCounterHelper')) { include_once (ESSB3_PLUGIN_ROOT . 'lib/core/essb-counters-helper.php'); } foreach ($list as $nw) { $transient_key = 'essb_'.$nw.'_'.$url; $exist_in_cache = false; if ($is_active_cache) { $cached_value = get_transient($transient_key); if ($cached_value) { $output[$nw] = $cached_value; $exist_in_cache = true; } } if (!$exist_in_cache) { $count = ESSBCountersHelper::get_shared_counter($nw, $url, $post); $output[$nw] = $count; if ($is_active_cache) { delete_transient($transient_key); set_transient( $transient_key, $count, $cache_ttl ); } } } echo str_replace('\\/','/',json_encode($output)); die(); } if (!function_exists('essb_actions_sendmail')) { function essb_actions_sendmail() { $exist_captcha = essb_option_value('mail_captcha_answer'); $mail_function_security = essb_option_value('mail_function_security'); $post_id = essb_object_value($_REQUEST, 'post_id'); $from = essb_object_value($_REQUEST, 'from'); $to = essb_object_value($_REQUEST, 'to'); $c = essb_object_value($_REQUEST, 'c'); $mail_salt = essb_object_value($_REQUEST, 'salt'); $cu = essb_object_value($_REQUEST, 'cu'); $post_id = sanitize_text_field($post_id); $from = sanitize_email($from); $to = sanitize_email($to); $c = sanitize_text_field($c); $mail_salt = sanitize_text_field($mail_salt); $translate_mail_message_sent = essb_option_value('translate_mail_message_sent'); $translate_mail_message_invalid_captcha = essb_option_value('translate_mail_message_invalid_captcha'); $translate_mail_message_error_send = essb_option_value('translate_mail_message_error_send'); $translate_mail_message_error_mail = essb_option_value('translate_mail_message_error_mail'); $output = array("code" => "", "message" => ""); $valid = true; if ($exist_captcha != '' && $exist_captcha != $c) { $valid = false; $output["code"] = "101"; $output["message"] = $translate_mail_message_invalid_captcha != '' ? $translate_mail_message_invalid_captcha : __("Invalid captcha code", "essb"); } if (strlen($to) > 80) { $valid = false; $output["code"] = "102"; $output["message"] = translate_mail_message_error_mail != '' ? translate_mail_message_error_mail : __('Invalid recepient email', 'essb'); } $mail_salt_check = get_option(ESSB3_MAIL_SALT); if ($mail_function_security == 'level2') { $mail_salt = "salt"; $mail_salt_check = "salt"; } if ($mail_salt != $mail_salt_check) { $valid = false; $output["code"] = "103"; $output["message"] = __('Invalid security key provided', 'essb'); } if (filter_var($from, FILTER_VALIDATE_EMAIL) === false) { $valid = false; $output["code"] = "104"; $output["message"] = __('Invalid sender email', 'essb'); } if (filter_var($to, FILTER_VALIDATE_EMAIL) === false) { $valid = false; $output["code"] = "102"; $output["message"] = translate_mail_message_error_mail != '' ? translate_mail_message_error_mail : __('Invalid recepient email', 'essb'); } if ($valid) { $message_subject = essb_option_value('mail_subject'); $message_body = essb_option_value('mail_body'); $post = get_post($post_id); $url = get_permalink($post_id); $base_post_url = $url; $site_url = get_site_url(); $base_site_url = $site_url; $site_url = ''.$site_url.''; $url = ''.$url.''; $title = $post->post_title; $image = essb_core_get_post_featured_image($post->ID); $description = $post->post_excerpt; if ($image != '') { $image = ''; } $parsed_address = parse_url($base_site_url); $message_subject = preg_replace(array('#%%title%%#', '#%%siteurl%%#', '#%%permalink%%#', '#%%image%%#'), array($title, $base_site_url, $base_post_url, $image), $message_subject); $message_body = preg_replace(array('#%%title%%#', '#%%siteurl%%#', '#%%permalink%%#', '#%%image%%#'), array($title, $site_url, $url, $image), $message_body); if ($cu != '') { $message_body .= $cu; } $copy_address = essb_option_value('mail_copyaddress'); $message_body = str_replace("\r\n", "
", $message_body); $headers = array(); $headers[] = "MIME-Version: 1.0"; $headers[] = "Content-type: text/html; charset=utf-8"; $headers[] = "Reply-to: ".$from; //$headers[] = "From: ".$from." ';//admin_email $headers[] = "From: ".$from.' <'.get_bloginfo('admin_email').'>';//admin_email if ($copy_address != '') { $headers[] = 'Bcc: '. $copy_address; } wp_mail($to, $message_subject, $message_body, $headers); $output["code"] = "1"; $output["message"] = $translate_mail_message_sent != '' ? $translate_mail_message_sent : __("Message sent!", "essb"); } echo str_replace('\\/','/',json_encode($output)); die(); } } function essb_is_internal_counted($network) { $api_counters = array(); $api_counters[] = 'facebook'; if (essb_option_value('twitter_counters') != 'self') { $api_counters[] = 'twitter'; } $api_counters[] = 'pinterest'; $api_counters[] = 'vk'; $api_counters[] = 'reddit'; $api_counters[] = 'buffer'; $api_counters[] = 'ok'; $api_counters[] = 'mwp'; $api_counters[] = 'xing'; $api_counters[] = 'yummly'; if (in_array($network, $api_counters)) { return false; } else { return true; } }