/** * Show the pending update notice on admin pages * */ public static function show_pending_update_notice(&$vars) { if (ShareaholicUtilities::is_admin_page() && ShareaholicUtilities::has_accepted_terms_of_service() && !db_table_exists('shareaholic_content_settings') && user_access('administer modules')) { $message = sprintf(t('Action required: You have pending updates required by Shareaholic. Please go to update.php for more information.')); $vars['page'] = self::header_message_html($message) . $vars['page']; } }
/** * Function to return relevant plugin debug info * * @return debug info in JSON */ public static function debug_info() { global $wpdb; if (ShareaholicUtilities::get_option('disable_debug_info') == "on") { exit; } if (ShareaholicUtilities::get_option('disable_internal_share_counts_api') == NULL || ShareaholicUtilities::get_option('disable_internal_share_counts_api') == "off") { $server_side_share_count_status = "on"; } else { $server_side_share_count_status = "off"; } if (ShareaholicUtilities::has_accepted_terms_of_service() == 1) { $tos_status = "accepted"; } else { $tos_status = "pending"; } if (function_exists('curl_version')) { $curl_version = curl_version(); } $info = array('plugin_version' => Shareaholic::VERSION, 'site_id' => ShareaholicUtilities::get_option('api_key'), 'domain' => get_bloginfo('url'), 'language' => get_bloginfo('language'), 'tos_status' => $tos_status, 'stats' => array('posts_total' => $wpdb->get_var("SELECT count(ID) FROM {$wpdb->posts} where post_type = 'post' AND post_status = 'publish'"), 'pages_total' => $wpdb->get_var("SELECT count(ID) FROM {$wpdb->posts} where post_type = 'page' AND post_status = 'publish'"), 'comments_total' => wp_count_comments()->approved, 'users_total' => $wpdb->get_var("SELECT count(ID) FROM {$wpdb->users}")), 'diagnostics' => array('theme' => get_option('template'), 'multisite' => is_multisite(), 'shareaholic_server_reachable' => ShareaholicUtilities::connectivity_check(), 'server_side_share_count_api_reachable' => ShareaholicUtilities::share_counts_api_connectivity_check(), 'php_version' => phpversion(), 'wp_version' => get_bloginfo('version'), 'curl' => array('status' => ShareaholicPublic::has_curl(), 'version' => $curl_version), 'plugins' => array('active' => get_option('active_plugins', array()), 'sitewide' => get_site_option('active_sitewide_plugins', array()))), 'app_locations' => array('share_buttons' => ShareaholicUtilities::get_option('share_buttons'), 'recommendations' => ShareaholicUtilities::get_option('recommendations')), 'advanced_settings' => array('server_side_share_count_api' => $server_side_share_count_status)); header('Content-Type: application/json'); echo json_encode($info); exit; }
/** * This function fires after the plugin has been activated. */ public function after_activation() { $this->terms_of_service(); ShareaholicUtilities::log_event("Activate"); // workaround: http://codex.wordpress.org/Function_Reference/register_activation_hook add_option('Activated_Plugin_Shareaholic', 'shareaholic'); if (ShareaholicUtilities::has_accepted_terms_of_service() && ShareaholicUtilities::get_option('api_key') != NULL) { ShareaholicUtilities::notify_content_manager_sitemap(); ShareaholicUtilities::notify_content_manager_singledomain(); } if (!ShareaholicUtilities::get_version()) { ShareaholicUtilities::log_event("Install_Fresh"); } // Activate the Shareaholic Cron Job for new users ShareaholicCron::activate(); }
/** * Outputs the actual html for the form */ private static function draw_admin_form() { $action = str_replace('%7E', '~', $_SERVER['REQUEST_URI']); $settings = ShareaholicUtilities::get_settings(); if (!ShareaholicUtilities::has_accepted_terms_of_service()) { ShareaholicUtilities::load_template('terms_of_service_modal', array('image_url' => SHAREAHOLIC_ASSET_DIR . 'img')); } ShareaholicUtilities::load_template('settings', array('shareaholic_url' => Shareaholic::URL, 'settings' => $settings, 'action' => $action, 'share_buttons' => isset($settings['share_buttons']) ? $settings['share_buttons'] : array(), 'recommendations' => isset($settings['recommendations']) ? $settings['recommendations'] : array(), 'directory' => dirname(plugin_basename(__FILE__)))); }
/** * Check if the installation has accepted ToS and we created an apikey * */ public static function has_tos_and_apikey() { return ShareaholicUtilities::has_accepted_terms_of_service() && ShareaholicUtilities::get_option('api_key'); }
</fieldset> <fieldset class="app"> <legend><h2><?php echo t('Your Shareaholic Site ID'); ?> </h2></legend> <?php if (ShareaholicUtilities::get_option('api_key')) { echo '<code>' . ShareaholicUtilities::get_option('api_key') . '</code>'; } else { echo t('Not set.'); } ?> </fieldset> <div class='clear'></div> <?php $form = drupal_get_form('shareaholic_reset_plugin_form'); print drupal_render($form); if (!ShareaholicUtilities::has_accepted_terms_of_service()) { ShareaholicAdmin::draw_tos_popup(); } print '</div>'; ?> </div> </div> <?php ShareaholicAdmin::show_footer(); ShareaholicAdmin::include_snapengage();