X-Git-Url: https://git.mxchange.org/?p=friendica-addons.git;a=blobdiff_plain;f=gravatar%2Fgravatar.php;h=e38fb613609665826038316dc4e7e1b8b5b10441;hp=b9435a317d16c06bfc2809a276f52d648c1cd0ff;hb=27b60e003f92dd9f3aebbeddb34ebb905488ca82;hpb=7d411b007023be591895ae1564952f08fb273ad4 diff --git a/gravatar/gravatar.php b/gravatar/gravatar.php index b9435a31..e38fb613 100644 --- a/gravatar/gravatar.php +++ b/gravatar/gravatar.php @@ -2,17 +2,19 @@ /** * Name: Gravatar Support * Description: If there is no avatar image for a new user or contact this plugin will look for one at Gravatar. - * Version: 1.0 + * Version: 1.1 * Author: Klaus Weidenbach */ +use Friendica\Core\Config; + /** * Installs the plugin hook */ function gravatar_install() { register_hook('avatar_lookup', 'addon/gravatar/gravatar.php', 'gravatar_lookup'); - logger("installed gravatar"); + logger("registered gravatar in avatar_lookup hook"); } /** @@ -21,7 +23,7 @@ function gravatar_install() { function gravatar_uninstall() { unregister_hook('avatar_lookup', 'addon/gravatar/gravatar.php', 'gravatar_lookup'); - logger("uninstalled gravatar"); + logger("unregistered gravatar in avatar_lookup hook"); } /** @@ -31,8 +33,8 @@ function gravatar_uninstall() { * @param &$b array */ function gravatar_lookup($a, &$b) { - $default_avatar = get_config('gravatar', 'default_img'); - $rating = get_config('gravatar', 'rating'); + $default_avatar = Config::get('gravatar', 'default_img'); + $rating = Config::get('gravatar', 'rating'); // setting default value if nothing configured if(! $default_avatar) @@ -42,12 +44,12 @@ function gravatar_lookup($a, &$b) { $hash = md5(trim(strtolower($b['email']))); - $url = 'http://www.gravatar.com/avatar/' .$hash .'.jpg'; + $url = 'https://secure.gravatar.com/avatar/' .$hash .'.jpg'; $url .= '?s=' .$b['size'] .'&r=' .$rating; if ($default_avatar != "gravatar") $url .= '&d=' .$default_avatar; - $b['url'] = $url; + $b['url'] = $url; $b['success'] = true; } @@ -55,10 +57,10 @@ function gravatar_lookup($a, &$b) { * Display admin settings for this addon */ function gravatar_plugin_admin (&$a, &$o) { - $t = file_get_contents( dirname(__file__)."/admin.tpl"); + $t = get_markup_template( "admin.tpl", "addon/gravatar/" ); - $default_avatar = get_config('gravatar', 'default_img'); - $rating = get_config('gravatar', 'rating'); + $default_avatar = Config::get('gravatar', 'default_img'); + $rating = Config::get('gravatar', 'rating'); // set default values for first configuration if(! $default_avatar) @@ -67,26 +69,35 @@ function gravatar_plugin_admin (&$a, &$o) { $rating = 'g'; // suitable for display on all websites with any audience type // Available options for the select boxes - $default_avatars = array( + $default_avatars = [ 'mm' => t('generic profile image'), 'identicon' => t('random geometric pattern'), 'monsterid' => t('monster face'), 'wavatar' => t('computer generated face'), 'retro' => t('retro arcade style face'), - ); - $ratings = array( + ]; + $ratings = [ 'g' => 'g', 'pg' => 'pg', 'r' => 'r', 'x' => 'x' - ); + ]; - $o = ''; - $o .= replace_macros( $t, array( - '$submit' => t('Submit'), - '$default_avatar' => array('avatar', t('Default avatar image'), $default_avatar, t('Select default avatar image if none was found at Gravatar. See README'), $default_avatars), - '$rating' => array('rating', t('Rating of images'), $rating, t('Select the appropriate avatar rating for your site. See README'), $ratings), - )); + // Check if Libravatar is enabled and show warning + $r = q("SELECT * FROM `addon` WHERE `name` = '%s' and `installed` = 1", + dbesc('libravatar') + ); + if (count($r)) { + $o = '
' .t('Information') .'

' .t('Libravatar addon is installed, too. Please disable Libravatar addon or this Gravatar addon.
The Libravatar addon will fall back to Gravatar if nothing was found at Libravatar.') .'



'; + } + + // output Gravatar settings + $o .= ''; + $o .= replace_macros( $t, [ + '$submit' => t('Save Settings'), + '$default_avatar' => ['avatar', t('Default avatar image'), $default_avatar, t('Select default avatar image if none was found at Gravatar. See README'), $default_avatars], + '$rating' => ['rating', t('Rating of images'), $rating, t('Select the appropriate avatar rating for your site. See README'), $ratings], + ]); } /** @@ -97,8 +108,8 @@ function gravatar_plugin_admin_post (&$a) { $default_avatar = ((x($_POST, 'avatar')) ? notags(trim($_POST['avatar'])) : 'identicon'); $rating = ((x($_POST, 'rating')) ? notags(trim($_POST['rating'])) : 'g'); - set_config('gravatar', 'default_img', $default_avatar); - set_config('gravatar', 'rating', $rating); + Config::set('gravatar', 'default_img', $default_avatar); + Config::set('gravatar', 'rating', $rating); info( t('Gravatar settings updated.') .EOL); } ?>