370 lines
12 KiB
PHP
370 lines
12 KiB
PHP
<?php
|
|
/**
|
|
* Admin page to change plugin options.
|
|
*
|
|
* @package One User Avatar
|
|
* @author Bangbay Siboliban
|
|
* @author Flippercode
|
|
* @author ProfilePress
|
|
* @author One Designs
|
|
* @copyright 2013-2014 Bangbay Siboliban
|
|
* @copyright 2014-2020 Flippercode
|
|
* @copyright 2020-2021 ProfilePress
|
|
* @copyright 2021 One Designs
|
|
* @version 2.3.9
|
|
*/
|
|
|
|
/**
|
|
* @since 1.4
|
|
* @uses bool $show_avatars
|
|
* @uses string $upload_size_limit_with_units
|
|
* @uses object $wpua_admin
|
|
* @uses bool $wpua_allow_upload
|
|
* @uses bool $wpua_disable_gravatar
|
|
* @uses bool $wpua_edit_avatar
|
|
* @uses bool $wpua_resize_crop
|
|
* @uses int int $wpua_resize_h
|
|
* @uses bool $wpua_resize_upload
|
|
* @uses int $wpua_resize_w
|
|
* @uses object $wpua_subscriber
|
|
* @uses bool $wpua_tinymce
|
|
* @uses int $wpua_upload_size_limit
|
|
* @uses string $wpua_upload_size_limit_with_units
|
|
* @uses admin_url()
|
|
* @uses apply_filters()
|
|
* @uses checked()
|
|
* @uses do_action()
|
|
* @uses do_settings_fields()
|
|
* @uses get_option()
|
|
* @uses settings_fields()
|
|
* @uses submit_button()
|
|
* @uses wpua_add_default_avatar()
|
|
*/
|
|
|
|
global $show_avatars,
|
|
$upload_size_limit_with_units,
|
|
$wpua_admin,
|
|
$wpua_allow_upload,
|
|
$wpua_disable_um_avatars,
|
|
$wpua_force_file_uploader,
|
|
$wpua_disable_gravatar,
|
|
$wpua_edit_avatar,
|
|
$wpua_resize_crop,
|
|
$wpua_resize_h,
|
|
$wpua_resize_upload,
|
|
$wpua_resize_w,
|
|
$wpua_subscriber,
|
|
$wpua_tinymce,
|
|
$wpua_upload_size_limit,
|
|
$wpua_upload_size_limit_with_units;
|
|
|
|
$updated = false;
|
|
|
|
if ( isset( $_GET['settings-updated'] ) && 'true' == $_GET['settings-updated'] ) {
|
|
$updated = true;
|
|
}
|
|
|
|
$wpua_options_page_title = __( 'One User Avatar', 'one-user-avatar' );
|
|
|
|
/**
|
|
* Filter admin page title
|
|
* @since 1.9
|
|
* @param string $wpua_options_page_title
|
|
*/
|
|
$wpua_options_page_title = apply_filters( 'wpua_options_page_title', $wpua_options_page_title );
|
|
?>
|
|
|
|
<div class="wrap">
|
|
<h2><?php echo esc_html( $wpua_options_page_title ); ?></h2>
|
|
|
|
<table>
|
|
<tr valign="top">
|
|
<td align="top">
|
|
<form method="post" action="<?php echo esc_url( admin_url( 'options.php' ) ); ?>">
|
|
|
|
<?php settings_fields( 'wpua-settings-group' ); ?>
|
|
|
|
<?php do_settings_fields( 'wpua-settings-group', '' ); ?>
|
|
|
|
<table class="form-table">
|
|
<?php
|
|
// Format settings in table rows
|
|
$wpua_before_settings = array();
|
|
|
|
/**
|
|
* Filter settings at beginning of table
|
|
* @since 1.9
|
|
* @param array $wpua_before_settings
|
|
*/
|
|
$wpua_before_settings = apply_filters( 'wpua_before_settings', $wpua_before_settings );
|
|
|
|
echo wp_kses_post( implode( '', $wpua_before_settings ) );
|
|
?>
|
|
|
|
<tr valign="top">
|
|
<th scope="row"><?php esc_html_e( 'Settings', 'one-user-avatar' ); ?></th>
|
|
|
|
<td>
|
|
<?php
|
|
// Format settings in fieldsets
|
|
$wpua_settings = array();
|
|
|
|
$wpua_settings['tinymce'] = sprintf(
|
|
'<fieldset>
|
|
<label for="wp_user_avatar_tinymce">
|
|
<input name="wp_user_avatar_tinymce" type="checkbox" id="wp_user_avatar_tinymce" value="1" %s />
|
|
%s
|
|
</label>
|
|
</fieldset>',
|
|
checked( $wpua_tinymce, true, false ),
|
|
__( 'Add avatar button to Visual Editor', 'one-user-avatar' )
|
|
);
|
|
|
|
$wpua_settings['upload'] = sprintf(
|
|
'<fieldset>
|
|
<label for="wp_user_avatar_allow_upload">
|
|
<input name="wp_user_avatar_allow_upload" type="checkbox" id="wp_user_avatar_allow_upload" value="1" %s />
|
|
%s
|
|
</label>
|
|
</fieldset>',
|
|
checked( $wpua_allow_upload, true, false ),
|
|
__( 'Allow Contributors & Subscribers to upload avatars', 'one-user-avatar' )
|
|
);
|
|
|
|
$wpua_settings['gravatar'] = sprintf(
|
|
'<fieldset>
|
|
<label for="wp_user_avatar_disable_gravatar">
|
|
<input name="wp_user_avatar_disable_gravatar" type="checkbox" id="wp_user_avatar_disable_gravatar" value="1" %s />
|
|
%s
|
|
</label>
|
|
</fieldset>',
|
|
checked( $wpua_disable_gravatar, true, false ),
|
|
__( 'Disable Gravatar and use only local avatars', 'one-user-avatar' )
|
|
);
|
|
|
|
if ( function_exists( 'um_get_avatar' ) ) {
|
|
$wpua_settings['disable_um_avatars'] = sprintf(
|
|
'<fieldset>
|
|
<label for="wp_user_avatar_disable_um_avatars">
|
|
<input name="wp_user_avatar_disable_um_avatars" type="checkbox" id="wp_user_avatar_disable_um_avatars" value="1" %s />
|
|
%s
|
|
</label>
|
|
</fieldset>',
|
|
checked( $wpua_disable_um_avatars, true, false ),
|
|
__( 'Replace the custom avatars functionality in the Ultimate Member plugin', 'one-user-avatar' )
|
|
);
|
|
}
|
|
|
|
$wpua_settings['force_file_uploader'] = sprintf(
|
|
'<fieldset>
|
|
<label for="wp_user_avatar_force_file_uploader">
|
|
<input name="wp_user_avatar_force_file_uploader" type="checkbox" id="wp_user_avatar_force_file_uploader" value="1" %s />
|
|
%s
|
|
</label>
|
|
<p class="description">%s</p>
|
|
</fieldset>',
|
|
checked( $wpua_force_file_uploader, true, false ),
|
|
__( 'Always use the browser file uploader to upload avatars', 'one-user-avatar' ),
|
|
__( 'Check this if another plugin is conflicting with the WordPress Media Uploader.', 'one-user-avatar' )
|
|
);
|
|
|
|
/**
|
|
* Filter main settings
|
|
* @since 1.9
|
|
* @param array $wpua_settings
|
|
*/
|
|
$wpua_settings = apply_filters( 'wpua_settings', $wpua_settings );
|
|
|
|
echo implode( '', $wpua_settings );
|
|
?>
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
|
|
<?php
|
|
// Format settings in table
|
|
$wpua_subscriber_settings = array();
|
|
|
|
ob_start();
|
|
?>
|
|
|
|
<div id="wpua-contributors-subscribers"<?php if ( true !== (bool) $wpua_allow_upload ) : ?> style="display: none;"<?php endif; ?>>
|
|
<table class="form-table">
|
|
<tr valign="top">
|
|
<th scope="row">
|
|
<label for="wp_user_avatar_upload_size_limit">'
|
|
<?php esc_html_e( 'Upload Size Limit', 'one-user-avatar' ); ?>
|
|
<?php esc_html_e( '(only for Contributors & Subscribers)', 'one-user-avatar' ); ?>
|
|
</label>
|
|
</th>
|
|
|
|
<td>
|
|
<fieldset>
|
|
<legend class="screen-reader-text">
|
|
<span>
|
|
<?php esc_html_e( 'Upload Size Limit', 'one-user-avatar' ); ?>
|
|
<?php esc_html_e( '(only for Contributors & Subscribers)', 'one-user-avatar' ); ?>
|
|
</span>
|
|
</legend>
|
|
|
|
<input name="wp_user_avatar_upload_size_limit" type="range" id="wp_user_avatar_upload_size_limit" value="<?php echo esc_attr( $wpua_upload_size_limit ); ?>" min="0" max="<?php echo esc_attr( wp_max_upload_size() ); ?>" class="regular-text" />
|
|
|
|
<span id="wpua-readable-size"><?php echo esc_html( $wpua_upload_size_limit_with_units ); ?></span>
|
|
|
|
<span id="wpua-readable-size-error"><?php printf(
|
|
/* translators: file name */
|
|
__( '%s exceeds the maximum upload size for this site.', 'one-user-avatar' ),
|
|
''
|
|
); ?></span>
|
|
|
|
<p class="description">
|
|
<?php
|
|
printf(
|
|
/* translators: file size in KB */
|
|
__( 'Maximum upload file size: %s.', 'one-user-avatar' ),
|
|
esc_html( wp_max_upload_size() ) . esc_html( sprintf( ' bytes (%s)', $upload_size_limit_with_units ) )
|
|
);
|
|
?>
|
|
</p>
|
|
</fieldset>
|
|
|
|
<fieldset>
|
|
<label for="wp_user_avatar_edit_avatar">
|
|
<input name="wp_user_avatar_edit_avatar" type="checkbox" id="wp_user_avatar_edit_avatar" value="1" <?php checked( $wpua_edit_avatar ); ?> />
|
|
|
|
<?php esc_html_e( 'Allow users to edit avatars', 'one-user-avatar' ); ?>
|
|
</label>
|
|
</fieldset>
|
|
|
|
<fieldset>
|
|
<label for="wp_user_avatar_resize_upload">
|
|
<input name="wp_user_avatar_resize_upload" type="checkbox" id="wp_user_avatar_resize_upload" value="1" <?php checked( $wpua_resize_upload ); ?> />
|
|
|
|
<?php esc_html_e( 'Resize avatars on upload', 'one-user-avatar' ); ?>
|
|
</label>
|
|
</fieldset>
|
|
|
|
<fieldset id="wpua-resize-sizes"<?php if ( true !== (bool) $wpua_resize_upload ) : ?> style="display: none;"<?php endif; ?>>
|
|
<label for="wp_user_avatar_resize_w"><?php esc_html_e( 'Width', 'one-user-avatar' ); ?></label>
|
|
|
|
<input name="wp_user_avatar_resize_w" type="number" step="1" min="0" id="wp_user_avatar_resize_w" value="<?php echo esc_attr( get_option( 'wp_user_avatar_resize_w' ) ); ?>" class="small-text" />
|
|
|
|
<label for="wp_user_avatar_resize_h"><?php esc_html_e( 'Height', 'one-user-avatar' ); ?></label>
|
|
|
|
<input name="wp_user_avatar_resize_h" type="number" step="1" min="0" id="wp_user_avatar_resize_h" value="<?php echo esc_attr( get_option( 'wp_user_avatar_resize_h' ) ); ?>" class="small-text" />
|
|
|
|
<br />
|
|
|
|
<input name="wp_user_avatar_resize_crop" type="checkbox" id="wp_user_avatar_resize_crop" value="1" <?php checked( '1', $wpua_resize_crop ); ?> />
|
|
|
|
<label for="wp_user_avatar_resize_crop"><?php esc_html_e( 'Crop avatars to exact dimensions', 'one-user-avatar' ); ?></label>
|
|
</fieldset>
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
|
|
<?php
|
|
$wpua_subscriber_settings['subscriber-settings'] = ob_get_clean();
|
|
|
|
/**
|
|
* Filter Subscriber settings
|
|
* @since 1.9
|
|
* @param array $wpua_subscriber_settings
|
|
*/
|
|
$wpua_subscriber_settings = apply_filters( 'wpua_subscriber_settings', $wpua_subscriber_settings );
|
|
|
|
echo implode( '', $wpua_subscriber_settings );
|
|
?>
|
|
|
|
<table class="form-table">
|
|
<tr valign="top">
|
|
<th scope="row"><?php esc_html_e( 'Avatar Display', 'one-user-avatar' ); ?></th>
|
|
|
|
<td>
|
|
<fieldset>
|
|
<legend class="screen-reader-text">
|
|
<span>
|
|
<?php esc_html_e( 'Avatar Display', 'one-user-avatar' ); ?>
|
|
</span>
|
|
</legend>
|
|
|
|
<label for="show_avatars">
|
|
<input type="checkbox" id="show_avatars" name="show_avatars" value="1" <?php checked( $show_avatars ); ?> />
|
|
|
|
<?php esc_html_e( 'Show Avatars', 'one-user-avatar' ); ?>
|
|
</label>
|
|
</fieldset>
|
|
</td>
|
|
</tr>
|
|
|
|
<tr valign="top" id="avatar-rating"<?php if ( true === (bool) $wpua_disable_gravatar ) : ?> style="display: none;"<?php endif; ?>>
|
|
<th scope="row"><?php esc_html_e( 'Maximum Rating', 'one-user-avatar' ); ?></th>
|
|
|
|
<td>
|
|
<fieldset>
|
|
<legend class="screen-reader-text">
|
|
<span>
|
|
<?php esc_html_e( 'Maximum Rating', 'one-user-avatar' ); ?>
|
|
</span>
|
|
</legend>
|
|
|
|
<?php
|
|
$ratings = array(
|
|
'G' => __( 'G — Suitable for all audiences', 'one-user-avatar' ),
|
|
'PG' => __( 'PG — Possibly offensive, usually for audiences 13 and above', 'one-user-avatar' ),
|
|
'R' => __( 'R — Intended for adult audiences above 17', 'one-user-avatar' ),
|
|
'X' => __( 'X — Even more mature than above', 'one-user-avatar' ),
|
|
);
|
|
|
|
foreach ( $ratings as $key => $rating ) :
|
|
?>
|
|
<label>
|
|
<input type="radio" name="avatar_rating" value="<?php echo esc_attr( $key ); ?>" <?php checked( $key, get_option( 'avatar_rating' ) ); ?> />
|
|
<?php echo esc_html( $rating ); ?>
|
|
</label>
|
|
|
|
<br />
|
|
<?php
|
|
endforeach;
|
|
?>
|
|
</fieldset>
|
|
</td>
|
|
</tr>
|
|
|
|
<tr valign="top">
|
|
<th scope="row"><?php esc_html_e( 'Default Avatar', 'one-user-avatar' ); ?></th>
|
|
|
|
<td class="defaultavatarpicker">
|
|
<fieldset>
|
|
<legend class="screen-reader-text">
|
|
<span>
|
|
<?php esc_html_e( 'Default Avatar', 'one-user-avatar' ); ?>
|
|
</span>
|
|
</legend>
|
|
|
|
<?php esc_html_e( 'For users without a custom avatar of their own, you can either display a generic logo or a generated one based on their e-mail address.', 'one-user-avatar' ); ?>
|
|
|
|
<br />
|
|
|
|
<?php echo wp_kses( $wpua_admin->wpua_add_default_avatar(), array_merge( wp_kses_allowed_html( 'post' ), array(
|
|
'input' => array(
|
|
'type' => true,
|
|
'name' => true,
|
|
'id' => true,
|
|
'class' => true,
|
|
'value' => true,
|
|
),
|
|
) ) ); ?>
|
|
</fieldset>
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
|
|
<?php submit_button(); ?>
|
|
</form>
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
</div>
|