Example #1
0
<?php

if (!defined('BASEPATH')) {
    exit('No direct script access allowed');
}
/**
 * MaxSite CMS
 * (c) http://max-3000.com/
 */
require_once getinfo('common_dir') . 'comments.php';
$comusers = mso_get_comusers_all();
// получим всех комюзеров
if ($f = mso_page_foreach('users-all-head-meta')) {
    require $f;
} else {
    mso_head_meta('title', tf('Комментаторы') . '. ' . getinfo('title'));
    // meta title страницы
}
if (!$comusers and mso_get_option('page_404_http_not_found', 'templates', 1)) {
    header('HTTP/1.0 404 Not Found');
}
// теперь сам вывод
# начальная часть шаблона
require getinfo('template_dir') . 'main-start.php';
echo NR . '<div class="type type_users_all">' . NR;
if ($comusers) {
    if ($f = mso_page_foreach('users-all-do')) {
        require $f;
    } else {
        echo '<h1>' . tf('Комментаторы') . '</h1><p>' . tf('Забыли кто вы?') . ' <a href="' . getinfo('siteurl') . 'password-recovery">' . tf('Можно восстановить пароль.') . '</a></p><ul class="users-all">';
    }
Example #2
0
function mso_email_message_new_comment_subscribe($data)
{
    /*
    Array
    (
        [comments_page_id] => 153 - id страницы
        [comments_content] => sdafsadfsdaf - текст комментария
        [comments_approved] =>  - если 0, то отправки нет
        [page_title] => тест - заголовок страницы
        [id] => 607 - id комментария
        -- [comments_comusers_id] => 1 - номер комюзера - пока не используется
        -- [comments_date] => 2009-12-10 20:45:39 - дата - пока не используется
        -- [comments_author_ip] => 127.0.0.1 - ip - пока не используется
    )
    */
    # Опция не рассылать подписку.
    if (!mso_get_option('allow_comments_subscribe', 'general', 1)) {
        return;
    }
    // комментарий не одобрен, не отсылаем
    if ($data['comments_approved'] == 0) {
        return;
    }
    // разослать нужно всем комюзерам у которых стоит получение уведомления о новом комментарии
    $CI =& get_instance();
    $comusers_all = mso_get_comusers_all();
    // все комюзеры
    $from = mso_get_option('admin_email_server', 'general', '');
    $subject = '[' . getinfo('name_site') . '] ' . tf('Новый комментарий к') . ' "' . $data['page_title'] . '"';
    $message = tf('Новый комментарий к') . ' "' . $data['page_title'] . '"' . NR . NR;
    $message .= tf('Текст:') . NR . mso_xss_clean($data['comments_content']);
    $message .= NR . NR . tf('Перейти к комментарию на сайте:') . NR . mso_get_permalink_page($data['comments_page_id']) . '#comment-' . $data['id'] . NR;
    foreach ($comusers_all as $comuser) {
        // отправлять на все комментарии сайта
        $subscribe_other_comments = (isset($comuser['meta']['subscribe_other_comments']) and $comuser['meta']['subscribe_other_comments']) ? true : false;
        //  только на свой
        $subscribe_my_comments = (isset($comuser['meta']['subscribe_my_comments']) and $comuser['meta']['subscribe_my_comments']) ? true : false;
        if ($subscribe_other_comments or $subscribe_my_comments and isset($comuser['comments_pages_id'][$data['comments_page_id']])) {
            // можно отправлять
            if (mso_valid_email($comuser['comusers_email'])) {
                $data = array_merge($data, array('subscription' => true));
                //А здесь для smtp_mail важно знать, чтобы запретить сохранять мыло в файл.
                $res = mso_mail($comuser['comusers_email'], $subject, $message, $from, $data);
                if (!$res) {
                    break;
                }
                // ошибка отправки почты - рубим цикл
            }
        }
    }
}