⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 serendipity_event_mailer.php

📁 中国源码站下载
💻 PHP
字号:
<?php # $Id: serendipity_event_mailer.php,v 1.3 2004/04/03 17:36:17 isotopp Exp $

/*******************************************************汉化作者:youngong(http://youngong.blogbus.com)       **官方主页:http://www.s9y.corg                        **我的信箱:youngong@163.com                           **如果有问题,欢迎和作者及汉化作者联系。                ********************************************************/

switch ($serendipity['lang']) {
    case 'de':
        @define('PLUGIN_EVENT_MAILER_NAME', 'Artikel mailen');
        @define('PLUGIN_EVENT_MAILER_DESC', 'Verschickt jeden neuen Artikel im Blog via E-Mail');
        @define('PLUGIN_EVENT_MAILER_RECIPIENT', 'Mail-Empf鋘ger');
        @define('PLUGIN_EVENT_MAILER_RECIPIENTDESC', 'Die E-Mail Adresse an die die Artikel verschickt werden sollen (empfohlen: Eine Mailing-Liste)');
        break;
    
    case 'cn':
        @define('PLUGIN_EVENT_MAILER_NAME', '电子邮件项目');
        @define('PLUGIN_EVENT_MAILER_DESC', '通过电子邮件发送给你的博客的所有邮件');
        @define('PLUGIN_EVENT_MAILER_RECIPIENT', '邮件容器');
        @define('PLUGIN_EVENT_MAILER_RECIPIENTDESC', '你打算发送邮件的所有项目的地址(暗示: 邮件列表)');
        break;
        
    case 'en':
    case 'es':
    default:
        @define('PLUGIN_EVENT_MAILER_NAME', 'Mail entry');
        @define('PLUGIN_EVENT_MAILER_DESC', 'Mails each new entry to your blog via E-Mail');
        @define('PLUGIN_EVENT_MAILER_RECIPIENT', 'Mail recipient');
        @define('PLUGIN_EVENT_MAILER_RECIPIENTDESC', 'E-Mail address you want to send the entries to (suggested: a mailing list)');
        break;

}

class serendipity_event_mailer extends serendipity_event
{
    function introspect(&$propbag)
    {
        global $serendipity;
        
        $propbag->add('name',          PLUGIN_EVENT_MAILER_NAME);
        $propbag->add('description',   PLUGIN_EVENT_MAILER_DESC);
        $propbag->add('event_hooks',    array(
            'backend_publish' => true
        ));
        
        $propbag->add('configuration', array('mailto'));
    }

    function introspect_config_item($name, &$propbag)
    {
        switch($name) {
            case 'mailto':
                $propbag->add('type',        'string');
                $propbag->add('name',        PLUGIN_EVENT_MAILER_RECIPIENT);
                $propbag->add('description', PLUGIN_EVENT_MAILER_RECIPIENTDESC);
                break;
            default:
                break;
        }
        
        return true;
    }

    function generate_content(&$title) {
        $title = PLUGIN_EVENT_MAILER_NAME;
    }

    function event_hook($event, &$bag, &$eventData) {
        global $serendipity;
        
        $hooks = &$bag->get('event_hooks');

        if (isset($hooks[$event])) {
            switch($event) {
                case 'backend_publish':
                    $mail = array(
                      'to'      => $this->get_config('mailto'),
                      'subject' => '[' . $serendipity['blogTitle'] . '] ' . $eventData['title'],
                      'body'    => $eventData['body'] . $eventData['extended'] . $serendipity['signature'],
                      'from'    => $serendipity['blogTitle'] . ' - ' . $eventData['author'] . ' <' . $serendipity['serendipityEmail'] . '>'
                    );
                    
                    mail($mail['to'], $mail['subject'], $mail['body'], "From: {$mail['from']}\r\n{$serendipity['mailheaders']}");
                    return true;
                    break;
                
                default:
                    return false;
                    break;
            }
        } else {
            return false;
        }
    }
}

/* vim: set sts=4 ts=4 expandtab : */
?>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -