Settings]
Version: 1.3.8.1
Author: AddToAny
Author URI: https://www.addtoany.com/
*/
if ( ! isset( $A2A_locale ) ) {
$A2A_locale = '';
}
$A2A_SHARE_SAVE_plugin_basename = plugin_basename( dirname( __FILE__ ) );
// WordPress Must-Use?
if ( basename( dirname( __FILE__ ) ) == 'mu-plugins' ) {
// __FILE__ expected in /wp-content/mu-plugins (parent directory for auto-execution)
// /wp-content/mu-plugins/add-to-any
$A2A_SHARE_SAVE_plugin_url_path = WPMU_PLUGIN_URL . '/add-to-any';
$A2A_SHARE_SAVE_plugin_dir = WPMU_PLUGIN_DIR . '/add-to-any';
}
else {
// /wp-content/plugins/add-to-any
$A2A_SHARE_SAVE_plugin_url_path = WP_PLUGIN_URL . '/' . $A2A_SHARE_SAVE_plugin_basename;
$A2A_SHARE_SAVE_plugin_dir = WP_PLUGIN_DIR . '/' . $A2A_SHARE_SAVE_plugin_basename;
}
// Fix SSL
if ( is_ssl() ) {
$A2A_SHARE_SAVE_plugin_url_path = str_replace( 'http:', 'https:', $A2A_SHARE_SAVE_plugin_url_path );
}
$A2A_SHARE_SAVE_options = get_option( 'addtoany_options' );
function A2A_SHARE_SAVE_init() {
global $A2A_SHARE_SAVE_plugin_url_path,
$A2A_SHARE_SAVE_plugin_basename,
$A2A_SHARE_SAVE_options;
if ( get_option( 'A2A_SHARE_SAVE_button' ) ) {
A2A_SHARE_SAVE_migrate_options();
$A2A_SHARE_SAVE_options = get_option( 'addtoany_options' );
}
load_plugin_textdomain( 'add-to-any',
$A2A_SHARE_SAVE_plugin_url_path . '/languages',
$A2A_SHARE_SAVE_plugin_basename . '/languages' );
if ( ! isset( $A2A_SHARE_SAVE_options['display_in_excerpts'] ) || $A2A_SHARE_SAVE_options['display_in_excerpts'] != '-1' ) {
// Excerpts use strip_tags() for the_content, so cancel if Excerpt and append to the_excerpt instead
add_filter( 'get_the_excerpt', 'A2A_SHARE_SAVE_remove_from_content', 9 );
add_filter( 'the_excerpt', 'A2A_SHARE_SAVE_add_to_content', 98 );
}
}
add_filter( 'init', 'A2A_SHARE_SAVE_init' );
function A2A_SHARE_SAVE_link_vars( $linkname = false, $linkurl = false ) {
global $post;
// Set linkname
if ( ! $linkname ) {
if ( isset( $post ) ) {
$linkname = get_the_title( $post->ID );
}
else {
$linkname = '';
}
}
$linkname_enc = rawurlencode( html_entity_decode( $linkname, ENT_QUOTES, 'UTF-8' ) );
// Set linkurl
if ( ! $linkurl ) {
if ( isset( $post ) ) {
$linkurl = get_permalink( $post->ID );
}
else {
$linkurl = '';
}
}
$linkurl_enc = rawurlencode( $linkurl );
return compact( 'linkname', 'linkname_enc', 'linkurl', 'linkurl_enc' );
}
include_once( $A2A_SHARE_SAVE_plugin_dir . '/addtoany.services.php' );
// Combine ADDTOANY_SHARE_SAVE_ICONS and ADDTOANY_SHARE_SAVE_BUTTON
function ADDTOANY_SHARE_SAVE_KIT( $args = false ) {
global $_addtoany_counter;
$_addtoany_counter++;
$options = get_option( 'addtoany_options' );
// If universal button disabled, and not manually disabled through args
if ( isset( $options['button'] ) && $options['button'] == 'NONE' && ! isset( $args['no_universal_button'] ) ) {
// Pass this setting on to ADDTOANY_SHARE_SAVE_BUTTON
// (and only via this ADDTOANY_SHARE_SAVE_KIT function because it is used for automatic placement)
$args['no_universal_button'] = true;
}
// Custom icons enabled?
$custom_icons = ( isset( $options['custom_icons'] ) && $options['custom_icons'] == 'url' && isset( $options['custom_icons_url'] ) ) ? true : false;
// Set a2a_kit_size_## class name unless "icon_size" is set to '16' or custom icons are enabled
if ( $custom_icons ) {
$icon_size = '';
// a2a_kit_size_32 if no icon size, or no_small_icons arg is true
} elseif ( ! isset( $options['icon_size'] ) || isset( $args['no_small_icons'] ) && true == $args['no_small_icons'] ) {
$icon_size = ' a2a_kit_size_32';
} elseif ( isset( $options['icon_size'] ) && $options['icon_size'] == '16' ) {
$icon_size = '';
} else {
$icon_size = ' a2a_kit_size_' . $options['icon_size'] . '';
}
$kit_additional_classes = '';
$kit_style = '';
// Add additional classNames to .a2a_kit
if ( isset( $args['kit_additional_classes'] ) ) {
// Append space and className(s)
$kit_additional_classes .= ' ' . $args['kit_additional_classes'];
}
// Add addtoany_list className unless disabled (for floating buttons)
if ( ! isset( $args['no_addtoany_list_classname'] ) ) {
$kit_additional_classes .= ' addtoany_list';
}
// Add style attribute if set
if ( isset( $args['kit_style'] ) ) {
$kit_style = ' style="' . $args['kit_style'] . '"';
}
if ( ! isset( $args['html_container_open'] ) ) {
$args['html_container_open'] = '
";
// Close container element in ADDTOANY_SHARE_SAVE_BUTTON, not prematurely in ADDTOANY_SHARE_SAVE_ICONS
$html_container_close = $args['html_container_close']; // Cache for _BUTTON
unset($args['html_container_close']); // Avoid passing to ADDTOANY_SHARE_SAVE_ICONS since set in _BUTTON
if ( ! isset( $args['html_wrap_open'] ) )
$args['html_wrap_open'] = "";
if ( ! isset( $args['html_wrap_close'] ) )
$args['html_wrap_close'] = "";
$kit_html = ADDTOANY_SHARE_SAVE_ICONS( $args );
$args['html_container_close'] = $html_container_close; // Re-set because unset above for _ICONS
unset( $args['html_container_open'] ); // Avoid passing to ADDTOANY_SHARE_SAVE_BUTTON since set in _ICONS
$kit_html .= ADDTOANY_SHARE_SAVE_BUTTON( $args );
if ( isset( $args['output_later'] ) && $args['output_later'] )
return $kit_html;
else
echo $kit_html;
}
function ADDTOANY_SHARE_SAVE_ICONS( $args = array() ) {
// $args array: output_later, html_container_open, html_container_close, html_wrap_open, html_wrap_close, linkname, linkurl
global $A2A_SHARE_SAVE_plugin_url_path,
$A2A_SHARE_SAVE_services;
$linkname = ( isset( $args['linkname'] ) ) ? $args['linkname'] : FALSE;
$linkurl = ( isset( $args['linkurl'] ) ) ? $args['linkurl'] : FALSE;
$args = array_merge( $args, A2A_SHARE_SAVE_link_vars( $linkname, $linkurl ) ); // linkname_enc, etc.
$defaults = array(
'linkname' => '',
'linkurl' => '',
'linkname_enc' => '',
'linkurl_enc' => '',
'output_later' => false,
'html_container_open' => '',
'html_container_close' => '',
'html_wrap_open' => '',
'html_wrap_close' => '',
'no_universal_button' => false,
);
$args = wp_parse_args( $args, $defaults );
extract( $args );
// Make available services extensible via plugins, themes (functions.php), etc.
$A2A_SHARE_SAVE_services = apply_filters( 'A2A_SHARE_SAVE_services', $A2A_SHARE_SAVE_services );
$service_codes = ( is_array( $A2A_SHARE_SAVE_services ) ) ? array_keys( $A2A_SHARE_SAVE_services ) : array();
// Include Facebook Like and Twitter Tweet etc. unless no_special_services arg is true
if ( ! isset( $no_special_services ) || false == $no_special_services ) {
array_unshift( $service_codes, 'facebook_like', 'twitter_tweet', 'google_plusone', 'google_plus_share', 'pinterest_pin' );
}
$options = get_option( 'addtoany_options' );
// False if "icon_size" is set to '16' or no_small_icons arg is true
$large_icons = ( isset( $options['icon_size'] ) && $options['icon_size'] == '16' &&
( ! isset( $no_small_icons ) || false == $no_small_icons )
) ? false : true;
// Directory of either custom icons or the packaged icons
if ( isset( $options['custom_icons'] ) && $options['custom_icons'] == 'url' && isset( $options['custom_icons_url'] ) ) {
// Custom icons expected at a specified URL, i.e. //example.com/blog/uploads/addtoany/icons/custom/
$icons_dir = $options['custom_icons_url'];
$custom_icons = true;
} else {
// Packaged 16px icons
$icons_dir = $A2A_SHARE_SAVE_plugin_url_path . '/icons/';
}
// Use default services if services have not been selected yet
$active_services = ( isset( $options['active_services'] ) ) ? $options['active_services'] : array( 'facebook', 'twitter', 'google_plus' );
$ind_html = "" . $html_container_open;
foreach( $active_services as $active_service ) {
if ( ! in_array( $active_service, $service_codes ) )
continue;
if ( $active_service == 'facebook_like' || $active_service == 'twitter_tweet' || $active_service == 'google_plusone' || $active_service == 'google_plus_share' || $active_service == 'pinterest_pin' ) {
$special_args = $args;
$special_args['output_later'] = true;
$link = ADDTOANY_SHARE_SAVE_SPECIAL( $active_service, $special_args );
} else {
$service = $A2A_SHARE_SAVE_services[ $active_service ];
$safe_name = $active_service;
$name = $service['name'];
// If HREF specified, presume custom service (except if it's "print")
if ( isset( $service['href'] ) && $safe_name != 'print' ) {
$custom_service = true;
$href = $service['href'];
if ( isset( $service['href_js_esc'] ) ) {
$href_linkurl = str_replace( "'", "\'", $linkurl );
$href_linkname = str_replace( "'", "\'", $linkname );
} else {
$href_linkurl = $linkurl_enc;
$href_linkname = $linkname_enc;
}
$href = str_replace( "A2A_LINKURL", $href_linkurl, $href );
$href = str_replace( "A2A_LINKNAME", $href_linkname, $href );
$href = str_replace( " ", "%20", $href );
} else {
$custom_service = false;
}
$icon_url = ( isset( $service['icon_url'] ) ) ? $service['icon_url'] : false;
$icon = ( isset( $service['icon'] ) ) ? $service['icon'] : 'default'; // Just the icon filename
$width = ( isset( $service['icon_width'] ) ) ? $service['icon_width'] : '16';
$height = ( isset( $service['icon_height'] ) ) ? $service['icon_height'] : '16';
$url = ( $custom_service ) ? $href : "http://www.addtoany.com/add_to/" . $safe_name . "?linkurl=" . $linkurl_enc . "&linkname=" . $linkname_enc;
$src = ( $icon_url ) ? $icon_url : $icons_dir . $icon . ".png";
$class_attr = ( $custom_service ) ? "" : " class=\"a2a_button_$safe_name\"";
// Remove all dimention values if using custom icons
if ( isset( $custom_icons ) ) {
$width = '';
$height = '';
}
$link = $html_wrap_open . "
";
$link .= ( $large_icons && ! isset( $custom_icons ) ) ? "" : "
";
$link .= "" . $html_wrap_close;
}
$ind_html .= $link;
}
$ind_html .= $html_container_close;
if ( isset( $output_later ) && $output_later == true )
return $ind_html;
else
echo $ind_html;
}
function ADDTOANY_SHARE_SAVE_BUTTON( $args = array() ) {
// $args array = output_later, html_container_open, html_container_close, html_wrap_open, html_wrap_close, linkname, linkurl, no_universal_button
global $A2A_SHARE_SAVE_plugin_url_path, $_addtoany_targets, $_addtoany_counter, $_addtoany_init;
$linkname = (isset($args['linkname'])) ? $args['linkname'] : false;
$linkurl = (isset($args['linkurl'])) ? $args['linkurl'] : false;
$_addtoany_targets = ( isset( $_addtoany_targets ) ) ? $_addtoany_targets : array();
$args = array_merge($args, A2A_SHARE_SAVE_link_vars($linkname, $linkurl)); // linkname_enc, etc.
$defaults = array(
'linkname' => '',
'linkurl' => '',
'linkname_enc' => '',
'linkurl_enc' => '',
'use_current_page' => false,
'output_later' => false,
'is_kit' => false,
'html_container_open' => '',
'html_container_close' => '',
'html_wrap_open' => '',
'html_wrap_close' => '',
'no_small_icons' => false,
'no_universal_button' => false,
);
$args = wp_parse_args( $args, $defaults );
extract( $args );
// If not enclosed in an AddToAny Kit, count & target this button (instead of Kit) for async loading
if ( ! $args['is_kit'] ) {
$_addtoany_counter++;
$button_class = ' a2a_target';
$button_id = ' id="wpa2a_' . $_addtoany_counter . '"'; // ID is later removed by JS (for AJAX)
} else {
$button_class = '';
$button_id = '';
}
/* AddToAny button */
$is_feed = is_feed();
$button_target = '';
$button_href_querystring = ($is_feed) ? '#url=' . $linkurl_enc . '&title=' . $linkname_enc : '';
$options = get_option( 'addtoany_options' );
// If universal button is enabled
if ( ! $args['no_universal_button'] ) {
if ( ! isset( $options['button'] ) || 'A2A_SVG_32' == $options['button'] || isset( $no_small_icons ) && true == $no_small_icons ) {
// Skip button IMG for A2A icon insertion
$button_text = '';
} else if ( isset( $options['button'] ) && 'CUSTOM' == $options['button'] ) {
$button_src = $options['button_custom'];
$button_width = '';
$button_height = '';
} else if ( isset( $options['button'] ) && 'TEXT' == $options['button'] ) {
$button_text = stripslashes( $options[ 'button_text'] );
// Do not display universal icon (when large icons are used)
$button_class .= ' addtoany_no_icon';
} else {
$button_attrs = explode( '|', $options['button'] );
$button_fname = $button_attrs[0];
$button_width = ' width="' . $button_attrs[1] . '"';
$button_height = ' height="' . $button_attrs[2] . '"';
$button_src = $A2A_SHARE_SAVE_plugin_url_path . '/' . $button_fname;
$button_text = ( isset( $options['button_text'] ) ) ? stripslashes( $options['button_text'] ) : 'Share' ;
}
$style = '';
if ( isset( $button_fname ) && ( $button_fname == 'favicon.png' || $button_fname == 'share_16_16.png' ) ) {
if ( ! $is_feed ) {
$style_bg = 'background:url(' . $A2A_SHARE_SAVE_plugin_url_path . '/' . $button_fname . ') no-repeat scroll 4px 0px;';
$style = ' style="' . $style_bg . 'padding:0 0 0 25px;display:inline-block;height:16px;vertical-align:middle"'; // padding-left:21+4 (4=other icons padding)
// Wrap in
to avoid showing the core-AddToAny Kit icon in addition to plugin's icon
$button_text = ( isset( $button_text ) ) ? '' . $button_text . '' : '';
}
}
if ( isset( $button_text ) && ( ! isset( $button_fname) || ! $button_fname || $button_fname == 'favicon.png' || $button_fname == 'share_16_16.png' ) ) {
$button = $button_text;
} else {
$style = '';
$button = '
';
}
$button_html = $html_container_open . $html_wrap_open . '' . $button . '';
} else {
// Universal button disabled
$button_html = '';
}
// Hook to disable script output
// Example: add_filter( 'addtoany_script_disabled', '__return_true' );
$script_disabled = apply_filters( 'addtoany_script_disabled', false );
// If not a feed, not admin, and script is not disabled
if ( ! $is_feed && ! is_admin() && ! $script_disabled ) {
if ($use_current_page) {
$button_config = "\n{title:document.title,"
. "url:location.href}";
$_addtoany_targets[] = $button_config;
} else {
$button_config = "\n{title:'". esc_js($linkname) . "',"
. "url:'" . $linkurl . "'}";
$_addtoany_targets[] = $button_config;
}
// If doing AJAX (the DOING_AJAX constant can be unreliable)
if ( isset( $_SERVER['HTTP_X_REQUESTED_WITH'] ) && strtolower( $_SERVER['HTTP_X_REQUESTED_WITH'] ) == 'xmlhttprequest' ) {
$javascript_button_config = "\n";
}
else $javascript_button_config = '';
if ( ! $_addtoany_init) {
$javascript_load_early = "\n\n";
}
else $javascript_load_early = "";
$button_html .= $javascript_load_early . $javascript_button_config;
$_addtoany_init = true;
}
// Closing tags come after \n";
echo $javascript_header;
}
add_action( 'wp_head', 'A2A_SHARE_SAVE_head_script' );
function A2A_SHARE_SAVE_footer_script() {
global $_addtoany_targets;
// Hook to disable script output
// Example: add_filter( 'addtoany_script_disabled', '__return_true' );
$script_disabled = apply_filters( 'addtoany_script_disabled', false );
if ( is_admin() || is_feed() || $script_disabled )
return;
$_addtoany_targets = ( isset( $_addtoany_targets ) ) ? $_addtoany_targets : array();
$floating_html = ADDTOANY_SHARE_SAVE_FLOATING( array( 'output_later' => true ) );
$javascript_footer = "\n" . '\n";
echo $floating_html . $javascript_footer;
}
add_action( 'wp_footer', 'A2A_SHARE_SAVE_footer_script' );
function A2A_SHARE_SAVE_theme_hooks_check() {
$template_directory = get_template_directory();
// If footer.php exists in the current theme, scan for "wp_footer"
$file = $template_directory . '/footer.php';
if ( is_file( $file ) ) {
$search_string = "wp_footer";
$file_lines = @file( $file );
foreach ( $file_lines as $line ) {
$searchCount = substr_count( $line, $search_string );
if ( $searchCount > 0 ) {
return true;
}
}
// wp_footer() not found:
echo "" . __( "Your theme needs to be fixed. To fix your theme, use the
Theme Editor to insert
<?php wp_footer(); ?> just before the
</body> line of your theme's
footer.php file." ) . "
";
}
// If header.php exists in the current theme, scan for "wp_head"
$file = $template_directory . '/header.php';
if ( is_file( $file ) ) {
$search_string = "wp_head";
$file_lines = @file( $file );
foreach ( $file_lines as $line ) {
$searchCount = substr_count( $line, $search_string );
if ( $searchCount > 0 ) {
return true;
}
}
// wp_footer() not found:
echo "" . __( "Your theme needs to be fixed. To fix your theme, use the
Theme Editor to insert
<?php wp_head(); ?> just before the
</head> line of your theme's
header.php file." ) . "
";
}
}
function A2A_SHARE_SAVE_auto_placement( $title ) {
global $A2A_SHARE_SAVE_auto_placement_ready;
$A2A_SHARE_SAVE_auto_placement_ready = true;
return $title;
}
/**
* Remove the_content filter and add it for next time
*/
function A2A_SHARE_SAVE_remove_from_content( $content ) {
remove_filter( 'the_content', 'A2A_SHARE_SAVE_add_to_content', 98 );
add_filter( 'the_content', 'A2A_SHARE_SAVE_add_to_content_next_time', 98 );
return $content;
}
/**
* Apply the_content filter "next time"
*/
function A2A_SHARE_SAVE_add_to_content_next_time( $content ) {
add_filter( 'the_content', 'A2A_SHARE_SAVE_add_to_content', 98 );
return $content;
}
function A2A_SHARE_SAVE_add_to_content( $content ) {
global $A2A_SHARE_SAVE_auto_placement_ready;
$is_feed = is_feed();
$options = get_option( 'addtoany_options' );
$sharing_disabled = get_post_meta( get_the_ID(), 'sharing_disabled', true );
$sharing_disabled = apply_filters( 'addtoany_sharing_disabled', $sharing_disabled );
if ( ! $A2A_SHARE_SAVE_auto_placement_ready )
return $content;
if ( get_post_status( get_the_ID() ) == 'private' )
return $content;
// Disabled for this post?
if ( ! empty( $sharing_disabled ) )
return $content;
if (
(
// Legacy tags
// tag
strpos( $content, '' ) === false ||
// tag
strpos( $content, '' ) !== false
) &&
(
// Posts
// All posts
( ! is_page() && isset( $options['display_in_posts'] ) && $options['display_in_posts'] == '-1' ) ||
// Front page posts
( is_home() && isset( $options['display_in_posts_on_front_page'] ) && $options['display_in_posts_on_front_page'] == '-1' ) ||
// Archive page posts (Category, Tag, Author and Date pages)
( is_archive() && isset( $options['display_in_posts_on_archive_pages'] ) && $options['display_in_posts_on_archive_pages'] == '-1' ) ||
// Search results posts (same as Archive page posts option)
( is_search() && isset( $options['display_in_posts_on_archive_pages'] ) && $options['display_in_posts_on_archive_pages'] == '-1' ) ||
// Posts in feed
( $is_feed && isset( $options['display_in_feed'] ) && $options['display_in_feed'] == '-1' ) ||
// Pages
// Individual pages
( is_page() && isset( $options['display_in_pages'] ) && $options['display_in_pages'] == '-1' ) ||
// legacy tag
( (strpos( $content, '') !== false ) )
)
) {
return $content;
}
$kit_args = array(
"output_later" => true,
"is_kit" => ( $is_feed ) ? false : true,
);
if ( ! $is_feed ) {
$container_wrap_open = ''; // Contains placeholder
$container_wrap_close = '
';
} else { // Is feed
$container_wrap_open = '';
$container_wrap_close = '
';
$kit_args['html_container_open'] = '';
$kit_args['html_container_close'] = '';
$kit_args['html_wrap_open'] = '';
$kit_args['html_wrap_close'] = '';
}
$options['position'] = isset( $options['position'] ) ? $options['position'] : 'bottom';
if ($options['position'] == 'both' || $options['position'] == 'top') {
// Prepend to content
$content = sprintf( $container_wrap_open, 'addtoany_content_top' ) . ADDTOANY_SHARE_SAVE_KIT($kit_args) . $container_wrap_close . $content;
}
if ( $options['position'] == 'bottom' || $options['position'] == 'both') {
// Append to content
$content .= sprintf( $container_wrap_open, 'addtoany_content_bottom' ) . ADDTOANY_SHARE_SAVE_KIT($kit_args) . $container_wrap_close;
}
return $content;
}
// Only automatically output button code after the_title has been called - to avoid premature calling from misc. the_content filters (especially meta description)
add_filter( 'the_title', 'A2A_SHARE_SAVE_auto_placement', 9 );
add_filter( 'the_content', 'A2A_SHARE_SAVE_add_to_content', 98 );
// [addtoany url="http://example.com/page.html" title="Some Example Page"]
function A2A_SHARE_SAVE_shortcode( $attributes ) {
extract( shortcode_atts( array(
'url' => 'something',
'title' => 'something else',
), $attributes ) );
$linkname = ( isset( $attributes['title'] ) ) ? $attributes['title'] : false;
$linkurl = ( isset( $attributes['url'] ) ) ? $attributes['url'] : false;
$output_later = TRUE;
return ''
. ADDTOANY_SHARE_SAVE_KIT( compact( 'linkname', 'linkurl', 'output_later' ) )
. '
';
}
add_shortcode( 'addtoany', 'A2A_SHARE_SAVE_shortcode' );
function A2A_SHARE_SAVE_stylesheet() {
global $A2A_SHARE_SAVE_options, $A2A_SHARE_SAVE_plugin_url_path;
$options = $A2A_SHARE_SAVE_options;
// Use stylesheet?
if ( ! isset( $options['inline_css'] ) || $options['inline_css'] != '-1' && ! is_admin() ) {
wp_enqueue_style( 'A2A_SHARE_SAVE', $A2A_SHARE_SAVE_plugin_url_path . '/addtoany.min.css', false, '1.7' );
// wp_add_inline_style requires WP 3.3+
if ( '3.3' <= get_bloginfo( 'version' ) ) {
// Prepare inline CSS for media queries on floating bars
$inline_css = '';
$vertical_type = ( isset( $options['floating_vertical'] ) && 'none' != $options['floating_vertical'] ) ? $options['floating_vertical'] : false;
$horizontal_type = ( isset( $options['floating_horizontal'] ) && 'none' != $options['floating_horizontal'] ) ? $options['floating_horizontal'] : false;
// If vertical bar is enabled
if ( $vertical_type &&
// and respsonsiveness is enabled
( ! isset( $options['floating_vertical_responsive'] ) || '-1' != $options['floating_vertical_responsive'] )
) {
// Get min-width for media query
$vertical_max_width = (
isset( $options['floating_vertical_responsive_max_width'] ) &&
is_numeric( $options['floating_vertical_responsive_max_width'] )
) ? $options['floating_vertical_responsive_max_width'] : '980';
// Set media query
$inline_css .= '@media screen and (max-width:' . $vertical_max_width . 'px){' . "\n"
. '.a2a_floating_style.a2a_vertical_style{display:none;}' . "\n"
. '}';
}
// If horizontal bar is enabled
if ( $horizontal_type &&
// and respsonsiveness is enabled
( ! isset( $options['floating_horizontal_responsive'] ) || '-1' != $options['floating_horizontal_responsive'] )
) {
// Get max-width for media query
$horizontal_min_width = (
isset( $options['floating_horizontal_responsive_min_width'] ) &&
is_numeric( $options['floating_horizontal_responsive_min_width'] )
) ? $options['floating_horizontal_responsive_min_width'] : '981';
// If there is inline CSS already
if ( 0 < strlen( $inline_css ) ) {
// Insert newline
$inline_css .= "\n";
}
// Set media query
$inline_css .= '@media screen and (min-width:' . $horizontal_min_width . 'px){' . "\n"
. '.a2a_floating_style.a2a_default_style{display:none;}' . "\n"
. '}';
}
// If there is inline CSS
if ( 0 < strlen( $inline_css ) ) {
// Insert inline CSS
wp_add_inline_style( 'A2A_SHARE_SAVE', $inline_css );
}
}
}
}
add_action( 'wp_print_styles', 'A2A_SHARE_SAVE_stylesheet' );
/**
* Cache AddToAny
*/
function A2A_SHARE_SAVE_refresh_cache() {
$contents = wp_remote_fopen( 'http://www.addtoany.com/ext/updater/files_list/' );
$file_urls = explode( "\n", $contents, 20 );
$upload_dir = wp_upload_dir();
// Make directory if needed
if ( ! wp_mkdir_p( dirname( $upload_dir['basedir'] . '/addtoany/foo' ) ) ) {
$message = sprintf( __( 'Unable to create directory %s. Is its parent directory writable by the server?' ), dirname( $new_file ) );
return array( 'error' => $message );
}
if ( count( $file_urls ) > 0 ) {
for ( $i = 0; $i < count( $file_urls ); $i++ ) {
// Download files
$file_url = trim( $file_urls[ $i ] );
$file_name = substr( strrchr( $file_url, '/' ), 1, 99 );
// Place files in uploads/addtoany directory
wp_get_http( $file_url, $upload_dir['basedir'] . '/addtoany/' . $file_name );
}
}
}
function A2A_SHARE_SAVE_schedule_cache() {
// WP "Cron" requires WP version 2.1
$timestamp = wp_next_scheduled( 'A2A_SHARE_SAVE_refresh_cache' );
if ( ! $timestamp) {
// Only schedule if currently unscheduled
wp_schedule_event( time(), 'daily', 'A2A_SHARE_SAVE_refresh_cache' );
}
}
function A2A_SHARE_SAVE_unschedule_cache() {
$timestamp = wp_next_scheduled( 'A2A_SHARE_SAVE_refresh_cache' );
wp_unschedule_event( $timestamp, 'A2A_SHARE_SAVE_refresh_cache' );
}
/**
* Admin Options
*/
if ( is_admin() ) {
include_once( $A2A_SHARE_SAVE_plugin_dir . '/addtoany.admin.php' );
}
function A2A_SHARE_SAVE_add_menu_link() {
if ( current_user_can( 'manage_options' ) ) {
$page = add_options_page(
'AddToAny: '. __( "Share/Save", "add-to-any" ) . " " . __( "Settings" )
, __( "AddToAny", "add-to-any" )
, 'activate_plugins'
, basename( __FILE__ )
, 'A2A_SHARE_SAVE_options_page'
);
/* Using registered $page handle to hook script load, to only load in AddToAny admin */
add_filter( 'admin_print_scripts-' . $page, 'A2A_SHARE_SAVE_scripts' );
}
}
add_filter( 'admin_menu', 'A2A_SHARE_SAVE_add_menu_link' );
function A2A_SHARE_SAVE_widget_init() {
global $A2A_SHARE_SAVE_plugin_dir;
include_once( $A2A_SHARE_SAVE_plugin_dir . '/addtoany.widget.php' );
register_widget( 'A2A_SHARE_SAVE_Widget' );
}
add_action( 'widgets_init', 'A2A_SHARE_SAVE_widget_init' );
// Place in Option List on Settings > Plugins page
function A2A_SHARE_SAVE_actlinks( $links, $file ) {
// Static so we don't call plugin_basename on every plugin row.
static $this_plugin;
if ( ! $this_plugin ) {
$this_plugin = plugin_basename( __FILE__ );
}
if ( $file == $this_plugin ) {
$settings_link = '' . __( 'Settings' ) . '';
array_unshift( $links, $settings_link ); // before other links
}
return $links;
}
add_filter( 'plugin_action_links', 'A2A_SHARE_SAVE_actlinks', 10, 2 );