X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=libravatar%2Flibravatar.php;h=54594b8899a950c25379829f700de9e816b4457c;hb=2e9b8111fb09fd64d06e28128c0fbafa2a448c03;hp=dd1d613f0d31e7f2fc44f784451116beb3df32bc;hpb=b191d5716c850b5b5b44d46a265a1108b838a320;p=friendica-addons.git diff --git a/libravatar/libravatar.php b/libravatar/libravatar.php index dd1d613f..54594b88 100644 --- a/libravatar/libravatar.php +++ b/libravatar/libravatar.php @@ -5,54 +5,45 @@ * Version: 1.1 * Author: Klaus Weidenbach */ + +use Friendica\App; use Friendica\Core\Addon; -use Friendica\Core\Config; -use Friendica\Core\L10n; +use Friendica\Core\Hook; +use Friendica\Core\Logger; +use Friendica\Core\Renderer; +use Friendica\DI; +use Friendica\Core\Config\Util\ConfigFileManager; /** * Installs the addon hook */ function libravatar_install() { - if (! version_compare(PHP_VERSION, '5.3.0', '>=')) { - info(L10n::t('Could NOT install Libravatar successfully.
It requires PHP >= 5.3') .EOL); - // avoid registering the hook - return false; - } - - Addon::registerHook('avatar_lookup', 'addon/libravatar/libravatar.php', 'libravatar_lookup'); - logger("registered libravatar in avatar_lookup hook"); + 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 addon hook - */ -function libravatar_uninstall() +function libravatar_load_config(ConfigFileManager $loader) { - Addon::unregisterHook('avatar_lookup', 'addon/libravatar/libravatar.php', 'libravatar_lookup'); - logger("unregistered libravatar in avatar_lookup hook"); + DI::app()->getConfigCache()->load($loader->loadAddonConfig('libravatar'), \Friendica\Core\Config\ValueObject\Cache::SOURCE_STATIC); } /** * Looks up the avatar at Libravatar and returns the URL. * - * @param $a array * @param &$b array */ -function libravatar_lookup($a, &$b) +function libravatar_lookup(array &$b) { - $default_avatar = Config::get('libravatar', 'default_img'); - - if (! $default_avatar) { + $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); @@ -65,58 +56,38 @@ function libravatar_lookup($a, &$b) /** * Display admin settings for this addon */ -function libravatar_addon_admin(&$a, &$o) +function libravatar_addon_admin(string &$o) { - $t = get_markup_template("admin.tpl", "addon/libravatar"); - - $default_avatar = Config::get('libravatar', 'default_img'); + $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 = [ - 'mm' => L10n::t('generic profile image'), - 'identicon' => L10n::t('random geometric pattern'), - 'monsterid' => L10n::t('monster face'), - 'wavatar' => L10n::t('computer generated face'), - 'retro' => L10n::t('retro arcade style face'), + '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'), ]; - // Show warning if PHP version is too old - if (! version_compare(PHP_VERSION, '5.3.0', '>=')) { - $o = '
' .L10n::t('Warning') .'

'; - $o .= L10n::t('Your PHP version %s is lower than the required PHP >= 5.3.', PHP_VERSION); - $o .= '
' .L10n::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 = '

' .L10n::t('Information') .'

' .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.') .'



'; + 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, [ - '$submit' => L10n::t('Save Settings'), - '$default_avatar' => ['avatar', L10n::t('Default avatar image'), $default_avatar, L10n::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_addon_admin_post(&$a) +function libravatar_addon_admin_post() { - check_form_security_token('libravatarrsave'); - - $default_avatar = ((x($_POST, 'avatar')) ? notags(trim($_POST['avatar'])) : 'identicon'); - Config::set('libravatar', 'default_img', $default_avatar); - info(L10n::t('Libravatar settings updated.') .EOL); + DI::config()->set('libravatar', 'default_avatar', trim($_POST['avatar'] ?? 'identicon')); }