Update of /cvsroot/php-blog/additional_plugins/serendipity_event_gravatar
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv4216/serendipity_event_gravatar
Added Files:
serendipity_event_gravatar.php
Log Message:
gravatar plugin
--- NEW FILE: serendipity_event_gravatar.php ---
<?php # $Id: serendipity_event_gravatar.php,v 1.1 2004/11/21 10:19:01 garvinhicking Exp $
switch ($serendipity['lang']) {
case 'de':
@define('PLUGIN_EVENT_GRAVATAR_NAME', 'Gravatar');
@define('PLUGIN_EVENT_GRAVATAR_DESC', 'Avatare bei Kommentaren anzeigen');
@define('PLUGIN_EVENT_GRAVATAR_TRANSFORM', '<a href="http://www.gravatar.com/">Gravatar</a> unterstützt');
@define('PLUGIN_EVENT_GRAVATAR_DEFAULTAVATAR', 'Standard-Avatar');
@define('PLUGIN_EVENT_GRAVATAR_SIZE', 'Bildgröße');
@define('PLUGIN_EVENT_GRAVATAR_BORDER', 'Rahmenfarbe');
@define('PLUGIN_EVENT_GRAVATAR_RATING', 'Indizierung');
@define('PLUGIN_EVENT_GRAVATAR_RATING_G', 'General (G)');
@define('PLUGIN_EVENT_GRAVATAR_RATING_R', 'Restricted (R)');
@define('PLUGIN_EVENT_GRAVATAR_RATING_PG', 'Parental Guidance (PG)');
@define('PLUGIN_EVENT_GRAVATAR_RATING_X', 'Explicit (X)');
@define('PLUGIN_EVENT_GRAVATAR_DEFAULTAVATAR_DESC', 'URL zu ihrem Standard-Avatar?');
@define('PLUGIN_EVENT_GRAVATAR_SIZE_DESC', 'Maximal dargestellte Größe des Avatar-Bildes in Pixeln');
@define('PLUGIN_EVENT_GRAVATAR_RATING_DESC', 'Kinderschutz :)');
@define('PLUGIN_EVENT_GRAVATAR_BORDER_DESC', 'Farbcode (#FF0000) oder Farbname (rot) für einen 1-Pixel Rahmen um das Avatar-Bild');
break;
case 'en':
default:
@define('PLUGIN_EVENT_GRAVATAR_NAME', 'Gravatar');
@define('PLUGIN_EVENT_GRAVATAR_DESC', 'Show avatars inside comments');
@define('PLUGIN_EVENT_GRAVATAR_TRANSFORM', '<a href="http://www.gravatar.com/">Gravatar</a> supported');
@define('PLUGIN_EVENT_GRAVATAR_DEFAULTAVATAR', 'Default Avatar image');
@define('PLUGIN_EVENT_GRAVATAR_SIZE', 'image size');
@define('PLUGIN_EVENT_GRAVATAR_BORDER', 'border color');
@define('PLUGIN_EVENT_GRAVATAR_RATING', 'Rating');
@define('PLUGIN_EVENT_GRAVATAR_RATING_G', 'General (G)');
@define('PLUGIN_EVENT_GRAVATAR_RATING_R', 'Restricted (R)');
@define('PLUGIN_EVENT_GRAVATAR_RATING_PG', 'Parental Guidance (PG)');
@define('PLUGIN_EVENT_GRAVATAR_RATING_X', 'Explicit (X)');
@define('PLUGIN_EVENT_GRAVATAR_DEFAULTAVATAR_DESC', 'What is the URL to your default avatar image?');
@define('PLUGIN_EVENT_GRAVATAR_SIZE_DESC', 'Maximum size of the avatar picture (in pixels)');
@define('PLUGIN_EVENT_GRAVATAR_RATING_DESC', 'Picture Rating');
@define('PLUGIN_EVENT_GRAVATAR_BORDER_DESC', 'color code (#FF0000) or color name (red) to choose a 1-pixel image border for the avatar picture');
break;
}
class serendipity_event_gravatar extends serendipity_event
{
var $title = PLUGIN_EVENT_GRAVATAR_NAME;
function introspect(&$propbag)
{
global $serendipity;
$propbag->add('name', PLUGIN_EVENT_GRAVATAR_NAME);
$propbag->add('description', PLUGIN_EVENT_GRAVATAR_DESC);
$propbag->add('event_hooks', array('frontend_display' => true, 'frontend_comment' => true));
$propbag->add('configuration', array('defaultavatar', 'size', 'rating', 'border'));
}
function introspect_config_item($name, &$propbag)
{
switch($name) {
case 'defaultavatar':
$propbag->add('type', 'string');
$propbag->add('name', PLUGIN_EVENT_GRAVATAR_DEFAULTAVATAR);
$propbag->add('description', PLUGIN_EVENT_GRAVATAR_DEFAULTAVATAR_DESC);
$propbag->add('default', '');
break;
case 'size':
$propbag->add('type', 'string');
$propbag->add('name', PLUGIN_EVENT_GRAVATAR_SIZE);
$propbag->add('description', PLUGIN_EVENT_GRAVATAR_SIZE_DESC);
$propbag->add('default', '40');
break;
case 'border':
$propbag->add('type', 'string');
$propbag->add('name', PLUGIN_EVENT_GRAVATAR_BORDER);
$propbag->add('description', PLUGIN_EVENT_GRAVATAR_BORDER_DESC);
$propbag->add('default', '');
break;
case 'rating':
$propbag->add('type', 'radio');
$propbag->add('name', PLUGIN_EVENT_GRAVATAR_RATING);
$propbag->add('description', PLUGIN_EVENT_GRAVATAR_RATING_DESC);
$propbag->add('radio', array(
'value' => array('G', 'PG', 'R', 'X'),
'desc' => array(PLUGIN_EVENT_GRAVATAR_RATING_G, PLUGIN_EVENT_GRAVATAR_RATING_PG, PLUGIN_EVENT_GRAVATAR_RATING_R, PLUGIN_EVENT_GRAVATAR_RATING_X)
));
$propbag->add('radio_per_row', '1');
$propbag->add('default', 'R');
break;
}
return true;
}
function generate_content(&$title) {
$title = PLUGIN_EVENT_GRAVATAR_NAME;
}
function event_hook($event, &$bag, &$eventData) {
global $serendipity;
$hooks = &$bag->get('event_hooks');
if (isset($hooks[$event])) {
switch($event) {
case 'frontend_display':
if (isset($eventData['comment']) && !empty($eventData['email'])) {
$eventData['comment'] = '<img src="http://www.gravatar.com/avatar.php?'
. 'default=' . urlencode($this->get_config('defaultavatar', ''))
. '&gravatar_id=' . md5($eventData['email'])
. '&size=' . $this->get_config('size', '40')
. '&border=' . $this->get_config('border', '')
. '&rating=' . $this->get_config('rating', 'R') . '" alt="*" title="Gravatar" style="float: right; margin: 2px" />' . $eventData['comment'];
}
return true;
break;
case 'frontend_comment':
echo '<div class="serendipity_commentDirection">' . PLUGIN_EVENT_GRAVATAR_TRANSFORM . '</div>';
return true;
break;
default:
return false;
}
} else {
return false;
}
}
}
/* vim: set sts=4 ts=4 expandtab : */
?>
|