本文整理汇总了PHP中Sharing_Service类的典型用法代码示例。如果您正苦于以下问题:PHP Sharing_Service类的具体用法?PHP Sharing_Service怎么用?PHP Sharing_Service使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了Sharing_Service类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: output
public function output()
{
global $post;
if (!function_exists('sharing_display')) {
return;
}
$buttons = sharing_display('');
if ('' == $buttons) {
return;
}
$sharer = new Sharing_Service();
$global = $sharer->get_global_options();
$sharing = '';
$sharing .= sprintf('<a href="#share-%d" class="popup-trigger"><i class="ion-share"></i> %s</a>', $post->ID, __('Share', 'listify'));
$sharing .= sprintf('<div class="popup share-popup" id="share-%1$d">
<h3 class="popup-title">%2$s</h3>
%3$s
</div>', $post->ID, $global['sharing_label'], $buttons);
echo $sharing;
}
示例2: __construct
public function __construct($id, $total)
{
$services = new Sharing_Service();
$this->id = esc_html($id);
$this->service = $services->get_service($id);
$this->total = (int) $total;
$this->name = $this->service->get_name();
}
示例3: get_default_sharing_status
function get_default_sharing_status()
{
$default_sharing_status = false;
if (class_exists('Sharing_Service')) {
$ss = new Sharing_Service();
$blog_services = $ss->get_blog_services();
$default_sharing_status = !empty($blog_services['visible']);
}
return (bool) $default_sharing_status;
}
示例4: update_settings
//.........这里部分代码省略.........
// settings are stored as on|off
$coerce_value = $value ? 'on' : 'off';
if (update_option($key, $coerce_value)) {
$updated[$key] = $value;
}
break;
case 'wga':
if (!isset($value['code']) || !preg_match('/^$|^UA-[\\d-]+$/i', $value['code'])) {
return new WP_Error('invalid_code', 'Invalid UA ID');
}
$wga = get_option('wga', array());
$wga['code'] = $value['code'];
// maintain compatibility with wp-google-analytics
if (update_option('wga', $wga)) {
$updated[$key] = $value;
}
$enabled_or_disabled = $wga['code'] ? 'enabled' : 'disabled';
do_action('jetpack_bump_stats_extras', 'google-analytics', $enabled_or_disabled);
$business_plugins = WPCOM_Business_Plugins::instance();
$business_plugins->activate_plugin('wp-google-analytics');
break;
case 'jetpack_comment_likes_enabled':
// settings are stored as 1|0
$coerce_value = (int) $value;
if (update_option($key, $coerce_value)) {
$updated[$key] = $value;
}
break;
// Sharing options
// Sharing options
case 'sharing_button_style':
case 'sharing_show':
case 'sharing_open_links':
$sharing_options[preg_replace('/^sharing_/', '', $key)] = $value;
break;
case 'sharing_label':
$sharing_options[$key] = $value;
break;
// Keyring token option
// Keyring token option
case 'eventbrite_api_token':
// These options can only be updated for sites hosted on WordPress.com
if (defined('IS_WPCOM') && IS_WPCOM) {
if (empty($value) || WPCOM_JSON_API::is_falsy($value)) {
if (delete_option($key)) {
$updated[$key] = null;
}
} else {
if (update_option($key, $value)) {
$updated[$key] = (int) $value;
}
}
}
break;
// no worries, we've already whitelisted and casted arguments above
// no worries, we've already whitelisted and casted arguments above
default:
if (update_option($key, $value)) {
$updated[$key] = $value;
}
}
}
if (count($jetpack_relatedposts_options)) {
// track new jetpack_relatedposts options against old
$old_relatedposts_options = Jetpack_Options::get_option('relatedposts');
if (Jetpack_Options::update_option('relatedposts', $jetpack_relatedposts_options)) {
foreach ($jetpack_relatedposts_options as $key => $value) {
if ($value !== $old_relatedposts_options[$key]) {
$updated['jetpack_relatedposts_' . $key] = $value;
}
}
}
}
if (!empty($sharing_options) && class_exists('Sharing_Service')) {
$ss = new Sharing_Service();
// Merge current values with updated, since Sharing_Service expects
// all values to be included when updating
$current_sharing_options = $ss->get_global_options();
foreach ($current_sharing_options as $key => $val) {
if (!isset($sharing_options[$key])) {
$sharing_options[$key] = $val;
}
}
$updated_social_options = $ss->set_global_options($sharing_options);
if (isset($input['sharing_button_style'])) {
$updated['sharing_button_style'] = (string) $updated_social_options['button_style'];
}
if (isset($input['sharing_label'])) {
// Sharing_Service won't report label as updated if set to default
$updated['sharing_label'] = (string) $sharing_options['sharing_label'];
}
if (isset($input['sharing_show'])) {
$updated['sharing_show'] = (array) $updated_social_options['show'];
}
if (isset($input['sharing_open_links'])) {
$updated['sharing_open_links'] = (string) $updated_social_options['open_links'];
}
}
return array('updated' => $updated);
}
开发者ID:annbransom,项目名称:techishowl_prod_backup,代码行数:101,代码来源:class.wpcom-json-api-site-settings-endpoint.php
示例5: management_page
public function management_page()
{
$sharer = new Sharing_Service();
$enabled = $sharer->get_blog_services();
$global = $sharer->get_global_options();
$shows = array_values(get_post_types(array('public' => true)));
array_unshift($shows, 'index');
if (false == function_exists('mb_stripos')) {
echo '<div id="message" class="updated fade"><h3>' . __('Warning! Multibyte support missing!', 'jetpack') . '</h3>';
echo "<p>" . sprintf(__('This plugin will work without it, but multibyte support is used <a href="%s">if available</a>. You may see minor problems with Tweets and other sharing services.', 'jetpack'), "http://www.php.net/manual/en/mbstring.installation.php") . '</p></div>';
}
if (isset($_GET['update']) && $_GET['update'] == 'saved') {
echo '<div class="updated"><p>' . __('Settings have been saved', 'jetpack') . '</p></div>';
}
?>
<div class="wrap">
<div class="icon32" id="icon-options-general"><br /></div>
<h2><?php
_e('Sharing Settings', 'jetpack');
?>
</h2>
<div id="services-config">
<table id="available-services">
<tr>
<td class="description">
<h3><?php
_e('Available Services', 'jetpack');
?>
</h3>
<p><?php
_e("Drag and drop the services you'd like to enable into the box below.", 'jetpack');
?>
</p>
<p><a href="#TB_inline?height=395&width=600&inlineId=new-service" title="<?php
echo esc_attr(__('Add a new service', 'jetpack'));
?>
" class="thickbox"><?php
_e('Add a new service', 'jetpack');
?>
</a></p>
</td>
<td class="services">
<ul class="services-available" style="height: 100px;">
<?php
foreach ($sharer->get_all_services_blog() as $id => $service) {
?>
<?php
if (!isset($enabled['all'][$id])) {
$this->output_service($id, $service);
}
?>
<?php
}
?>
</ul>
<br class="clearing" />
</td>
</tr>
</table>
<table id="enabled-services">
<tr>
<td class="description">
<h3>
<?php
_e('Enabled Services', 'jetpack');
?>
<img src="<?php
echo admin_url('images/loading.gif');
?>
" width="16" height="16" alt="loading" style="vertical-align: middle; display: none" />
</h3>
<p><?php
_e('Services dragged here will appear individually.', 'jetpack');
?>
</p>
</td>
<td class="services" id="share-drop-target">
<h2 id="drag-instructions" <?php
if (count($enabled['visible']) > 0) {
echo ' style="display: none"';
}
?>
><?php
_e('Drag and drop available services here', 'jetpack');
?>
</h2>
<ul class="services-enabled">
<?php
foreach ($enabled['visible'] as $id => $service) {
?>
<?php
$this->output_service($id, $service, true);
?>
<?php
}
?>
//.........这里部分代码省略.........
示例6: management_page
public function management_page()
{
$sharer = new Sharing_Service();
$enabled = $sharer->get_blog_services();
$global = $sharer->get_global_options();
$shows = array_values(get_post_types(array('public' => true)));
array_unshift($shows, 'index');
if (false == function_exists('mb_stripos')) {
echo '<div id="message" class="updated fade"><h3>' . __('Warning! Multibyte support missing!', 'jetpack') . '</h3>';
echo "<p>" . sprintf(__('This plugin will work without it, but multibyte support is used <a href="%s">if available</a>. You may see minor problems with Tweets and other sharing services.', 'jetpack'), "http://www.php.net/manual/en/mbstring.installation.php") . '</p></div>';
}
if (isset($_GET['update']) && $_GET['update'] == 'saved') {
echo '<div class="updated"><p>' . __('Settings have been saved', 'jetpack') . '</p></div>';
}
if (!isset($global['sharing_label'])) {
$global['sharing_label'] = __('Share this:', 'jetpack');
}
?>
<div class="wrap">
<div class="icon32" id="icon-options-general"><br /></div>
<h2><?php
_e('Sharing Settings', 'jetpack');
?>
</h2>
<?php
/**
* Fires at the top of the admin sharing settings screen.
*
* @since 1.6.0
*/
do_action('pre_admin_screen_sharing');
?>
<?php
if (current_user_can('manage_options')) {
?>
<div class="share_manage_options">
<h3><?php
_e('Sharing Buttons', 'jetpack');
?>
</h3>
<p><?php
_e('Add sharing buttons to your blog and allow your visitors to share posts with their friends.', 'jetpack');
?>
</p>
<div id="services-config">
<table id="available-services">
<tr>
<td class="description">
<h3><?php
_e('Available Services', 'jetpack');
?>
</h3>
<p><?php
_e("Drag and drop the services you'd like to enable into the box below.", 'jetpack');
?>
</p>
<p><a href="#TB_inline?height=395&width=600&inlineId=new-service" class="thickbox" id="add-a-new-service"><?php
_e('Add a new service', 'jetpack');
?>
</a></p>
</td>
<td class="services">
<ul class="services-available" style="height: 100px;">
<?php
foreach ($sharer->get_all_services_blog() as $id => $service) {
?>
<?php
if (!isset($enabled['all'][$id])) {
$this->output_service($id, $service);
}
?>
<?php
}
?>
</ul>
<?php
if (-1 == get_option('blog_public')) {
echo '<p><strong>' . __('Please note that your services have been restricted because your site is private.', 'jetpack') . '</strong></p>';
}
?>
<br class="clearing" />
</td>
</tr>
</table>
<table id="enabled-services">
<tr>
<td class="description">
<h3>
<?php
_e('Enabled Services', 'jetpack');
?>
<img src="<?php
echo admin_url('images/loading.gif');
?>
//.........这里部分代码省略.........
示例7: prepare_options_for_response
/**
* Remove 'validate_callback' item from options available for module.
* Fetch current option value and add to array of module options.
* Prepare values of module options that need special handling, like those saved in wpcom.
*
* @since 4.3.0
*
* @param string $module Module slug.
* @return array
*/
public static function prepare_options_for_response($module = '')
{
$options = self::get_module_available_options($module);
if (!is_array($options) || empty($options)) {
return $options;
}
foreach ($options as $key => $value) {
if (isset($options[$key]['validate_callback'])) {
unset($options[$key]['validate_callback']);
}
$default_value = isset($options[$key]['default']) ? $options[$key]['default'] : '';
$current_value = get_option($key, $default_value);
$options[$key]['current_value'] = self::cast_value($current_value, $options[$key]);
}
// Some modules need special treatment.
switch ($module) {
case 'monitor':
// Status of user notifications
$options['monitor_receive_notifications']['current_value'] = self::cast_value(self::get_remote_value('monitor', 'monitor_receive_notifications'), $options['monitor_receive_notifications']);
break;
case 'post-by-email':
// Email address
$options['post_by_email_address']['current_value'] = self::cast_value(self::get_remote_value('post-by-email', 'post_by_email_address'), $options['post_by_email_address']);
break;
case 'protect':
// Protect
$options['jetpack_protect_key']['current_value'] = get_site_option('jetpack_protect_key', false);
if (!function_exists('jetpack_protect_format_whitelist')) {
@(include JETPACK__PLUGIN_DIR . 'modules/protect/shared-functions.php');
}
$options['jetpack_protect_global_whitelist']['current_value'] = jetpack_protect_format_whitelist();
break;
case 'related-posts':
// It's local, but it must be broken apart since it's saved as an array.
$options = self::split_options($options, Jetpack_Options::get_option('relatedposts'));
break;
case 'verification-tools':
// It's local, but it must be broken apart since it's saved as an array.
$options = self::split_options($options, get_option('verification_services_codes'));
break;
case 'sharedaddy':
// It's local, but it must be broken apart since it's saved as an array.
if (!class_exists('Sharing_Service') && !@(include JETPACK__PLUGIN_DIR . 'modules/sharedaddy/sharing-service.php')) {
break;
}
$sharer = new Sharing_Service();
$options = self::split_options($options, $sharer->get_global_options());
$options['sharing_services']['current_value'] = $sharer->get_blog_services();
break;
case 'site-icon':
// Return site icon ID and URL to make it more complete.
$options['site_icon_id']['current_value'] = Jetpack_Options::get_option('site_icon_id');
if (!function_exists('jetpack_site_icon_url')) {
@(include JETPACK__PLUGIN_DIR . 'modules/site-icon/site-icon-functions.php');
}
$options['site_icon_url']['current_value'] = jetpack_site_icon_url();
break;
case 'after-the-deadline':
if (!function_exists('AtD_get_options')) {
@(include JETPACK__PLUGIN_DIR . 'modules/after-the-deadline.php');
}
$atd_options = array_merge(AtD_get_options(get_current_user_id(), 'AtD_options'), AtD_get_options(get_current_user_id(), 'AtD_check_when'));
unset($atd_options['name']);
foreach ($atd_options as $key => $value) {
$options[$key]['current_value'] = self::cast_value($value, $options[$key]);
}
$atd_options = AtD_get_options(get_current_user_id(), 'AtD_guess_lang');
$options['guess_lang']['current_value'] = self::cast_value(isset($atd_options['true']), $options['guess_lang']);
$options['ignored_phrases']['current_value'] = AtD_get_setting(get_current_user_id(), 'AtD_ignored_phrases');
unset($options['unignore_phrase']);
break;
case 'minileven':
$options['wp_mobile_excerpt']['current_value'] = 1 === intval($options['wp_mobile_excerpt']['current_value']) ? 'enabled' : 'disabled';
$options['wp_mobile_featured_images']['current_value'] = 1 === intval($options['wp_mobile_featured_images']['current_value']) ? 'enabled' : 'disabled';
break;
case 'stats':
// It's local, but it must be broken apart since it's saved as an array.
if (!function_exists('stats_get_options')) {
@(include JETPACK__PLUGIN_DIR . 'modules/stats.php');
}
$options = self::split_options($options, stats_get_options());
break;
}
return $options;
}
示例8: build_current_site_response
//.........这里部分代码省略.........
$response[$key] = $total_wpcom_subs;
} else {
$response[$key] = 0;
// magic
}
break;
case 'is_following':
$response[$key] = (bool) $this->api->is_following($blog_id);
break;
case 'options':
// Figure out if the blog supports VideoPress, have to do some extra checking for JP blogs
$has_videopress = false;
if (get_option('video_upgrade') == '1') {
$has_videopress = true;
} else {
if (class_exists('Jetpack_Options')) {
$videopress = Jetpack_Options::get_option('videopress', array());
if (isset($videopress['blog_id']) && $videopress['blog_id'] > 0) {
$has_videopress = true;
}
}
}
// deprecated - see separate endpoint. get a list of supported post formats
$all_formats = get_post_format_strings();
$supported = get_theme_support('post-formats');
$supported_formats = array();
if (isset($supported[0])) {
foreach ($supported[0] as $format) {
$supported_formats[$format] = $all_formats[$format];
}
}
// determine if sharing buttons should be visible by default
$default_sharing_status = false;
if (class_exists('Sharing_Service')) {
$ss = new Sharing_Service();
$blog_services = $ss->get_blog_services();
$default_sharing_status = !empty($blog_services['visible']);
}
$is_mapped_domain = false;
if (function_exists('get_primary_redirect')) {
$primary_redirect = strtolower(get_primary_redirect());
if (false === strpos($primary_redirect, '.wordpress.com')) {
$is_mapped_domain = true;
}
}
$is_redirect = false;
if (function_exists('get_primary_domain_mapping_record')) {
if (get_primary_domain_mapping_record()->type == 1) {
$is_redirect = true;
}
}
if (function_exists('get_mime_types')) {
$allowed_file_types = get_mime_types();
} else {
// http://codex.wordpress.org/Uploading_Files
$mime_types = get_allowed_mime_types();
foreach ($mime_types as $type => $mime_type) {
$extras = explode('|', $type);
foreach ($extras as $extra) {
$allowed_file_types[] = $extra;
}
}
}
if (function_exists('get_blog_details')) {
$blog_details = get_blog_details();
if (!empty($blog_details->registered)) {
示例9: build_current_site_response
//.........这里部分代码省略.........
$response[$key] = array('img' => (string) remove_query_arg('s', blavatar_url($domain, 'img')), 'ico' => (string) remove_query_arg('s', blavatar_url($domain, 'ico')));
}
} elseif (function_exists('jetpack_site_icon_url') && function_exists('jetpack_photon_url')) {
$response[$key] = array('img' => (string) jetpack_photon_url(jetpack_site_icon_url(get_current_blog_id(), 80), array('w' => 80), 'https'), 'ico' => (string) jetpack_photon_url(jetpack_site_icon_url(get_current_blog_id(), 16), array('w' => 16), 'https'));
}
break;
case 'logo':
// Set an empty response array.
$response[$key] = array('id' => (int) 0, 'sizes' => array(), 'url' => '');
// Get current site logo values.
$logo = get_option('site_logo');
// Update the response array if there's a site logo currenty active.
if ($logo && 0 != $logo['id']) {
$response[$key]['id'] = $logo['id'];
$response[$key]['url'] = $logo['url'];
foreach ($logo['sizes'] as $size => $properties) {
$response[$key]['sizes'][$size] = $properties;
}
}
break;
case 'subscribers_count':
if (function_exists('wpcom_subs_total_wpcom_subscribers')) {
$total_wpcom_subs = wpcom_subs_total_wpcom_subscribers(array('blog_id' => $blog_id));
$response[$key] = $total_wpcom_subs;
} else {
$response[$key] = 0;
// magic
}
break;
case 'is_following':
$response[$key] = (bool) $this->api->is_following($blog_id);
break;
case 'options':
// Figure out if the blog supports VideoPress, have to do some extra checking for JP blogs
$has_videopress = false;
if (get_option('video_upgrade') == '1') {
$has_videopress = true;
} else {
if (class_exists('Jetpack_Options')) {
$videopress = Jetpack_Options::get_option('videopress', array());
if ($videopress['blog_id'] > 0) {
$has_videopress = true;
}
}
}
// deprecated - see separate endpoint. get a list of supported post formats
$all_formats = get_post_format_strings();
$supported = get_theme_support('post-formats');
$supported_formats = array();
if (isset($supported[0])) {
foreach ($supported[0] as $format) {
$supported_formats[$format] = $all_formats[$format];
}
}
// determine if sharing buttons should be visible by default
$default_sharing_status = false;
if (class_exists('Sharing_Service')) {
$ss = new Sharing_Service();
$blog_services = $ss->get_blog_services();
$default_sharing_status = !empty($blog_services['visible']);
}
$is_mapped_domain = false;
if (function_exists('get_primary_redirect')) {
$primary_redirect = strtolower(get_primary_redirect());
if (false === strpos($primary_redirect, '.wordpress.com')) {
$is_mapped_domain = true;
}
}
if (function_exists('get_mime_types')) {
$allowed_file_types = get_mime_types();
} else {
// http://codex.wordpress.org/Uploading_Files
$mime_types = get_allowed_mime_types();
foreach ($mime_types as $type => $mime_type) {
$extras = explode('|', $type);
foreach ($extras as $extra) {
$allowed_file_types[] = $extra;
}
}
}
$response[$key] = array('timezone' => (string) get_option('timezone_string'), 'gmt_offset' => (double) get_option('gmt_offset'), 'videopress_enabled' => $has_videopress, 'login_url' => wp_login_url(), 'admin_url' => get_admin_url(), 'is_mapped_domain' => $is_mapped_domain, 'unmapped_url' => get_site_url($blog_id), 'featured_images_enabled' => current_theme_supports('post-thumbnails'), 'header_image' => get_theme_mod('header_image_data'), 'background_color' => get_theme_mod('background_color'), 'image_default_link_type' => get_option('image_default_link_type'), 'image_thumbnail_width' => (int) get_option('thumbnail_size_w'), 'image_thumbnail_height' => (int) get_option('thumbnail_size_h'), 'image_thumbnail_crop' => get_option('thumbnail_crop'), 'image_medium_width' => (int) get_option('medium_size_w'), 'image_medium_height' => (int) get_option('medium_size_h'), 'image_large_width' => (int) get_option('large_size_w'), 'image_large_height' => (int) get_option('large_size_h'), 'post_formats' => $supported_formats, 'allowed_file_types' => $allowed_file_types, 'default_likes_enabled' => (bool) apply_filters('wpl_is_enabled_sitewide', !get_option('disabled_likes')), 'default_sharing_status' => (bool) $default_sharing_status, 'default_comment_status' => 'closed' == get_option('default_comment_status') ? false : true, 'default_ping_status' => 'closed' == get_option('default_ping_status') ? false : true, 'software_version' => $wp_version);
if (!current_user_can('edit_posts')) {
unset($response[$key]);
}
break;
case 'meta':
$xmlrpc_scheme = apply_filters('wpcom_json_api_xmlrpc_scheme', parse_url(get_option('home'), PHP_URL_SCHEME));
$xmlrpc_url = site_url('xmlrpc.php', $xmlrpc_scheme);
$response[$key] = (object) array('links' => (object) array('self' => (string) $this->get_site_link($blog_id), 'help' => (string) $this->get_site_link($blog_id, 'help'), 'posts' => (string) $this->get_site_link($blog_id, 'posts/'), 'comments' => (string) $this->get_site_link($blog_id, 'comments/'), 'xmlrpc' => (string) $xmlrpc_url));
break;
}
}
if ($is_jetpack) {
add_filter('option_stylesheet', 'fix_theme_location');
if ('https' !== parse_url($site_url, PHP_URL_SCHEME)) {
remove_filter('set_url_scheme', array($this, 'force_http'), 10, 3);
}
}
return $response;
}
示例10: build_current_site_response
//.........这里部分代码省略.........
break;
case 'jetpack':
$response[$key] = false;
// magic
break;
case 'is_private':
if (defined('IS_WPCOM') && IS_WPCOM) {
$public_setting = get_option('blog_public');
if (-1 == $public_setting) {
$response[$key] = true;
} else {
$response[$key] = false;
}
} else {
$response[$key] = false;
// magic
}
break;
case 'visible':
if ($is_user_logged_in) {
$is_visible = true;
if (isset($visible[$blog_id])) {
$is_visible = $visible[$blog_id];
}
// null and true are visible
$response[$key] = $is_visible;
}
break;
case 'post_count':
if ($is_user_logged_in) {
$response[$key] = (int) $wpdb->get_var("SELECT COUNT(*) FROM {$wpdb->posts} WHERE post_status = 'publish'");
}
break;
case 'lang':
if ($is_user_logged_in) {
$response[$key] = (string) get_bloginfo('language');
}
break;
case 'icon':
if (function_exists('blavatar_domain') && function_exists('blavatar_exists') && function_exists('blavatar_url')) {
$domain = blavatar_domain(home_url());
if (blavatar_exists($domain)) {
$response[$key] = array('img' => (string) remove_query_arg('s', blavatar_url($domain, 'img')), 'ico' => (string) remove_query_arg('s', blavatar_url($domain, 'ico')));
}
}
break;
case 'subscribers_count':
if (function_exists('wpcom_subs_total_wpcom_subscribers')) {
$total_wpcom_subs = wpcom_subs_total_wpcom_subscribers(array('blog_id' => $blog_id));
$response[$key] = $total_wpcom_subs;
} else {
$response[$key] = 0;
// magic
}
break;
case 'is_following':
$response[$key] = (bool) $this->api->is_following($blog_id);
break;
case 'options':
// Figure out if the blog supports VideoPress, have to do some extra checking for JP blogs
$has_videopress = false;
if (get_option('video_upgrade') == '1') {
$has_videopress = true;
} else {
if (class_exists('Jetpack_Options')) {
$videopress = Jetpack_Options::get_option('videopress', array());
if ($videopress['blog_id'] > 0) {
$has_videopress = true;
}
}
}
// Get a list of supported post formats
$all_formats = get_post_format_strings();
$supported = get_theme_support('post-formats');
$supported_formats = array();
if (isset($supported[0])) {
foreach ($supported[0] as $format) {
$supported_formats[$format] = $all_formats[$format];
}
}
// determine if sharing buttons should be visible by default
$default_sharing_status = false;
if (class_exists('Sharing_Service')) {
$ss = new Sharing_Service();
$blog_services = $ss->get_blog_services();
$default_sharing_status = !empty($blog_services['visible']);
}
$response[$key] = array('timezone' => (string) get_option('timezone_string'), 'gmt_offset' => (double) get_option('gmt_offset'), 'videopress_enabled' => $has_videopress, 'login_url' => wp_login_url(), 'admin_url' => get_admin_url(), 'featured_images_enabled' => current_theme_supports('post-thumbnails'), 'header_image' => get_theme_mod('header_image_data'), 'image_default_link_type' => get_option('image_default_link_type'), 'image_thumbnail_width' => (int) get_option('thumbnail_size_w'), 'image_thumbnail_height' => (int) get_option('thumbnail_size_h'), 'image_thumbnail_crop' => get_option('thumbnail_crop'), 'image_medium_width' => (int) get_option('medium_size_w'), 'image_medium_height' => (int) get_option('medium_size_h'), 'image_large_width' => (int) get_option('large_size_w'), 'image_large_height' => (int) get_option('large_size_h'), 'post_formats' => $supported_formats, 'default_likes_enabled' => (bool) apply_filters('wpl_is_enabled_sitewide', !get_option('disabled_likes')), 'default_sharing_status' => (bool) $default_sharing_status, 'default_comment_status' => 'closed' == get_option('default_comment_status') ? false : true, 'default_ping_status' => 'closed' == get_option('default_ping_status') ? false : true, 'software_version' => $wp_version);
if (!current_user_can('publish_posts')) {
unset($response[$key]);
}
break;
case 'meta':
$xmlrpc_url = site_url('xmlrpc.php');
$response[$key] = (object) array('links' => (object) array('self' => (string) $this->get_site_link($blog_id), 'help' => (string) $this->get_site_link($blog_id, 'help'), 'posts' => (string) $this->get_site_link($blog_id, 'posts/'), 'comments' => (string) $this->get_site_link($blog_id, 'comments/'), 'xmlrpc' => (string) $xmlrpc_url));
break;
}
}
return $response;
}
示例11: callback
public function callback($path = '', $blog_id = 0, $button_id = 0)
{
// Validate request
$blog_id = $this->api->switch_to_blog_and_validate_user($this->api->get_blog_id($blog_id));
if (is_wp_error($blog_id)) {
return $blog_id;
}
if (!current_user_can('manage_options')) {
return new WP_Error('forbidden', 'You do not have the capability to manage sharing buttons for this site', 403);
} else {
if (!class_exists('Sharing_Service') || !class_exists('Sharing_Source') || method_exists('Jetpack', 'is_module_active') && !Jetpack::is_module_active('sharedaddy')) {
return new WP_Error('missing_jetpack_module', 'The Sharing module must be activated in order to use this endpoint', 400);
}
}
// Find existing button
$ss = new Sharing_Service();
$all_buttons = $ss->get_all_services_blog();
if (!array_key_exists($button_id, $all_buttons)) {
// Button doesn't exist
return new WP_Error('not_found', 'The specified sharing button was not found', 404);
}
// Verify button is custom
if (!is_a($all_buttons[$button_id], 'Share_Custom')) {
return new WP_error('invalid_request', 'Only custom sharing buttons can be deleted', 400);
}
$success = $ss->delete_service($button_id);
return array('ID' => $button_id, 'success' => $success);
}
开发者ID:moushegh,项目名称:blog-source-configs,代码行数:28,代码来源:class.wpcom-json-api-sharing-buttons-endpoint.php
示例12: update_data
//.........这里部分代码省略.........
$result = $protect->get_protect_key();
} else {
$result = false;
}
// If we got one of Protect keys, consider it done.
if (preg_match('/[a-z0-9]{40,}/i', $result)) {
$response[$option] = $result;
$updated = true;
}
break;
case 'jetpack_protect_global_whitelist':
$updated = jetpack_protect_save_whitelist(explode(PHP_EOL, str_replace(array(' ', ','), array('', "\n"), $value)));
if (is_wp_error($updated)) {
$error = $updated->get_error_message();
}
break;
case 'show_headline':
case 'show_thumbnails':
$grouped_options = $grouped_options_current = (array) Jetpack_Options::get_option('relatedposts');
$grouped_options[$option] = $value;
// If option value was the same, consider it done.
$updated = $grouped_options_current != $grouped_options ? Jetpack_Options::update_option('relatedposts', $grouped_options) : true;
break;
case 'google':
case 'bing':
case 'pinterest':
case 'yandex':
$grouped_options = $grouped_options_current = (array) get_option('verification_services_codes');
$grouped_options[$option] = $value;
// If option value was the same, consider it done.
$updated = $grouped_options_current != $grouped_options ? update_option('verification_services_codes', $grouped_options) : true;
break;
case 'sharing_services':
if (!class_exists('Sharing_Service') && !@(include JETPACK__PLUGIN_DIR . 'modules/sharedaddy/sharing-service.php')) {
break;
}
$sharer = new Sharing_Service();
// If option value was the same, consider it done.
$updated = $value != $sharer->get_blog_services() ? $sharer->set_blog_services($value['visible'], $value['hidden']) : true;
break;
case 'button_style':
case 'sharing_label':
case 'show':
if (!class_exists('Sharing_Service') && !@(include JETPACK__PLUGIN_DIR . 'modules/sharedaddy/sharing-service.php')) {
break;
}
$sharer = new Sharing_Service();
$grouped_options = $sharer->get_global_options();
$grouped_options[$option] = $value;
$updated = $sharer->set_global_options($grouped_options);
break;
case 'custom':
if (!class_exists('Sharing_Service') && !@(include JETPACK__PLUGIN_DIR . 'modules/sharedaddy/sharing-service.php')) {
break;
}
$sharer = new Sharing_Service();
$updated = $sharer->new_service(stripslashes($value['sharing_name']), stripslashes($value['sharing_url']), stripslashes($value['sharing_icon']));
// Return new custom service
$response[$option] = $updated;
break;
case 'sharing_delete_service':
if (!class_exists('Sharing_Service') && !@(include JETPACK__PLUGIN_DIR . 'modules/sharedaddy/sharing-service.php')) {
break;
}
$sharer = new Sharing_Service();
$updated = $sharer->delete_service($value);
示例13: render_option_keys
protected function render_option_keys(&$options_response_keys)
{
if (!current_user_can('edit_posts')) {
return;
}
global $wp_version;
$options = array();
$custom_front_page = 'page' === get_option('show_on_front');
foreach ($options_response_keys as $key) {
switch ($key) {
case 'timezone':
$options[$key] = (string) get_option('timezone_string');
break;
case 'gmt_offset':
$options[$key] = (double) get_option('gmt_offset');
break;
case 'videopress_enabled':
$options[$key] = $this->site->has_videopress();
break;
case 'upgraded_filetypes_enabled':
$options[$key] = $this->site->upgraded_filetypes_enabled();
break;
case 'login_url':
$options[$key] = wp_login_url();
break;
case 'admin_url':
$options[$key] = get_admin_url();
break;
case 'is_mapped_domain':
$options[$key] = $this->site->is_mapped_domain();
break;
case 'is_redirect':
$options[$key] = $this->site->is_redirect();
break;
case 'unmapped_url':
$options[$key] = get_site_url($this->site->blog_id);
break;
case 'featured_images_enabled':
$options[$key] = $this->site->featured_images_enabled();
break;
case 'theme_slug':
$options[$key] = get_option('stylesheet');
break;
case 'header_image':
$options[$key] = get_theme_mod('header_image_data');
break;
case 'background_color':
$options[$key] = get_theme_mod('background_color');
break;
case 'image_default_link_type':
$options[$key] = get_option('image_default_link_type');
break;
case 'image_thumbnail_width':
$options[$key] = (int) get_option('thumbnail_size_w');
break;
case 'image_thumbnail_height':
$options[$key] = (int) get_option('thumbnail_size_h');
break;
case 'image_thumbnail_crop':
$options[$key] = get_option('thumbnail_crop');
break;
case 'image_medium_width':
$options[$key] = (int) get_option('medium_size_w');
break;
case 'image_medium_height':
$options[$key] = (int) get_option('medium_size_h');
break;
case 'image_large_width':
$options[$key] = (int) get_option('large_size_w');
break;
case 'image_large_height':
$options[$key] = (int) get_option('large_size_h');
break;
case 'permalink_structure':
$options[$key] = get_option('permalink_structure');
break;
case 'post_formats':
$options[$key] = $this->site->get_post_formats();
break;
case 'default_post_format':
$options[$key] = get_option('default_post_format');
break;
case 'default_category':
$options[$key] = (int) get_option('default_category');
break;
case 'allowed_file_types':
$options[$key] = $this->site->allowed_file_types();
break;
case 'show_on_front':
$options[$key] = get_option('show_on_front');
break;
/** This filter is documented in modules/likes.php */
/** This filter is documented in modules/likes.php */
case 'default_likes_enabled':
$options[$key] = (bool) apply_filters('wpl_is_enabled_sitewide', !get_option('disabled_likes'));
break;
case 'default_sharing_status':
$default_sharing_status = false;
if (class_exists('Sharing_Service')) {
$ss = new Sharing_Service();
//.........这里部分代码省略.........
开发者ID:jordankoschei,项目名称:jordankoschei-dot-com,代码行数:101,代码来源:class.wpcom-json-api-get-site-endpoint.php
示例14: update_settings
//.........这里部分代码省略.........
break;
}
if ('jetpack_relatedposts_enabled' === $key && method_exists('Jetpack', 'is_module_active') && $this->jetpack_relatedposts_supported()) {
$before_action = Jetpack::is_module_active('related-posts');
if ($value) {
Jetpack::activate_module('related-posts', false, false);
} else {
Jetpack::deactivate_module('related-posts');
}
$after_action = Jetpack::is_module_active('related-posts');
if ($after_action == $before_action) {
break;
}
}
$just_the_key = substr($key, 21);
$jetpack_relatedposts_options[$just_the_key] = $value;
break;
case 'social_notifications_like':
case 'social_notifications_reblog':
case 'social_notifications_subscribe':
// settings are stored as on|off
$coerce_value = $value ? 'on' : 'off';
if (update_option($key, $coerce_value)) {
$updated[$key] = $value;
}
break;
case 'wga':
if (!isset($value['code']) || !preg_match('/^UA-[\\d-]+$/', $value['code'])) {
return new WP_Error('invalid_code', 'Invalid UA ID');
}
$wga = get_option('wga', array());
$wga['code'] = $value['code'];
// maintain compatibility with wp-google-analytics
if (update_option('wga', $wga)) {
$updated[$key] = $value;
}
break;
case 'jetpack_comment_likes_enabled':
// settings are stored as 1|0
$coerce_value = (int) $value;
if (update_option($key, $coerce_value)) {
$updated[$key] = $value;
}
break;
// Sharing options
// Sharing options
case 'sharing_button_style':
case 'sharing_show':
case 'sharing_open_links':
$sharing_options[preg_replace('/^sharing_/', '', $key)] = $value;
break;
case 'sharing_label':
$sharing_options[$key] = $value;
break;
// no worries, we've already whitelisted and casted arguments above
// no worries, we've already whitelisted and casted arguments above
default:
if (update_option($key, $value)) {
$updated[$key] = $value;
}
}
}
if (count($jetpack_relatedposts_options)) {
// track new jetpack_relatedposts options against old
$old_relatedposts_options = Jetpack_Options::get_option('relatedposts');
if (Jetpack_Options::update_option('relatedposts', $jetpack_relatedposts_options)) {
foreach ($jetpack_relatedposts_options as $key => $value) {
if ($value !== $old_relatedposts_options[$key]) {
$updated['jetpack_relatedposts_' . $key] = $value;
}
}
}
}
if (!empty($sharing_options) && class_exists('Sharing_Service')) {
$ss = new Sharing_Service();
// Merge current values with updated, since Sharing_Service expects
// all values to be included when updating
$current_sharing_options = $ss->get_global_options();
foreach ($current_sharing_options as $key => $val) {
if (!isset($sharing_options[$key])) {
$sharing_options[$key] = $val;
}
}
$updated_social_options = $ss->set_global_options($sharing_options);
if (isset($input['sharing_button_style'])) {
$updated['sharing_button_style'] = (string) $updated_social_options['button_style'];
}
if (isset($input['sharing_label'])) {
// Sharing_Service won't report label as updated if set to default
$updated['sharing_label'] = (string) $sharing_options['sharing_label'];
}
if (isset($input['sharing_show'])) {
$updated['sharing_show'] = (array) $updated_social_options['show'];
}
if (isset($input['sharing_open_links'])) {
$updated['sharing_open_links'] = (string) $updated_social_options['open_links'];
}
}
return array('updated' => $updated);
}
开发者ID:moushegh,项目名称:blog-source-configs,代码行数:101,代码来源:class.wpcom-json-api-site-settings-endpoint.php
示例15: sharing_display_extra
function sharing_display_extra($text = '')
{
global $post, $wp_current_filter;
if (is_preview()) {
return $text;
}
if (in_array('get_the_excerpt', (array) $wp_current_filter)) {
return $text;
}
if (is_attachment() && in_array('the_excerpt', (array) $wp_current_filter)) {
// Many themes run the_excerpt() conditionally on an attachment page, then run the_content().
// We only want to output the sharing buttons once. Let's stick with the_content().
return $text;
}
$sharer = new Sharing_Service();
$global = $sharer->get_global_options();
$show = false;
if (!is_feed()) {
if (is_singular() && in_array(get_post_type(), $global['show'])) {
$show = true;
} elseif (in_array('index', $global['show']) && (is_home() || is_archive() || is_search())) {
$show = true;
}
}
// Pass through a filter for final say so
$show = apply_filters('sharing_show', $show, $post);
// Disabled for this post?
$switched_status = get_post_meta($post->ID, 'sharing_disabled', false);
if (!empty($switched_status)) {
$show = false;
}
// Allow to be used on P2 ajax requests for latest posts.
if (defined('DOING_AJAX') && DOING_AJAX && isset($_REQUEST['action']) && 'get_latest_posts' == $_REQUEST['action']) {
$show = true;
}
$sharing_content = '';
if ($show) {
$enabled = $sharer->get_blog_services();
if (count($enabled['all']) > 0) {
global $post;
$dir = get_option('text_direction');
// Wrapper
$sharing_content .= '<div class="sharedaddy sd-sharing-enabled"><div class="robots-nocontent sd-block sd-social sd-social-' . $global['button_style'] . ' sd-sharing">';
if ($global['sharing_label'] != '') {
$sharing_content .= '<h3 class="sd-title">' . $global['sharing_label'] . '</h3>';
}
$sharing_content .= '<div class="sd-content"><ul>';
// Visible items
$visible = '';
foreach ($enabled['visible'] as $id => $service) {
// Individual HTML for sharing service
$visible .= '<li class="share-' . $service->get_class() . '">' . $service->get_display($post) . '</li>';
}
$parts = array();
$parts[] = $visible;
if (count($enabled['hidden']) > 0) {
if (count($enabled['visible']) > 0) {
$expand = __('More', 'jetpack');
} else {
$expand = __('Share', 'jetpack');
}
$parts[] = '<li><a href="#" class="sharing-anchor sd-button share-more"><span>' . $expand . '</span></a></li>';
}
if ($dir == 'rtl') {
$parts = array_reverse($parts);
}
$sharing_content .= implode('', $parts);
$sharing_content .= '<li class="share-end"></li></ul>';
if (count($enabled['hidden']) > 0) {
$sharing_content .= '<div class="sharing-hidden"><div class="inner" style="display: none;';
if (count($enabled['hidden']) == 1) {
$sharing_content .= 'width:150px;';
}
$sharing_content .= '">';
if (count($enabled['hidden']) == 1) {
$sharing_content .= '<ul style="background-image:none;">';
} else {
$sharing_content .= '<ul>';
}
$count = 1;
foreach ($enabled['hidden'] as $id => $service) {
// Individual HTML for sharing service
$sharing_content .= '<li class="share-' . $service->get_class() . '">';
$sharing_content .= $service->get_display($post);
$sharing_content .= '</li>';
if ($count % 2 == 0) {
$sharing_content .= '<li class="share-end"></li>';
}
$count++;
}
// End of wrapper
$sharing_content .= '<li class="share-end"></li></ul></div></div>';
}
$sharing_content .= '<div class="sharing-clear"></div></div></div></div>';
// Register our JS
wp_register_script('sharing-js', WP_SHARING_PLUGIN_URL . 'sharing.js', array('jquery'), '20120131');
add_action('wp_footer', 'sharing_add_footer');
}
}
$options = get_option('jetpack_extras-options', array());
//.........这里部分代码省略.........