为 Joomla 集成

由于国内使用 joomla 的用户不多,所以并未进行最新版的兼容测试,如果遇到代码异常请通过 Cravatar 支持论坛反馈。

您可以很方便的为 Joomla 集成 Cravatar 头像服务:

defined('_JEXEC') or die;

// 替换 Gravatar 头像为 Cravatar 头像
function get_cravatar_url( $url ) {
    $sources = array(
        'www.gravatar.com',
        '0.gravatar.com',
        '1.gravatar.com',
        '2.gravatar.com',
        'secure.gravatar.com',
        'cn.gravatar.com',
        'gravatar.com',
    );
    return str_replace( $sources, 'cravatar.cn', $url );
}
JPluginHelper::importPlugin('user');
$dispatcher = JEventDispatcher::getInstance();
$dispatcher->register('onFetchUserAvatar', 'get_cravatar_url');

// 替换 Joomla 的默认头像
function set_defaults_for_cravatar( $avatar_defaults ) {
    $avatar_defaults['default'] = 'Cravatar 标志';
    return $avatar_defaults;
}
JPluginHelper::importPlugin('user');
$dispatcher = JEventDispatcher::getInstance();
$dispatcher->register('onFetchUserAvatarDefaults', 'set_defaults_for_cravatar');

// 替换个人资料中的头像上传地址
function set_user_profile_picture_for_cravatar() {
    return '<a href="https://cravatar.com" target="_blank"> 您可以在 Cravatar 修改您的资料图片</a>';
}
JPluginHelper::importPlugin('user');
$dispatcher = JEventDispatcher::getInstance();
$dispatcher->register('onUserProfilePictureDescription', 'set_user_profile_picture_for_cravatar');

文档最后修改于

文派文库团队编撰