예제 #1
0
 private function sendmail()
 {
     $args = new targs();
     $args->url = 'http://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'];
     $args->ref = isset($_SERVER['HTTP_REFERER']) ? $_SERVER['HTTP_REFERER'] : '';
     tlocal::usefile('mail');
     $lang = tlocal::i('notfound');
     $theme = ttheme::i();
     $subject = $theme->parsearg($lang->subject, $args);
     $body = $theme->parsearg($lang->body, $args);
     tmailer::sendtoadmin($subject, $body, true);
 }
예제 #2
0
 private function notify(tticket $ticket)
 {
     ttheme::$vars['ticket'] = $ticket;
     $args = new targs();
     $args->adminurl = litepublisher::$site->url . '/admin/tickets/editor/' . litepublisher::$site->q . 'id=' . $ticket->id;
     tlocal::usefile('mail');
     $lang = tlocal::i('mailticket');
     $lang->addsearch('ticket');
     $theme = ttheme::i();
     $subject = $theme->parsearg($lang->subject, $args);
     $body = $theme->parsearg($lang->body, $args);
     tmailer::sendtoadmin($subject, $body);
 }
예제 #3
0
 private function sendmail($id, $event)
 {
     $item = $this->getitem($id);
     $args = targs::i();
     $args->add($item);
     $lang = tlocal::i('foaf');
     $event = 'mail' . $event;
     $args->event = $lang->{$event};
     tlocal::usefile('mail');
     $lang = tlocal::i('mailfoaf');
     $theme = ttheme::i();
     $subject = $theme->parsearg($lang->subject, $args);
     $body = $theme->parsearg($lang->body, $args);
     tmailer::sendtoadmin($subject, $body);
 }
예제 #4
0
<?php

Header('Cache-Control: no-cache, must-revalidate');
Header('Pragma: no-cache');
error_reporting(E_ALL | E_NOTICE | E_STRICT | E_WARNING);
ini_set('display_errors', 1);
define('litepublisher_mode', 'xmlrpc');
include 'index.php';
for ($i = 1; $i <= 3; $i++) {
    tmailer::sendtoadmin("{$i} test", "{$i} body text");
}
 public function send_mail($id)
 {
     $comments = tcomments::i();
     $comment = $comments->getcomment($id);
     //ignore admin comments
     if ($comment->author == 1) {
         return;
     }
     ttheme::$vars['comment'] = $comment;
     $args = new targs();
     $adminurl = litepublisher::$site->url . '/admin/comments/' . litepublisher::$site->q . "id={$id}";
     $ref = md5(litepublisher::$secret . $adminurl . litepublisher::$options->solt);
     $adminurl .= "&ref={$ref}&action";
     $args->adminurl = $adminurl;
     tlocal::usefile('mail');
     $lang = tlocal::i('mailcomments');
     $theme = ttheme::i();
     $subject = $theme->parsearg($lang->subject, $args);
     $body = $theme->parsearg($lang->body, $args);
     return tmailer::sendtoadmin($subject, $body, false);
 }
예제 #6
0
 public function check()
 {
     $result = '';
     $lang = tlocal::i('foaf');
     $foaf = tfoaf::i();
     $items = $foaf->getapproved(0);
     foreach ($items as $id) {
         $item = $foaf->getitem($item);
         if (!$this->checkfriend($item['foafurl'])) {
             $result .= sprintf($lang->mailerror, $item['nick'], $item['blog'], $item['url']);
             $foaf->lock();
             $foaf->setvalue($id, 'errors', ++$item['errors']);
             if ($item['errors'] > 3) {
                 $foaf->setstatus($id, 'error');
                 $result .= sprintf($lang->manyerrors, $item['errors']);
             }
             $foaf->unlock();
         }
     }
     if ($result != '') {
         $result = $lang->founderrors . $result;
         $result = str_replace('\\n', "\n", $result);
         $args = targs::i();
         $args->errors = $result;
         tlocal::usefile('mail');
         $lang = tlocal::i('mailfoaf');
         $theme = ttheme::i();
         $subject = $theme->parsearg($lang->errorsubj, $args);
         $body = $theme->parsearg($lang->errorbody, $args);
         tmailer::sendtoadmin($subject, $body);
     }
 }
