/**
  * send a new password 
  */
 function send()
 {
     $repError = $this->_check();
     if ($repError) {
         return $repError;
     }
     $rep = $this->getResponse("redirect");
     $rep->action = "password:index";
     $form = jForms::fill('password');
     if (!$form->check()) {
         return $rep;
     }
     $login = $form->getData('pass_login');
     $user = jAuth::getUser($login);
     if (!$user) {
         $form->setErrorOn('pass_login', jLocale::get('password.login.doesnt.exist'));
         return $rep;
     }
     if ($user->email != $form->getData('pass_email')) {
         $form->setErrorOn('pass_email', jLocale::get('password.email.unknown'));
         return $rep;
     }
     $pass = jAuth::getRandomPassword(8);
     $key = substr(md5($login . '-' . $pass), 1, 10);
     $user->status = JCOMMUNITY_STATUS_PWD_CHANGED;
     $user->request_date = date('Y-m-d H:i:s');
     $user->keyactivate = $key;
     jAuth::updateUser($user);
     $mail = new jMailer();
     $mail->From = jApp::config()->mailer['webmasterEmail'];
     $mail->FromName = jApp::config()->mailer['webmasterName'];
     $mail->Sender = jApp::config()->mailer['webmasterEmail'];
     $mail->Subject = jLocale::get('password.mail.pwd.change.subject');
     $tpl = new jTpl();
     $tpl->assign(compact('login', 'pass', 'key'));
     $tpl->assign('server', $_SERVER['SERVER_NAME']);
     $mail->Body = $tpl->fetch('mail_password_change', 'text');
     $mail->AddAddress($user->email);
     //$mail->SMTPDebug = true;
     $mail->Send();
     jForms::destroy('password');
     $rep->action = "password:confirmform";
     return $rep;
 }
 /**
  * save new user and send an email for a confirmation, with
  * a key to activate the account
  */
 function save()
 {
     if (jAuth::isConnected()) {
         return $this->noaccess();
     }
     $rep = $this->getResponse("redirect");
     $rep->action = "registration:index";
     $form = jForms::get('registration');
     if (!$form) {
         return $rep;
     }
     jEvent::notify('jcommunity_registration_init_form', array('form' => $form));
     $form->initFromRequest();
     if (!$form->check()) {
         return $rep;
     }
     $login = $form->getData('reg_login');
     if (jAuth::getUser($login)) {
         $form->setErrorOn('reg_login', jLocale::get('register.form.login.exists'));
         return $rep;
     }
     $pass = jAuth::getRandomPassword(8);
     $key = substr(md5($login . '-' . $pass), 1, 10);
     $user = jAuth::createUserObject($login, $pass);
     $user->email = $form->getData('reg_email');
     $user->nickname = $login;
     $user->status = JCOMMUNITY_STATUS_NEW;
     $user->request_date = date('Y-m-d H:i:s');
     $user->keyactivate = $key;
     $ev = jEvent::notify('jcommunity_registration_prepare_save', array('form' => $form, 'user' => $user));
     if (count($form->getErrors())) {
         return $rep;
     }
     $responses = $ev->getResponse();
     $hasErrors = false;
     foreach ($responses as $response) {
         if (isset($response['errorRegistration']) && $response['errorRegistration'] != "") {
             jMessage::add($response['errorRegistration'], 'error');
             $hasErrors = true;
         }
     }
     if ($hasErrors) {
         return $rep;
     }
     jAuth::saveNewUser($user);
     jEvent::notify('jcommunity_registration_after_save', array('form' => $form, 'user' => $user));
     $gJConfig = jApp::config();
     $mail = new jMailer();
     $mail->From = $gJConfig->mailer['webmasterEmail'];
     $mail->FromName = $gJConfig->mailer['webmasterName'];
     $mail->Sender = $gJConfig->mailer['webmasterEmail'];
     $mail->Subject = jLocale::get('register.mail.new.subject');
     $tpl = new jTpl();
     $tpl->assign(compact('login', 'pass', 'key'));
     $tpl->assign('server', $_SERVER['SERVER_NAME']);
     $mail->Body = $tpl->fetch('mail_registration', 'text');
     $mail->AddAddress($user->email);
     $mail->Send();
     jForms::destroy('registration');
     $rep->action = "registration:confirmform";
     $rep->params = array('login' => $login);
     return $rep;
 }
 /**
  * Send a message to a friend
  */
 public function send_a_message_to_friend()
 {
     $form = jForms::fill('hfnucontact~send_to_friend');
     $rep = $this->getResponse('redirect');
     if (!$form) {
         $rep = $this->getResponse('redirect');
         $rep->action = 'jelix~error:403';
         return $rep;
     }
     if (!$form->check()) {
         $rep = $this->getResponse('redirect');
         $rep->action = 'jelix~error:404';
         return $rep;
     }
     // the sender is  not connected and use contact form to send a message
     // to the contact defined in hfnucontact.ini.php
     if (!jAuth::isConnected()) {
         $gJConfig = jApp::config();
         $email = $gJConfig->mailer['webmasterEmail'];
         $login = $gJConfig->mailer['webmasterName'];
     } else {
         $email = jAuth::getUserSession()->email;
         $login = jAuth::getUserSession()->login;
     }
     $mail = new jMailer();
     $mail->From = $email;
     $mail->FromName = $login;
     $mail->Sender = $email;
     $mail->Subject = $form->getData('subject');
     $mail->ContentType = 'text/html';
     $tpl = new jTpl();
     $tpl->assign('login', $login);
     $tpl->assign('message', $form->getData('message'));
     $mail->Body = $tpl->fetch('hfnucontact~send_an_email', 'text');
     $mail->AddAddress($form->getData('email_to'));
     $mail->Send();
     jForms::destroy('hfnucontact~send_to_friend');
     $rep->action = 'hfnucontact~default:contacted';
     return $rep;
 }
 /**
  * let's check if a member has subcribed to this forum, then mail him the new thread
  * @param int $id_forum id of the forum to unsubscribe
  * @param int $id_post id of the new post
  */
 public function checkSubscribedForumAndSendMail($id_forum, $thread_id)
 {
     $gJConfig = jApp::config();
     //check if this forum is already subscribe
     $recs = jDao::get('havefnubb~forum_sub')->getByIdForum($id_forum);
     foreach ($recs as $rec) {
         if (jAuth::getUserSession()->id != $rec->id_user) {
             $thread = jDao::get('havefnubb~threads_alone')->get($thread_id);
             $post = jDao::get('havefnubb~posts')->get($thread->id_last_msg);
             // let's mail the new post to the user
             $mail = new jMailer();
             $mail->From = $gJConfig->mailer['webmasterEmail'];
             $mail->FromName = $gJConfig->mailer['webmasterName'];
             $mail->Sender = $gJConfig->mailer['webmasterEmail'];
             $mail->Subject = jLocale::get('havefnubb~forum.new.post.in.forum');
             $tpl = new jTpl();
             $tpl->assign('post', $post);
             $tpl->assign('server', $_SERVER['SERVER_NAME']);
             $mail->Body = $tpl->fetch('havefnubb~forum_new_message', 'text');
             $mail->AddAddress(jDao::get('havefnubb~member')->getById($rec->id_user)->email);
             $mail->Send();
         }
     }
 }
 /**
  * Send an email to the administrator
  * 
  * @param objet $user jAuth user for the created user
  */
 private function sendEmailToAdmin($user)
 {
     $services = lizmap::getServices();
     if ($email = filter_var($services->adminContactEmail, FILTER_VALIDATE_EMAIL)) {
         $mail = new jMailer();
         $mail->Subject = jLocale::get("view~user.email.admin.subject");
         $mail->Body = jLocale::get("view~user.email.admin.body", array($user->login, $user->email));
         $mail->AddAddress($email, 'Lizmap Notifications');
         $mail->Send();
     }
 }
 /**
  * to answer to AuthNewUser event
  * @param object $event the given event to answer to
  */
 function onAuthNewUser($event)
 {
     $gJConfig = jApp::config();
     $toEmail = $gJConfig->havefnubb['admin_email'] != '' ? $gJConfig->havefnubb['admin_email'] : $gJConfig->mailer['webmasterEmail'];
     if ($toEmail == '') {
         throw new jException('havefnubb~main.email.config.not.done.properly');
     }
     $user = $event->getParam('user');
     // update the creation date
     $dao = jDao::get('havefnubb~member');
     $user = $dao->getByLogin($login = $user->login);
     if (!$user) {
         throw new jException('havefnubb~member.member.does.not.exist', array($login));
     }
     // put the current date
     $user->member_created = date('Y-m-d H:i:s');
     $user->nickname = $user->login;
     $dao->update($user);
     $mail = new jMailer();
     $mail->From = $gJConfig->mailer['webmasterEmail'];
     $mail->FromName = $gJConfig->mailer['webmasterName'];
     $mail->Sender = $gJConfig->mailer['webmasterEmail'];
     $mail->Subject = jLocale::get('havefnubb~member.registration.new.member.registered', array($user->login));
     $tpl = new jTpl();
     $tpl->assign('login', $user->login);
     $tpl->assign('server', $_SERVER['SERVER_NAME']);
     $mail->Body = $tpl->fetch('havefnubb~warn_new_registration', 'text');
     $mail->AddAddress($toEmail);
     $mail->Send();
 }
 function newsletter()
 {
     $rep = $this->getResponse('html');
     $token = uniqid('', true);
     $email = $this->param("email");
     $success = false;
     $msg = "Echec de l'operation : lien expiré ";
     $userFactory = jDao::get("user~user");
     $exst = $userFactory->getByLogin($email);
     $rep->bodyTpl = "changepassmessage";
     if (!empty($email) && jFilter::isEmail($email) && $exst->id) {
         $userFactory = jDao::get("user~user");
         $user = $userFactory->getByLogin($email);
         // $user->status=1;
         $user->keyactivate = $token;
         try {
             $userFactory->update($user);
             $success = true;
         } catch (Exception $e) {
             $success = false;
             $msg = "Opération échouée : " . "lien périmée";
         }
         if ($success) {
             $msg = "Opération effectuée avec succès : " . "votre mot de passe a ete réinitialisé" . " veuillez consulter votre mail pour l'activer";
             //mail
             $mail = new jMailer();
             $tpl = $mail->Tpl('user~changepassmail', true);
             $tpl->assign('user', $user);
             $mail->Send();
         }
     }
     $rep->body->assign('MESSAGE', $msg);
     return $rep;
 }
