Version Description
- Fixed issue with avatar sizes.
- Fix: PHP DOMDocument loadHTML not encoding UTF-8 correctly.
- Fixed: Index column size too large.
Download this release
Release Info
Developer | Collizo4sky |
Plugin | WP User Avatar |
Version | 3.2.1 |
Comparing to | |
See all releases |
Code changes from version 3.2.0 to 3.2.1
- changelog.txt +5 -0
- deprecated/wp-user-avatar/includes/class-wp-user-avatar-functions.php +6 -4
- deprecated/wp-user-avatar/includes/wpua-functions.php +5 -5
- languages/wp-user-avatar.pot +6 -6
- readme.txt +6 -1
- src/Classes/UserAvatar.php +14 -9
- src/ContentProtection/Frontend/PostContent.php +3 -1
- src/RegisterActivation/CreateDBTables.php +3 -1
- src/ShortcodeParser/Builder/FrontendProfileBuilder.php +2 -13
- src/ShortcodeParser/Builder/GlobalShortcodes.php +12 -10
- src/Themes/DragDrop/MemberDirectory/DefaultTemplate.php +1 -1
- src/Themes/Shortcode/Userprofile/Daisy.php +1 -1
- vendor/autoload.php +1 -1
- vendor/composer/autoload_real.php +7 -7
- vendor/composer/autoload_static.php +4 -4
- vendor/composer/installed.php +2 -2
- wp-user-avatar.php +2 -2
changelog.txt
CHANGED
@@ -1,5 +1,10 @@
|
|
1 |
== Changelog ==
|
2 |
|
|
|
|
|
|
|
|
|
|
|
3 |
= 3.2.0 =
|
4 |
* Added cover photo uploader to WP edit profile page.
|
5 |
* Added pagination to profile posts.
|
1 |
== Changelog ==
|
2 |
|
3 |
+
= 3.2.1 =
|
4 |
+
* Fixed issue with avatar sizes.
|
5 |
+
* Fix: PHP DOMDocument loadHTML not encoding UTF-8 correctly.
|
6 |
+
* Fixed: Index column size too large.
|
7 |
+
|
8 |
= 3.2.0 =
|
9 |
* Added cover photo uploader to WP edit profile page.
|
10 |
* Added pagination to profile posts.
|
deprecated/wp-user-avatar/includes/class-wp-user-avatar-functions.php
CHANGED
@@ -252,10 +252,11 @@ class WP_User_Avatar_Functions
|
|
252 |
*
|
253 |
* @param int|string $id_or_email
|
254 |
* @param int|string $size
|
|
|
255 |
*
|
256 |
* @return string $avatar
|
257 |
*/
|
258 |
-
public function get_wp_user_avatar($id_or_email, $size = '96')
|
259 |
{
|
260 |
global $all_sizes, $_wp_additional_image_sizes;
|
261 |
|
@@ -272,7 +273,7 @@ class WP_User_Avatar_Functions
|
|
272 |
}
|
273 |
|
274 |
// User with no WPUA uses get_avatar
|
275 |
-
$avatar = get_avatar($id_or_email, $get_size);
|
276 |
// Remove width and height for non-numeric sizes
|
277 |
if (in_array($size, array('original', 'large', 'medium', 'thumbnail'))) {
|
278 |
$avatar = preg_replace('/(width|height)=\"\d*\"\s/', "", $avatar);
|
@@ -299,14 +300,15 @@ class WP_User_Avatar_Functions
|
|
299 |
*
|
300 |
* @param int|string $id_or_email
|
301 |
* @param int|string $size
|
|
|
302 |
*
|
303 |
* @return string
|
304 |
*/
|
305 |
-
public function get_wp_user_avatar_src($id_or_email = "", $size = "")
|
306 |
{
|
307 |
$wpua_image_src = "";
|
308 |
// Gets the avatar img tag
|
309 |
-
$wpua_image = $this->get_wp_user_avatar($id_or_email, $size);
|
310 |
// Takes the img tag, extracts the src
|
311 |
if ( ! empty($wpua_image)) {
|
312 |
$output = preg_match_all('/<img.+src=[\'"]([^\'"]+)[\'"].*>/i', $wpua_image, $matches, PREG_SET_ORDER);
|
252 |
*
|
253 |
* @param int|string $id_or_email
|
254 |
* @param int|string $size
|
255 |
+
* @param bool $original whether to return the full image url regardless of the image size
|
256 |
*
|
257 |
* @return string $avatar
|
258 |
*/
|
259 |
+
public function get_wp_user_avatar($id_or_email, $size = '96', $original = false)
|
260 |
{
|
261 |
global $all_sizes, $_wp_additional_image_sizes;
|
262 |
|
273 |
}
|
274 |
|
275 |
// User with no WPUA uses get_avatar
|
276 |
+
$avatar = get_avatar($id_or_email, $get_size,'','', ['ppress-full' => $original]);
|
277 |
// Remove width and height for non-numeric sizes
|
278 |
if (in_array($size, array('original', 'large', 'medium', 'thumbnail'))) {
|
279 |
$avatar = preg_replace('/(width|height)=\"\d*\"\s/', "", $avatar);
|
300 |
*
|
301 |
* @param int|string $id_or_email
|
302 |
* @param int|string $size
|
303 |
+
* @param bool $original whether to return the image full url
|
304 |
*
|
305 |
* @return string
|
306 |
*/
|
307 |
+
public function get_wp_user_avatar_src($id_or_email = "", $size = "", $original = false)
|
308 |
{
|
309 |
$wpua_image_src = "";
|
310 |
// Gets the avatar img tag
|
311 |
+
$wpua_image = $this->get_wp_user_avatar($id_or_email, $size, $original);
|
312 |
// Takes the img tag, extracts the src
|
313 |
if ( ! empty($wpua_image)) {
|
314 |
$output = preg_match_all('/<img.+src=[\'"]([^\'"]+)[\'"].*>/i', $wpua_image, $matches, PREG_SET_ORDER);
|
deprecated/wp-user-avatar/includes/wpua-functions.php
CHANGED
@@ -1,7 +1,7 @@
|
|
1 |
<?php
|
2 |
/**
|
3 |
* Public user functions.
|
4 |
-
*
|
5 |
*
|
6 |
*
|
7 |
*/
|
@@ -27,9 +27,9 @@ function has_wp_user_avatar($id_or_email="", $has_wpua="", $user="", $user_id=""
|
|
27 |
* @param string $alt
|
28 |
* @return object get_wp_user_avatar()
|
29 |
*/
|
30 |
-
function get_wp_user_avatar($id_or_email, $size="") {
|
31 |
global $wpua_functions;
|
32 |
-
return $wpua_functions->get_wp_user_avatar($id_or_email, $size);
|
33 |
}
|
34 |
|
35 |
/**
|
@@ -39,9 +39,9 @@ function get_wp_user_avatar($id_or_email, $size="") {
|
|
39 |
* @param string $align
|
40 |
* @return object get_wp_user_avatar_src()
|
41 |
*/
|
42 |
-
function get_wp_user_avatar_src($id_or_email="", $size="") {
|
43 |
global $wpua_functions;
|
44 |
-
return $wpua_functions->get_wp_user_avatar_src($id_or_email, $size);
|
45 |
}
|
46 |
|
47 |
/**
|
1 |
<?php
|
2 |
/**
|
3 |
* Public user functions.
|
4 |
+
*
|
5 |
*
|
6 |
*
|
7 |
*/
|
27 |
* @param string $alt
|
28 |
* @return object get_wp_user_avatar()
|
29 |
*/
|
30 |
+
function get_wp_user_avatar($id_or_email, $size="", $original = false) {
|
31 |
global $wpua_functions;
|
32 |
+
return $wpua_functions->get_wp_user_avatar($id_or_email, $size, $original);
|
33 |
}
|
34 |
|
35 |
/**
|
39 |
* @param string $align
|
40 |
* @return object get_wp_user_avatar_src()
|
41 |
*/
|
42 |
+
function get_wp_user_avatar_src($id_or_email="", $size="", $original = false) {
|
43 |
global $wpua_functions;
|
44 |
+
return $wpua_functions->get_wp_user_avatar_src($id_or_email, $size, $original);
|
45 |
}
|
46 |
|
47 |
/**
|
languages/wp-user-avatar.pot
CHANGED
@@ -2,9 +2,9 @@
|
|
2 |
# This file is distributed under the same license as the ProfilePress package.
|
3 |
msgid ""
|
4 |
msgstr ""
|
5 |
-
"Project-Id-Version: ProfilePress 3.2.
|
6 |
"Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/wp-user-avatar\n"
|
7 |
-
"POT-Creation-Date: 2021-10-
|
8 |
"MIME-Version: 1.0\n"
|
9 |
"Content-Type: text/plain; charset=UTF-8\n"
|
10 |
"Content-Transfer-Encoding: 8bit\n"
|
@@ -4443,7 +4443,7 @@ msgstr ""
|
|
4443 |
#: src/ShortcodeParser/Builder/FieldsShortcodeCallback.php:814
|
4444 |
#: src/ShortcodeParser/Builder/FieldsShortcodeCallback.php:873
|
4445 |
#: src/ShortcodeParser/Builder/FieldsShortcodeCallback.php:922
|
4446 |
-
#: src/ShortcodeParser/Builder/FrontendProfileBuilder.php:
|
4447 |
msgid "Field key is missing"
|
4448 |
msgstr ""
|
4449 |
|
@@ -4491,7 +4491,7 @@ msgstr ""
|
|
4491 |
msgid "You have not made any comment."
|
4492 |
msgstr ""
|
4493 |
|
4494 |
-
#: src/ShortcodeParser/Builder/FrontendProfileBuilder.php:
|
4495 |
msgid "No post written yet."
|
4496 |
msgstr ""
|
4497 |
|
@@ -5455,9 +5455,9 @@ msgstr ""
|
|
5455 |
msgid "ProfilePress"
|
5456 |
msgstr ""
|
5457 |
|
5458 |
-
#. #-#-#-#-# wp-user-avatar.pot (ProfilePress 3.2.
|
5459 |
#. Plugin URI of the plugin/theme
|
5460 |
-
#. #-#-#-#-# wp-user-avatar.pot (ProfilePress 3.2.
|
5461 |
#. Author URI of the plugin/theme
|
5462 |
msgid "https://profilepress.net"
|
5463 |
msgstr ""
|
2 |
# This file is distributed under the same license as the ProfilePress package.
|
3 |
msgid ""
|
4 |
msgstr ""
|
5 |
+
"Project-Id-Version: ProfilePress 3.2.1\n"
|
6 |
"Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/wp-user-avatar\n"
|
7 |
+
"POT-Creation-Date: 2021-10-24 13:29:46+00:00\n"
|
8 |
"MIME-Version: 1.0\n"
|
9 |
"Content-Type: text/plain; charset=UTF-8\n"
|
10 |
"Content-Transfer-Encoding: 8bit\n"
|
4443 |
#: src/ShortcodeParser/Builder/FieldsShortcodeCallback.php:814
|
4444 |
#: src/ShortcodeParser/Builder/FieldsShortcodeCallback.php:873
|
4445 |
#: src/ShortcodeParser/Builder/FieldsShortcodeCallback.php:922
|
4446 |
+
#: src/ShortcodeParser/Builder/FrontendProfileBuilder.php:346
|
4447 |
msgid "Field key is missing"
|
4448 |
msgstr ""
|
4449 |
|
4491 |
msgid "You have not made any comment."
|
4492 |
msgstr ""
|
4493 |
|
4494 |
+
#: src/ShortcodeParser/Builder/FrontendProfileBuilder.php:661
|
4495 |
msgid "No post written yet."
|
4496 |
msgstr ""
|
4497 |
|
5455 |
msgid "ProfilePress"
|
5456 |
msgstr ""
|
5457 |
|
5458 |
+
#. #-#-#-#-# wp-user-avatar.pot (ProfilePress 3.2.1) #-#-#-#-#
|
5459 |
#. Plugin URI of the plugin/theme
|
5460 |
+
#. #-#-#-#-# wp-user-avatar.pot (ProfilePress 3.2.1) #-#-#-#-#
|
5461 |
#. Author URI of the plugin/theme
|
5462 |
msgid "https://profilepress.net"
|
5463 |
msgstr ""
|
readme.txt
CHANGED
@@ -5,7 +5,7 @@ Tags: user registration, user profile, registration form, membership, login form
|
|
5 |
Requires at least: 4.7
|
6 |
Requires PHP: 5.6.0
|
7 |
Tested up to: 5.8
|
8 |
-
Stable tag: 3.2.
|
9 |
License: GPLv2 or later
|
10 |
|
11 |
Modern membership plugin for user registration, login form, user profile, member directories & content restriction.
|
@@ -117,6 +117,11 @@ No. You can create and manage your forms, user profiles and member directories w
|
|
117 |
|
118 |
== Changelog ==
|
119 |
|
|
|
|
|
|
|
|
|
|
|
120 |
= 3.2.0 =
|
121 |
* Added cover photo uploader to WP edit profile page.
|
122 |
* Added pagination to profile posts.
|
5 |
Requires at least: 4.7
|
6 |
Requires PHP: 5.6.0
|
7 |
Tested up to: 5.8
|
8 |
+
Stable tag: 3.2.1
|
9 |
License: GPLv2 or later
|
10 |
|
11 |
Modern membership plugin for user registration, login form, user profile, member directories & content restriction.
|
117 |
|
118 |
== Changelog ==
|
119 |
|
120 |
+
= 3.2.1 =
|
121 |
+
* Fixed issue with avatar sizes.
|
122 |
+
* Fix: PHP DOMDocument loadHTML not encoding UTF-8 correctly.
|
123 |
+
* Fixed: Index column size too large.
|
124 |
+
|
125 |
= 3.2.0 =
|
126 |
* Added cover photo uploader to WP edit profile page.
|
127 |
* Added pagination to profile posts.
|
src/Classes/UserAvatar.php
CHANGED
@@ -12,11 +12,13 @@ class UserAvatar
|
|
12 |
|
13 |
$size = apply_filters('ppress_user_avatar_image_size', ppress_var($args, 'size'), $id_or_email);
|
14 |
|
|
|
|
|
15 |
if ( ! empty($size)) $size = absint($size);
|
16 |
|
17 |
if (self::user_has_pp_avatar($id_or_email)) {
|
18 |
|
19 |
-
$args['url'] = self::get_pp_avatar_url($id_or_email, $size);
|
20 |
|
21 |
} else {
|
22 |
/** WP User Avatar Adapter STARTS */
|
@@ -60,7 +62,9 @@ class UserAvatar
|
|
60 |
|
61 |
$class = esc_attr(implode(' ', $class));
|
62 |
|
63 |
-
$
|
|
|
|
|
64 |
}
|
65 |
}
|
66 |
|
@@ -98,7 +102,7 @@ class UserAvatar
|
|
98 |
*
|
99 |
* @return string
|
100 |
*/
|
101 |
-
public static function get_pp_avatar_url($id_or_email, $size = false)
|
102 |
{
|
103 |
$user_id = self::get_avatar_user_id($id_or_email);
|
104 |
|
@@ -116,12 +120,12 @@ class UserAvatar
|
|
116 |
|
117 |
if ( ! empty($attachment_id) && wp_attachment_is_image($attachment_id)) {
|
118 |
|
119 |
-
|
120 |
|
121 |
-
|
122 |
|
123 |
-
|
124 |
-
|
125 |
|
126 |
return wp_get_attachment_url($attachment_id);
|
127 |
}
|
@@ -139,10 +143,11 @@ class UserAvatar
|
|
139 |
* @param string $alt
|
140 |
* @param string $class
|
141 |
* @param string $css_id
|
|
|
142 |
*
|
143 |
* @return mixed
|
144 |
*/
|
145 |
-
public static function get_avatar_img($id_or_email, $size = '96', $alt = '', $class = '', $css_id = '')
|
146 |
{
|
147 |
$alt = esc_attr($alt);
|
148 |
|
@@ -152,7 +157,7 @@ class UserAvatar
|
|
152 |
|
153 |
$size = apply_filters('ppress_user_avatar_image_size', absint($size), $id_or_email);
|
154 |
|
155 |
-
$avatar_url = get_avatar_url($id_or_email, ['size' => $size]);
|
156 |
|
157 |
$alt_attr = ! empty($alt) ? " alt=\"{$alt}\"" : '';
|
158 |
|
12 |
|
13 |
$size = apply_filters('ppress_user_avatar_image_size', ppress_var($args, 'size'), $id_or_email);
|
14 |
|
15 |
+
$original = ppress_var($args, 'ppress-full') === true;
|
16 |
+
|
17 |
if ( ! empty($size)) $size = absint($size);
|
18 |
|
19 |
if (self::user_has_pp_avatar($id_or_email)) {
|
20 |
|
21 |
+
$args['url'] = self::get_pp_avatar_url($id_or_email, $size, $original);
|
22 |
|
23 |
} else {
|
24 |
/** WP User Avatar Adapter STARTS */
|
62 |
|
63 |
$class = esc_attr(implode(' ', $class));
|
64 |
|
65 |
+
$original = ppress_var($args, 'ppress-full') === true;
|
66 |
+
|
67 |
+
$avatar = self::get_avatar_img($id_or_email, $size, $alt, $class, '', $original);
|
68 |
}
|
69 |
}
|
70 |
|
102 |
*
|
103 |
* @return string
|
104 |
*/
|
105 |
+
public static function get_pp_avatar_url($id_or_email, $size = false, $original = false)
|
106 |
{
|
107 |
$user_id = self::get_avatar_user_id($id_or_email);
|
108 |
|
120 |
|
121 |
if ( ! empty($attachment_id) && wp_attachment_is_image($attachment_id)) {
|
122 |
|
123 |
+
if ( ! empty($size) && ! $original) {
|
124 |
|
125 |
+
$size = is_numeric($size) ? [$size, $size] : $size;
|
126 |
|
127 |
+
return ppress_var(wp_get_attachment_image_src($attachment_id, $size), 0);
|
128 |
+
}
|
129 |
|
130 |
return wp_get_attachment_url($attachment_id);
|
131 |
}
|
143 |
* @param string $alt
|
144 |
* @param string $class
|
145 |
* @param string $css_id
|
146 |
+
* @param bool $original
|
147 |
*
|
148 |
* @return mixed
|
149 |
*/
|
150 |
+
public static function get_avatar_img($id_or_email, $size = '96', $alt = '', $class = '', $css_id = '', $original = true)
|
151 |
{
|
152 |
$alt = esc_attr($alt);
|
153 |
|
157 |
|
158 |
$size = apply_filters('ppress_user_avatar_image_size', absint($size), $id_or_email);
|
159 |
|
160 |
+
$avatar_url = get_avatar_url($id_or_email, ['size' => $size, 'ppress-full' => $original]);
|
161 |
|
162 |
$alt_attr = ! empty($alt) ? " alt=\"{$alt}\"" : '';
|
163 |
|
src/ContentProtection/Frontend/PostContent.php
CHANGED
@@ -142,8 +142,10 @@ class PostContent
|
|
142 |
if (class_exists('\DOMDocument')) {
|
143 |
$doc = new \DOMDocument();
|
144 |
$result = $doc->loadHTML($content, LIBXML_HTML_NOIMPLIED | LIBXML_HTML_NODEFDTD);
|
145 |
-
|
|
|
146 |
} else {
|
|
|
147 |
preg_match_all('#<(?!meta|img|br|hr|input\b)\b([a-z]+)(?: .*)?(?<![/|/ ])>#iU', $content, $result);
|
148 |
$openedtags = $result[1];
|
149 |
preg_match_all('#</([a-z]+)>#iU', $content, $result);
|
142 |
if (class_exists('\DOMDocument')) {
|
143 |
$doc = new \DOMDocument();
|
144 |
$result = $doc->loadHTML($content, LIBXML_HTML_NOIMPLIED | LIBXML_HTML_NODEFDTD);
|
145 |
+
/** @see https://stackoverflow.com/a/20675396/2648410 */
|
146 |
+
if ($result) utf8_decode($doc->saveHTML($doc->documentElement));
|
147 |
} else {
|
148 |
+
/** @see https://stackoverflow.com/a/3810341/2648410 */
|
149 |
preg_match_all('#<(?!meta|img|br|hr|input\b)\b([a-z]+)(?: .*)?(?<![/|/ ])>#iU', $content, $result);
|
150 |
$openedtags = $result[1];
|
151 |
preg_match_all('#</([a-z]+)>#iU', $content, $result);
|
src/RegisterActivation/CreateDBTables.php
CHANGED
@@ -31,6 +31,8 @@ class CreateDBTables
|
|
31 |
KEY form_id (form_id)
|
32 |
) $collate;
|
33 |
";
|
|
|
|
|
34 |
$sqls[] = "CREATE TABLE IF NOT EXISTS $forms_meta_table (
|
35 |
meta_id bigint(20) unsigned NOT NULL AUTO_INCREMENT,
|
36 |
form_id bigint(20) NOT NULL,
|
@@ -40,7 +42,7 @@ class CreateDBTables
|
|
40 |
PRIMARY KEY (meta_id),
|
41 |
KEY form_id (form_id),
|
42 |
KEY form_type (form_type),
|
43 |
-
KEY meta_key (meta_key)
|
44 |
) $collate;
|
45 |
";
|
46 |
$sqls[] = "CREATE TABLE IF NOT EXISTS $meta_data_table (
|
31 |
KEY form_id (form_id)
|
32 |
) $collate;
|
33 |
";
|
34 |
+
// max index length is 191 to avoid this error "Index column size too large. The maximum column size is 767 bytes."
|
35 |
+
// @see wp_get_db_schema()
|
36 |
$sqls[] = "CREATE TABLE IF NOT EXISTS $forms_meta_table (
|
37 |
meta_id bigint(20) unsigned NOT NULL AUTO_INCREMENT,
|
38 |
form_id bigint(20) NOT NULL,
|
42 |
PRIMARY KEY (meta_id),
|
43 |
KEY form_id (form_id),
|
44 |
KEY form_type (form_type),
|
45 |
+
KEY meta_key (meta_key(191))
|
46 |
) $collate;
|
47 |
";
|
48 |
$sqls[] = "CREATE TABLE IF NOT EXISTS $meta_data_table (
|
src/ShortcodeParser/Builder/FrontendProfileBuilder.php
CHANGED
@@ -220,24 +220,13 @@ class FrontendProfileBuilder
|
|
220 |
/**
|
221 |
* Return user avatar image url
|
222 |
*
|
223 |
-
* @param array $atts shortcode attributes
|
224 |
-
*
|
225 |
* @return string image url
|
226 |
*/
|
227 |
-
public function user_avatar_url(
|
228 |
{
|
229 |
-
$atts = shortcode_atts(
|
230 |
-
array(
|
231 |
-
'size' => '400',
|
232 |
-
'url' => '',
|
233 |
-
),
|
234 |
-
$atts
|
235 |
-
);
|
236 |
-
|
237 |
$user_id = self::$user_data->ID;
|
238 |
-
$size = absint($atts['size']);
|
239 |
|
240 |
-
return apply_filters('ppress_profile_avatar_url', get_avatar_url($user_id,
|
241 |
}
|
242 |
|
243 |
/**
|
220 |
/**
|
221 |
* Return user avatar image url
|
222 |
*
|
|
|
|
|
223 |
* @return string image url
|
224 |
*/
|
225 |
+
public function user_avatar_url()
|
226 |
{
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
227 |
$user_id = self::$user_data->ID;
|
|
|
228 |
|
229 |
+
return apply_filters('ppress_profile_avatar_url', get_avatar_url($user_id, ['ppress-full' => true]), self::$user_data);
|
230 |
}
|
231 |
|
232 |
/**
|
src/ShortcodeParser/Builder/GlobalShortcodes.php
CHANGED
@@ -339,19 +339,21 @@ class GlobalShortcodes
|
|
339 |
{
|
340 |
$atts = shortcode_atts(
|
341 |
array(
|
342 |
-
'user'
|
343 |
-
'class'
|
344 |
-
'id'
|
345 |
-
'size'
|
346 |
-
'alt'
|
|
|
347 |
),
|
348 |
$atts
|
349 |
);
|
350 |
|
351 |
-
$class
|
352 |
-
$id
|
353 |
-
$size
|
354 |
-
$alt
|
|
|
355 |
|
356 |
$user_id = self::$current_user->ID;
|
357 |
|
@@ -364,7 +366,7 @@ class GlobalShortcodes
|
|
364 |
}
|
365 |
}
|
366 |
|
367 |
-
return UserAvatar::get_avatar_img($user_id, $size, $alt, $class, $id);
|
368 |
}
|
369 |
|
370 |
public static function user_cover_image($atts)
|
339 |
{
|
340 |
$atts = shortcode_atts(
|
341 |
array(
|
342 |
+
'user' => '',
|
343 |
+
'class' => '',
|
344 |
+
'id' => '',
|
345 |
+
'size' => 300,
|
346 |
+
'alt' => '',
|
347 |
+
'original' => false,
|
348 |
),
|
349 |
$atts
|
350 |
);
|
351 |
|
352 |
+
$class = $atts['class'];
|
353 |
+
$id = $atts['id'];
|
354 |
+
$size = absint($atts['size']);
|
355 |
+
$alt = $atts['alt'];
|
356 |
+
$original = in_array($atts['original'], ['true', true], true);
|
357 |
|
358 |
$user_id = self::$current_user->ID;
|
359 |
|
366 |
}
|
367 |
}
|
368 |
|
369 |
+
return UserAvatar::get_avatar_img($user_id, $size, $alt, $class, $id, $original);
|
370 |
}
|
371 |
|
372 |
public static function user_cover_image($atts)
|
src/Themes/DragDrop/MemberDirectory/DefaultTemplate.php
CHANGED
@@ -176,7 +176,7 @@ class DefaultTemplate extends AbstractMemberDirectoryTheme
|
|
176 |
<?php if ($profile_picture_enabled) : ?>
|
177 |
<div class="ppmd-member-photo">
|
178 |
<a href="<?= $profile_url ?>" title="<?= $display_name ?>">
|
179 |
-
[pp-user-avatar user="<?= $user->ID ?>" size=40]
|
180 |
</a>
|
181 |
</div>
|
182 |
<?php endif; ?>
|
176 |
<?php if ($profile_picture_enabled) : ?>
|
177 |
<div class="ppmd-member-photo">
|
178 |
<a href="<?= $profile_url ?>" title="<?= $display_name ?>">
|
179 |
+
[pp-user-avatar user="<?= $user->ID ?>" size=40 original=true]
|
180 |
</a>
|
181 |
</div>
|
182 |
<?php endif; ?>
|
src/Themes/Shortcode/Userprofile/Daisy.php
CHANGED
@@ -18,7 +18,7 @@ class Daisy implements ThemeInterface
|
|
18 |
<div class="daisy-container">
|
19 |
<div class="daisy-small-col-4">
|
20 |
<div class="daisy-profile-image">
|
21 |
-
<img src="[profile-avatar-url
|
22 |
</div>
|
23 |
|
24 |
<div class="daisy-user-details">
|
18 |
<div class="daisy-container">
|
19 |
<div class="daisy-small-col-4">
|
20 |
<div class="daisy-profile-image">
|
21 |
+
<img src="[profile-avatar-url]"/>
|
22 |
</div>
|
23 |
|
24 |
<div class="daisy-user-details">
|
vendor/autoload.php
CHANGED
@@ -4,4 +4,4 @@
|
|
4 |
|
5 |
require_once __DIR__ . '/composer/autoload_real.php';
|
6 |
|
7 |
-
return
|
4 |
|
5 |
require_once __DIR__ . '/composer/autoload_real.php';
|
6 |
|
7 |
+
return ComposerAutoloaderInit61f4025cadd89a101fb83ed1a8f0fcd8::getLoader();
|
vendor/composer/autoload_real.php
CHANGED
@@ -2,7 +2,7 @@
|
|
2 |
|
3 |
// autoload_real.php @generated by Composer
|
4 |
|
5 |
-
class
|
6 |
{
|
7 |
private static $loader;
|
8 |
|
@@ -24,15 +24,15 @@ class ComposerAutoloaderInit52ac8a595111d6552403619c00857029
|
|
24 |
|
25 |
require __DIR__ . '/platform_check.php';
|
26 |
|
27 |
-
spl_autoload_register(array('
|
28 |
self::$loader = $loader = new \Composer\Autoload\ClassLoader(\dirname(\dirname(__FILE__)));
|
29 |
-
spl_autoload_unregister(array('
|
30 |
|
31 |
$useStaticLoader = PHP_VERSION_ID >= 50600 && !defined('HHVM_VERSION') && (!function_exists('zend_loader_file_encoded') || !zend_loader_file_encoded());
|
32 |
if ($useStaticLoader) {
|
33 |
require __DIR__ . '/autoload_static.php';
|
34 |
|
35 |
-
call_user_func(\Composer\Autoload\
|
36 |
} else {
|
37 |
$map = require __DIR__ . '/autoload_namespaces.php';
|
38 |
foreach ($map as $namespace => $path) {
|
@@ -53,19 +53,19 @@ class ComposerAutoloaderInit52ac8a595111d6552403619c00857029
|
|
53 |
$loader->register(true);
|
54 |
|
55 |
if ($useStaticLoader) {
|
56 |
-
$includeFiles = Composer\Autoload\
|
57 |
} else {
|
58 |
$includeFiles = require __DIR__ . '/autoload_files.php';
|
59 |
}
|
60 |
foreach ($includeFiles as $fileIdentifier => $file) {
|
61 |
-
|
62 |
}
|
63 |
|
64 |
return $loader;
|
65 |
}
|
66 |
}
|
67 |
|
68 |
-
function
|
69 |
{
|
70 |
if (empty($GLOBALS['__composer_autoload_files'][$fileIdentifier])) {
|
71 |
require $file;
|
2 |
|
3 |
// autoload_real.php @generated by Composer
|
4 |
|
5 |
+
class ComposerAutoloaderInit61f4025cadd89a101fb83ed1a8f0fcd8
|
6 |
{
|
7 |
private static $loader;
|
8 |
|
24 |
|
25 |
require __DIR__ . '/platform_check.php';
|
26 |
|
27 |
+
spl_autoload_register(array('ComposerAutoloaderInit61f4025cadd89a101fb83ed1a8f0fcd8', 'loadClassLoader'), true, true);
|
28 |
self::$loader = $loader = new \Composer\Autoload\ClassLoader(\dirname(\dirname(__FILE__)));
|
29 |
+
spl_autoload_unregister(array('ComposerAutoloaderInit61f4025cadd89a101fb83ed1a8f0fcd8', 'loadClassLoader'));
|
30 |
|
31 |
$useStaticLoader = PHP_VERSION_ID >= 50600 && !defined('HHVM_VERSION') && (!function_exists('zend_loader_file_encoded') || !zend_loader_file_encoded());
|
32 |
if ($useStaticLoader) {
|
33 |
require __DIR__ . '/autoload_static.php';
|
34 |
|
35 |
+
call_user_func(\Composer\Autoload\ComposerStaticInit61f4025cadd89a101fb83ed1a8f0fcd8::getInitializer($loader));
|
36 |
} else {
|
37 |
$map = require __DIR__ . '/autoload_namespaces.php';
|
38 |
foreach ($map as $namespace => $path) {
|
53 |
$loader->register(true);
|
54 |
|
55 |
if ($useStaticLoader) {
|
56 |
+
$includeFiles = Composer\Autoload\ComposerStaticInit61f4025cadd89a101fb83ed1a8f0fcd8::$files;
|
57 |
} else {
|
58 |
$includeFiles = require __DIR__ . '/autoload_files.php';
|
59 |
}
|
60 |
foreach ($includeFiles as $fileIdentifier => $file) {
|
61 |
+
composerRequire61f4025cadd89a101fb83ed1a8f0fcd8($fileIdentifier, $file);
|
62 |
}
|
63 |
|
64 |
return $loader;
|
65 |
}
|
66 |
}
|
67 |
|
68 |
+
function composerRequire61f4025cadd89a101fb83ed1a8f0fcd8($fileIdentifier, $file)
|
69 |
{
|
70 |
if (empty($GLOBALS['__composer_autoload_files'][$fileIdentifier])) {
|
71 |
require $file;
|
vendor/composer/autoload_static.php
CHANGED
@@ -4,7 +4,7 @@
|
|
4 |
|
5 |
namespace Composer\Autoload;
|
6 |
|
7 |
-
class
|
8 |
{
|
9 |
public static $files = array (
|
10 |
'fda73876e8be17735f680f484cec1679' => __DIR__ . '/../..' . '/src/Functions/custom-settings-api.php',
|
@@ -286,9 +286,9 @@ class ComposerStaticInit52ac8a595111d6552403619c00857029
|
|
286 |
public static function getInitializer(ClassLoader $loader)
|
287 |
{
|
288 |
return \Closure::bind(function () use ($loader) {
|
289 |
-
$loader->prefixLengthsPsr4 =
|
290 |
-
$loader->prefixDirsPsr4 =
|
291 |
-
$loader->classMap =
|
292 |
|
293 |
}, null, ClassLoader::class);
|
294 |
}
|
4 |
|
5 |
namespace Composer\Autoload;
|
6 |
|
7 |
+
class ComposerStaticInit61f4025cadd89a101fb83ed1a8f0fcd8
|
8 |
{
|
9 |
public static $files = array (
|
10 |
'fda73876e8be17735f680f484cec1679' => __DIR__ . '/../..' . '/src/Functions/custom-settings-api.php',
|
286 |
public static function getInitializer(ClassLoader $loader)
|
287 |
{
|
288 |
return \Closure::bind(function () use ($loader) {
|
289 |
+
$loader->prefixLengthsPsr4 = ComposerStaticInit61f4025cadd89a101fb83ed1a8f0fcd8::$prefixLengthsPsr4;
|
290 |
+
$loader->prefixDirsPsr4 = ComposerStaticInit61f4025cadd89a101fb83ed1a8f0fcd8::$prefixDirsPsr4;
|
291 |
+
$loader->classMap = ComposerStaticInit61f4025cadd89a101fb83ed1a8f0fcd8::$classMap;
|
292 |
|
293 |
}, null, ClassLoader::class);
|
294 |
}
|
vendor/composer/installed.php
CHANGED
@@ -5,7 +5,7 @@
|
|
5 |
'type' => 'library',
|
6 |
'install_path' => __DIR__ . '/../../',
|
7 |
'aliases' => array(),
|
8 |
-
'reference' => '
|
9 |
'name' => '__root__',
|
10 |
'dev' => false,
|
11 |
),
|
@@ -16,7 +16,7 @@
|
|
16 |
'type' => 'library',
|
17 |
'install_path' => __DIR__ . '/../../',
|
18 |
'aliases' => array(),
|
19 |
-
'reference' => '
|
20 |
'dev_requirement' => false,
|
21 |
),
|
22 |
'collizo4sky/persist-admin-notices-dismissal' => array(
|
5 |
'type' => 'library',
|
6 |
'install_path' => __DIR__ . '/../../',
|
7 |
'aliases' => array(),
|
8 |
+
'reference' => 'f5f1c1d77dba68391f73c0b09eb1a69d8a36c6a5',
|
9 |
'name' => '__root__',
|
10 |
'dev' => false,
|
11 |
),
|
16 |
'type' => 'library',
|
17 |
'install_path' => __DIR__ . '/../../',
|
18 |
'aliases' => array(),
|
19 |
+
'reference' => 'f5f1c1d77dba68391f73c0b09eb1a69d8a36c6a5',
|
20 |
'dev_requirement' => false,
|
21 |
),
|
22 |
'collizo4sky/persist-admin-notices-dismissal' => array(
|
wp-user-avatar.php
CHANGED
@@ -3,7 +3,7 @@
|
|
3 |
* Plugin Name: ProfilePress
|
4 |
* Plugin URI: https://profilepress.net
|
5 |
* Description: The modern WordPress membership and user profile plugin.
|
6 |
-
* Version: 3.2.
|
7 |
* Author: ProfilePress Team
|
8 |
* Author URI: https://profilepress.net
|
9 |
* Text Domain: wp-user-avatar
|
@@ -14,7 +14,7 @@
|
|
14 |
defined('ABSPATH') or die("No script kiddies please!");
|
15 |
|
16 |
define('PROFILEPRESS_SYSTEM_FILE_PATH', __FILE__);
|
17 |
-
define('PPRESS_VERSION_NUMBER', '3.2.
|
18 |
|
19 |
require __DIR__ . '/vendor/autoload.php';
|
20 |
|
3 |
* Plugin Name: ProfilePress
|
4 |
* Plugin URI: https://profilepress.net
|
5 |
* Description: The modern WordPress membership and user profile plugin.
|
6 |
+
* Version: 3.2.1
|
7 |
* Author: ProfilePress Team
|
8 |
* Author URI: https://profilepress.net
|
9 |
* Text Domain: wp-user-avatar
|
14 |
defined('ABSPATH') or die("No script kiddies please!");
|
15 |
|
16 |
define('PROFILEPRESS_SYSTEM_FILE_PATH', __FILE__);
|
17 |
+
define('PPRESS_VERSION_NUMBER', '3.2.1');
|
18 |
|
19 |
require __DIR__ . '/vendor/autoload.php';
|
20 |
|