slug ); $list[ $slug ] = array( 'powerkit_share_buttons_transient', ); return $list; } /** * Register options default * * @since 1.0.0 */ public function register_options_default() { // Save options default [locations]. $locations = apply_filters( 'powerkit_share_buttons_locations', array() ); if ( $locations ) { foreach ( $locations as $key => $item ) { $location = $item['location']; add_filter( "default_option_powerkit_share_buttons_{$location}_display", function ( $default ) use ( $item ) { return isset( $item['display'] ) ? $item['display'] : $default; } ); add_filter( "default_option_powerkit_share_buttons_{$location}_multiple_list", function ( $default ) use ( $item ) { return isset( $item['shares'] ) ? (array) $item['shares'] : $default; } ); add_filter( "default_option_powerkit_share_buttons_{$location}_order_multiple_list", function ( $default ) use ( $item ) { return isset( $item['shares'] ) ? (array) $item['shares'] : $default; } ); add_filter( "default_option_powerkit_share_buttons_{$location}_display_labels", function ( $default ) use ( $item ) { return isset( $item['meta']['labels'] ) ? $item['meta']['labels'] : true; } ); add_filter( "default_option_powerkit_share_buttons_{$location}_display_total_share_count", function ( $default ) use ( $item ) { return isset( $item['display_total'] ) ? $item['display_total'] : true; } ); add_filter( "default_option_powerkit_share_buttons_{$location}_display_count", function ( $default ) use ( $item ) { return isset( $item['display_count'] ) ? $item['display_count'] : true; } ); add_filter( "default_option_powerkit_share_buttons_{$location}_title_location", function ( $default ) use ( $item ) { return isset( $item['title_location'] ) ? $item['title_location'] : $default; } ); add_filter( "default_option_powerkit_share_buttons_{$location}_label_location", function ( $default ) use ( $item ) { return isset( $item['label_location'] ) ? $item['label_location'] : $default; } ); add_filter( "default_option_powerkit_share_buttons_{$location}_count_location", function ( $default ) use ( $item ) { return isset( $item['count_location'] ) ? $item['count_location'] : $default; } ); add_filter( "default_option_powerkit_share_buttons_{$location}_layout", function ( $default ) use ( $item ) { return isset( $item['layout'] ) ? $item['layout'] : $default; } ); add_filter( "default_option_powerkit_share_buttons_{$location}_scheme", function ( $default ) use ( $item ) { return isset( $item['scheme'] ) ? $item['scheme'] : $default; } ); } } } /** * Register admin page * * @since 1.0.0 */ public function register_options_page() { add_options_page( esc_html__( 'Share Buttons', 'powerkit' ), esc_html__( 'Share Buttons', 'powerkit' ), 'manage_options', powerkit_get_page_slug( $this->slug ), array( $this, 'build_options_page' ) ); } /** * Build admin page * * @since 1.0.0 */ public function build_options_page() { if ( ! current_user_can( 'manage_options' ) ) { wp_die( esc_html__( 'You do not have sufficient rights to view this page.', 'powerkit' ) ); } $this->save_options_page(); ?>
$item ) { $location = $item['location']; if ( ! isset( $_POST[ "powerkit_share_buttons_action_{$location}" ] ) ) { // Input var ok. continue; } if ( isset( $_POST[ "powerkit_share_buttons_{$location}_display" ] ) ) { // Input var ok. update_option( "powerkit_share_buttons_{$location}_display", true ); } else { update_option( "powerkit_share_buttons_{$location}_display", false ); } if ( isset( $_POST[ "powerkit_share_buttons_{$location}_multiple_list" ] ) ) { // Input var ok. update_option( "powerkit_share_buttons_{$location}_multiple_list", array_map( 'sanitize_key', (array) $_POST[ "powerkit_share_buttons_{$location}_multiple_list" ] ) ); // Input var ok; sanitization ok. } else { update_option( "powerkit_share_buttons_{$location}_multiple_list", array() ); } if ( isset( $_POST[ "powerkit_share_buttons_{$location}_order_multiple_list" ] ) ) { // Input var ok. update_option( "powerkit_share_buttons_{$location}_order_multiple_list", array_map( 'sanitize_key', (array) $_POST[ "powerkit_share_buttons_{$location}_order_multiple_list" ] ) ); // Input var ok; sanitization ok. } else { update_option( "powerkit_share_buttons_{$location}_order_multiple_list", array() ); } if ( isset( $_POST[ "powerkit_share_buttons_{$location}_title_location" ] ) ) { // Input var ok. update_option( "powerkit_share_buttons_{$location}_title_location", sanitize_text_field( wp_unslash( $_POST[ "powerkit_share_buttons_{$location}_title_location" ] ) ) ); // Input var ok. } if ( isset( $_POST[ "powerkit_share_buttons_{$location}_label_location" ] ) ) { // Input var ok. update_option( "powerkit_share_buttons_{$location}_label_location", sanitize_text_field( wp_unslash( $_POST[ "powerkit_share_buttons_{$location}_label_location" ] ) ) ); // Input var ok. } if ( isset( $_POST[ "powerkit_share_buttons_{$location}_count_location" ] ) ) { // Input var ok. update_option( "powerkit_share_buttons_{$location}_count_location", sanitize_text_field( wp_unslash( $_POST[ "powerkit_share_buttons_{$location}_count_location" ] ) ) ); // Input var ok. } if ( isset( $_POST[ "powerkit_share_buttons_{$location}_layout" ] ) ) { // Input var ok. update_option( "powerkit_share_buttons_{$location}_layout", sanitize_text_field( wp_unslash( $_POST[ "powerkit_share_buttons_{$location}_layout" ] ) ) ); // Input var ok. } if ( isset( $_POST[ "powerkit_share_buttons_{$location}_scheme" ] ) ) { // Input var ok. update_option( "powerkit_share_buttons_{$location}_scheme", sanitize_text_field( wp_unslash( $_POST[ "powerkit_share_buttons_{$location}_scheme" ] ) ) ); // Input var ok. } if ( isset( $item['meta']['labels'] ) ? $item['meta']['labels'] : true ) { if ( isset( $_POST[ "powerkit_share_buttons_{$location}_display_labels" ] ) ) { // Input var ok. update_option( "powerkit_share_buttons_{$location}_display_labels", true ); } else { update_option( "powerkit_share_buttons_{$location}_display_labels", false ); } } if ( isset( $item['fields']['display_total'] ) && $item['fields']['display_total'] ) { if ( isset( $_POST[ "powerkit_share_buttons_{$location}_display_total_share_count" ] ) ) { // Input var ok. update_option( "powerkit_share_buttons_{$location}_display_total_share_count", true ); } else { update_option( "powerkit_share_buttons_{$location}_display_total_share_count", false ); } } if ( isset( $item['fields']['display_count'] ) && $item['fields']['display_count'] ) { if ( isset( $_POST[ "powerkit_share_buttons_{$location}_display_count" ] ) ) { // Input var ok. update_option( "powerkit_share_buttons_{$location}_display_count", true ); } else { update_option( "powerkit_share_buttons_{$location}_display_count", false ); } } } } // Advanced Settings. if ( isset( $_POST['advanced_settings'] ) ) { // Input var ok. $accounts = apply_filters( 'powerkit_share_buttons_accounts', array(), null, null ); foreach ( $accounts as $key => $account ) { if ( isset( $_POST[ "powerkit_share_buttons_label_{$key}" ] ) ) { // Input var ok. update_option( "powerkit_share_buttons_label_{$key}", sanitize_text_field( wp_unslash( $_POST[ "powerkit_share_buttons_label_{$key}" ] ) ) ); // Input var ok. } } if ( isset( $_POST['powerkit_share_buttons_recover'] ) ) { // Input var ok. update_option( 'powerkit_share_buttons_recover', true ); } else { update_option( 'powerkit_share_buttons_recover', false ); } if ( isset( $_POST['powerkit_share_buttons_bitly_api_token'] ) ) { // Input var ok. update_option( 'powerkit_share_buttons_bitly_api_token', sanitize_text_field( wp_unslash( $_POST['powerkit_share_buttons_bitly_api_token'] ) ) ); // Input var ok. } } // Reset cache. Powerkit_Connect::reset_cache( array( 'powerkit_share_buttons_count', 'powerkit_share_buttons_transient', ) ); printf( '%s