Beispiel #8
0
 /**
  * Send an email to the members that have subsribe to this post
  * @param integer $id of the subscribed post
  * @return void
  */
 public static function sendMail($id)
 {
     if (!jAuth::isConnected()) {
         return;
     }
     $dao = jDao::get(self::$daoSub);
     $memberDao = jDao::get('havefnubb~member');
     //get all the members that subscribe to this thread except "ME" !!!
     $records = $dao->findSubscribedPost($id, jAuth::getUserSession()->id);
     $gJConfig = jApp::config();
     // then send them a mail
     foreach ($records as $record) {
         //get all the member that subscribe to the thread id $id (called by hfnupost -> savereply )
         $thread = jClasses::getService('havefnubb~hfnuposts')->getThread($id);
         $post = jClasses::getService('havefnubb~hfnuposts')->getPost($thread->id_last_msg);
         //get the email of the member that subscribes this thread
         $member = $memberDao->getById($record->id_user);
         $subject = jLocale::get('havefnubb~post.new.comment.received') . " : " . $post->subject;
         $mail = new jMailer();
         $mail->From = $gJConfig->mailer['webmasterEmail'];
         $mail->FromName = $gJConfig->mailer['webmasterName'];
         $mail->Sender = $gJConfig->mailer['webmasterEmail'];
         $mail->Subject = $subject;
         $tpl = new jTpl();
         $tpl->assign('server', $_SERVER['SERVER_NAME']);
         $tpl->assign('post', $post);
         $tpl->assign('login', $member->login);
         $mail->Body = $tpl->fetch('havefnubb~new_comment_received', 'text');
         $mail->AddAddress($member->email);
         $mail->Send();
     }
 }