getConfigs();
require_once('addthis_settings_functions.php');
$addthis_languages = array(
'' => 'Automatic',
'af' => 'Afrikaaner',
'ar' => 'Arabic',
'zh' => 'Chinese',
'cs' => 'Czech',
'da' => 'Danish',
'nl' => 'Dutch',
'en' => 'English',
'fa' => 'Farsi',
'fi' => 'Finnish',
'fr' => 'French',
'ga' => 'Gaelic',
'de' => 'German',
'el' => 'Greek',
'he' => 'Hebrew',
'hi' => 'Hindi',
'it' => 'Italian',
'ja' => 'Japanese',
'ko' => 'Korean',
'lv' => 'Latvian',
'lt' => 'Lithuanian',
'no' => 'Norwegian',
'pl' => 'Polish',
'pt' => 'Portugese',
'ro' => 'Romanian',
'ru' => 'Russian',
'sk' => 'Slovakian',
'sl' => 'Slovenian',
'es' => 'Spanish',
'sv' => 'Swedish',
'th' => 'Thai',
'ur' => 'Urdu',
'cy' => 'Welsh',
'vi' => 'Vietnamese',
);
/**
* Show Plugin activation notice on first installation*
*/
function pluginActivationNotice()
{
$run_once = get_option('addthis_run_once');
global $cmsConnector;
if (!$run_once) {
wp_enqueue_style(
'addThisStylesheet',
plugins_url('css/style.css', __FILE__)
);
$html = '
';
$html .= '
'.
'Congrats! You\'ve Installed Share Buttons by AddThis'.
' ';
$html .= '
Configure it now >>';
$html .= '
';
echo '';
echo $html;
update_option('addthis_run_once', true);
}
}
register_deactivation_hook(__FILE__, array($cmsConnector, 'deactivate'));
/**
* Make sure the option gets added on registration
* @since 2.0.6
*/
add_action('admin_notices', 'pluginActivationNotice');
function addthis_activation_hook() {
$addThisSharingButtonsPluginObject = new AddThisWordPressSharingButtonsPlugin();
$cmsConnector = new AddThisWordPressConnector($addThisSharingButtonsPluginObject);
$addThisConfigs = new AddThisConfigs($cmsConnector);
$options = $addThisConfigs->getConfigs();
$addThisConfigs->saveConfigs($options);
}
register_activation_hook( __FILE__, 'addthis_activation_hook' );
if (isset($_POST['addthis_plugin_controls'])) {
$newModeValue = $_POST['addthis_plugin_controls'];
} else if (isset($_POST['addthis_settings']['addthis_plugin_controls'])) {
$newModeValue = $_POST['addthis_settings']['addthis_plugin_controls'];
}
if ( isset($newModeValue)
&& $newModeValue != $addthis_options['addthis_plugin_controls']
) {
if($newModeValue == 'AddThis') {
// the WordPress mode magically doesn't need this to switch modes appropriately
// probably because it handles settings correctly (registering them and then adding a hook for their sanitization)
// $addthis_options['addthis_plugin_controls'] = 'AddThis';
} else {
$addthis_options['addthis_plugin_controls'] = 'WordPress';
}
$addthis_options = $addThisConfigs->saveConfigs($addthis_options);
}
add_action('wp_head', 'addthis_minimal_css');
function addthis_minimal_css() {
global $cmsConnector;
wp_enqueue_style( 'addthis_output', $cmsConnector->getPluginCssFolderUrl() . 'output.css' );
}
if ($addthis_options['addthis_plugin_controls'] == "AddThis") {
require_once 'addthis-for-wordpress.php';
$addThisWordPress = new Addthis_Wordpress(isset($upgraded), $addThisConfigs, $cmsConnector);
} else {
// Show old version of the plugin till upgrade button is clicked
// Add settings link on plugin page
function addthis_plugin_settings_link($links) {
global $cmsConnector;
$settings_link = 'Settings ';
array_push($links, $settings_link);
return $links;
}
$plugin = plugin_basename(__FILE__);
add_filter("plugin_action_links_$plugin", 'addthis_plugin_settings_link' );
// Setup our shared resources early
// addthis_addjs.php is a standard class shared by the various AddThis plugins to make it easy for us to include our bootstrapping JavaScript only once. Priority should be lowest for Share plugin.
add_action('init', 'addthis_early', 0);
function addthis_early(){
global $addThisSharingButtonsPluginObject;
global $AddThis_addjs_sharing_button_plugin;
global $addThisConfigs;
global $cmsConnector;
if (!isset($addThisSharingButtonsPluginObject)) {
$addThisSharingButtonsPluginObject = new AddThisWordPressSharingButtonsPlugin();
}
if (!isset($cmsConnector)) {
$cmsConnector = new AddThisWordPressConnector($addThisSharingButtonsPluginObject);
}
if (!isset($addThisConfigs)) {
$addThisConfigs = new AddThisConfigs($cmsConnector);
}
if (!isset($AddThis_addjs_sharing_button_plugin)){
require('addthis_addjs_new.php');
$AddThis_addjs_sharing_button_plugin = new AddThis_addjs_sharing_button_plugin($addThisConfigs, $cmsConnector);
}
}
$addthis_settings = array();
$addthis_settings['isdropdown'] = 'true';
$addthis_settings['customization'] = '';
$addthis_settings['menu_type'] = 'dropdown';
$addthis_settings['language'] = 'en';
$addthis_settings['fallback_username'] = '';
$addthis_settings['style'] = 'share';
$addthis_settings['placement'] = ENABLE_ADDITIONAL_PLACEMENT_OPTION;
$addthis_menu_types = array('static', 'dropdown', 'toolbox');
$addthis_styles = array(
'share' => array('img'=>'lg-share-%lang%.gif', 'w'=>125, 'h'=>16),
'bookmark' => array('img'=>'lg-bookmark-en.gif', 'w'=>125, 'h'=>16),
'addthis' => array('img'=>'lg-addthis-en.gif', 'w'=>125, 'h'=>16),
'share-small' => array('img'=>'sm-share-%lang%.gif', 'w'=>83, 'h'=>16),
'bookmark-small' => array('img'=>'sm-bookmark-en.gif', 'w'=>83, 'h'=>16),
'plus' => array('img'=>'sm-plus.gif', 'w'=>16, 'h'=>16)
);
$addthis_options = get_option('addthis_settings');
$atversion = $addThisConfigs->getAddThisVersion();
$addthis_new_styles = array(
'large_toolbox' => array(
'src' => '
',
'img' => 'toolbox-large.png',
'name' => 'Large Toolbox',
'above' => 'hidden ',
'below' => 'hidden'
),
'small_toolbox' => array(
'src' => '
',
'img' => 'toolbox-small.png',
'name' => 'Small Toolbox',
'above' => 'hidden ',
'below' => ''
),
'fb_tw_p1_sc' => array(
'src' => '
',
'img' => 'horizontal_share_rect.png',
'name' => 'Like, Tweet, +1, Share',
'above' => '',
'below' => '',
),
'button' => array(
'src' => '
',
'img' => 'horizontal_share.png',
'name' => 'Classic Share Button',
'above' => 'hidden ',
'below' => 'hidden'
)
);
/**
* @deprecated
* @todo Add _deprecated_function notice.
*/
function at_title_check($title)
{
global $addthis_did_filters_added;
if (!isset ($addthis_did_filters_added) || $addthis_did_filters_added != true)
{
addthis_add_content_filters();
add_filter('the_content', 'addthis_script_to_content');
}
return $title;
}
/**
* @deprecated
* @todo Add _deprecated_function notice.
*/
function addthis_script_to_content($content)
{
global $addthis_did_script_output;
if (!isset($addthis_did_script_output) )
{
$addthis_did_script_output = true;
$content .= addthis_output_script(true);
}
return $content ;
}
add_filter('language_attributes', 'addthis_language_attributes');
function addthis_language_attributes($input)
{
return $input . ' xmlns:fb="http://ogp.me/ns/fb#" xmlns:addthis="http://www.addthis.com/help/api-spec" ';
}
/**
* Converts our old many options in to one beautiful array
*
*/
// Caution: Using this filter to disable upgrades may have unexpected consequences.
if ( apply_filters( 'at_do_options_upgrades', '__return_true') || apply_filters( 'addthis_do_options_upgrades', '__return_true') )
{
function addthis_options_200()
{
global $current_user;
global $addThisConfigs;
global $cmsConnector;
$user_id = $current_user->ID;
$addthis_new_options = array();
if ($asynchronous_loading = get_option('addthis_asynchronous_loading'))
$addthis_new_options['addthis_asynchronous_loading'] = $asynchronous_loading;
if ($addthis_per_post_enabled = get_option('addthis_per_post_enabled'))
$addthis_new_options['addthis_per_post_enabled'] = $addthis_per_post_enabled;
if ($append_data = get_option('addthis_append_data'))
$addthis_new_options['addthis_append_data'] = $append_data;
// populate variables for share button location template settings
$locationTemplateFields = $addThisConfigs->getFieldsForContentTypeSharingLocations();
foreach ($locationTemplateFields as $field) {
$optionName = $field['fieldName'];
$variableName = $field['variableName'];
if ($$variableName = get_option($optionName)) {
$addthis_new_options[$optionName] = $$variableName;
}
}
if ($aftertitle = get_option('addthis_aftertitle'))
$addthis_new_options['addthis_aftertitle'] = $aftertitle;
if ($beforecomments = get_option('addthis_beforecomments'))
$addthis_new_options['addthis_beforecomments'] = $beforecomments;
$addthis_new_options['below'] = 'none';
if ($language = get_option('addthis_language'))
$addthis_new_options['addthis_language'] = $language;
//version check
if ($atversion = get_option('atversion'))
$addthis_new_options['atversion'] = $atversion;
// Above is new, set it to none
$addthis_new_options['above'] = 'none';
// Save option
add_option('addthis_settings', $addthis_new_options);
// if the option saved, delete the old options
delete_option('addthis_asynchronous_loading');
delete_option('addthis_product');
delete_option('addthis_isdropdown');
delete_option('addthis_menu_type');
delete_option('addthis_append_data');
delete_option('addthis_aftertitle');
delete_option('addthis_beforecomments');
delete_option('addthis_style');
delete_option('addthis_language');
delete_option('atversion');
// delete each share button location template settings
foreach ($locationTemplateFields as $field) {
$optionName = $field['fieldName'];
delete_option($optionName);
}
// old options that are no longer used, to clean up after ourshelves
if (false) {
$deprecatedFields = $cmsConnector->getDeprecatedVariables();
foreach ($deprecatedFields as $field) {
delete_option($field);
}
}
global $current_user;
$user_id = $current_user->ID;
add_user_meta($user_id, 'addthis_nag_updated_options', 'true', true);
}
function addthis_options_240()
{
global $addThisConfigs;
$options = $addThisConfigs->getConfigs();
//$options['wpfooter'] = false;
$addThisConfigs->saveConfigs($options);
}
}
function addthis_add_for_check_footer() {
}
function addthis_check_footer() {
}
/**
* For templates, we need a wrapper for printing out the code on demand.
*/
function addthis_print_widget($url = null, $title = null, $style = addthis_style_default) {
global $addthis_styles, $addthis_new_styles;
global $addThisConfigs;
$styles = array_merge($addthis_styles, $addthis_new_styles);
$options = $addThisConfigs->getConfigs();
$identifier = addthis_get_identifier($url, $title);
if (!is_array($style) && isset($addthis_new_styles[$style])) {
$template = $addthis_new_styles[$style]['src'];
} elseif ($style == 'above') {
$template = addthis_display_widget_above($styles, $options);
} elseif ($style == 'below') {
$template = addthis_display_widget_below($styles, $options);
} elseif (is_array($style)) {
$template = addthis_custom_toolbox($style);
}
echo "\n\n";
echo sprintf($template, $identifier);
echo "\n\n";
}
/*
* Generates the addthis:url and addthis:title attributes
*/
function addthis_get_identifier($url = null, $title = null)
{
if (is_null($url)) {
$url = get_permalink();
}
if (!is_null($url)) {
$identifier = "addthis:url='$url' ";
}
if (!isset($identifier)) {
$identifier = '';
}
return $identifier;
}
/**
* Options is an array that contains
* size - either 16 or 32. Defaults to 16
* services - comma sepperated list of services
* preferred - number of Prefered services to be displayed after listed services
* more - bool to show or not show the more icon at the end
*
* @param $options array
*/
function addthis_custom_toolbox($options)
{
$outerClasses = 'addthis_toolbox addthis_default_style';
if (isset($options['size']) && $options['size'] == '32')
$outerClasses .= ' addthis_32x32_style';
if (isset($options['type']) && $options['type'] != 'custom_string') {
$button = '';
if (isset($options['services']) ) {
$services = explode(',', $options['services']);
foreach ($services as $service)
{
$service = trim($service);
if ($service == 'more' || $service == 'compact') {
if (isset($options['type']) && $options['type'] != 'fb_tw_p1_sc') {
$button .= '
';
}
}
else if ($service == 'counter') {
if (isset($options['type']) && $options['type'] == 'fb_tw_p1_sc') {
$button .= '
';
}
else {
$button .= '
';
}
}
else if ($service == 'google_plusone') {
$button .= '
';
}
else
$button .= '
';
}
}
if (isset($options['preferred']) && is_numeric($options['preferred']))
{
for ($a = 1; $a <= $options['preferred']; $a++)
{
$button .= '
';
}
}
if (isset($options['more']) && $options['more'] == true)
{
$button .= '
';
}
if (isset($options['counter']) && ($options['counter'] != "") && ($options['counter'] !== false))
{
if ($options['counter'] === true)
{ //no style was specified
$button .= '
';
}
else
{ //a specific style was specified such as pill_style or bubble_style
$button .= '
';
}
}
$button .= '
';
}
return $button;
}
/**
* Adds AddThis CSS to page. Only used for admin dashboard in WP 2.7 and higher.
*/
function addthis_print_style() {
wp_enqueue_style( 'addthis' );
}
/**
* Adds AddThis script to page. Only used for admin dashboard in WP 2.7 and higher.
*/
function addthis_print_script() {
wp_enqueue_script( 'addthis' );
}
add_action('admin_notices', 'addthis_admin_notices');
function addthis_admin_notices(){
if ( !current_user_can('manage_options')
|| ( defined('ADDTHIS_NO_NOTICES')
&& ADDTHIS_NO_NOTICES)
) {
return;
}
global $cmsConnector;
global $current_user;
$user_id = $current_user->ID;
$options = $cmsConnector->getConfigs();
$message = '';
$setupMessage = '
';
$updatedMessage = '
';
if ( !isset($options['addthis_plugin_controls'])
&& !get_user_meta($user_id, 'addthis_ignore_notices')
) {
// nothing set up
$message = $setupMessage;
} else if( $options['addthis_plugin_controls'] == "AddThis"
&& empty($options['addthis_profile'])
&& !get_user_meta($user_id, 'addthis_ignore_notices')
) {
// AddThis mode but no pubid
$message = $setupMessage;
} else if( $options['addthis_plugin_controls'] != "AddThis"
&& empty($options['addthis_above_enabled'])
&& empty($options['addthis_below_enabled'])
&& empty($options['addthis_sidebar_enabled'])
&& empty($options['addthis_mobile_toolbar_enabled'])
&& !get_user_meta($user_id, 'addthis_ignore_notices')
) {
// WordPress mode but no tools enabled
$message = $setupMessage;
} elseif (get_user_meta($user_id, 'addthis_nag_updated_options')) {
// upgrade
$message = $updatedMessage;
}
echo $message;
}
add_action('admin_init', 'addthis_nag_ignore');
function addthis_nag_ignore()
{
global $current_user;
$user_id = $current_user->ID;
if (isset($_GET['addthis_nag_ignore']) && '0' == $_GET['addthis_nag_ignore'])
add_user_meta($user_id, 'addthis_ignore_notices', 'true', true);
if (isset($_GET['addthis_nag_updated_ignore']) && '0' == $_GET['addthis_nag_updated_ignore'])
delete_user_meta($user_id, 'addthis_nag_updated_options', 'true');
}
function addthis_plugin_useragent($userAgent)
{
global $cmsConnector;
return $userAgent . 'ATV/' . $cmsConnector->getPluginVersion();
}
function addthis_render_dashboard_widget_holder()
{
echo '' . __( 'Loading…' ) . '
' . __('This widget requires JavaScript.') . '
';
}
add_action('wp_ajax_at_save_transient', 'addthis_save_transient');
function addthis_save_transient() {
global $wpdb; // this is how you get access to the database
parse_str($_POST['value'], $values);
// verify nonce (or die).
$nonce = $values['_wpnonce'];
if (!wp_verify_nonce($nonce, 'addthis-options')) {
die('Security check');
}
// Parse Post data
$configs = addthis_parse_options($values);
global $cmsConnector;
$cmsConnector->saveConfigs($configs, true);
wp_send_json($configs);
}
function addthis_save_settings($input)
{
global $addThisConfigs;
// if special, do special, else
if ( isset($input['addthis_csr_confirmation'])
&& $input['addthis_csr_confirmation'] == 'true'
) {
if ( isset($input['addthis_profile'])
&& wp_verify_nonce($_POST['pubid_nonce'], 'update_pubid')
) {
$configs['addthis_profile'] = $input['addthis_profile'];
}
} elseif(count($input) > 2) {
// there should be more than two entires in forms posted from this
// plugin
$configs = addthis_parse_options($input);
}
if (isset($configs)) {
$addThisConfigs->saveConfigs($configs);
}
}
/**
* goes through all the options, sanitizing, verifying and returning for storage what needs to be there
*/
function addthis_parse_options($data)
{
global $addthis_styles, $addthis_new_styles;
global $addThisConfigs;
$styles = array_merge($addthis_styles, $addthis_new_styles);
$below_custom_styles = $above_custom_styles = '';
$options = $addThisConfigs->getConfigs();
if (!is_array($data)) {
return $options;
}
if (isset($data['show_below'])) {
$options['below'] = 'none';
} elseif (isset($data['below'], $styles[$data['below']])) {
$options['below'] = $data['below'];
} elseif ($data['below'] == 'disable') {
$options['below'] = $data['below'];
} elseif ($data['below'] == 'none') {
$options['below'] = 'none';
} elseif ($data['below'] == 'custom') {
$options['below_do_custom_services'] = isset($data['below_do_custom_services']);
$options['below_do_custom_preferred'] = isset($data['below_do_custom_preferred']);
$options['below'] = 'custom';
if ( $data['below_custom_size'] == 16
|| $data['below_custom_size'] == 32
) {
$options['below_custom_size'] = $data['below_custom_size'];
} else {
$options['below_custom_size'] = '';
}
$options['below_custom_services'] = sanitize_text_field($data['below_custom_services']);
$options['below_custom_preferred'] = sanitize_text_field($data['below_custom_preferred']);
$options['below_custom_more'] = isset($data['below_custom_more']);
} elseif ($data['below'] == 'custom_string') {
$options['below'] = 'custom_string';
if (strpos($data['below_custom_string'], "style=") != false) {
$custom_style = explode('style=', $data['below_custom_string']);
$custom_style = explode('>', $custom_style[1]);
$custom_style = explode(' ', $custom_style[0]);
$below_custom_styles = " style=$custom_style[0]";
}
$options['below_custom_string'] = addthis_kses(
$data['below_custom_string'],
$below_custom_styles
);
}
if (isset($data['wpfooter'])) {
$options['wpfooter'] = (bool) $data['wpfooter'];
}
if (isset($styles[$data['above']])) {
$options['above'] = $data['above'];
} elseif ($data['above'] == 'disable') {
$options['above'] = $data['above'];
} elseif ($data['above'] == 'none') {
$options['above'] = 'none';
} elseif ($data['above'] == 'custom') {
$options['above_do_custom_services'] = isset($data['above_do_custom_services']) ;
$options['above_do_custom_preferred'] = isset($data['above_do_custom_preferred']) ;
$options['above'] = 'custom';
if ( $data['above_custom_size'] == 16
|| $data['above_custom_size'] == 32
) {
$options['above_custom_size'] = $data['above_custom_size'];
} else {
$options['above_custom_size'] = '';
}
$options['above_custom_services'] = sanitize_text_field($data['above_custom_services']);
$options['above_custom_preferred'] = (int) $data['above_custom_preferred'] ;
$options['above_custom_more'] = isset($data['above_custom_more']);
} elseif ($data['above'] == 'custom_string') {
//[addthis_twitter_template]
if ( isset($data['addthis_twitter_template'])
&& strlen($data['addthis_twitter_template']) != 0
) {
//Parse the first twitter username to be used with via
$options['addthis_twitter_template'] = sanitize_text_field($data['addthis_twitter_template']);
}
$options['above'] = 'custom_string';
if (strpos($data['above_custom_string'], "style=")) {
$custom_style = explode('style=', $data['above_custom_string']);
$custom_style = explode('>', $custom_style[1]);
$custom_style = explode(' ', $custom_style[0]);
$above_custom_styles = " style=$custom_style[0]";
}
$options['above_custom_string'] = addthis_kses(
$data['above_custom_string'],
$above_custom_styles
);
}
if (isset($data['addthis_profile'])) {
$options['addthis_profile'] = sanitize_text_field($data['addthis_profile']);
}
if (isset($styles[$data['below']])) {
$options['below'] = $data['below'];
} elseif ($data['below'] == 'disable') {
$options['below'] = $data['below'];
} elseif ($data['below'] == 'none') {
$options['below'] = 'none';
} elseif ($data['below'] == 'custom') {
$options['below_do_custom_services'] = isset($data['below_do_custom_services']) ;
$options['below_do_custom_preferred'] = isset($data['below_do_custom_preferred']) ;
$options['below'] = 'custom';
if ( $data['below_custom_size'] == 16
|| $data['below_custom_size'] == 32
) {
$options['below_custom_size'] = $data['below_custom_size'];
} else {
$options['below_custom_size'] = '';
}
$options['below_custom_services'] = sanitize_text_field($data['below_custom_services']);
$options['below_custom_preferred'] = sanitize_text_field($data['below_custom_preferred']);
$options['below_custom_more'] = isset($data['below_custom_more']);
} elseif ($data['below'] == 'custom_string') {
$options['below'] = 'custom_string';
if (strpos($data['below_custom_string'], "style=")) {
$custom_style = explode('style=', $data['below_custom_string']);
$custom_style = explode('>', $custom_style[1]);
$custom_style = explode(' ', $custom_style[0]);
$below_custom_styles = " style=$custom_style[0]";
}
$options['below_custom_string'] = addthis_kses(
$data['below_custom_string'],
$below_custom_styles
);
}
// All the checkbox fields
$checkboxFields = array(
// general
'addthis_508',
'addthis_addressbar',
'addthis_append_data',
'addthis_asynchronous_loading',
'addthis_bitly',
'addthis_per_post_enabled',
// WordPress mode only
'above_auto_services',
'addthis_above_enabled',
'addthis_aftertitle' ,
'addthis_beforecomments',
'addthis_below_enabled',
'addthis_sidebar_enabled',
'addthis_mobile_toolbar_enabled',
'addthis_mobile_toolbar_counts',
'below_auto_services',
);
// add all share button location template settings to list of checkbox fields
$locationTemplateFields = $addThisConfigs->getFieldsForContentTypeSharingLocations();
foreach ($locationTemplateFields as $field) {
$optionName = $field['fieldName'];
$checkboxFields[] = $optionName;
}
foreach ($checkboxFields as $field) {
if (isset($data[$field]) && $data[$field]) {
$options[$field] = true;
} else {
$options[$field] = false;
}
}
$checkAndSanitize = array(
// general
'addthis_config_json',
'addthis_environment',
'addthis_language',
'addthis_layers_json',
'addthis_plugin_controls',
'addthis_profile',
'addthis_rate_us',
'addthis_share_json',
'addthis_twitter_template',
'atversion',
'atversion_update_status',
'credential_validation_status',
'data_ga_property',
// WordPress mode only
'addthis_sidebar_count',
'addthis_sidebar_position',
'addthis_sidebar_theme',
'addthis_mobile_toolbar_numPreferredServices',
'addthis_mobile_toolbar_position',
);
foreach ($checkAndSanitize as $field) {
if (isset($data[$field])) {
$options[$field] = sanitize_text_field($data[$field]);
}
}
if (!empty($data['above_chosen_list'])) {
$options['above_chosen_list'] = sanitize_text_field($data['above_chosen_list']);
} else {
$options['above_chosen_list'] = "";
}
if (!empty($data['below_chosen_list'])) {
$options['below_chosen_list'] = sanitize_text_field($data['below_chosen_list']);
} else {
$options['below_chosen_list'] = "";
}
if (isset($data['addthis_rate_us'])
&& $options['addthis_rate_us'] != $data['addthis_rate_us']
) {
$options['addthis_rate_us_timestamp'] = time();
}
return $options;
}
/**
* Formally registers AddThis settings. Only called in WP 2.7+.
*/
function register_addthis_settings() {
register_setting('addthis', 'addthis_settings', 'addthis_save_settings');
}
/*
* Used to make sure excerpts above the head aren't displayed wrong
*/
function addthis_add_content_filters()
{
global $addthis_did_filters_added;
global $addThisConfigs;
$addthis_did_filters_added = true;
$options = $addThisConfigs->getConfigs();
if ( ! empty( $options) ){
if (_addthis_excerpt_buttons_enabled()) {
add_filter('get_the_excerpt', 'addthis_display_social_widget_excerpt', 11);
}
add_filter('the_content', 'addthis_display_social_widget', 15);
}
}
/**
* Adds WP filter so we can append the AddThis button to post content.
*/
function addthis_init()
{
global $addThisConfigs;
global $cmsConnector;
$options = $addThisConfigs->getConfigs();
add_action('wp_head', 'addthis_add_content_filters');
if ( ( $cmsConnector->getCmsMinorVersion() >= 2.7
|| $cmsConnector->assumeLatest())
&& is_admin()
) {
add_action('admin_init', 'register_addthis_settings');
}
add_action('admin_print_styles-index.php', 'addthis_print_style');
add_action('admin_print_scripts-index.php', 'addthis_print_script');
add_filter('admin_menu', 'addToWordpressMenu');
if ( apply_filters( 'at_do_options_upgrades', '__return_true') || apply_filters( 'addthis_do_options_upgrades', '__return_true') )
{
if ( get_option('addthis_product') !== false
&& !is_array($options)
) {
addthis_options_200();
}
// Upgrade to 240 and add at 300
if (!isset($options['atversion']) || empty($options['atversion'])) {
addthis_options_240();
}
}
add_action( 'addthis_widget', 'addthis_print_widget', 10, 3);
}
/**
* Places our options into a global associative array.
* @refactor
*/
function addthis_set_addthis_settings()
{
global $addthis_settings;
$product = get_option('addthis_product');
$style = get_option('addthis_style');
if (strlen($style) == 0) $style = 'share';
$addthis_settings['style'] = $style;
$addthis_settings['menu_type'] = get_option('addthis_menu_type');
$language = get_option('addthis_language');
$addthis_settings['language'] = $language;
$atversion = get_option('atversion');
$addthis_settings['atversion'] = $atversion;
$advopts = array('brand', 'append_data', 'language', 'header_background', 'header_color');
$addthis_settings['customization'] = '';
for ($i = 0; $i < count($advopts); $i++)
{
$opt = $advopts[$i];
$val = get_option("addthis_$opt");
if (isset($val) && strlen($val)) $addthis_settings['customization'] .= "var addthis_$opt = '$val';";
}
}
add_action('widgets_init', 'addthis_widget_init');
function addthis_widget_init()
{
require_once('addthis_sidebar_widget.php');
//require_once('addthis_content_feed_widget.php');
register_widget('AddThisSidebarWidget');
//register_widget('AddThisContentFeedWidget');
}
function addthis_sidebar_widget($args)
{
extract($args);
echo $before_widget;
echo $before_title . $after_title . addthis_social_widget('', true);
echo $after_widget;
}
// if there are suppose to be sharing buttons and they're not there, add them.
function addthis_remove_tag($content)
{
global $addThisConfigs;
if (!is_object($addThisConfigs)) {
$addThisSharingButtonsPluginObject = new AddThisWordPressSharingButtonsPlugin();
$cmsConnector = new AddThisWordPressConnector($addThisSharingButtonsPluginObject);
$addThisConfigs = new AddThisConfigs($cmsConnector);
}
if( !is_object($addThisConfigs)
|| !method_exists($addThisConfigs, 'getConfigs')
) {
return $content;
}
$options = $addThisConfigs->getConfigs();
$checkForToolbox = "addthis_toolbox";
$checkForButton = "addthis_button";
if (strpos($content, $checkForToolbox) === false
&& strpos($content, $checkForButton) === false
) {
$content = addthis_display_social_widget($content, false, true);
}
return $content;
}
/**
* so named because it is added "later then the standard filter and all the WP internal filters"
*/
function addthis_late_widget($link_text)
{
global $addThisConfigs;
global $addthis_styles;
global $addthis_new_styles;
$search = 'AddThis Sharing Buttons below';
$comment = '';
remove_filter('get_the_excerpt', 'addthis_late_widget');
if (!_addthis_excerpt_buttons_enabled()
&& strpos($link_text, $search) !== false
) {
return $link_text;
}
$options = $addThisConfigs->getConfigs();
$styles = array_merge($addthis_styles, $addthis_new_styles);
if ( has_excerpt()
&& !is_attachment()
&& isset($options['below'])
&& $options['below'] == 'custom'
) {
$parsedOptions['size'] = $options['below_custom_size'];
$newOptions['more'] = $options['below_custom_more'];
if ($options['below_do_custom_services']) {
$parsedOptions['services'] = $options['below_custom_services'];
}
if ($options['below_do_custom_preferred']) {
$parsedOptions['preferred'] = $options['below_custom_preferred'];
}
$template = addthis_custom_toolbox($parsedOptions);
} elseif ( isset($styles[$options['below']])
&& has_excerpt()
&& !is_attachment()
) {
$template = $styles[$options['below']]['src'];
} else {
$template = '';
}
$buttons = sprintf($template, addthis_get_identifier());
return $link_text . $comment . $buttons;
}
function addthis_display_social_widget_excerpt($content)
{
// I don't think has_excerpt() is always necessarily true when calling "get_the_excerpt()",
// but since this function is only as a get_the_excerpt() filter, we should probably
// not care whether or not an excerpt is there since the caller obviously wants one.
// needs testing/understanding.
if (has_excerpt() && _addthis_excerpt_buttons_enabled()) {
return addthis_display_social_widget($content, true, true);
} else {
return $content;
}
}
function addthis_display_widget_above($styles, $options) {
$above = '';
if ($options['addthis_above_enabled'] == true){
if (isset($styles[$options['above']])) {
if ( isset($options['above_chosen_list'], $options['above_auto_services'])
&& !$options['above_auto_services']
&& strlen($options['above_chosen_list']) != 0
) {
if (isset($options['above']) && $options['above'] == 'large_toolbox') {
$aboveOptions['size'] = '32';
} elseif (isset($options['above']) && $options['above'] == 'small_toolbox') {
$aboveOptions['size'] = '16';
}
$aboveOptions['type'] = $options['above'];
$aboveOptions['services'] = $options['above_chosen_list'];
$above = addthis_custom_toolbox($aboveOptions);
} else {
$above = $styles[$options['above']]['src'];
}
} elseif ($options['above'] == 'custom') {
$aboveOptions['size'] = $options['above_custom_size'];
if ($options['above_do_custom_services'])
$aboveOptions['services'] = $options['above_custom_services'];
if ($options['above_do_custom_preferred'])
$aboveOptions['preferred'] = $options['above_custom_preferred'];
$aboveOptions['more'] = $options['above_custom_more'];
$above = addthis_custom_toolbox($aboveOptions);
} elseif ($options['above'] == 'custom_string') {
$custom = preg_replace('/<\s*div\s*/', 'getConfigs();
$templateType = _addthis_determine_template_type();
// get configs for this template type
if (is_string($templateType)) {
$fieldList = $addThisConfigs->getFieldsForContentTypeSharingLocations($templateType);
foreach ($fieldList as $key => $field) {
$fieldList[$field['location']] = $field;
unset($fieldList[$key]);
}
$aboveFieldName = $fieldList['above']['fieldName'];
$belowFieldName = $fieldList['below']['fieldName'];
$displayAbove = !empty($options[$aboveFieldName]);
$displayBelow = !empty($options[$belowFieldName]);
} else {
$displayAbove = false;
$displayBelow = false;
}
if ( $templateType === 'home' ) {
$templateIsAnExcerpt = (boolean)(strpos($post->post_content, '') != false);
if ($templateIsAnExcerpt) {
if ($displayAbove && !_addthis_excerpt_buttons_enabled_above()) {
$displayAbove = false;
}
if ($displayBelow && !_addthis_excerpt_buttons_enabled_below()) {
$displayBelow = false;
}
}
}
$custom_fields = get_post_custom($post->ID);
if ( isset($custom_fields['addthis_exclude'])
&& $custom_fields['addthis_exclude'][0] == 'true'
) {
$displayAbove = false;
$displayBelow = false;
}
$displayAbove = apply_filters('addthis_post_exclude', $displayAbove);
$displayBelow = apply_filters('addthis_post_exclude', $displayBelow);
$htmlComments = array();
$htmlCommentLocations = array('above', 'below');
foreach ($htmlCommentLocations as $location) {
$htmlComments[$location] = array();
$search = 'AddThis Sharing Buttons '.$location;
$comment = '';
$htmlComments[$location]['search'] = $search;
$htmlComments[$location]['comment'] = $comment;
}
remove_filter('wp_trim_excerpt', 'addthis_remove_tag', 9, 1);
remove_filter('get_the_excerpt', 'addthis_late_widget');
$identifier = addthis_get_identifier();
// Still here? Well let's add some social goodness
if ( isset($options['above'])
&& $options['above'] != 'none'
&& $options['above'] != 'disable'
&& $displayAbove
&& (!$excerpt || _addthis_excerpt_buttons_enabled_above())
&& strpos($content, $htmlComments['above']['search']) === false
) {
$above = $htmlComments['above']['comment'];
$above .= addthis_display_widget_above($styles, $options);
} elseif ($displayAbove) {
$above = '';
} else {
$above = '';
}
if ( isset($options['below'])
&& $options['below'] != 'none'
&& $options['below'] != 'disable'
&& $displayBelow
&& (!$excerpt || _addthis_excerpt_buttons_enabled_below())
&& strpos($content, $htmlComments['below']['search']) === false
) {
$below = $htmlComments['below']['comment'];
$below .= addthis_display_widget_below($styles, $options);
} elseif ( $excerpt
&& $displayBelow
&& $options['below'] != 'none'
) {
$below = '';
if (_addthis_excerpt_buttons_enabled()) {
add_filter('get_the_excerpt', 'addthis_late_widget', 14);
}
} else {
$below = '';
}
$metaBoxFlag = get_post_meta($post->ID, '_at_widget', TRUE);
if (!$options['addthis_per_post_enabled']
|| $metaBoxFlag == ''
|| $metaBoxFlag == '1'
) {
$metaBoxFlag = true;
} else {
$metaBoxFlag = false;
}
if ($metaBoxFlag) {
if ($displayAbove && isset($above)) {
$content = sprintf($above, $identifier) . $content;
}
if ($displayBelow && isset($below)) {
$content = $content . sprintf($below, $identifier);
}
}
if (($displayAbove || $displayBelow) && $filtered) {
add_filter('wp_trim_excerpt', 'addthis_remove_tag', 11, 1);
}
return $content;
}
add_action('wp_head', 'addthis_register_script_in_addjs', 20);
function addthis_register_script_in_addjs(){
global $AddThis_addjs_sharing_button_plugin;
$script = addthis_output_script(true, true);
$AddThis_addjs_sharing_button_plugin->addToScript($script);
}
/**
* Check to see if our Javascript has been outputted yet. If it hasn't, return it. Else, return false.
*
* @return mixed
*/
function addthis_output_script($return = false, $justConfig = false )
{
global $addThisConfigs;
global $cmsConnector;
$options = $addThisConfigs->getConfigs();
$addthis_config = $addThisConfigs->createAddThisConfigVariable();
$addthis_config_js = 'var addthis_config = '. json_encode($addthis_config) .';';
$addthis_share = $addThisConfigs->createAddThisShareVariable();
$addthis_share_js = 'var addthis_share = '. json_encode($addthis_share) .';';
$addthis_layers = $addThisConfigs->createAddThisLayersVariable();
$addthis_layers_js = 'var addthis_layers = '. json_encode($addthis_layers) .';';
if ($justConfig) {
$script = "\n" . $addthis_config_js . "\n" . $addthis_share_js . "\n";
return $script;
}
$async = '';
if (!empty($addthis_config['addthis_asynchronous_loading'])) {
$async = 'async="async"';
}
/**
* Load client script based on the enviornment variable
* Admin can enable debug mode in adv settings by adding url param debug=true
*/
$script_domain = '//s7.addthis.com/js/';
if (!empty($addthis_config['addthis_environment'])) {
$at_env = $addthis_config['addthis_environment'];
$script_domain = '//cache-'.$at_env.'.addthis.com/cachefly/js/';
}
$url = $script_domain .
$addthis_config['atversion'] .
'/addthis_widget.js#pubid=' .
urlencode($addThisConfigs->getUsableProfileId());
$script = '
';
if (!is_admin() && !is_feed()) {
echo $script;
} elseif ($return && !is_admin() && !is_feed()) {
return $script;
}
}
/**
* Appends AddThis button to post content.
*/
function addthis_social_widget($content, $onSidebar = false, $url = null, $title = null)
{
addthis_set_addthis_settings();
global $addthis_settings;
global $addThisConfigs;
global $cmsConnector;
// add nothing to RSS feed or search results; control adding to static/archive/category pages
if (!$onSidebar)
{
if ( $addthis_settings['sidebar_only']
|| is_feed()
|| is_search()
|| is_home()
|| is_page()
|| is_archive()
|| is_category()
) {
return $content;
}
}
$pub = urlencode($addThisConfigs->getUsableProfileId());
$link = !is_null($url) ? $url : ($onSidebar ? get_bloginfo('url') : get_permalink());
$title = !is_null($title) ? $title : ($onSidebar ? get_bloginfo('title') : the_title('', '', false));
$content .= '
';
} else if ($addthis_settings['menu_type'] === 'toolbox') {
$content .= "\n//-->\n\n";
$content .= '
';
} else {
$link = urlencode($link);
$title = urlencode($title);
$content .= '//-->
';
}
$content .= "\n";
return $content;
}
/**
* Generates img tag for share/bookmark button.
*/
function addthis_get_button_img( $btnStyle = false )
{
global $addthis_settings;
global $addthis_styles;
global $addThisConfigs;
$options = $addThisConfigs->getConfigs();
$language = $options['language'];
if ($btnStyle == false)
$btnStyle = $addthis_settings['style'];
if ($addthis_settings['language'] != 'en')
{
// We use a translation of the word 'share' for all verbal buttons
switch ($btnStyle)
{
case 'bookmark':
case 'addthis':
case 'bookmark-sm':
$btnStyle = 'share';
}
}
if (!isset($addthis_styles[$btnStyle])) $btnStyle = 'share';
$btnRecord = $addthis_styles[$btnStyle];
$btnUrl = (strpos(trim($btnRecord['img']), '//') !== 0 ? "//s7.addthis.com/static/btn/v2/" : "") . $btnRecord['img'];
if (strpos($btnUrl, '%lang%') !== false)
{
$btnUrl = str_replace('%lang%', strlen($language) ? $language : 'en', $btnUrl);
}
$btnWidth = $btnRecord['w'];
$btnHeight = $btnRecord['h'];
return <<
EOF;
}
function addToWordpressMenu()
{
global $cmsConnector;
$htmlGeneratingFunction = 'addthis_plugin_options_php4';
$cmsConnector->addSettingsPage($htmlGeneratingFunction);
}
function addthis_plugin_options_php4() {
global $current_user;
$user_id = $current_user->ID;
global $addThisConfigs;
$options = $addThisConfigs->getConfigs();
global $cmsConnector;
if (get_user_meta($user_id, 'addthis_nag_updated_options') )
delete_user_meta($user_id, 'addthis_nag_updated_options', 'true');
?>
getConfigs();
?>
Sharing Buttons Above Content
Sharing Buttons Below Content
{$metakey}) )
return $userdata->{$metakey};
else
return false;
}
}
if (! function_exists('delete_user_meta'))
{
function delete_user_meta($userid, $metakey, $ignored = '')
{
return delete_user_meta($userid, $metakey);
}
}
if (! function_exists('add_user_meta'))
{
function add_user_meta($userid, $metakey, $metavalue)
{
return update_user_meta($userid, $metakey, $metavalue);
}
}
if (! function_exists('get_home_url'))
{
function get_home_url()
{
return get_option( 'home' );
}
}
if (! function_exists('__return_false'))
{
function __return_false()
{
return false;
}
}
if (! function_exists('__return_true'))
{
function __return_true()
{
return true;
}
}
if (! function_exists('esc_textarea'))
{
function esc_textarea($text)
{
$safe_text = htmlspecialchars( $text, ENT_QUOTES );
return $safe_text;
}
}
// check for pro user
function at_share_is_pro_user() {
global $addThisConfigs;
$isPro = false;
if ($addThisConfigs->getProfileId()) {
$request = wp_remote_get( "http://q.addthis.com/feeds/1.0/config.json?pubid=" . $addThisConfigs->getProfileId() );
$server_output = wp_remote_retrieve_body( $request );
$array = json_decode($server_output);
// check for pro user
if (is_array($array) && array_key_exists('_default',$array)) {
$isPro = true;
} else {
$isPro = false;
}
}
return $isPro;
}
function addthis_deactivation_hook()
{
if (get_option('addthis_run_once')) {
delete_option('addthis_run_once');
}
}
// Deactivation
register_deactivation_hook(__FILE__, 'addthis_deactivation_hook');
}
function _addthis_profile_setup_url() {
$pubName = get_bloginfo('name');
global $cmsConnector;
if (!preg_match('/^[A-Za-z0-9 _\-\(\)]*$/', $pubName)) {
// if title not match, get domain
$url = get_option('siteurl');
$urlobj = parse_url($url);
$domain = $urlobj['host'];
if (preg_match(
'/(?P
[a-z0-9][a-z0-9\-]{1,63}\.[a-z\.]{2,6})$/i',
$domain, $regs
)) {
$domainArray = explode(".", $regs['domain']);
$pubName = $domainArray[0];
} else {
$pubName = '';
}
$pubName = str_replace('.', '', $pubName);
}
if (!preg_match('/^[A-Za-z0-9 _\-\(\)]*$/', $pubName) || $pubName == '') {
// if domain not match, get loggedin username
$currentUser = wp_get_current_user();
$pubName = $currentUser->user_login;
}
$profileSetupUrl = 'https://www.addthis.com/settings/plugin-pubs'
. '?cms=wp&pubname='
. urlencode($pubName)
. '&wp_redirect='
. str_replace(
'.',
'%2E',
urlencode($cmsConnector->getSettingsPageUrl())
);
return $profileSetupUrl;
}
function _addthis_analytics_url() {
global $addThisConfigs;
$analyticsUrl = 'https://www.addthis.com/dashboard#analytics/' . $addThisConfigs->getProfileId();
return $analyticsUrl;
}
function _addthis_tools_url() {
global $addThisConfigs;
$addthis_options = $addThisConfigs->getConfigs();
$toolsUrl = 'https://www.addthis.com/dashboard#gallery/pub/'. $addThisConfigs->getProfileId();
return $toolsUrl;
}
function _addthis_profile_id_card($credential_validation_status = false) {
global $addThisConfigs;
$addthis_options = $addThisConfigs->getConfigs();
$fieldId = 'addthis_profile';
$noPubIdDescription = 'To begin tracking analytics on social shares from your site, use the button below to set up an AddThis account at addthis.com and create a profile for your site. This process will require an email address.';
$noPubIdButtonText = "AddThis profile setup";
$pubIdDescription = 'To see analytics on social shares from your site, use the button below. It will take you to Analytics on addthis.com.';
$pubIdButtonText = "Your analytics on addthis.com";
$fieldName = 'addthis_settings[addthis_profile]';
$securitySnippet = '';
if ($credential_validation_status == 1) {
$securitySnippet = '✔ Valid AddThis Profile ID ';
}
// because i can't figure out how to bring these two in line... :-(
if ($addthis_options['addthis_plugin_controls'] != "AddThis") {
$security = '';
} else {
$security = wp_nonce_field('update_pubid', 'pubid_nonce');
}
if ($addThisConfigs->getProfileId()) {
$description = $pubIdDescription;
$buttonUrl = _addthis_analytics_url();
$buttonText = $pubIdButtonText;
$alternatePath = '';
$target = 'target="_blank"';
} else {
$description = $noPubIdDescription;
$buttonUrl = _addthis_profile_setup_url();
$buttonText = $noPubIdButtonText;
$alternatePath = 'Alternately, you can input your profile id manually below.
';
$target = '';
}
$html = '
AddThis Analytics
' . $description . '
' . $alternatePath . '
AddThis Profile ID
';
return $html;
}
function _addthis_mode_card() {
global $addThisConfigs;
$addthis_options = $addThisConfigs->getConfigs();
$wordPressChecked = '';
$addThisChecked = '';
$fieldName = 'addthis_settings[addthis_plugin_controls]';
$fieldId = 'addthis_plugin_controls';
$checked = 'checked="checked"';
if ($addthis_options['addthis_plugin_controls'] != 'AddThis') {
$wordPressChecked = $checked;
$tbody = ' ';
} else {
$addThisChecked = $checked;
$tbody = '
Sharing buttons above content
Has this Feature
Has this Feature
Sharing buttons below content
Has this Feature
Has this Feature
Sharing sidebar
Has this Feature
Has this Feature
Mobile sharing toolbar
Has this Feature
Has this Feature
Mobile toolbar
Does not have this feature
Has this Feature
Newsletter sharing buttons
Does not have this feature
Has this Feature
Follow header
Does not have this feature
Has this Feature
Horizontal follow buttons
Does not have this feature
Has this Feature
Vertical follow buttons
Does not have this feature
Has this Feature
What\'s next
Does not have this feature
Has this Feature
Recommended content footer
Does not have this feature
Has this Feature
Horizontal recommended content
Does not have this feature
Has this Feature
Vertical recommended content
Does not have this feature
Has this Feature
Access to additional Pro tools for upgraded accounts
Does not have this feature
Has this Feature
';
}
$debugHtml = '';
if (isset($_GET['debug']) || !empty($addthis_options["addthis_environment"])) {
$debugHtml = '
Environment (test/dev/local)
';
}
$html = '
I want to control my plugin from...
Regardless of your choice, analytics for shares of your site will be available to you on the AddThis website after you set up your AddThis profile ID.
To see your choice reflected on these screens, save your changes.
' . $debugHtml . '
';
return $html;
}
function _addthis_tracking_card() {
global $addThisConfigs;
$options = $addThisConfigs->getConfigs();
$checkedString = 'checked="checked"';
$clickbacksChecked = "";
$addressBarChecked = "";
$bitlyChecked = "";
if (!empty($options['addthis_append_data'])) {
$clickbacksChecked = $checkedString;
}
if (!empty($options['addthis_addressbar'])) {
$addressBarChecked = $checkedString;
}
if (!empty($options['addthis_bitly'])) {
$bitlyChecked = $checkedString;
}
$html = '
';
return $html;
}
function _addthis_display_options_card() {
global $addThisConfigs;
$options = $addThisConfigs->getConfigs();
$checkedString = 'checked="checked"';
$asyncChecked = "";
$perPostEnableChecked = "";
$a508Checked = "";
if (!empty($options['addthis_asynchronous_loading'])) {
$asyncChecked = $checkedString;
}
if (!empty($options['addthis_per_post_enabled'])) {
$perPostEnableChecked = $checkedString;
}
if (!empty($options['addthis_508'])) {
$a508Checked = $checkedString;
}
$html = '
';
return $html;
}
function _addthis_additional_options_card() {
global $addthis_languages;
global $addThisConfigs;
$options = $addThisConfigs->getConfigs();
$curlng = $options['addthis_language'];
$languageDropdown = '';
foreach ($addthis_languages as $lng=>$name)
{
$languageDropdown .= '
'.$name.'
'."\n";
}
$html = '
Additional Options
For more details on the following options, see our customization documentation .
Important: AddThis optimizes displayed services based on popularity and language, and personalizes the list for
each user. You may decrease sharing by overriding these features.
' . translate("Language", 'addthis_trans_domain') . '
' . $languageDropdown . '
Global Advanced API Configuration
ex:- { "services_exclude": "print" }
' . $options['addthis_config_json'] . '
Invalid JSON format
' . translate("addthis_share values (json format)", 'addthis_trans_domain') . '
ex:- { "url" : "http://www.yourdomain.com", "title" : "Custom Title" }
' . $options['addthis_share_json'] . '
Invalid JSON format
';
if ($options['addthis_plugin_controls'] != 'AddThis') {
$html .= '
' . translate("addthis.layers() initial paramater (json format)", 'addthis_trans_domain') . '
ex:- { "share": { "services": "facebook,twitter,google_plusone_share,pinterest_share,print,more" } }
' . $options['addthis_layers_json'] . '
Invalid JSON format
';
}
$html .= '
';
return $html;
}
function _addthis_rate_us_card() {
global $addThisConfigs;
$options = $addThisConfigs->getConfigs();
$html = '
Did you find this plugin useful?
Let us know how we can improve our plugin through our support forum or by emailing help@addthis.com .
How about rating us?
Thank you!
';
return $html;
}
function _addthis_is_csr_form() {
global $addThisConfigs;
if ( isset($_GET['complete'], $_GET['pubid'])
&& $_GET['complete'] == 'true'
&& $_GET['pubid'] != $addThisConfigs->getProfileId()
) {
return true;
}
return false;
}
function _addthis_settings_buttons($includePreview = true) {
$html = '';
if (_addthis_is_csr_form()) {
return $html;
}
if($includePreview) {
$stylesheet = get_option('stylesheet');
$template = get_option('template');
$previewLink = esc_url(get_option('home') . '/');
if (is_ssl()) {
$previewLink = str_replace('http://', 'https://', $previewLink);
}
$queryArgs = array(
'addthis_preview' => 1,
'template' => $template,
'stylesheet' => $stylesheet,
'preview_iframe' => true,
'TB_iframe' => 'true'
);
$previewLink = htmlspecialchars(add_query_arg($queryArgs, $previewLink));
$previewHtml = '
Preview
';
$html .= $previewHtml;
}
$saveHtml = '
';
$html .= $saveHtml;
return $html;
}
/**
* Get HTML for new users with confirmation
*
* @return string
*/
function addthis_profile_id_csr_confirmation()
{
global $cmsConnector;
global $addThisConfigs;
if (isset($_GET['pubid'])) {
$pubId = $_GET['pubid'];
} else {
$pubId = $addThisConfigs->getProfileId();
}
$submitButtonValue = "Confirm and Save Changes";
$fieldName = 'addthis_settings[addthis_profile]';
$html = '';
if (isset($_GET['advanced_settings'])) {
$html .= '
Here you can manually set your AddThis Profile ID - you can get this from your
Profile Settings
';
} else {
$html .= '
You\'re almost done!
It\'s time to connect your AddThis account with Wordpress.
';
}
$html .= '
';
return $html;
}