X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;ds=sidebyside;f=libravatar%2Flibravatar.php;h=1ddeccd42a17435828b80d0e591858dbdfd06729;hb=795eb1bb367dd687ac4b94d3fb9bf86856db356b;hp=4b87799fd962ff2d9c779f7e9029e6b851b258d2;hpb=42eefed6e68d241bd8bdf9eceea96abc445a9cac;p=friendica-addons.git diff --git a/libravatar/libravatar.php b/libravatar/libravatar.php index 4b87799f..1ddeccd4 100644 --- a/libravatar/libravatar.php +++ b/libravatar/libravatar.php @@ -1,34 +1,32 @@ = 5.3) + * Description: If there is no avatar image for a new user or contact this addon will look for one at Libravatar. Please disable Gravatar addon if you use this one. (requires PHP >= 5.3) * Version: 1.1 * Author: Klaus Weidenbach */ -use Friendica\Core\Config; +use Friendica\App; +use Friendica\Core\Addon; +use Friendica\Core\Hook; +use Friendica\Core\Logger; +use Friendica\Core\Renderer; +use Friendica\DI; +use Friendica\Core\Config\Util\ConfigFileLoader; /** - * Installs the plugin hook + * Installs the addon hook */ -function libravatar_install() { - if (! version_compare(PHP_VERSION, '5.3.0', '>=')) { - info(t('Could NOT install Libravatar successfully.
It requires PHP >= 5.3') .EOL); - // avoid registering the hook - return false; - } - register_hook('avatar_lookup', 'addon/libravatar/libravatar.php', 'libravatar_lookup'); - - logger("registered libravatar in avatar_lookup hook"); +function libravatar_install() +{ + Hook::register('load_config', 'addon/libravatar/libravatar.php', 'libravatar_load_config'); + Hook::register('avatar_lookup', 'addon/libravatar/libravatar.php', 'libravatar_lookup'); + Logger::notice("registered libravatar in avatar_lookup hook"); } -/** - * Removes the plugin hook - */ -function libravatar_uninstall() { - unregister_hook('avatar_lookup', 'addon/libravatar/libravatar.php', 'libravatar_lookup'); - - logger("unregistered libravatar in avatar_lookup hook"); +function libravatar_load_config(App $a, ConfigFileLoader $loader) +{ + $a->getConfigCache()->load($loader->loadAddonConfig('libravatar')); } /** @@ -37,18 +35,16 @@ function libravatar_uninstall() { * @param $a array * @param &$b array */ -function libravatar_lookup($a, &$b) { - $default_avatar = Config::get('libravatar', 'default_img'); - - if (! $default_avatar) { +function libravatar_lookup(array $a, array &$b) +{ + $default_avatar = DI::config()->get('libravatar', 'default_avatar'); + if (empty($default_avatar)) { // if not set, look up if there was one from the gravatar addon - $default_avatar = Config::get('gravatar', 'default_img'); - // setting default avatar if nothing configured - if (! $default_avatar) - $default_avatar = 'identicon'; // default image will be a random pattern + $default_avatar = DI::config()->get('gravatar', 'default_avatar', 'identicon'); } require_once 'Services/Libravatar.php'; + $libravatar = new Services_Libravatar(); $libravatar->setSize($b['size']); $libravatar->setDefault($default_avatar); @@ -61,56 +57,38 @@ function libravatar_lookup($a, &$b) { /** * Display admin settings for this addon */ -function libravatar_plugin_admin (&$a, &$o) { - $t = get_markup_template( "admin.tpl", "addon/libravatar" ); - - $default_avatar = Config::get('libravatar', 'default_img'); +function libravatar_addon_admin(App $a, string &$o) +{ + $t = Renderer::getMarkupTemplate('admin.tpl', 'addon/libravatar'); - // set default values for first configuration - if(! $default_avatar) - $default_avatar = 'identicon'; // pseudo-random geometric pattern based on email hash + $default_avatar = DI::config()->get('libravatar', 'default_avatar', 'identicon'); // Available options for the select boxes - $default_avatars = array( - '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'), - ); - - // Show warning if PHP version is too old - if (! version_compare(PHP_VERSION, '5.3.0', '>=')) { - $o = '
' .t('Warning') .'

'; - $o .= sprintf(t('Your PHP version %s is lower than the required PHP >= 5.3.'), PHP_VERSION); - $o .= '
' .t('This addon is not functional on your server.') .'


'; - return; - } - - // Libravatar falls back to gravatar, so show warning about gravatar addon if enabled - $r = q("SELECT * FROM `addon` WHERE `name` = '%s' and `installed` = 1", - dbesc('gravatar') - ); - if (count($r)) { - $o = '

' .t('Information') .'

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



'; + $default_avatars = [ + 'mm' => DI::l10n()->t('generic profile image'), + 'identicon' => DI::l10n()->t('random geometric pattern'), + 'monsterid' => DI::l10n()->t('monster face'), + 'wavatar' => DI::l10n()->t('computer generated face'), + 'retro' => DI::l10n()->t('retro arcade style face'), + 'robohash' => DI::l10n()->t('roboter face'), + 'pagan' => DI::l10n()->t('retro adventure game character'), + ]; + + if (Addon::isEnabled('gravatar')) { + $o = '
' .DI::l10n()->t('Information') .'

' .DI::l10n()->t('Gravatar addon is installed. Please disable the Gravatar addon.
The Libravatar addon will fall back to Gravatar if nothing was found at Libravatar.') .'



'; } // output Libravatar settings - $o .= ''; - $o .= replace_macros( $t, array( - '$submit' => t('Save Settings'), - '$default_avatar' => array('avatar', t('Default avatar image'), $default_avatar, t('Select default avatar image if none was found. See README'), $default_avatars), - )); + $o .= Renderer::replaceMacros( $t, [ + '$submit' => DI::l10n()->t('Save Settings'), + '$default_avatar' => ['avatar', DI::l10n()->t('Default avatar image'), $default_avatar, DI::l10n()->t('Select default avatar image if none was found. See README'), $default_avatars], + ]); } /** * Save admin settings */ -function libravatar_plugin_admin_post (&$a) { - check_form_security_token('libravatarrsave'); - - $default_avatar = ((x($_POST, 'avatar')) ? notags(trim($_POST['avatar'])) : 'identicon'); - Config::set('libravatar', 'default_img', $default_avatar); - info(t('Libravatar settings updated.') .EOL); +function libravatar_addon_admin_post(App $a) +{ + DI::config()->set('libravatar', 'default_avatar', trim($_POST['avatar'] ?? 'identicon')); } -?>