コード例 #1
0
 function actionPerform(&$skin, $moduleID)
 {
     $usernameError = '';
     if (isset($_POST["event"]) && $_POST["event"] == 'forgetPassword') {
         //Check username
         //Inorder to avoid sql injection attacks both
         //should contains characters form a to z and/or numbers only
         if (isset($_POST["username"]) && (!$skin->main->checkString('[^a-zA-Z0-9]', $_POST["username"]) || $_POST["username"] == "")) {
             $usernameError = "Username must contains numbers and/or character from a to z only";
         } else {
             $query = "SELECT * FROM {$skin->main->databaseTablePrefix}users WHERE username="******"username"]);
             $recordSet = $skin->main->databaseConnection->Execute($query);
             $password = $this->randomNumber();
             $record = array('password' => md5($password));
             //Start Update Transaction
             $skin->main->databaseConnection->StartTrans();
             $updateSQL = $skin->main->databaseConnection->GetUpdateSQL($recordSet, $record);
             $skin->main->databaseConnection->Execute($updateSQL);
             $recordSet2 = $skin->main->databaseConnection->Execute("SELECT * FROM {$skin->main->databaseTablePrefix}templates \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tWHERE\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ttype='mail'\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tAND\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tname = 'forgetPasswordSubject'\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tOR\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tname = 'forgetPasswordBody'\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)");
             $templates = array('forgetPasswordSubject' => '', 'forgetPasswordBody' => '');
             while (!$recordSet2->EOF) {
                 $templates[$recordSet2->fields["name"]] = $recordSet2->fields["content"];
                 $recordSet2->MoveNext();
             }
             $mailer = new Mailer($skin->main);
             $mailTemplate = new MailTemplate($skin->main);
             $mailTemplate->assign('username', $_POST["username"]);
             $mailTemplate->assign('password', $password);
             $mailer->addUserAddress($_POST["username"]);
             $mailer->Subject = $mailTemplate->fetch('mail/forgetPasswordSubject');
             $mailer->Body = $mailTemplate->fetch('mail/forgetPasswordBody');
             $mailer->Send();
             if ($mailer->ErrorInfo) {
                 //Transaction failed
                 $skin->main->databaseConnection->FailTrans();
                 trigger_error("Unable to send password remind mail. Reason is : " . $mailer->ErrorInfo);
             }
             //Complete update transaction
             $skin->main->databaseConnection->CompleteTrans();
         }
     }
     //Assign codeBehind variables
     $skin->main->controlVariables["forgetPassword"] = array('usernameError' => $usernameError);
 }
コード例 #2
0
ファイル: EmailEvent.class.php プロジェクト: ruxon/framework
 public function raise($alias, $recipients, $params = array(), $subject = '')
 {
     if (!is_array($recipients)) {
         $recipients = array($recipients);
     }
     Toolkit::i()->mail->ClearAddresses();
     Toolkit::i()->mail->From = $this->fromEmail;
     Toolkit::i()->mail->FromName = $this->fromName;
     foreach ($recipients as $email) {
         Toolkit::i()->mail->AddAddress($email);
     }
     Toolkit::i()->mail->Subject = $subject;
     $emailTemplate = new MailTemplate($params);
     Toolkit::i()->mail->SetHtmlBody($emailTemplate->fetch($alias));
     return Toolkit::i()->mail->Send();
 }
コード例 #3
0
 public function raise($alias, $recipients, $params = array())
 {
     Loader::import('Modules.Main');
     if (!is_array($recipients)) {
         $recipients = array($recipients);
     }
     $event = Manager::getInstance()->getMapper('EmailObjectMapper')->findFirst(array('Criteria' => array('IsActive' => true, 'Alias' => $alias)));
     if ($event->getId()) {
         Toolkit::getInstance()->mail->ClearAddresses();
         Toolkit::getInstance()->mail->From = Manager::getInstance()->getModule('Main')->config('FromEmail');
         Toolkit::getInstance()->mail->FromName = Manager::getInstance()->getModule('Main')->config('FromName');
         foreach ($recipients as $email) {
             Toolkit::getInstance()->mail->AddAddress($email);
         }
         Toolkit::getInstance()->mail->Subject = $event->getSubject();
         $emailTemplate = new MailTemplate($params);
         Toolkit::getInstance()->mail->SetHtmlBody($emailTemplate->fetch($event->getAlias()));
         return Toolkit::getInstance()->mail->Send();
     }
     return false;
 }
コード例 #4
0
 function actionPerform($eventName, $args)
 {
     $mailer = new Mailer($this->main);
     $mailTemplate = new MailTemplate($this->main);
     $mailTemplate->assign('username', $args);
     $mailer->addSystemAddress();
     if ($eventName == "login_fail") {
         $mailer->Subject = $mailTemplate->fetch('event/loginFailSubject');
         $mailer->Body = $mailTemplate->fetch('event/loginFaildBody');
         $mailer->Send();
     } elseif ($eventName == "login_succeed") {
         $mailer->Subject = $mailTemplate->fetch('event/loginSucceedSubject');
         $mailer->Body = $mailTemplate->fetch('event/loginSucceedBody');
         $mailer->Send();
     } elseif ($eventName == "user_activate") {
         $mailer->Subject = $mailTemplate->fetch('event/userActivateSubject_Admin');
         $mailer->Body = $mailTemplate->fetch('event/userActivateBody_Admin');
         $mailer->Send();
     } elseif ($eventName == "user_deactivate") {
         $mailer->Subject = $mailTemplate->fetch('event/userDeactivateSubject_Admin');
         $mailer->Body = $mailTemplate->fetch('event/userDeactivateBody_Admin');
         $mailer->Send();
     }
 }