summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/jetpack/modules/sharedaddy/sharing.php')
-rw-r--r--plugins/jetpack/modules/sharedaddy/sharing.php313
1 files changed, 184 insertions, 129 deletions
diff --git a/plugins/jetpack/modules/sharedaddy/sharing.php b/plugins/jetpack/modules/sharedaddy/sharing.php
index 24a1e91f..7ddd2ac9 100644
--- a/plugins/jetpack/modules/sharedaddy/sharing.php
+++ b/plugins/jetpack/modules/sharedaddy/sharing.php
@@ -24,9 +24,18 @@ class Sharing_Admin {
public function sharing_head() {
wp_enqueue_script( 'sharing-js', WP_SHARING_PLUGIN_URL.'admin-sharing.js', array( 'jquery-ui-draggable', 'jquery-ui-droppable', 'jquery-ui-sortable', 'jquery-form' ), 2 );
- wp_enqueue_style( 'sharing-admin', WP_SHARING_PLUGIN_URL.'admin-sharing.css', false, JETPACK__VERSION );
- wp_enqueue_style( 'sharing', WP_SHARING_PLUGIN_URL.'sharing.css', false, JETPACK__VERSION );
- wp_enqueue_script( 'sharing-js-fe', WP_SHARING_PLUGIN_URL . 'sharing.js', array( ), 3 );
+
+ // @todo: Remove this opt-out filter in the future
+ if ( ( ! defined( 'IS_WPCOM' ) ) || ( ! IS_WPCOM ) || apply_filters( 'wpl_sharing_2014_1', true ) ) {
+ wp_enqueue_style( 'sharing-admin', WP_SHARING_PLUGIN_URL.'admin-sharing.css', false, JETPACK__VERSION );
+ wp_enqueue_style( 'sharing', WP_SHARING_PLUGIN_URL.'sharing.css', false, JETPACK__VERSION );
+ wp_enqueue_style( 'genericons' );
+ } else {
+ wp_enqueue_style( 'sharing-admin', WP_SHARING_PLUGIN_URL.'admin-sharing-legacy.css', false, JETPACK__VERSION );
+ wp_enqueue_style( 'sharing', WP_SHARING_PLUGIN_URL.'sharing-legacy.css', false, JETPACK__VERSION );
+ }
+
+ wp_enqueue_script( 'sharing-js-fe', WP_SHARING_PLUGIN_URL . 'sharing.js', array( ), 4 );
add_thickbox();
}
@@ -40,6 +49,11 @@ class Sharing_Admin {
if ( isset( $_POST['_wpnonce'] ) && wp_verify_nonce( $_POST['_wpnonce'], 'sharing-options' ) ) {
$sharer = new Sharing_Service();
$sharer->set_global_options( $_POST );
+ /**
+ * Fires when updating sharing settings.
+ *
+ * @since 1.1.0
+ */
do_action( 'sharing_admin_update' );
wp_safe_redirect( admin_url( 'options-general.php?page=sharing&update=saved' ) );
@@ -121,13 +135,13 @@ class Sharing_Admin {
}
echo '<li class="'.implode( ' ', $klasses ).'">';
- echo $service->display_preview();
+ $service->display_preview();
echo '</li>';
}
public function output_service( $id, $service, $show_dropdown = false ) {
?>
- <li class="service advanced share-<?php echo $service->get_class(); ?>" id="<?php echo $service->get_id(); ?>">
+ <li class="service advanced share-<?php echo $service->get_class(); ?>" id="<?php echo $service->get_id(); ?>" tabindex="0">
<span class="options-left"><?php echo esc_html( $service->get_name() ); ?></span>
<?php if ( 0 === strpos( $service->get_id(), 'custom-' ) || $service->has_advanced_options() ) : ?>
<span class="close"><a href="#" class="remove">&times;</a></span>
@@ -156,57 +170,68 @@ class Sharing_Admin {
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 do_action( 'pre_admin_screen_sharing' ) ?>
+ <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>
+ <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">
+ <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&amp;width=600&amp;inlineId=new-service" title="<?php echo esc_attr( __( 'Add a new service', 'jetpack' ) ); ?>" 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] ) )
+ <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&amp;width=600&amp;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 endforeach; ?>
- </ul>
+ <?php endforeach; ?>
+ </ul>
<?php
- if ( -1 == get_option( 'blog_public' ) )
+ 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>
+ ?>
+ <br class="clearing" />
+ </td>
</tr>
- </table>
+ </table>
- <table id="enabled-services">
- <tr>
- <td class="description">
+ <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>
+ </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 ) : ?>
@@ -217,14 +242,14 @@ class Sharing_Admin {
</ul>
</td>
<td id="hidden-drop-target" class="services">
- <p><?php _e( 'Services dragged here will be hidden behind a share button.', 'jetpack' ); ?></p>
+ <p><?php _e( 'Services dragged here will be hidden behind a share button.', 'jetpack' ); ?></p>
- <ul class="services-hidden">
+ <ul class="services-hidden">
<?php foreach ( $enabled['hidden'] as $id => $service ) : ?>
<?php $this->output_service( $id, $service, true ); ?>
<?php endforeach; ?>
<li class="end-fix"></li>
- </ul>
+ </ul>
</td>
</tr>
</table>
@@ -242,16 +267,16 @@ class Sharing_Admin {
<?php endif; ?>
<div class="sd-content">
<ul class="preview">
- <?php foreach ( $enabled['visible'] as $id => $service ) : ?>
+ <?php foreach ( $enabled['visible'] as $id => $service ) : ?>
<?php $this->output_preview( $service ); ?>
<?php endforeach; ?>
<?php if ( count( $enabled['hidden'] ) > 0 ) : ?>
- <li class="advanced"><a href="#" class="sharing-anchor sd-button share-more"><span><?php _e( 'More', 'jetpack' ); ?></span></a></li>
- <?php endif; ?>
- </ul>
+ <li class="advanced"><a href="#" class="sharing-anchor sd-button share-more"><span><?php _e( 'More', 'jetpack' ); ?></span></a></li>
+ <?php endif; ?>
+ </ul>
- <?php if ( count( $enabled['hidden'] ) > 0 ) : ?>
+ <?php if ( count( $enabled['hidden'] ) > 0 ) : ?>
<div class="sharing-hidden">
<div class="inner" style="display: none; <?php echo count( $enabled['hidden'] ) == 1 ? 'width:150px;' : ''; ?>">
<?php if ( count( $enabled['hidden'] ) == 1 ) : ?>
@@ -295,40 +320,40 @@ class Sharing_Admin {
<input type="hidden" name="hidden" value="<?php echo implode( ',', array_keys( $enabled['hidden'] ) ); ?>" />
<input type="hidden" name="_wpnonce" value="<?php echo wp_create_nonce( 'sharing-options' );?>" />
</form>
- </div>
-
- <form method="post" action="">
- <table class="form-table">
- <tbody>
- <tr valign="top">
- <th scope="row"><label><?php _e( 'Button style', 'jetpack' ); ?></label></th>
- <td>
- <select name="button_style" id="button_style">
- <option<?php if ( $global['button_style'] == 'icon-text' ) echo ' selected="selected"';?> value="icon-text"><?php _e( 'Icon + text', 'jetpack' ); ?></option>
- <option<?php if ( $global['button_style'] == 'icon' ) echo ' selected="selected"';?> value="icon"><?php _e( 'Icon only', 'jetpack' ); ?></option>
- <option<?php if ( $global['button_style'] == 'text' ) echo ' selected="selected"';?> value="text"><?php _e( 'Text only', 'jetpack' ); ?></option>
- <option<?php if ( $global['button_style'] == 'official' ) echo ' selected="selected"';?> value="official"><?php _e( 'Official buttons', 'jetpack' ); ?></option>
- </select>
- </td>
- </tr>
- <tr valign="top">
- <th scope="row"><label><?php _e( 'Sharing label', 'jetpack' ); ?></label></th>
- <td>
- <input type="text" name="sharing_label" value="<?php echo esc_attr( $global['sharing_label'] ); ?>" />
- </td>
- </tr>
- <tr valign="top">
- <th scope="row"><label><?php _e( 'Open links in', 'jetpack' ); ?></label></th>
- <td>
- <select name="open_links">
- <option<?php if ( $global['open_links'] == 'new' ) echo ' selected="selected"';?> value="new"><?php _e( 'New window', 'jetpack' ); ?></option>
- <option<?php if ( $global['open_links'] == 'same' ) echo ' selected="selected"';?> value="same"><?php _e( 'Same window', 'jetpack' ); ?></option>
- </select>
- </td>
- </tr>
- <?php echo apply_filters( 'sharing_show_buttons_on_row_start', '<tr valign="top">' ); ?>
- <th scope="row"><label><?php _e( 'Show buttons on', 'jetpack' ); ?></label></th>
- <td>
+ </div>
+
+ <form method="post" action="">
+ <table class="form-table">
+ <tbody>
+ <tr valign="top">
+ <th scope="row"><label><?php _e( 'Button style', 'jetpack' ); ?></label></th>
+ <td>
+ <select name="button_style" id="button_style">
+ <option<?php if ( $global['button_style'] == 'icon-text' ) echo ' selected="selected"';?> value="icon-text"><?php _e( 'Icon + text', 'jetpack' ); ?></option>
+ <option<?php if ( $global['button_style'] == 'icon' ) echo ' selected="selected"';?> value="icon"><?php _e( 'Icon only', 'jetpack' ); ?></option>
+ <option<?php if ( $global['button_style'] == 'text' ) echo ' selected="selected"';?> value="text"><?php _e( 'Text only', 'jetpack' ); ?></option>
+ <option<?php if ( $global['button_style'] == 'official' ) echo ' selected="selected"';?> value="official"><?php _e( 'Official buttons', 'jetpack' ); ?></option>
+ </select>
+ </td>
+ </tr>
+ <tr valign="top">
+ <th scope="row"><label><?php _e( 'Sharing label', 'jetpack' ); ?></label></th>
+ <td>
+ <input type="text" name="sharing_label" value="<?php echo esc_attr( $global['sharing_label'] ); ?>" />
+ </td>
+ </tr>
+ <?php
+ /**
+ * Filters the HTML at the beginning of the "Show button on" row.
+ *
+ * @since 2.1.0
+ *
+ * @param string $var Opening HTML tag at the beginning of the "Show button on" row.
+ */
+ echo apply_filters( 'sharing_show_buttons_on_row_start', '<tr valign="top">' );
+ ?>
+ <th scope="row"><label><?php _e( 'Show buttons on', 'jetpack' ); ?></label></th>
+ <td>
<?php
$br = false;
foreach ( $shows as $show ) :
@@ -341,71 +366,101 @@ class Sharing_Admin {
?>
<?php if ( $br ) echo '<br />'; ?><label><input type="checkbox"<?php checked( in_array( $show, $global['show'] ) ); ?> name="show[]" value="<?php echo esc_attr( $show ); ?>" /> <?php echo esc_html( $label ); ?></label>
<?php $br = true; endforeach; ?>
- </td>
- <?php echo apply_filters( 'sharing_show_buttons_on_row_end', '</tr>' ); ?>
-
- <?php do_action( 'sharing_global_options' ); ?>
- </tbody>
- </table>
+ </td>
+ <?php
+ /**
+ * Filters the HTML at the end of the "Show button on" row.
+ *
+ * @since 2.1.0
+ *
+ * @param string $var Closing HTML tag at the end of the "Show button on" row.
+ */
+ echo apply_filters( 'sharing_show_buttons_on_row_end', '</tr>' );
+ ?>
+
+ <?php
+ /**
+ * Fires at the end of the sharing global options settings table.
+ *
+ * @since 1.1.0
+ */
+ do_action( 'sharing_global_options' );
+ ?>
+ </tbody>
+ </table>
- <p class="submit">
+ <p class="submit">
<input type="submit" name="submit" class="button-primary" value="<?php _e( 'Save Changes', 'jetpack' ); ?>" />
- </p>
+ </p>
<input type="hidden" name="_wpnonce" value="<?php echo wp_create_nonce( 'sharing-options' );?>" />
- </form>
-
- <div id="new-service" style="display: none">
- <form method="post" action="<?php echo admin_url( 'admin-ajax.php' ); ?>" id="new-service-form">
- <table class="form-table">
- <tbody>
- <tr valign="top">
- <th scope="row" width="100"><label><?php _e( 'Service name', 'jetpack' ); ?></label></th>
- <td>
- <input type="text" name="sharing_name" id="new_sharing_name" size="40" />
- </td>
- </tr>
- <tr valign="top">
- <th scope="row" width="100"><label><?php _e( 'Sharing URL', 'jetpack' ); ?></label></th>
- <td>
- <input type="text" name="sharing_url" id="new_sharing_url" size="40" />
-
- <p><?php _e( 'You can add the following variables to your service sharing URL:', 'jetpack' ); ?><br/>
- <code>%post_title%</code>, <code>%post_url%</code>, <code>%post_full_url%</code>, <code>%post_excerpt%</code>, <code>%post_tags%</code></p>
- </td>
- </tr>
- <tr valign="top">
- <th scope="row" width="100"><label><?php _e( 'Icon URL', 'jetpack' ); ?></label></th>
- <td>
- <input type="text" name="sharing_icon" id="new_sharing_icon" size="40" />
- <p><?php _e( 'Enter the URL of a 16x16px icon you want to use for this service.', 'jetpack' ); ?></p>
- </td>
- </tr>
- <tr valign="top" width="100">
- <th scope="row"></th>
- <td>
+ </form>
+
+ <div id="new-service" style="display: none">
+ <form method="post" action="<?php echo admin_url( 'admin-ajax.php' ); ?>" id="new-service-form">
+ <table class="form-table">
+ <tbody>
+ <tr valign="top">
+ <th scope="row" width="100"><label><?php _e( 'Service name', 'jetpack' ); ?></label></th>
+ <td>
+ <input type="text" name="sharing_name" id="new_sharing_name" size="40" />
+ </td>
+ </tr>
+ <tr valign="top">
+ <th scope="row" width="100"><label><?php _e( 'Sharing URL', 'jetpack' ); ?></label></th>
+ <td>
+ <input type="text" name="sharing_url" id="new_sharing_url" size="40" />
+
+ <p><?php _e( 'You can add the following variables to your service sharing URL:', 'jetpack' ); ?><br/>
+ <code>%post_title%</code>, <code>%post_url%</code>, <code>%post_full_url%</code>, <code>%post_excerpt%</code>, <code>%post_tags%</code></p>
+ </td>
+ </tr>
+ <tr valign="top">
+ <th scope="row" width="100"><label><?php _e( 'Icon URL', 'jetpack' ); ?></label></th>
+ <td>
+ <input type="text" name="sharing_icon" id="new_sharing_icon" size="40" />
+ <p><?php _e( 'Enter the URL of a 16x16px icon you want to use for this service.', 'jetpack' ); ?></p>
+ </td>
+ </tr>
+ <tr valign="top" width="100">
+ <th scope="row"></th>
+ <td>
<input type="submit" class="button-primary" value="<?php _e( 'Create Share Button', 'jetpack' ); ?>" />
- <img src="<?php echo admin_url( 'images/loading.gif' ); ?>" width="16" height="16" alt="loading" style="vertical-align: middle; display: none" />
- </td>
- </tr>
+ <img src="<?php echo admin_url( 'images/loading.gif' ); ?>" width="16" height="16" alt="loading" style="vertical-align: middle; display: none" />
+ </td>
+ </tr>
- <?php do_action( 'sharing_new_service_form' ); ?>
- </tbody>
- </table>
+ <?php
+ /**
+ * Fires after the custom sharing service form
+ *
+ * @since 1.1.0
+ */
+ do_action( 'sharing_new_service_form' );
+ ?>
+ </tbody>
+ </table>
- <?php do_action( 'post_admin_screen_sharing' ) ?>
+ <?php
+ /**
+ * Fires at the bottom of the admin sharing settings screen.
+ *
+ * @since 1.6.0
+ */
+ do_action( 'post_admin_screen_sharing' );
+ ?>
<div class="inerror" style="display: none; margin-top: 15px">
<p><?php _e( 'An error occurred creating your new sharing service - please check you gave valid details.', 'jetpack' ); ?></p>
</div>
- <input type="hidden" name="action" value="sharing_new_service" />
+ <input type="hidden" name="action" value="sharing_new_service" />
<input type="hidden" name="_wpnonce" value="<?php echo wp_create_nonce( 'sharing-new_service' );?>" />
- </form>
- </div>
- </div>
+ </form>
+ </div>
+ </div>
- <?php endif; ?>
+ <?php endif; ?>
</div>