Version Description
- Add: Option to enable avatar editing privilege for Subscribers
- Add: Swedish translation
- Update: Move inline JavaScript to wp-user-avatar.js and wp-user-avatar-admin.js
- Update: Load JavaScript in footer
- Update: Translations
Download this release
Release Info
Developer | bangbay |
Plugin | WP User Avatar |
Version | 1.5.4 |
Comparing to | |
See all releases |
Code changes from version 1.5.3 to 1.5.4
- css/wp-user-avatar.css +3 -4
- includes/tinymce.php +1 -1
- includes/tinymce/editor_plugin.js +1 -1
- includes/tinymce/window.php +9 -9
- js/wp-user-avatar-admin.js +37 -0
- js/wp-user-avatar.js +1 -1
- lang/wp-user-avatar-de_DE.mo +0 -0
- lang/wp-user-avatar-de_DE.po +14 -14
- lang/wp-user-avatar-es_ES.mo +0 -0
- lang/wp-user-avatar-es_ES.po +14 -14
- lang/wp-user-avatar-fr_FR.mo +0 -0
- lang/wp-user-avatar-fr_FR.po +14 -14
- lang/wp-user-avatar-sv_SE.mo +0 -0
- lang/wp-user-avatar-sv_SE.po +61 -0
- readme.txt +9 -2
- uninstall.php +7 -5
- wp-user-avatar.php +81 -125
css/wp-user-avatar.css
CHANGED
@@ -1,12 +1,11 @@
|
|
1 |
#wpua-errors, #wpua-message, #wpua-readable-size-error, .wpua-error { color: #c00 !important; font-weight: 700 !important; }
|
2 |
#wpua-message, #wpua-readable-size-error { display: none; }
|
3 |
-
#wpua-preview, #wpua-thumbnail { display: inline-block
|
4 |
#wpua-preview { margin-right: 10px !important; }
|
5 |
-
#wpua-preview img, #wpua-thumbnail img { height: 96px; border: 1px solid #dfdfdf; display: block; }
|
6 |
.defaultavatarpicker #wpua-preview { width: 32px; height: 32px; margin-right: 0; display: inline-block; overflow: hidden; vertical-align: middle; }
|
7 |
.defaultavatarpicker #wpua-preview img { width: 32px; height: auto; border: 0; }
|
8 |
#wpua-edit { padding-left: 15px !important; }
|
9 |
#wpua-edit #wpua-remove { margin-left: 10px !important; }
|
10 |
-
.wpua-hide, .wp-core-ui .wpua-hide { display: none; }
|
11 |
#wpua-slider { width: 22.75em; }
|
12 |
-
.
|
1 |
#wpua-errors, #wpua-message, #wpua-readable-size-error, .wpua-error { color: #c00 !important; font-weight: 700 !important; }
|
2 |
#wpua-message, #wpua-readable-size-error { display: none; }
|
3 |
+
#wpua-preview, #wpua-thumbnail { display: inline-block; text-align: center; vertical-align: top; }
|
4 |
#wpua-preview { margin-right: 10px !important; }
|
5 |
+
#wpua-preview img, #wpua-thumbnail img { max-height: 96px; border: 1px solid #dfdfdf; display: block; }
|
6 |
.defaultavatarpicker #wpua-preview { width: 32px; height: 32px; margin-right: 0; display: inline-block; overflow: hidden; vertical-align: middle; }
|
7 |
.defaultavatarpicker #wpua-preview img { width: 32px; height: auto; border: 0; }
|
8 |
#wpua-edit { padding-left: 15px !important; }
|
9 |
#wpua-edit #wpua-remove { margin-left: 10px !important; }
|
|
|
10 |
#wpua-slider { width: 22.75em; }
|
11 |
+
.wpua-hide { display: none !important; }
|
includes/tinymce.php
CHANGED
@@ -1,7 +1,7 @@
|
|
1 |
<?php
|
2 |
/**
|
3 |
* @package WP User Avatar
|
4 |
-
* @version 1.5.
|
5 |
*/
|
6 |
|
7 |
if(!defined('ABSPATH')){
|
1 |
<?php
|
2 |
/**
|
3 |
* @package WP User Avatar
|
4 |
+
* @version 1.5.4
|
5 |
*/
|
6 |
|
7 |
if(!defined('ABSPATH')){
|
includes/tinymce/editor_plugin.js
CHANGED
@@ -1 +1 @@
|
|
1 |
-
(function(){tinymce.PluginManager.requireLangPack('wpUserAvatar');tinymce.create('tinymce.plugins.wpUserAvatar',{init:function(ed,url){ed.addCommand('mceWpUserAvatar',function(){ed.windowManager.open({file:ajaxurl+'?action=wp_user_avatar_tinymce',width:500,height:265,inline:1},{plugin_url:url})});ed.addButton('wpUserAvatar',{title:'Insert WP User Avatar',cmd:'mceWpUserAvatar',image:url+'/../../images/wp-user-avatar-32x32.png'});ed.onNodeChange.add(function(ed,cm,n){cm.setActive('wpUserAvatar',n.nodeName=='IMG')})},createControl:function(n,cm){return null},getInfo:function(){return{longname:'WP User Avatar',author:'Bangbay Siboliban',authorurl:'http://siboliban.org/',infourl:'http://wordpress.org/extend/plugins/wp-user-avatar/',version:"1.5.
|
1 |
+
(function(){tinymce.PluginManager.requireLangPack('wpUserAvatar');tinymce.create('tinymce.plugins.wpUserAvatar',{init:function(ed,url){ed.addCommand('mceWpUserAvatar',function(){ed.windowManager.open({file:ajaxurl+'?action=wp_user_avatar_tinymce',width:500,height:265,inline:1},{plugin_url:url})});ed.addButton('wpUserAvatar',{title:'Insert WP User Avatar',cmd:'mceWpUserAvatar',image:url+'/../../images/wp-user-avatar-32x32.png'});ed.onNodeChange.add(function(ed,cm,n){cm.setActive('wpUserAvatar',n.nodeName=='IMG')})},createControl:function(n,cm){return null},getInfo:function(){return{longname:'WP User Avatar',author:'Bangbay Siboliban',authorurl:'http://siboliban.org/',infourl:'http://wordpress.org/extend/plugins/wp-user-avatar/',version:"1.5.4"}}});tinymce.PluginManager.add('wpUserAvatar',tinymce.plugins.wpUserAvatar)})();
|
includes/tinymce/window.php
CHANGED
@@ -1,7 +1,7 @@
|
|
1 |
<?php
|
2 |
/**
|
3 |
* @package WP User Avatar
|
4 |
-
* @version 1.5.
|
5 |
*/
|
6 |
|
7 |
if(!defined('ABSPATH')){
|
@@ -30,13 +30,13 @@ if(!defined('ABSPATH')){
|
|
30 |
var target = document.getElementById('wp_user_avatar_target').value;
|
31 |
|
32 |
// Add tag to shortcode only if not blank
|
33 |
-
var user_tag = (user !=
|
34 |
-
var size_tag = (size !=
|
35 |
-
size_tag = (size_number !=
|
36 |
-
var align_tag = (align !=
|
37 |
-
var link_tag = (link !=
|
38 |
-
link_tag = (link_external !=
|
39 |
-
var target_tag = document.getElementById('wp_user_avatar_target').checked && (link_tag !=
|
40 |
|
41 |
shortcode = "<p>[avatar" + user_tag + size_tag + align_tag + link_tag + target_tag + "]</p>";
|
42 |
|
@@ -66,7 +66,7 @@ if(!defined('ABSPATH')){
|
|
66 |
#wp_user_avatar_size_number_section, #wp_user_avatar_link_external_section { display: none; }
|
67 |
</style>
|
68 |
</head>
|
69 |
-
<body id="link" class="wp-core-ui" onload="document.body.style.display=
|
70 |
<form name="wpUserAvatar" action="#">
|
71 |
<p><label for="<?php esc_attr_e('wp_user_avatar_user'); ?>"><strong><?php _e('User Name'); ?>:</strong></label>
|
72 |
<select id="<?php esc_attr_e('wp_user_avatar_user'); ?>" name="<?php esc_attr_e('wp_user_avatar_user'); ?>">
|
1 |
<?php
|
2 |
/**
|
3 |
* @package WP User Avatar
|
4 |
+
* @version 1.5.4
|
5 |
*/
|
6 |
|
7 |
if(!defined('ABSPATH')){
|
30 |
var target = document.getElementById('wp_user_avatar_target').value;
|
31 |
|
32 |
// Add tag to shortcode only if not blank
|
33 |
+
var user_tag = (user != "") ? ' user="' + user + '"' : "";
|
34 |
+
var size_tag = (size != "" && size_number == "") ? ' size="' + size + '"' : "";
|
35 |
+
size_tag = (size_number != "") ? ' size="' + size_number + '"' : size_tag;
|
36 |
+
var align_tag = (align != "") ? ' align="' + align + '"' : "";
|
37 |
+
var link_tag = (link != "" && link != 'custom-url' && link_external == "") ? ' link="' + link + '"' : "";
|
38 |
+
link_tag = (link_external != "") ? ' link="' + link_external + '"' : link_tag;
|
39 |
+
var target_tag = document.getElementById('wp_user_avatar_target').checked && (link_tag != "") ? ' target="' + target + '"' : "";
|
40 |
|
41 |
shortcode = "<p>[avatar" + user_tag + size_tag + align_tag + link_tag + target_tag + "]</p>";
|
42 |
|
66 |
#wp_user_avatar_size_number_section, #wp_user_avatar_link_external_section { display: none; }
|
67 |
</style>
|
68 |
</head>
|
69 |
+
<body id="link" class="wp-core-ui" onload="document.body.style.display="";" style="display:none;">
|
70 |
<form name="wpUserAvatar" action="#">
|
71 |
<p><label for="<?php esc_attr_e('wp_user_avatar_user'); ?>"><strong><?php _e('User Name'); ?>:</strong></label>
|
72 |
<select id="<?php esc_attr_e('wp_user_avatar_user'); ?>" name="<?php esc_attr_e('wp_user_avatar_user'); ?>">
|
js/wp-user-avatar-admin.js
ADDED
@@ -0,0 +1,37 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
jQuery(function(){
|
2 |
+
// Show size info only if allow uploads is checked
|
3 |
+
jQuery('#wp_user_avatar_allow_upload').change(function(){
|
4 |
+
jQuery('#wpua-size-limit').removeClass('wpua-hide').toggle(jQuery('#wp_user_avatar_allow_upload').is(':checked'));
|
5 |
+
});
|
6 |
+
// Hide Gravatars if disable Gravatars is checked
|
7 |
+
jQuery('#wp_user_avatar_disable_gravatar').change(function(){
|
8 |
+
if(jQuery('#wp-avatars').length){
|
9 |
+
jQuery('#wp-avatars').toggle(!jQuery('#wp_user_avatar_disable_gravatar').is(':checked'));
|
10 |
+
jQuery('#wp_user_avatar_radio').trigger('click');
|
11 |
+
}
|
12 |
+
jQuery('#wpua-message').show();
|
13 |
+
});
|
14 |
+
// Add size slider
|
15 |
+
jQuery('#wpua-slider').slider({
|
16 |
+
value: parseInt(wpua_admin.upload_size_limit),
|
17 |
+
min: 0,
|
18 |
+
max: parseInt(wpua_admin.max_upload_size),
|
19 |
+
step: 1,
|
20 |
+
slide: function(event, ui){
|
21 |
+
jQuery('#wp_user_avatar_upload_size_limit').val(ui.value);
|
22 |
+
jQuery('#wpua-readable-size').html(Math.floor(ui.value / 1024) + 'KB');
|
23 |
+
jQuery('#wpua-readable-size-error').hide();
|
24 |
+
jQuery('#wpua-readable-size').removeClass('wpua-error');
|
25 |
+
}
|
26 |
+
});
|
27 |
+
// Update readable size on keyup
|
28 |
+
jQuery('#wp_user_avatar_upload_size_limit').keyup(function(){
|
29 |
+
var wpua_upload_size_limit = jQuery(this).val();
|
30 |
+
wpua_upload_size_limit = wpua_upload_size_limit.replace(/\D/g, '');
|
31 |
+
jQuery(this).val(wpua_upload_size_limit);
|
32 |
+
jQuery('#wpua-readable-size').html(Math.floor(wpua_upload_size_limit / 1024) + 'KB');
|
33 |
+
jQuery('#wpua-readable-size-error').toggle(wpua_upload_size_limit > parseInt(wpua_admin.max_upload_size));
|
34 |
+
jQuery('#wpua-readable-size').toggleClass('wpua-error', wpua_upload_size_limit > parseInt(wpua_admin.max_upload_size));
|
35 |
+
});
|
36 |
+
jQuery('#wp_user_avatar_upload_size_limit').val(jQuery('#wpua-slider').slider('value'));
|
37 |
+
});
|
js/wp-user-avatar.js
CHANGED
@@ -1 +1 @@
|
|
1 |
-
function wpuaMediaUploader(c,d,f){wp.media.wpUserAvatar={get:function(){return wp.media.view.settings.post.wpUserAvatarId},set:function(a){var b=wp.media.view.settings;b.post.wpUserAvatarId=a;b.post.wpUserAvatarSrc=jQuery('div.attachment-info').find('img').attr('src');if(b.post.wpUserAvatarId){wpuaSetAvatar(b.post.wpUserAvatarId,b.post.wpUserAvatarSrc);jQuery('#wp_user_avatar_radio').trigger('click')}},frame:function(){if(this._frame){return this._frame}this._frame=wp.media({state:'library',states:[new wp.media.controller.Library({title:d+": "+c})]});this._frame.on('open',function(){var a=this.state().get('selection');id=jQuery('#wp-user-avatar').val();attachment=wp.media.attachment(id);attachment.fetch();a.add(attachment?[attachment]:[])},this._frame);this._frame.on('toolbar:create:select',function(a){this.createSelectToolbar(a,{text:f})},this._frame);this._frame.state('library').on('select',this.select);return this._frame},select:function(a){var b=wp.media.view.settings,selection=this.get('selection').single();wp.media.wpUserAvatar.set(selection?selection.id:-1)},init:function(){jQuery('body').on('click','#wpua-add',function(e){e.preventDefault();e.stopPropagation();wp.media.wpUserAvatar.frame().open()})}};jQuery(wp.media.wpUserAvatar.init)}function wpuaSetAvatar(a,b){jQuery('#wp-user-avatar',window.parent.document).val(a);jQuery('#wpua-preview',window.parent.document).find('img').attr('src',b).removeAttr('width',
|
1 |
+
function wpuaMediaUploader(c,d,f){wp.media.wpUserAvatar={get:function(){return wp.media.view.settings.post.wpUserAvatarId},set:function(a){var b=wp.media.view.settings;b.post.wpUserAvatarId=a;b.post.wpUserAvatarSrc=jQuery('div.attachment-info').find('img').attr('src');if(b.post.wpUserAvatarId){wpuaSetAvatar(b.post.wpUserAvatarId,b.post.wpUserAvatarSrc);jQuery('#wp_user_avatar_radio').trigger('click')}},frame:function(){if(this._frame){return this._frame}this._frame=wp.media({state:'library',states:[new wp.media.controller.Library({title:d+": "+c})]});this._frame.on('open',function(){var a=this.state().get('selection');id=jQuery('#wp-user-avatar').val();attachment=wp.media.attachment(id);attachment.fetch();a.add(attachment?[attachment]:[])},this._frame);this._frame.on('toolbar:create:select',function(a){this.createSelectToolbar(a,{text:f})},this._frame);this._frame.state('library').on('select',this.select);return this._frame},select:function(a){var b=wp.media.view.settings,selection=this.get('selection').single();wp.media.wpUserAvatar.set(selection?selection.id:-1)},init:function(){jQuery('body').on('click','#wpua-add',function(e){e.preventDefault();e.stopPropagation();wp.media.wpUserAvatar.frame().open()})}};jQuery(wp.media.wpUserAvatar.init)}function wpuaSetAvatar(a,b){jQuery('#wp-user-avatar',window.parent.document).val(a);jQuery('#wpua-preview',window.parent.document).find('img').attr('src',b).removeAttr('width',"").removeAttr('height',"");jQuery('#wpua-message',window.parent.document).show();jQuery('#wpua-remove',window.parent.document).removeClass('wpua-hide').show();jQuery('#wpua-thumbnail',window.parent.document).hide();jQuery('#wp_user_avatar_radio',window.parent.document).trigger('click');wp.media.wpUserAvatar.frame().close()}function wpuaRemoveAvatar(a){jQuery('body').on('click','#wpua-remove',function(e){e.preventDefault();jQuery(this).hide();jQuery('#wpua-edit, #wpua-thumbnail').hide();jQuery('#wpua-preview').find('img').attr('src',a).removeAttr('width',"").removeAttr('height',"");jQuery('#wp-user-avatar').val("");jQuery('#wpua-message').show();jQuery('#wp_user_avatar_radio').trigger('click')})}jQuery(function(){jQuery('#your-profile').attr('enctype','multipart/form-data');if(typeof(wp)!='undefined'){wpuaMediaUploader(wpua_custom.section,wpua_custom.edit_image,wpua_custom.select_image)}wpuaRemoveAvatar(wpua_custom.avatar_thumb)});
|
lang/wp-user-avatar-de_DE.mo
CHANGED
Binary file
|
lang/wp-user-avatar-de_DE.po
CHANGED
@@ -4,42 +4,42 @@
|
|
4 |
#
|
5 |
msgid ""
|
6 |
msgstr ""
|
7 |
-
"Project-Id-Version: WP User Avatar 1.5.
|
8 |
"Report-Msgid-Bugs-To: http://wordpress.org/plugins/wp-user-avatar/\n"
|
9 |
-
"
|
10 |
-
"
|
11 |
"Last-Translator: WP User Avatar\n"
|
12 |
"Language-Team: WP User Avatar\n"
|
13 |
"MIME-Version: 1.0\n"
|
14 |
"Content-Type: text/plain; charset=UTF-8\n"
|
15 |
"Content-Transfer-Encoding: 8bit\n"
|
16 |
|
17 |
-
#: wp-user-avatar.php:
|
18 |
-
#: wp-user-avatar.php:
|
19 |
msgid "Click %s to save your changes"
|
20 |
msgstr "Klicken Sie %s, um Ihre Änderungen zu speichern"
|
21 |
|
22 |
-
#: wp-user-avatar.php:
|
23 |
msgid "Add avatar button to Visual Editor"
|
24 |
msgstr "Einen Avatar-Knopf zum WYSIWYG-Editor hinzufügen"
|
25 |
|
26 |
-
#: wp-user-avatar.php:
|
27 |
msgid "Allow Contributors & Subscribers to upload avatars"
|
28 |
msgstr "Mitarbeiter und Abonnenten erlauben, Avatare hochzuladen"
|
29 |
|
30 |
-
#: wp-user-avatar.php:
|
31 |
msgid "Disable Gravatar and use only local avatars"
|
32 |
msgstr "Gravatar deaktivieren und nur lokale Avatare verwenden"
|
33 |
|
34 |
-
#: wp-user-avatar.php:
|
35 |
-
|
36 |
-
msgstr "Benutzer erlaubt, Avatare im Front-End hochladen"
|
37 |
-
|
38 |
-
#: wp-user-avatar.php:906
|
39 |
-
#: wp-user-avatar.php:911
|
40 |
msgid "Upload Size Limit (only for Contributors & Subscribers)"
|
41 |
msgstr "Dateigrößenbeschränkung (nur für Mitarbeiter und Abonnenten)"
|
42 |
|
|
|
|
|
|
|
|
|
43 |
#. Plugin Name of the plugin/theme
|
44 |
msgid "WP User Avatar"
|
45 |
msgstr "WP-Benutzer-Avatar"
|
4 |
#
|
5 |
msgid ""
|
6 |
msgstr ""
|
7 |
+
"Project-Id-Version: WP User Avatar 1.5.4\n"
|
8 |
"Report-Msgid-Bugs-To: http://wordpress.org/plugins/wp-user-avatar/\n"
|
9 |
+
"PO-Revision-Date: 2013-07-31 00:00-0000\n"
|
10 |
+
"Language: de_DE\n"
|
11 |
"Last-Translator: WP User Avatar\n"
|
12 |
"Language-Team: WP User Avatar\n"
|
13 |
"MIME-Version: 1.0\n"
|
14 |
"Content-Type: text/plain; charset=UTF-8\n"
|
15 |
"Content-Transfer-Encoding: 8bit\n"
|
16 |
|
17 |
+
#: wp-user-avatar.php:341
|
18 |
+
#: wp-user-avatar.php:798
|
19 |
msgid "Click %s to save your changes"
|
20 |
msgstr "Klicken Sie %s, um Ihre Änderungen zu speichern"
|
21 |
|
22 |
+
#: wp-user-avatar.php:870
|
23 |
msgid "Add avatar button to Visual Editor"
|
24 |
msgstr "Einen Avatar-Knopf zum WYSIWYG-Editor hinzufügen"
|
25 |
|
26 |
+
#: wp-user-avatar.php:875
|
27 |
msgid "Allow Contributors & Subscribers to upload avatars"
|
28 |
msgstr "Mitarbeiter und Abonnenten erlauben, Avatare hochzuladen"
|
29 |
|
30 |
+
#: wp-user-avatar.php:880
|
31 |
msgid "Disable Gravatar and use only local avatars"
|
32 |
msgstr "Gravatar deaktivieren und nur lokale Avatare verwenden"
|
33 |
|
34 |
+
#: wp-user-avatar.php:888
|
35 |
+
#: wp-user-avatar.php:893
|
|
|
|
|
|
|
|
|
36 |
msgid "Upload Size Limit (only for Contributors & Subscribers)"
|
37 |
msgstr "Dateigrößenbeschränkung (nur für Mitarbeiter und Abonnenten)"
|
38 |
|
39 |
+
#: wp-user-avatar.php:902
|
40 |
+
msgid "Allow users to edit avatars"
|
41 |
+
msgstr "Benutzer erlauben, Avatare bearbeiten"
|
42 |
+
|
43 |
#. Plugin Name of the plugin/theme
|
44 |
msgid "WP User Avatar"
|
45 |
msgstr "WP-Benutzer-Avatar"
|
lang/wp-user-avatar-es_ES.mo
CHANGED
Binary file
|
lang/wp-user-avatar-es_ES.po
CHANGED
@@ -4,42 +4,42 @@
|
|
4 |
#
|
5 |
msgid ""
|
6 |
msgstr ""
|
7 |
-
"Project-Id-Version: WP User Avatar 1.5.
|
8 |
"Report-Msgid-Bugs-To: http://wordpress.org/plugins/wp-user-avatar/\n"
|
9 |
-
"
|
10 |
-
"
|
11 |
"Last-Translator: WP User Avatar\n"
|
12 |
"Language-Team: WP User Avatar\n"
|
13 |
"MIME-Version: 1.0\n"
|
14 |
"Content-Type: text/plain; charset=UTF-8\n"
|
15 |
"Content-Transfer-Encoding: 8bit\n"
|
16 |
|
17 |
-
#: wp-user-avatar.php:
|
18 |
-
#: wp-user-avatar.php:
|
19 |
msgid "Click %s to save your changes"
|
20 |
msgstr "Haz clic %s para guardar los cambios"
|
21 |
|
22 |
-
#: wp-user-avatar.php:
|
23 |
msgid "Add avatar button to Visual Editor"
|
24 |
msgstr "Añadir botón avatar al editor visual"
|
25 |
|
26 |
-
#: wp-user-avatar.php:
|
27 |
msgid "Allow Contributors & Subscribers to upload avatars"
|
28 |
msgstr "Permitir los colaboradores y los suscriptores subir avatares"
|
29 |
|
30 |
-
#: wp-user-avatar.php:
|
31 |
msgid "Disable Gravatar and use only local avatars"
|
32 |
msgstr "Desactivar Gravatar y utilizar sólo los avatares locales"
|
33 |
|
34 |
-
#: wp-user-avatar.php:
|
35 |
-
|
36 |
-
msgstr "Permitir a los usuarios subir avatares en el páginas frontales"
|
37 |
-
|
38 |
-
#: wp-user-avatar.php:906
|
39 |
-
#: wp-user-avatar.php:911
|
40 |
msgid "Upload Size Limit (only for Contributors & Subscribers)"
|
41 |
msgstr "Sube límite de tamaño (para colaboradores y suscriptores)"
|
42 |
|
|
|
|
|
|
|
|
|
43 |
#. Plugin Name of the plugin/theme
|
44 |
msgid "WP User Avatar"
|
45 |
msgstr "WP-Usuario-Avatar"
|
4 |
#
|
5 |
msgid ""
|
6 |
msgstr ""
|
7 |
+
"Project-Id-Version: WP User Avatar 1.5.4\n"
|
8 |
"Report-Msgid-Bugs-To: http://wordpress.org/plugins/wp-user-avatar/\n"
|
9 |
+
"PO-Revision-Date: 2013-07-31 00:00-0000\n"
|
10 |
+
"Language: es_ES\n"
|
11 |
"Last-Translator: WP User Avatar\n"
|
12 |
"Language-Team: WP User Avatar\n"
|
13 |
"MIME-Version: 1.0\n"
|
14 |
"Content-Type: text/plain; charset=UTF-8\n"
|
15 |
"Content-Transfer-Encoding: 8bit\n"
|
16 |
|
17 |
+
#: wp-user-avatar.php:341
|
18 |
+
#: wp-user-avatar.php:798
|
19 |
msgid "Click %s to save your changes"
|
20 |
msgstr "Haz clic %s para guardar los cambios"
|
21 |
|
22 |
+
#: wp-user-avatar.php:870
|
23 |
msgid "Add avatar button to Visual Editor"
|
24 |
msgstr "Añadir botón avatar al editor visual"
|
25 |
|
26 |
+
#: wp-user-avatar.php:875
|
27 |
msgid "Allow Contributors & Subscribers to upload avatars"
|
28 |
msgstr "Permitir los colaboradores y los suscriptores subir avatares"
|
29 |
|
30 |
+
#: wp-user-avatar.php:880
|
31 |
msgid "Disable Gravatar and use only local avatars"
|
32 |
msgstr "Desactivar Gravatar y utilizar sólo los avatares locales"
|
33 |
|
34 |
+
#: wp-user-avatar.php:888
|
35 |
+
#: wp-user-avatar.php:893
|
|
|
|
|
|
|
|
|
36 |
msgid "Upload Size Limit (only for Contributors & Subscribers)"
|
37 |
msgstr "Sube límite de tamaño (para colaboradores y suscriptores)"
|
38 |
|
39 |
+
#: wp-user-avatar.php:902
|
40 |
+
msgid "Allow users to edit avatars"
|
41 |
+
msgstr "Permitir a los usuarios editar avatar"
|
42 |
+
|
43 |
#. Plugin Name of the plugin/theme
|
44 |
msgid "WP User Avatar"
|
45 |
msgstr "WP-Usuario-Avatar"
|
lang/wp-user-avatar-fr_FR.mo
CHANGED
Binary file
|
lang/wp-user-avatar-fr_FR.po
CHANGED
@@ -4,42 +4,42 @@
|
|
4 |
#
|
5 |
msgid ""
|
6 |
msgstr ""
|
7 |
-
"Project-Id-Version: WP User Avatar 1.5.
|
8 |
"Report-Msgid-Bugs-To: http://wordpress.org/plugins/wp-user-avatar/\n"
|
9 |
-
"
|
10 |
-
"
|
11 |
"Last-Translator: WP User Avatar\n"
|
12 |
"Language-Team: WP User Avatar\n"
|
13 |
"MIME-Version: 1.0\n"
|
14 |
"Content-Type: text/plain; charset=UTF-8\n"
|
15 |
"Content-Transfer-Encoding: 8bit\n"
|
16 |
|
17 |
-
#: wp-user-avatar.php:
|
18 |
-
#: wp-user-avatar.php:
|
19 |
msgid "Click %s to save your changes"
|
20 |
msgstr "Cliquez sur %s pour enregistrer vos modifications"
|
21 |
|
22 |
-
#: wp-user-avatar.php:
|
23 |
msgid "Add avatar button to Visual Editor"
|
24 |
msgstr "Ajouter le bouton avatar sur l'éditeur visuel"
|
25 |
|
26 |
-
#: wp-user-avatar.php:
|
27 |
msgid "Allow Contributors & Subscribers to upload avatars"
|
28 |
msgstr "Permettre aux contributeurs et aux abonnés d'envoyer des avatars"
|
29 |
|
30 |
-
#: wp-user-avatar.php:
|
31 |
msgid "Disable Gravatar and use only local avatars"
|
32 |
msgstr "Désactiver Gravatar et utiliser les avatars fournis"
|
33 |
|
34 |
-
#: wp-user-avatar.php:
|
35 |
-
|
36 |
-
msgstr "Permettre aux utilisateurs d'envoyer dans les pages frontales"
|
37 |
-
|
38 |
-
#: wp-user-avatar.php:906
|
39 |
-
#: wp-user-avatar.php:911
|
40 |
msgid "Upload Size Limit (only for Contributors & Subscribers)"
|
41 |
msgstr "Taille limite d'envoi de fichiers (pour contributeurs et abonnés)"
|
42 |
|
|
|
|
|
|
|
|
|
43 |
#. Plugin Name of the plugin/theme
|
44 |
msgid "WP User Avatar"
|
45 |
msgstr "WP-Utilisateur-Avatar"
|
4 |
#
|
5 |
msgid ""
|
6 |
msgstr ""
|
7 |
+
"Project-Id-Version: WP User Avatar 1.5.4\n"
|
8 |
"Report-Msgid-Bugs-To: http://wordpress.org/plugins/wp-user-avatar/\n"
|
9 |
+
"PO-Revision-Date: 2013-07-31 00:00-0000\n"
|
10 |
+
"Language: fr_FR\n"
|
11 |
"Last-Translator: WP User Avatar\n"
|
12 |
"Language-Team: WP User Avatar\n"
|
13 |
"MIME-Version: 1.0\n"
|
14 |
"Content-Type: text/plain; charset=UTF-8\n"
|
15 |
"Content-Transfer-Encoding: 8bit\n"
|
16 |
|
17 |
+
#: wp-user-avatar.php:341
|
18 |
+
#: wp-user-avatar.php:798
|
19 |
msgid "Click %s to save your changes"
|
20 |
msgstr "Cliquez sur %s pour enregistrer vos modifications"
|
21 |
|
22 |
+
#: wp-user-avatar.php:870
|
23 |
msgid "Add avatar button to Visual Editor"
|
24 |
msgstr "Ajouter le bouton avatar sur l'éditeur visuel"
|
25 |
|
26 |
+
#: wp-user-avatar.php:875
|
27 |
msgid "Allow Contributors & Subscribers to upload avatars"
|
28 |
msgstr "Permettre aux contributeurs et aux abonnés d'envoyer des avatars"
|
29 |
|
30 |
+
#: wp-user-avatar.php:880
|
31 |
msgid "Disable Gravatar and use only local avatars"
|
32 |
msgstr "Désactiver Gravatar et utiliser les avatars fournis"
|
33 |
|
34 |
+
#: wp-user-avatar.php:888
|
35 |
+
#: wp-user-avatar.php:893
|
|
|
|
|
|
|
|
|
36 |
msgid "Upload Size Limit (only for Contributors & Subscribers)"
|
37 |
msgstr "Taille limite d'envoi de fichiers (pour contributeurs et abonnés)"
|
38 |
|
39 |
+
#: wp-user-avatar.php:902
|
40 |
+
msgid "Allow users to edit avatars"
|
41 |
+
msgstr "Permettre aux utilisateurs de modifier avatar"
|
42 |
+
|
43 |
#. Plugin Name of the plugin/theme
|
44 |
msgid "WP User Avatar"
|
45 |
msgstr "WP-Utilisateur-Avatar"
|
lang/wp-user-avatar-sv_SE.mo
ADDED
Binary file
|
lang/wp-user-avatar-sv_SE.po
ADDED
@@ -0,0 +1,61 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
# Swedish (sv_SE) translation for WP User Avatar.
|
2 |
+
# Copyright (C) 2013 Bangbay Siboliban.
|
3 |
+
# This file is distributed under the same license as the WP User Avatar package.
|
4 |
+
#
|
5 |
+
msgid ""
|
6 |
+
msgstr ""
|
7 |
+
"Project-Id-Version: WP User Avatar 1.5.4\n"
|
8 |
+
"Report-Msgid-Bugs-To: http://wordpress.org/plugins/wp-user-avatar/\n"
|
9 |
+
"PO-Revision-Date: 2013-07-31 00:00-0000\n"
|
10 |
+
"Language: sv_SE\n"
|
11 |
+
"Last-Translator: Mattias Tengblad <mst@eyesx.com>\n"
|
12 |
+
"Language-Team: WordPress Sverige <info@wpsv.se>\n"
|
13 |
+
"MIME-Version: 1.0\n"
|
14 |
+
"Content-Type: text/plain; charset=UTF-8\n"
|
15 |
+
"Content-Transfer-Encoding: 8bit\n"
|
16 |
+
|
17 |
+
#: wp-user-avatar.php:341
|
18 |
+
#: wp-user-avatar.php:798
|
19 |
+
msgid "Click %s to save your changes"
|
20 |
+
msgstr "Klicka på %s för att spara dina ändringar"
|
21 |
+
|
22 |
+
#: wp-user-avatar.php:870
|
23 |
+
msgid "Add avatar button to Visual Editor"
|
24 |
+
msgstr "Lägg till knapp för avatarer i den visuella redigeraren"
|
25 |
+
|
26 |
+
#: wp-user-avatar.php:875
|
27 |
+
msgid "Allow Contributors & Subscribers to upload avatars"
|
28 |
+
msgstr "Tillåt medarbetare & prenumeranter att ladda upp avatarer"
|
29 |
+
|
30 |
+
#: wp-user-avatar.php:880
|
31 |
+
msgid "Disable Gravatar and use only local avatars"
|
32 |
+
msgstr "Inaktivera Gravatar och använd endast lokala avatarer"
|
33 |
+
|
34 |
+
#: wp-user-avatar.php:888
|
35 |
+
#: wp-user-avatar.php:893
|
36 |
+
msgid "Upload Size Limit (only for Contributors & Subscribers)"
|
37 |
+
msgstr "Storleksgräns för uppladdningar (endast för medarbetare & prenumeranter)"
|
38 |
+
|
39 |
+
#: wp-user-avatar.php:902
|
40 |
+
msgid "Allow users to edit avatars"
|
41 |
+
msgstr "Tillåt användare att redigera avatarer"
|
42 |
+
|
43 |
+
#. Plugin Name of the plugin/theme
|
44 |
+
msgid "WP User Avatar"
|
45 |
+
msgstr "Visningsbild (avatar)"
|
46 |
+
|
47 |
+
#. Plugin URI of the plugin/theme
|
48 |
+
msgid "http://wordpress.org/plugins/wp-user-avatar/"
|
49 |
+
msgstr "http://wordpress.org/plugins/wp-user-avatar/"
|
50 |
+
|
51 |
+
#. Description of the plugin/theme
|
52 |
+
msgid "Use any image from your WordPress Media Library as a custom user avatar. Add your own Default Avatar."
|
53 |
+
msgstr "Använd valfri bild från ditt mediabibliotek i WordPress som en anpassad visningsbild (avatar). Lägg till fördefinierad standardbild."
|
54 |
+
|
55 |
+
#. Author of the plugin/theme
|
56 |
+
msgid "Bangbay Siboliban"
|
57 |
+
msgstr "Bangbay Siboliban"
|
58 |
+
|
59 |
+
#. Author URI of the plugin/theme
|
60 |
+
msgid "http://siboliban.org/"
|
61 |
+
msgstr "http://siboliban.org/"
|
readme.txt
CHANGED
@@ -4,8 +4,8 @@ Contributors: bangbay
|
|
4 |
Donate link: http://siboliban.org/donate
|
5 |
Tags: author image, author photo, author avatar, avatar, bbPress, profile avatar, profile image, user avatar, user image, user photo
|
6 |
Requires at least: 3.5
|
7 |
-
Tested up to: 3.
|
8 |
-
Stable tag: 1.5.
|
9 |
License: GPLv2 or later
|
10 |
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
11 |
|
@@ -230,6 +230,13 @@ Outputs:
|
|
230 |
|
231 |
== Changelog ==
|
232 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
233 |
= 1.5.3 =
|
234 |
* Remove: Option to disable scripts in front pages
|
235 |
* Update: Load media upload scripts only on profile and avatar admin pages
|
4 |
Donate link: http://siboliban.org/donate
|
5 |
Tags: author image, author photo, author avatar, avatar, bbPress, profile avatar, profile image, user avatar, user image, user photo
|
6 |
Requires at least: 3.5
|
7 |
+
Tested up to: 3.7-alpha-24927
|
8 |
+
Stable tag: 1.5.4
|
9 |
License: GPLv2 or later
|
10 |
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
11 |
|
230 |
|
231 |
== Changelog ==
|
232 |
|
233 |
+
= 1.5.4 =
|
234 |
+
* Add: Option to enable avatar editing privilege for Subscribers
|
235 |
+
* Add: Swedish translation
|
236 |
+
* Update: Move inline JavaScript to wp-user-avatar.js and wp-user-avatar-admin.js
|
237 |
+
* Update: Load JavaScript in footer
|
238 |
+
* Update: Translations
|
239 |
+
|
240 |
= 1.5.3 =
|
241 |
* Remove: Option to disable scripts in front pages
|
242 |
* Update: Load media upload scripts only on profile and avatar admin pages
|
uninstall.php
CHANGED
@@ -1,7 +1,7 @@
|
|
1 |
<?php
|
2 |
/**
|
3 |
* @package WP User Avatar
|
4 |
-
* @version 1.5.
|
5 |
*/
|
6 |
|
7 |
// Remove user metadata and options on plugin delete
|
@@ -22,28 +22,30 @@ if(is_multisite()){
|
|
22 |
foreach($blogs as $blog){
|
23 |
switch_to_blog($blog->blog_id);
|
24 |
delete_option('avatar_default_wp_user_avatar');
|
25 |
-
delete_option('wp_user_avatar_tinymce');
|
26 |
delete_option('wp_user_avatar_allow_upload');
|
27 |
delete_option('wp_user_avatar_disable_gravatar');
|
|
|
28 |
delete_option('wp_user_avatar_load_scripts');
|
|
|
29 |
delete_option('wp_user_avatar_upload_size_limit');
|
30 |
delete_option('wp_user_avatar_default_avatar_updated');
|
31 |
-
delete_option('wp_user_avatar_users_updated');
|
32 |
delete_option('wp_user_avatar_media_updated');
|
|
|
33 |
}
|
34 |
} else {
|
35 |
foreach($users as $user){
|
36 |
delete_user_meta($user->ID, $wpdb->get_blog_prefix($blog_id).'user_avatar');
|
37 |
}
|
38 |
delete_option('avatar_default_wp_user_avatar');
|
39 |
-
delete_option('wp_user_avatar_tinymce');
|
40 |
delete_option('wp_user_avatar_allow_upload');
|
41 |
delete_option('wp_user_avatar_disable_gravatar');
|
|
|
42 |
delete_option('wp_user_avatar_load_scripts');
|
|
|
43 |
delete_option('wp_user_avatar_upload_size_limit');
|
44 |
delete_option('wp_user_avatar_default_avatar_updated');
|
45 |
-
delete_option('wp_user_avatar_users_updated');
|
46 |
delete_option('wp_user_avatar_media_updated');
|
|
|
47 |
}
|
48 |
// Delete post meta
|
49 |
delete_post_meta_by_key('_wp_attachment_wp_user_avatar');
|
1 |
<?php
|
2 |
/**
|
3 |
* @package WP User Avatar
|
4 |
+
* @version 1.5.4
|
5 |
*/
|
6 |
|
7 |
// Remove user metadata and options on plugin delete
|
22 |
foreach($blogs as $blog){
|
23 |
switch_to_blog($blog->blog_id);
|
24 |
delete_option('avatar_default_wp_user_avatar');
|
|
|
25 |
delete_option('wp_user_avatar_allow_upload');
|
26 |
delete_option('wp_user_avatar_disable_gravatar');
|
27 |
+
delete_option('wp_user_avatar_edit_avatar');
|
28 |
delete_option('wp_user_avatar_load_scripts');
|
29 |
+
delete_option('wp_user_avatar_tinymce');
|
30 |
delete_option('wp_user_avatar_upload_size_limit');
|
31 |
delete_option('wp_user_avatar_default_avatar_updated');
|
|
|
32 |
delete_option('wp_user_avatar_media_updated');
|
33 |
+
delete_option('wp_user_avatar_users_updated');
|
34 |
}
|
35 |
} else {
|
36 |
foreach($users as $user){
|
37 |
delete_user_meta($user->ID, $wpdb->get_blog_prefix($blog_id).'user_avatar');
|
38 |
}
|
39 |
delete_option('avatar_default_wp_user_avatar');
|
|
|
40 |
delete_option('wp_user_avatar_allow_upload');
|
41 |
delete_option('wp_user_avatar_disable_gravatar');
|
42 |
+
delete_option('wp_user_avatar_edit_avatar');
|
43 |
delete_option('wp_user_avatar_load_scripts');
|
44 |
+
delete_option('wp_user_avatar_tinymce');
|
45 |
delete_option('wp_user_avatar_upload_size_limit');
|
46 |
delete_option('wp_user_avatar_default_avatar_updated');
|
|
|
47 |
delete_option('wp_user_avatar_media_updated');
|
48 |
+
delete_option('wp_user_avatar_users_updated');
|
49 |
}
|
50 |
// Delete post meta
|
51 |
delete_post_meta_by_key('_wp_attachment_wp_user_avatar');
|
wp-user-avatar.php
CHANGED
@@ -1,7 +1,7 @@
|
|
1 |
<?php
|
2 |
/**
|
3 |
* @package WP User Avatar
|
4 |
-
* @version 1.5.
|
5 |
*/
|
6 |
/*
|
7 |
Plugin Name: WP User Avatar
|
@@ -9,7 +9,7 @@ Plugin URI: http://wordpress.org/plugins/wp-user-avatar/
|
|
9 |
Description: Use any image from your WordPress Media Library as a custom user avatar. Add your own Default Avatar.
|
10 |
Author: Bangbay Siboliban
|
11 |
Author URI: http://siboliban.org/
|
12 |
-
Version: 1.5.
|
13 |
Text Domain: wp-user-avatar
|
14 |
Domain Path: /lang/
|
15 |
*/
|
@@ -20,18 +20,19 @@ if(!defined('ABSPATH')){
|
|
20 |
}
|
21 |
|
22 |
// Define paths and variables
|
23 |
-
define('WPUA_VERSION', '1.5.
|
24 |
define('WPUA_FOLDER', basename(dirname(__FILE__)));
|
25 |
define('WPUA_ABSPATH', trailingslashit(str_replace('\\', '/', WP_PLUGIN_DIR.'/'.WPUA_FOLDER)));
|
26 |
define('WPUA_URLPATH', trailingslashit(plugins_url(WPUA_FOLDER)));
|
27 |
|
28 |
// Define global variables
|
29 |
$avatar_default = get_option('avatar_default');
|
30 |
-
$wpua_avatar_default = get_option('avatar_default_wp_user_avatar');
|
31 |
$show_avatars = get_option('show_avatars');
|
32 |
-
$wpua_tinymce = get_option('wp_user_avatar_tinymce');
|
33 |
$wpua_allow_upload = get_option('wp_user_avatar_allow_upload');
|
|
|
34 |
$wpua_disable_gravatar = get_option('wp_user_avatar_disable_gravatar');
|
|
|
|
|
35 |
$mustache_original = WPUA_URLPATH.'images/wp-user-avatar.png';
|
36 |
$mustache_medium = WPUA_URLPATH.'images/wp-user-avatar-300x300.png';
|
37 |
$mustache_thumbnail = WPUA_URLPATH.'images/wp-user-avatar-150x150.png';
|
@@ -76,7 +77,7 @@ if((bool) $wpua_tinymce == 1){
|
|
76 |
}
|
77 |
|
78 |
// Load translations
|
79 |
-
load_plugin_textdomain('wp-user-avatar',
|
80 |
|
81 |
// Initialize default settings
|
82 |
register_activation_hook(WPUA_ABSPATH.'wp-user-avatar.php', 'wpua_options');
|
@@ -89,6 +90,7 @@ function wpua_options(){
|
|
89 |
add_option('avatar_default_wp_user_avatar', "");
|
90 |
add_option('wp_user_avatar_allow_upload', '0');
|
91 |
add_option('wp_user_avatar_disable_gravatar', '0');
|
|
|
92 |
add_option('wp_user_avatar_tinymce', '1');
|
93 |
add_option('wp_user_avatar_upload_size_limit', '0');
|
94 |
}
|
@@ -159,17 +161,6 @@ if((bool) $wpua_allow_upload == 1){
|
|
159 |
}
|
160 |
add_action('user_edit_form_tag', 'wpua_add_edit_form_multipart_encoding');
|
161 |
|
162 |
-
// Add enctype with JavaScript as backup
|
163 |
-
function wpua_add_edit_form_multipart_encoding_js(){ ?>
|
164 |
-
<script type="text/javascript">
|
165 |
-
jQuery(function(){
|
166 |
-
jQuery('#your-profile').attr('enctype', 'multipart/form-data');
|
167 |
-
});
|
168 |
-
</script>
|
169 |
-
<?php
|
170 |
-
}
|
171 |
-
add_action('wp_head', 'wpua_add_edit_form_multipart_encoding_js');
|
172 |
-
|
173 |
// Check user role
|
174 |
function check_user_role($role, $user_id=null){
|
175 |
global $current_user;
|
@@ -180,16 +171,6 @@ if((bool) $wpua_allow_upload == 1){
|
|
180 |
return in_array($role, (array) $user->roles);
|
181 |
}
|
182 |
|
183 |
-
// Give subscribers edit_posts capability
|
184 |
-
function wpua_subscriber_add_cap(){
|
185 |
-
global $blog_id, $wpdb;
|
186 |
-
$wp_user_roles = $wpdb->get_blog_prefix($blog_id).'user_roles';
|
187 |
-
$user_roles = get_option($wp_user_roles);
|
188 |
-
$user_roles['subscriber']['capabilities']['edit_posts'] = true;
|
189 |
-
update_option($wp_user_roles, $user_roles);
|
190 |
-
}
|
191 |
-
add_action('admin_init', 'wpua_subscriber_add_cap');
|
192 |
-
|
193 |
// Remove menu items
|
194 |
function wpua_subscriber_remove_menu_pages(){
|
195 |
global $current_user;
|
@@ -224,8 +205,12 @@ if((bool) $wpua_allow_upload == 1){
|
|
224 |
|
225 |
// Restrict access to pages
|
226 |
function wpua_subscriber_offlimits(){
|
227 |
-
global $current_user, $pagenow;
|
228 |
-
|
|
|
|
|
|
|
|
|
229 |
if(check_user_role('subscriber', $current_user->ID)){
|
230 |
if(in_array($pagenow, $offlimits)){
|
231 |
do_action('admin_page_access_denied');
|
@@ -236,6 +221,18 @@ if((bool) $wpua_allow_upload == 1){
|
|
236 |
add_action('admin_init', 'wpua_subscriber_offlimits');
|
237 |
}
|
238 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
239 |
// Remove subscribers edit_posts capability
|
240 |
function wpua_subscriber_remove_cap(){
|
241 |
global $blog_id, $wpdb;
|
@@ -260,19 +257,19 @@ if(!class_exists('wp_user_avatar')){
|
|
260 |
global $current_screen, $current_user, $pagenow, $show_avatars, $wpua_allow_upload, $wpua_upload_size_limit;
|
261 |
// Add WPUA to profile
|
262 |
if(current_user_can('upload_files') || ((bool) $wpua_allow_upload == 1 && is_user_logged_in())){
|
263 |
-
add_action('show_user_profile', array('wp_user_avatar', 'wpua_action_show_user_profile'));
|
264 |
-
add_action('edit_user_profile', array($this, 'wpua_action_show_user_profile'));
|
265 |
-
add_action('personal_options_update', array($this, 'wpua_action_process_option_update'));
|
266 |
-
add_action('edit_user_profile_update', array($this, 'wpua_action_process_option_update'));
|
267 |
// For themes that use this function
|
268 |
if(!function_exists('get_current_screen')){
|
269 |
require_once(ABSPATH.'wp-admin/includes/screen.php');
|
270 |
}
|
271 |
-
//
|
|
|
|
|
|
|
|
|
272 |
add_action('show_user_profile', array($this, 'wpua_media_upload_scripts'));
|
273 |
add_action('edit_user_profile', array($this, 'wpua_media_upload_scripts'));
|
274 |
-
//
|
275 |
-
if($pagenow == 'options-discussion.php' || ($pagenow == 'options-general.php' && $_GET['page'] == 'wp-user-avatar')){
|
276 |
add_action('admin_enqueue_scripts', array($this, 'wpua_media_upload_scripts'));
|
277 |
}
|
278 |
// Prefilter upload size
|
@@ -283,7 +280,7 @@ if(!class_exists('wp_user_avatar')){
|
|
283 |
add_action('admin_menu', 'wpua_admin');
|
284 |
add_filter('plugin_action_links', array($this, 'wpua_plugin_settings_links'), 10, 2);
|
285 |
// Hide column in Users table if default avatars are enabled
|
286 |
-
if(
|
287 |
add_filter('manage_users_columns', array($this, 'wpua_add_column'), 10, 1);
|
288 |
add_filter('manage_users_custom_column', array($this, 'wpua_show_column'), 10, 3);
|
289 |
}
|
@@ -292,7 +289,7 @@ if(!class_exists('wp_user_avatar')){
|
|
292 |
|
293 |
// Add to edit user profile
|
294 |
function wpua_action_show_user_profile($user){
|
295 |
-
global $blog_id, $current_user, $post, $show_avatars, $wpdb, $wpua_allow_upload, $wpua_upload_size_limit_with_units;
|
296 |
// Get WPUA attachment ID
|
297 |
$wpua = get_user_meta($user->ID, $wpdb->get_blog_prefix($blog_id).'user_avatar', true);
|
298 |
// Show remove button if WPUA is set
|
@@ -328,7 +325,7 @@ if(!class_exists('wp_user_avatar')){
|
|
328 |
<br />
|
329 |
<?php _e('Allowed Files'); ?>: <?php _e('<code>jpg jpeg png gif</code>'); ?>
|
330 |
</p>
|
331 |
-
<?php elseif(!current_user_can('upload_files') && has_wp_user_avatar($current_user->ID) && wpua_author($wpua, $current_user->ID)) : // Edit button ?>
|
332 |
<?php $edit_attachment_link = add_query_arg(array('post' => $wpua, 'action' => 'edit'), admin_url('post.php')); ?>
|
333 |
<p><button type="button" class="button" id="wpua-edit" name="wpua-edit" onclick="window.open('<?php echo $edit_attachment_link; ?>', '_self');"><?php _e('Edit Image'); ?></button></p>
|
334 |
<?php endif; ?>
|
@@ -349,13 +346,12 @@ if(!class_exists('wp_user_avatar')){
|
|
349 |
</tr>
|
350 |
</table>
|
351 |
<?php endif; ?>
|
352 |
-
<?php echo wpua_js($user->display_name, $avatar_medium_src); // Add JS ?>
|
353 |
<?php
|
354 |
}
|
355 |
|
356 |
// Set upload size limit for users without upload_files capability
|
357 |
function wpua_handle_upload_prefilter($file){
|
358 |
-
global $wpua_upload_size_limit
|
359 |
$size = $file['size'];
|
360 |
if($size > $wpua_upload_size_limit){
|
361 |
$file['error'] = __('The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form.');
|
@@ -473,35 +469,36 @@ if(!class_exists('wp_user_avatar')){
|
|
473 |
}
|
474 |
|
475 |
// Media uploader
|
476 |
-
function wpua_media_upload_scripts(){
|
477 |
-
global $pagenow;
|
478 |
wp_enqueue_script('jquery');
|
479 |
if(current_user_can('upload_files')){
|
480 |
wp_enqueue_script('admin-bar');
|
481 |
wp_enqueue_media();
|
482 |
}
|
483 |
-
wp_enqueue_script('wp-user-avatar', WPUA_URLPATH.'js/wp-user-avatar.js', array('jquery'), WPUA_VERSION);
|
484 |
wp_enqueue_style('wp-user-avatar', WPUA_URLPATH.'css/wp-user-avatar.css', "", WPUA_VERSION);
|
485 |
-
|
|
|
|
|
486 |
wp_enqueue_script('jquery-ui-slider');
|
487 |
wp_enqueue_style('wp-user-avatar-jqueryui', WPUA_URLPATH.'css/jquery.ui.slider.css', "", null);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
488 |
}
|
489 |
}
|
490 |
}
|
491 |
|
492 |
-
// Uploader scripts
|
493 |
-
function wpua_js($section, $avatar_thumb){ ?>
|
494 |
-
<script type="text/javascript">
|
495 |
-
jQuery(function(){
|
496 |
-
<?php if(current_user_can('upload_files')) : ?>
|
497 |
-
wpuaMediaUploader('<?php echo $section; ?>', "<?php _e('Edit Image'); ?>", "<?php _e('Select Image'); ?>");
|
498 |
-
<?php endif; ?>
|
499 |
-
wpuaRemoveAvatar('<?php echo htmlspecialchars_decode($avatar_thumb); ?>');
|
500 |
-
});
|
501 |
-
</script>
|
502 |
-
<?php
|
503 |
-
}
|
504 |
-
|
505 |
// Returns true if user has Gravatar-hosted image
|
506 |
function wpua_has_gravatar($id_or_email, $has_gravatar=false, $user="", $email=""){
|
507 |
global $ssl;
|
@@ -536,7 +533,7 @@ if(!class_exists('wp_user_avatar')){
|
|
536 |
}
|
537 |
|
538 |
// Replace get_avatar only in get_wp_user_avatar
|
539 |
-
function wpua_get_avatar_filter($avatar, $id_or_email, $size="", $default="", $alt=""){
|
540 |
global $avatar_default, $comment, $mustache_admin, $mustache_avatar, $mustache_medium, $mustache_original, $mustache_thumbnail, $post, $wpua_avatar_default, $wpua_disable_gravatar;
|
541 |
// User has WPUA
|
542 |
if(is_object($id_or_email)){
|
@@ -549,7 +546,7 @@ if(!class_exists('wp_user_avatar')){
|
|
549 |
if(has_wp_user_avatar($id_or_email)){
|
550 |
$avatar = get_wp_user_avatar($id_or_email, $size, $default, $alt);
|
551 |
// User has Gravatar and Gravatar is not disabled
|
552 |
-
} elseif(
|
553 |
$avatar = $avatar;
|
554 |
// User doesn't have WPUA or Gravatar and Default Avatar is wp_user_avatar, show custom Default Avatar
|
555 |
} elseif($avatar_default == 'wp_user_avatar'){
|
@@ -788,7 +785,7 @@ if(!class_exists('wp_user_avatar')){
|
|
788 |
$hide_remove = ' class="wpua-hide"';
|
789 |
}
|
790 |
// Default Avatar is wp_user_avatar, check the radio button next to it
|
791 |
-
$selected_avatar = ($
|
792 |
// Wrap WPUA in div
|
793 |
$avatar_thumb_img = '<div id="wpua-preview"><img src="'.$avatar_thumb.'" width="32" /></div>';
|
794 |
// Add WPUA to list
|
@@ -799,8 +796,7 @@ if(!class_exists('wp_user_avatar')){
|
|
799 |
$wpua_list .= '<a href="#" id="wpua-remove"'.$hide_remove.'>'.__('Remove').'</a></p>';
|
800 |
$wpua_list .= '<input type="hidden" id="wp-user-avatar" name="avatar_default_wp_user_avatar" value="'.$wpua_avatar_default.'">';
|
801 |
$wpua_list .= '<p id="wpua-message">'.sprintf(__('Click %s to save your changes', 'wp-user-avatar'), '“'.__('Save Changes').'”').'</p>';
|
802 |
-
|
803 |
-
if($wpua_disable_gravatar != 1){
|
804 |
return $wpua_list.'<div id="wp-avatars">'.$avatar_list.'</div>';
|
805 |
} else {
|
806 |
return $wpua_list;
|
@@ -850,13 +846,12 @@ if(!class_exists('wp_user_avatar')){
|
|
850 |
|
851 |
// Admin page
|
852 |
function wpua_options_page(){
|
853 |
-
global $show_avatars, $upload_size_limit_with_units, $wpua_allow_upload, $wpua_disable_gravatar, $wpua_tinymce, $wpua_upload_size_limit, $wpua_upload_size_limit_with_units;
|
854 |
// Give subscribers edit_posts capability
|
855 |
-
if(isset($_GET['settings-updated']) && $_GET['settings-updated'] == 'true' && empty($wpua_allow_upload)){
|
856 |
wpua_subscriber_remove_cap();
|
857 |
}
|
858 |
-
$hide_size = ($wpua_allow_upload != 1
|
859 |
-
|
860 |
?>
|
861 |
<div class="wrap">
|
862 |
<?php screen_icon(); ?>
|
@@ -870,15 +865,17 @@ if(!class_exists('wp_user_avatar')){
|
|
870 |
<td>
|
871 |
<fieldset>
|
872 |
<legend class="screen-reader-text"><span><?php _e('Settings'); ?></span></legend>
|
873 |
-
<label for="wp_user_avatar_tinymce"
|
874 |
<input name="wp_user_avatar_tinymce" type="checkbox" id="wp_user_avatar_tinymce" value="1" <?php checked($wpua_tinymce, 1); ?> />
|
875 |
<?php _e('Add avatar button to Visual Editor', 'wp-user-avatar'); ?>
|
876 |
</label>
|
877 |
-
<
|
|
|
878 |
<input name="wp_user_avatar_allow_upload" type="checkbox" id="wp_user_avatar_allow_upload" value="1" <?php checked($wpua_allow_upload, 1); ?> />
|
879 |
<?php _e('Allow Contributors & Subscribers to upload avatars', 'wp-user-avatar'); ?>
|
880 |
</label>
|
881 |
-
<
|
|
|
882 |
<input name="wp_user_avatar_disable_gravatar" type="checkbox" id="wp_user_avatar_disable_gravatar" value="1" <?php checked($wpua_disable_gravatar, 1); ?> />
|
883 |
<?php _e('Disable Gravatar and use only local avatars', 'wp-user-avatar'); ?>
|
884 |
</label>
|
@@ -887,7 +884,7 @@ if(!class_exists('wp_user_avatar')){
|
|
887 |
</tr>
|
888 |
<tr id="wpua-size-limit" valign="top"<?php echo $hide_size; ?>>
|
889 |
<th scope="row">
|
890 |
-
<label for="wp_user_avatar_upload_size_limit"
|
891 |
<?php _e('Upload Size Limit (only for Contributors & Subscribers)', 'wp-user-avatar'); ?>
|
892 |
</label>
|
893 |
</th>
|
@@ -896,9 +893,14 @@ if(!class_exists('wp_user_avatar')){
|
|
896 |
<legend class="screen-reader-text"><span><?php _e('Upload Size Limit (only for Contributors & Subscribers)', 'wp-user-avatar'); ?></span></legend>
|
897 |
<input name="wp_user_avatar_upload_size_limit" type="text" id="wp_user_avatar_upload_size_limit" value="<?php echo $wpua_upload_size_limit; ?>" class="regular-text" />
|
898 |
<span id="wpua-readable-size"><?php echo $wpua_upload_size_limit_with_units; ?></span>
|
899 |
-
<span id="wpua-readable-size-error"><?php printf(__('%s exceeds the maximum upload size for this site.'),
|
900 |
<div id="wpua-slider"></div>
|
901 |
-
|
|
|
|
|
|
|
|
|
|
|
902 |
</fieldset>
|
903 |
</td>
|
904 |
</tr>
|
@@ -952,66 +954,20 @@ if(!class_exists('wp_user_avatar')){
|
|
952 |
<?php submit_button(); ?>
|
953 |
</form>
|
954 |
</div>
|
955 |
-
|
956 |
-
add_action('admin_footer', 'wpua_options_page_scripts');
|
957 |
-
}
|
958 |
-
|
959 |
-
// Admin page scripts
|
960 |
-
function wpua_options_page_scripts(){
|
961 |
-
global $wpua_upload_size_limit;
|
962 |
-
?>
|
963 |
-
<script type="text/javascript">
|
964 |
-
jQuery(function(){
|
965 |
-
// Show size info only if allow uploads is checked
|
966 |
-
jQuery('#wp_user_avatar_allow_upload').change(function(){
|
967 |
-
jQuery('#wpua-size-limit').toggle(jQuery('#wp_user_avatar_allow_upload').is(':checked'));
|
968 |
-
});
|
969 |
-
// Hide Gravatars if disable Gravatars is checked
|
970 |
-
jQuery('#wp_user_avatar_disable_gravatar').change(function(){
|
971 |
-
if(jQuery('#wp-avatars').length){
|
972 |
-
jQuery('#wp-avatars').toggle(!jQuery('#wp_user_avatar_disable_gravatar').is(':checked'));
|
973 |
-
jQuery('#wp_user_avatar_radio').trigger('click');
|
974 |
-
}
|
975 |
-
jQuery('#wpua-message').show();
|
976 |
-
});
|
977 |
-
// Add size slider
|
978 |
-
jQuery('#wpua-slider').slider({
|
979 |
-
value: <?php echo $wpua_upload_size_limit; ?>,
|
980 |
-
min: 0,
|
981 |
-
max: <?php echo wp_max_upload_size(); ?>,
|
982 |
-
step: 1,
|
983 |
-
slide: function(event, ui){
|
984 |
-
jQuery('#wp_user_avatar_upload_size_limit').val(ui.value);
|
985 |
-
jQuery('#wpua-readable-size').html(Math.floor(ui.value / 1024) + 'KB');
|
986 |
-
jQuery('#wpua-readable-size-error').hide();
|
987 |
-
jQuery('#wpua-readable-size').removeClass('wpua-error');
|
988 |
-
}
|
989 |
-
});
|
990 |
-
// Update readable size on keyup
|
991 |
-
jQuery('#wp_user_avatar_upload_size_limit').keyup(function(){
|
992 |
-
var wpua_upload_size_limit = jQuery(this).val();
|
993 |
-
wpua_upload_size_limit = wpua_upload_size_limit.replace(/\D/g, '');
|
994 |
-
jQuery(this).val(wpua_upload_size_limit);
|
995 |
-
jQuery('#wpua-readable-size').html(Math.floor(wpua_upload_size_limit / 1024) + 'KB');
|
996 |
-
jQuery('#wpua-readable-size-error').toggle(wpua_upload_size_limit > <?php echo wp_max_upload_size(); ?>);
|
997 |
-
jQuery('#wpua-readable-size').toggleClass('wpua-error', wpua_upload_size_limit > <?php echo wp_max_upload_size(); ?>);
|
998 |
-
});
|
999 |
-
jQuery('#wp_user_avatar_upload_size_limit').val(jQuery('#wpua-slider').slider('value'));
|
1000 |
-
});
|
1001 |
-
</script>
|
1002 |
-
<?php
|
1003 |
}
|
1004 |
|
1005 |
// Whitelist settings
|
1006 |
function wpua_admin_settings(){
|
|
|
|
|
|
|
|
|
1007 |
register_setting('wpua-settings-group', 'wp_user_avatar_tinymce', 'intval');
|
1008 |
register_setting('wpua-settings-group', 'wp_user_avatar_allow_upload', 'intval');
|
1009 |
register_setting('wpua-settings-group', 'wp_user_avatar_disable_gravatar', 'intval');
|
|
|
1010 |
register_setting('wpua-settings-group', 'wp_user_avatar_upload_size_limit', 'intval');
|
1011 |
-
register_setting('wpua-settings-group', 'show_avatars', 'intval');
|
1012 |
-
register_setting('wpua-settings-group', 'avatar_rating');
|
1013 |
-
register_setting('wpua-settings-group', 'avatar_default');
|
1014 |
-
register_setting('wpua-settings-group', 'avatar_default_wp_user_avatar', 'intval');
|
1015 |
}
|
1016 |
|
1017 |
// Add options page and settings
|
1 |
<?php
|
2 |
/**
|
3 |
* @package WP User Avatar
|
4 |
+
* @version 1.5.4
|
5 |
*/
|
6 |
/*
|
7 |
Plugin Name: WP User Avatar
|
9 |
Description: Use any image from your WordPress Media Library as a custom user avatar. Add your own Default Avatar.
|
10 |
Author: Bangbay Siboliban
|
11 |
Author URI: http://siboliban.org/
|
12 |
+
Version: 1.5.4
|
13 |
Text Domain: wp-user-avatar
|
14 |
Domain Path: /lang/
|
15 |
*/
|
20 |
}
|
21 |
|
22 |
// Define paths and variables
|
23 |
+
define('WPUA_VERSION', ' 1.5.4');
|
24 |
define('WPUA_FOLDER', basename(dirname(__FILE__)));
|
25 |
define('WPUA_ABSPATH', trailingslashit(str_replace('\\', '/', WP_PLUGIN_DIR.'/'.WPUA_FOLDER)));
|
26 |
define('WPUA_URLPATH', trailingslashit(plugins_url(WPUA_FOLDER)));
|
27 |
|
28 |
// Define global variables
|
29 |
$avatar_default = get_option('avatar_default');
|
|
|
30 |
$show_avatars = get_option('show_avatars');
|
|
|
31 |
$wpua_allow_upload = get_option('wp_user_avatar_allow_upload');
|
32 |
+
$wpua_avatar_default = get_option('avatar_default_wp_user_avatar');
|
33 |
$wpua_disable_gravatar = get_option('wp_user_avatar_disable_gravatar');
|
34 |
+
$wpua_edit_avatar = get_option('wp_user_avatar_edit_avatar');
|
35 |
+
$wpua_tinymce = get_option('wp_user_avatar_tinymce');
|
36 |
$mustache_original = WPUA_URLPATH.'images/wp-user-avatar.png';
|
37 |
$mustache_medium = WPUA_URLPATH.'images/wp-user-avatar-300x300.png';
|
38 |
$mustache_thumbnail = WPUA_URLPATH.'images/wp-user-avatar-150x150.png';
|
77 |
}
|
78 |
|
79 |
// Load translations
|
80 |
+
load_plugin_textdomain('wp-user-avatar', "", WPUA_FOLDER.'/lang');
|
81 |
|
82 |
// Initialize default settings
|
83 |
register_activation_hook(WPUA_ABSPATH.'wp-user-avatar.php', 'wpua_options');
|
90 |
add_option('avatar_default_wp_user_avatar', "");
|
91 |
add_option('wp_user_avatar_allow_upload', '0');
|
92 |
add_option('wp_user_avatar_disable_gravatar', '0');
|
93 |
+
add_option('wp_user_avatar_edit_avatar', '1');
|
94 |
add_option('wp_user_avatar_tinymce', '1');
|
95 |
add_option('wp_user_avatar_upload_size_limit', '0');
|
96 |
}
|
161 |
}
|
162 |
add_action('user_edit_form_tag', 'wpua_add_edit_form_multipart_encoding');
|
163 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
164 |
// Check user role
|
165 |
function check_user_role($role, $user_id=null){
|
166 |
global $current_user;
|
171 |
return in_array($role, (array) $user->roles);
|
172 |
}
|
173 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
174 |
// Remove menu items
|
175 |
function wpua_subscriber_remove_menu_pages(){
|
176 |
global $current_user;
|
205 |
|
206 |
// Restrict access to pages
|
207 |
function wpua_subscriber_offlimits(){
|
208 |
+
global $current_user, $pagenow, $wpua_edit_avatar;
|
209 |
+
if((bool) $wpua_edit_avatar == 1){
|
210 |
+
$offlimits = array('edit.php', 'edit-comments.php', 'post-new.php', 'tools.php');
|
211 |
+
} else {
|
212 |
+
$offlimits = array('edit.php', 'edit-comments.php', 'post.php', 'post-new.php', 'tools.php');
|
213 |
+
}
|
214 |
if(check_user_role('subscriber', $current_user->ID)){
|
215 |
if(in_array($pagenow, $offlimits)){
|
216 |
do_action('admin_page_access_denied');
|
221 |
add_action('admin_init', 'wpua_subscriber_offlimits');
|
222 |
}
|
223 |
|
224 |
+
if((bool) $wpua_allow_upload == 1 && (bool) $wpua_edit_avatar == 1){
|
225 |
+
// Give subscribers edit_posts capability
|
226 |
+
function wpua_subscriber_add_cap(){
|
227 |
+
global $blog_id, $wpdb;
|
228 |
+
$wp_user_roles = $wpdb->get_blog_prefix($blog_id).'user_roles';
|
229 |
+
$user_roles = get_option($wp_user_roles);
|
230 |
+
$user_roles['subscriber']['capabilities']['edit_posts'] = true;
|
231 |
+
update_option($wp_user_roles, $user_roles);
|
232 |
+
}
|
233 |
+
add_action('admin_init', 'wpua_subscriber_add_cap');
|
234 |
+
}
|
235 |
+
|
236 |
// Remove subscribers edit_posts capability
|
237 |
function wpua_subscriber_remove_cap(){
|
238 |
global $blog_id, $wpdb;
|
257 |
global $current_screen, $current_user, $pagenow, $show_avatars, $wpua_allow_upload, $wpua_upload_size_limit;
|
258 |
// Add WPUA to profile
|
259 |
if(current_user_can('upload_files') || ((bool) $wpua_allow_upload == 1 && is_user_logged_in())){
|
|
|
|
|
|
|
|
|
260 |
// For themes that use this function
|
261 |
if(!function_exists('get_current_screen')){
|
262 |
require_once(ABSPATH.'wp-admin/includes/screen.php');
|
263 |
}
|
264 |
+
// Profile functions and scripts
|
265 |
+
add_action('show_user_profile', array('wp_user_avatar', 'wpua_action_show_user_profile'));
|
266 |
+
add_action('edit_user_profile', array($this, 'wpua_action_show_user_profile'));
|
267 |
+
add_action('personal_options_update', array($this, 'wpua_action_process_option_update'));
|
268 |
+
add_action('edit_user_profile_update', array($this, 'wpua_action_process_option_update'));
|
269 |
add_action('show_user_profile', array($this, 'wpua_media_upload_scripts'));
|
270 |
add_action('edit_user_profile', array($this, 'wpua_media_upload_scripts'));
|
271 |
+
// Admin scripts
|
272 |
+
if($pagenow == 'options-discussion.php' || ($pagenow == 'options-general.php' && isset($_GET['page']) && $_GET['page'] == 'wp-user-avatar')){
|
273 |
add_action('admin_enqueue_scripts', array($this, 'wpua_media_upload_scripts'));
|
274 |
}
|
275 |
// Prefilter upload size
|
280 |
add_action('admin_menu', 'wpua_admin');
|
281 |
add_filter('plugin_action_links', array($this, 'wpua_plugin_settings_links'), 10, 2);
|
282 |
// Hide column in Users table if default avatars are enabled
|
283 |
+
if((bool) $show_avatars == 0 && is_admin()){
|
284 |
add_filter('manage_users_columns', array($this, 'wpua_add_column'), 10, 1);
|
285 |
add_filter('manage_users_custom_column', array($this, 'wpua_show_column'), 10, 3);
|
286 |
}
|
289 |
|
290 |
// Add to edit user profile
|
291 |
function wpua_action_show_user_profile($user){
|
292 |
+
global $blog_id, $current_user, $post, $show_avatars, $wpdb, $wpua_allow_upload, $wpua_edit_avatar, $wpua_upload_size_limit_with_units;
|
293 |
// Get WPUA attachment ID
|
294 |
$wpua = get_user_meta($user->ID, $wpdb->get_blog_prefix($blog_id).'user_avatar', true);
|
295 |
// Show remove button if WPUA is set
|
325 |
<br />
|
326 |
<?php _e('Allowed Files'); ?>: <?php _e('<code>jpg jpeg png gif</code>'); ?>
|
327 |
</p>
|
328 |
+
<?php elseif((bool) $wpua_edit_avatar == 1 && !current_user_can('upload_files') && has_wp_user_avatar($current_user->ID) && wpua_author($wpua, $current_user->ID)) : // Edit button ?>
|
329 |
<?php $edit_attachment_link = add_query_arg(array('post' => $wpua, 'action' => 'edit'), admin_url('post.php')); ?>
|
330 |
<p><button type="button" class="button" id="wpua-edit" name="wpua-edit" onclick="window.open('<?php echo $edit_attachment_link; ?>', '_self');"><?php _e('Edit Image'); ?></button></p>
|
331 |
<?php endif; ?>
|
346 |
</tr>
|
347 |
</table>
|
348 |
<?php endif; ?>
|
|
|
349 |
<?php
|
350 |
}
|
351 |
|
352 |
// Set upload size limit for users without upload_files capability
|
353 |
function wpua_handle_upload_prefilter($file){
|
354 |
+
global $wpua_upload_size_limit;
|
355 |
$size = $file['size'];
|
356 |
if($size > $wpua_upload_size_limit){
|
357 |
$file['error'] = __('The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form.');
|
469 |
}
|
470 |
|
471 |
// Media uploader
|
472 |
+
function wpua_media_upload_scripts($user=""){
|
473 |
+
global $mustache_admin, $pagenow, $show_avatars, $wpua_upload_size_limit;
|
474 |
wp_enqueue_script('jquery');
|
475 |
if(current_user_can('upload_files')){
|
476 |
wp_enqueue_script('admin-bar');
|
477 |
wp_enqueue_media();
|
478 |
}
|
479 |
+
wp_enqueue_script('wp-user-avatar', WPUA_URLPATH.'js/wp-user-avatar.js', array('jquery'), WPUA_VERSION, true);
|
480 |
wp_enqueue_style('wp-user-avatar', WPUA_URLPATH.'css/wp-user-avatar.css', "", WPUA_VERSION);
|
481 |
+
// Admin scripts
|
482 |
+
if($pagenow == 'options-discussion.php' || ($pagenow == 'options-general.php' && isset($_GET['page']) && $_GET['page'] == 'wp-user-avatar')){
|
483 |
+
// Size limit slider
|
484 |
wp_enqueue_script('jquery-ui-slider');
|
485 |
wp_enqueue_style('wp-user-avatar-jqueryui', WPUA_URLPATH.'css/jquery.ui.slider.css', "", null);
|
486 |
+
// Remove/edit settings
|
487 |
+
$wpua_custom_scripts = array('section' => __('Default Avatar'), 'edit_image' => __('Edit Image'), 'select_image' => __('Select Image'), 'avatar_thumb' => $mustache_admin);
|
488 |
+
wp_localize_script('wp-user-avatar', 'wpua_custom', $wpua_custom_scripts);
|
489 |
+
// Settings control
|
490 |
+
wp_enqueue_script('wp-user-avatar-admin', WPUA_URLPATH.'js/wp-user-avatar-admin.js', array('wp-user-avatar'), WPUA_VERSION, true);
|
491 |
+
$wpua_admin_scripts = array('upload_size_limit' => $wpua_upload_size_limit, 'max_upload_size' => wp_max_upload_size());
|
492 |
+
wp_localize_script('wp-user-avatar-admin', 'wpua_admin', $wpua_admin_scripts);
|
493 |
+
} else {
|
494 |
+
// User remove/edit settings
|
495 |
+
$avatar_medium_src = (bool) $show_avatars == 1 ? wpua_get_avatar_original($user->user_email, 96) : includes_url().'images/blank.gif';
|
496 |
+
$wpua_custom_scripts = array('section' => $user->display_name, 'edit_image' => __('Edit Image'), 'select_image' => __('Select Image'), 'avatar_thumb' => $avatar_medium_src);
|
497 |
+
wp_localize_script('wp-user-avatar', 'wpua_custom', $wpua_custom_scripts);
|
498 |
}
|
499 |
}
|
500 |
}
|
501 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
502 |
// Returns true if user has Gravatar-hosted image
|
503 |
function wpua_has_gravatar($id_or_email, $has_gravatar=false, $user="", $email=""){
|
504 |
global $ssl;
|
533 |
}
|
534 |
|
535 |
// Replace get_avatar only in get_wp_user_avatar
|
536 |
+
function wpua_get_avatar_filter($avatar, $id_or_email="", $size="", $default="", $alt=""){
|
537 |
global $avatar_default, $comment, $mustache_admin, $mustache_avatar, $mustache_medium, $mustache_original, $mustache_thumbnail, $post, $wpua_avatar_default, $wpua_disable_gravatar;
|
538 |
// User has WPUA
|
539 |
if(is_object($id_or_email)){
|
546 |
if(has_wp_user_avatar($id_or_email)){
|
547 |
$avatar = get_wp_user_avatar($id_or_email, $size, $default, $alt);
|
548 |
// User has Gravatar and Gravatar is not disabled
|
549 |
+
} elseif((bool) $wpua_disable_gravatar != 1 && wpua_has_gravatar($id_or_email)){
|
550 |
$avatar = $avatar;
|
551 |
// User doesn't have WPUA or Gravatar and Default Avatar is wp_user_avatar, show custom Default Avatar
|
552 |
} elseif($avatar_default == 'wp_user_avatar'){
|
785 |
$hide_remove = ' class="wpua-hide"';
|
786 |
}
|
787 |
// Default Avatar is wp_user_avatar, check the radio button next to it
|
788 |
+
$selected_avatar = ((bool) $wpua_disable_gravatar == 1 || $avatar_default == 'wp_user_avatar') ? ' checked="checked" ' : "";
|
789 |
// Wrap WPUA in div
|
790 |
$avatar_thumb_img = '<div id="wpua-preview"><img src="'.$avatar_thumb.'" width="32" /></div>';
|
791 |
// Add WPUA to list
|
796 |
$wpua_list .= '<a href="#" id="wpua-remove"'.$hide_remove.'>'.__('Remove').'</a></p>';
|
797 |
$wpua_list .= '<input type="hidden" id="wp-user-avatar" name="avatar_default_wp_user_avatar" value="'.$wpua_avatar_default.'">';
|
798 |
$wpua_list .= '<p id="wpua-message">'.sprintf(__('Click %s to save your changes', 'wp-user-avatar'), '“'.__('Save Changes').'”').'</p>';
|
799 |
+
if((bool) $wpua_disable_gravatar != 1){
|
|
|
800 |
return $wpua_list.'<div id="wp-avatars">'.$avatar_list.'</div>';
|
801 |
} else {
|
802 |
return $wpua_list;
|
846 |
|
847 |
// Admin page
|
848 |
function wpua_options_page(){
|
849 |
+
global $show_avatars, $upload_size_limit_with_units, $wpua_allow_upload, $wpua_disable_gravatar, $wpua_edit_avatar, $wpua_tinymce, $wpua_upload_size_limit, $wpua_upload_size_limit_with_units;
|
850 |
// Give subscribers edit_posts capability
|
851 |
+
if(isset($_GET['settings-updated']) && $_GET['settings-updated'] == 'true' && (empty($wpua_allow_upload) || empty($wpua_edit_avatar))){
|
852 |
wpua_subscriber_remove_cap();
|
853 |
}
|
854 |
+
$hide_size = (bool) $wpua_allow_upload != 1 ? ' class="wpua-hide"' : "";
|
|
|
855 |
?>
|
856 |
<div class="wrap">
|
857 |
<?php screen_icon(); ?>
|
865 |
<td>
|
866 |
<fieldset>
|
867 |
<legend class="screen-reader-text"><span><?php _e('Settings'); ?></span></legend>
|
868 |
+
<label for="wp_user_avatar_tinymce">
|
869 |
<input name="wp_user_avatar_tinymce" type="checkbox" id="wp_user_avatar_tinymce" value="1" <?php checked($wpua_tinymce, 1); ?> />
|
870 |
<?php _e('Add avatar button to Visual Editor', 'wp-user-avatar'); ?>
|
871 |
</label>
|
872 |
+
<br />
|
873 |
+
<label for="wp_user_avatar_allow_upload">
|
874 |
<input name="wp_user_avatar_allow_upload" type="checkbox" id="wp_user_avatar_allow_upload" value="1" <?php checked($wpua_allow_upload, 1); ?> />
|
875 |
<?php _e('Allow Contributors & Subscribers to upload avatars', 'wp-user-avatar'); ?>
|
876 |
</label>
|
877 |
+
<br />
|
878 |
+
<label for="wp_user_avatar_disable_gravatar">
|
879 |
<input name="wp_user_avatar_disable_gravatar" type="checkbox" id="wp_user_avatar_disable_gravatar" value="1" <?php checked($wpua_disable_gravatar, 1); ?> />
|
880 |
<?php _e('Disable Gravatar and use only local avatars', 'wp-user-avatar'); ?>
|
881 |
</label>
|
884 |
</tr>
|
885 |
<tr id="wpua-size-limit" valign="top"<?php echo $hide_size; ?>>
|
886 |
<th scope="row">
|
887 |
+
<label for="wp_user_avatar_upload_size_limit">
|
888 |
<?php _e('Upload Size Limit (only for Contributors & Subscribers)', 'wp-user-avatar'); ?>
|
889 |
</label>
|
890 |
</th>
|
893 |
<legend class="screen-reader-text"><span><?php _e('Upload Size Limit (only for Contributors & Subscribers)', 'wp-user-avatar'); ?></span></legend>
|
894 |
<input name="wp_user_avatar_upload_size_limit" type="text" id="wp_user_avatar_upload_size_limit" value="<?php echo $wpua_upload_size_limit; ?>" class="regular-text" />
|
895 |
<span id="wpua-readable-size"><?php echo $wpua_upload_size_limit_with_units; ?></span>
|
896 |
+
<span id="wpua-readable-size-error"><?php printf(__('%s exceeds the maximum upload size for this site.'), ""); ?></span>
|
897 |
<div id="wpua-slider"></div>
|
898 |
+
<span class="description"><?php printf(__('Maximum upload file size: %d%s.'), esc_html(wp_max_upload_size()), esc_html(' bytes ('.$upload_size_limit_with_units.')')); ?></span>
|
899 |
+
<br />
|
900 |
+
<label for="wp_user_avatar_edit_avatar">
|
901 |
+
<input name="wp_user_avatar_edit_avatar" type="checkbox" id="wp_user_avatar_edit_avatar" value="1" <?php checked($wpua_edit_avatar, 1); ?> />
|
902 |
+
<?php _e('Allow users to edit avatars', 'wp-user-avatar'); ?>
|
903 |
+
</label>
|
904 |
</fieldset>
|
905 |
</td>
|
906 |
</tr>
|
954 |
<?php submit_button(); ?>
|
955 |
</form>
|
956 |
</div>
|
957 |
+
<?php
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
958 |
}
|
959 |
|
960 |
// Whitelist settings
|
961 |
function wpua_admin_settings(){
|
962 |
+
register_setting('wpua-settings-group', 'avatar_rating');
|
963 |
+
register_setting('wpua-settings-group', 'avatar_default');
|
964 |
+
register_setting('wpua-settings-group', 'avatar_default_wp_user_avatar', 'intval');
|
965 |
+
register_setting('wpua-settings-group', 'show_avatars', 'intval');
|
966 |
register_setting('wpua-settings-group', 'wp_user_avatar_tinymce', 'intval');
|
967 |
register_setting('wpua-settings-group', 'wp_user_avatar_allow_upload', 'intval');
|
968 |
register_setting('wpua-settings-group', 'wp_user_avatar_disable_gravatar', 'intval');
|
969 |
+
register_setting('wpua-settings-group', 'wp_user_avatar_edit_avatar', 'intval');
|
970 |
register_setting('wpua-settings-group', 'wp_user_avatar_upload_size_limit', 'intval');
|
|
|
|
|
|
|
|
|
971 |
}
|
972 |
|
973 |
// Add options page and settings
|