예제 #7
0
function update586()
{
    $menus = tadminmenus::i();
    $id = $menus->url2id('/admin/logout/');
    if (!$id) {
        $id = $menus->addfake('/admin/logout/', tlocal::i()->logout);
    }
    $menus->items[$id]['order'] = 9999999;
    $menus->save();
    tjsonserver::i()->addevent('comments_get_logged', 'tjsoncomments', 'comments_get_logged');
    $man = tdbmanager::i();
    $prefix = strtolower(litepublisher::$options->dbconfig['prefix']);
    $tables = $man->gettables();
    foreach ($tables as $table) {
        if (strbegin(strtolower($table), $prefix)) {
            $man->query("alter table {$table} ENGINE = MYISAM");
        }
    }
    if (isset(litepublisher::$options->solt)) {
        return;
    }
    litepublisher::$options->solt = md5uniq();
    litepublisher::$options->emptyhash = basemd5(litepublisher::$secret . litepublisher::$options->solt);
    litepublisher::$options->securecookie = false;
    litepublisher::$options->authenabled = true;
    if (function_exists('mcrypt_encrypt')) {
        litepublisher::$options->data['dbconfig']['password'] = _encrypt(str_rot13(base64_decode(litepublisher::$options->data['dbconfig']['password'])), litepublisher::$options->solt . litepublisher::$secret);
    }
    $expired = time() + 31536000;
    $cookie = md5uniq();
    //litepublisher::$options->setcookies($cookie, $expired);
    $subdir = litepublisher::$site->subdir . '/';
    setcookie('litepubl_user_id', litepublisher::$options->user, $expired, $subdir, false);
    setcookie('litepubl_user', $cookie, $expired, $subdir, false);
    setcookie('litepubl_user_flag', 'true', $expired, $subdir, false);
    $cookie = basemd5((string) $cookie . litepublisher::$options->solt . litepublisher::$secret);
    litepublisher::$options->data['cookiehash'] = $cookie;
    litepublisher::$options->cookieexpired = $expired;
    unset(litepublisher::$options->data['cookie'], litepublisher::$options->data['authcookie']);
    $password = md5uniq();
    litepublisher::$options->data['password'] = basemd5($password . litepublisher::$options->solt . litepublisher::$secret);
    unset(litepublisher::$classes->items['tauthdigest']);
    litepublisher::$classes->items['tableprop'] = array('kernel.admin.php', '', 'htmlresource.class.php');
    litepublisher::$classes->save();
    tusers::i()->db->update("password = ''", 'id > 0');
    $theme = ttheme::i();
    $args = new targs();
    $args->password = $password;
    $subj = $theme->parsearg('[$site.name] Смена пароля', $args);
    $body = $theme->parsearg('Внимание! Обновление LitePublisher 5.86 включает в себя новые алгоритмы безопасности и поэтому старые пароли больше не будут работать. Скрипт сгенерировал для вас новый пароль:
$password

Пожалуйста, используйте его или получите другой на странице восстановления пароля:
$site.url/admin/password/

Сохранение старых паролей невозможно потому, что в системе никогда не хранились пароли, а только их хеши. Приносим извенения за доставленные неудобства. Новые алгоритмы защиты значительно усиливают безопасность вашего сайта, также не забывайте регулярно менять пароли для лучшей безопасности.

На сайтах, у которых псетители могли залогиниватся также сброшены все пароли, но им не была сделана рассылка уведомлений о смене паролей. При попытки залогинится таким посетителям будет предложено восстановить пароль. Для залогинивающихся через соцсети будет просто предложено еще раз авторизоваться (ранее они даже и не имели паролей)
', $args);
    tmailer::sendtoadmin($subj, $body);
}