Esempio n. 1
0
 private function sendEmails()
 {
     $last_email = '';
     // Информация о новом комментарии
     page::assign('username', $this->getUserName());
     page::assign('comment', $this->getText());
     page::assign('comment_id', $this->id());
     // Информация о странице
     if ($page = ormPages::get($this->getObjId())) {
         page::assign('page.id', $page->id);
         page::assign('page.url', $page->url);
         page::assign('page.name', $page->name);
     }
     // Отправляем письмо автору предыдущего коммента
     if ($this->getParentId() != 0) {
         $old_comment = new comment($this->getParentId());
         if ($old_comment->getEmail() != $this->getEmail()) {
             $last_email = $old_comment->getEmail();
             page::assign('old_comment', $old_comment->getText());
             page::assign('name', $old_comment->getUserName());
             system::sendMail('/comments/mails/new_answer.tpl', $last_email);
         }
     }
     // Отправляем письма всем подписавщимся на уведомления
     $sql = 'SELECT c_username, c_email FROM <<comments>>
             WHERE c_obj_id = "' . $this->getObjId() . '" and
                   c_send_email = 1 and
                   c_id <> "' . $this->id() . '"
             GROUP BY c_email;';
     $list = db::q($sql, records);
     if (!empty($list)) {
         while (list($key, $val) = each($list)) {
             if ($val['c_email'] != $last_email && $val['c_email'] != $this->getEmail()) {
                 page::assign('name', $val['c_username']);
                 page::assign('index', str_replace(array('.', '@'), array('_', '__'), $val['c_email']));
                 system::sendMail('/comments/mails/new_comment.tpl', $val['c_email']);
             }
         }
     }
 }
Esempio n. 2
0
 private static function sendMailBlock($user)
 {
     page::assign('domain', 'http://' . domains::curDomain()->getName() . languages::pre());
     page::assign('login', $user->login);
     page::assign('name', $user->name);
     system::sendMail('/users/mails/block.tpl', $user->email);
 }
Esempio n. 3
0
 private function sendMailDel($user)
 {
     page::assign('login', $user->login);
     page::assign('name', $user->name);
     system::sendMail('/users/mails/delete.tpl', $user->email);
 }
Esempio n. 4
0
 public function add_procAction()
 {
     $answer = array();
     if (!reg::getKey('/users/reg')) {
         system::redirect('/');
     }
     if (!user::isGuest()) {
         system::redirect('/users/edit');
     }
     // Проверка капчи
     if (!system::validCapcha('random_image')) {
         $answer = array('msg' => lang::get('SITE_CAPHCA'), 'field' => 'captcha');
     }
     // Проверка согласия с условиями оферты
     if (reg::getKey('/users/confirm') && !system::POST('confirm', isBool)) {
         $answer = array('msg' => lang::get('USERS_COMFIRM'), 'field' => 'confirm');
     }
     // Добавляем объект
     if (empty($answer)) {
         $obj = new ormObject();
         $obj->setParent(41);
         // Устанавливаем группу "Пользователи сайта"
         $obj->setClass('user');
         $obj->tabuList('def_modul', 'active', 'last_visit', 'last_ip', 'groups');
         $obj->loadFromPost();
         $obj->active = 1;
         $obj->email = $obj->newVal('login');
         $max_tickets = reg::getKey('/booking/max_tickets');
         $obj->place_limit = $max_tickets == '' || $max_tickets == 0 ? 6 : $max_tickets;
         if ($obj->save()) {
             if (reg::getKey('/users/activation')) {
                 // Регистрация с проверкой
                 // Формируем временный ключ активации пользователя
                 $key = md5(date('d.m.Y') . 'activate' . $obj->id);
                 $obj->md5_flag = $key;
                 $obj->active = 0;
                 $obj->save();
                 // Отправляем письмо
                 $url_pre = 'http://' . domains::curDomain()->getName() . languages::pre();
                 page::assign('url', $url_pre . '/users/activate/' . $key);
                 page::assign('passw', system::POST('password'));
                 page::assign('login', $obj->login);
                 page::assign('name', $obj->name);
                 system::sendMail('/users/mails/activate.tpl', $obj->email);
                 $_SESSION['user_email'] = $obj->login;
             } else {
                 // Регистрация без проверки
                 // Отправляем письмо
                 page::assign('passw', system::POST('password'));
                 page::assign('login', $obj->login);
                 page::assign('name', $obj->name);
                 system::sendMail('/users/mails/registration.tpl', $obj->email);
                 // Автоматическая авторизация
                 user::authHim($obj);
             }
             // Все хорошо. Пользователь добавлен.
             if (system::isAjax()) {
                 system::json(array('ok' => 1));
             } else {
                 system::redirect('/users/ok');
             }
         } else {
             // Произошли ошибки
             if ($obj->issetErrors(32)) {
                 $answer = array('msg' => lang::get('USERS_ISSET'), 'field' => 'login');
             } else {
                 $tmp = $obj->getErrorFields();
                 $answer = array('msg' => $obj->getErrorListText(' '), 'field' => $tmp['focus']);
             }
         }
     }
     if (!system::isAjax()) {
         system::savePostToSession();
         system::saveErrorToSession('add_user', $answer);
         if (!empty($_POST['back_url'])) {
             system::redirect($_POST['back_url'], true);
         } else {
             system::redirect('/users/add');
         }
     } else {
         system::json($answer);
     }
 }