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); }
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(); }
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; }
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(); } }