/** * The \modules\defaultModule\controllers\indexController::signupAction() * @by Zinux Generator <*****@*****.**> */ public function signupAction() { if (\zinux\kernel\application\config::GetConfig("idisqus.disable.signup")) { throw new \zinux\kernel\exceptions\accessDeniedException(); } if (!$this->request->IsPOST()) { return; } try { \zinux\kernel\security\security::__validate_request($this->request->params); \zinux\kernel\security\security::IsSecure($this->request->params, array("username", "password", "email")); $user = new \modules\defaultModule\models\user(); foreach (array("username", "password", "email") as $elem) { $user->{$elem} = $this->request->params[$elem]; } $user->password = md5($user->password); $user->save(); $user->reload(); $user->readonly(); $mail = new \modules\defaultModule\models\mailer("noreply", \zinux\kernel\application\config::GetConfig("idisqus.mail.noreply.password")); $mail->CharSet = 'UTF-8'; # add a subject $mail->Subject = "Activate Your iDisqus Account"; # add the reciever address $mail->addAddress($user->email); # start reading the html context of reset mail ob_start(); $this->view->RenderPartial("activate_email", array('user' => $user, 'alink' => "/activate/u/{$user->userid}/h/" . \md5(\sha1($user->userid) . __CLASS__) . \sha1($user->email . __FILE__) . \md5($user->password . "dar!ush"))); # set the html msg and clean the ob's buffer $mail->msgHTML(ob_get_clean()); # msgHTML also sets AltBody, but if you want a custom one, set it afterwards $mail->AltBody = "Activate Your iDisqus Account"; # try to send the email if (!$mail->send()) { throw new \RuntimeException("Counld'n send email to `{$this->request->params["email"]}` due to error : `{$mail->ErrorInfo}`"); } } catch (\Exception $e) { $user = NULL; } if (!$user) { $this->view->errors[] = "Invalid username or password!"; return; } $this->view->success[] = "Congratulations, You have successfully signed up to iDisqus."; $this->view->success[] = "An activation link sent to your email address please check your inbox."; }
/** * The \modules\defaultModule\controllers\disqusController::newAction() * @by Zinux Generator <*****@*****.**> */ public function newAction() { if (isset($this->request->params["ajax"])) { $this->layout->SuppressLayout(); } if (!$this->request->IsPOST()) { return; } \zinux\kernel\security\security::__validate_request($this->request->params); $is_reply = isset($this->request->params["pid"]); $essential_data = array('content'); if ($is_reply) { $essential_data[] = "pid"; } else { $essential_data[] = "title"; } \zinux\kernel\security\security::IsSecure($this->request->params, $essential_data); $disqus = new \modules\defaultModule\models\disqus(); if (!$is_reply) { $disqus->title = trim($this->request->params["title"]); } $disqus->context = trim($this->request->params["content"]); $disqus->created_by = \modules\defaultModule\models\user::GetInstance()->userid; $disqus->tag_id = @$this->request->params["tag"]; if ($is_reply) { $disqus->parentid = $this->request->params["pid"]; } $disqus->save(); $return_uri = "/disqus/view/" . ($is_reply ? $disqus->parentid : $disqus->disqusid); $users = \modules\defaultModule\models\user::all(array('select' => 'email,username', 'readonly' => true, 'conditions' => array('userid <> ?', \modules\defaultModule\models\user::GetInstance()->userid))); foreach ($users as $user) { # factor an instance of php mailer $mail = new \modules\defaultModule\models\mailer("noreply", \zinux\kernel\application\config::GetConfig("idisqus.mail.noreply.password")); $mail->CharSet = 'UTF-8'; # add a subject $mail->Subject = $disqus->title; if ($is_reply) { $mail->Subject = "Re: " . \modules\defaultModule\models\disqus::find($disqus->parentid, array('select' => 'title'))->title; } # add the reciever address $mail->addAddress($user->email); # start reading the html context of reset mail ob_start(); $this->view->RenderPartial("notify_disqus", array('user' => $user, 'poster' => \modules\defaultModule\models\user::GetInstance(), 'is_reply' => $is_reply, 'title' => preg_replace("#^Re: #i", "", $mail->Subject), 'disqus' => $disqus, 'return_uri' => $return_uri)); # set the html msg and clean the ob's buffer $mail->msgHTML(ob_get_clean()); # msgHTML also sets AltBody, but if you want a custom one, set it afterwards $mail->AltBody = 'New ' . ($is_reply ? 'reply' : 'post') . ' from ' . \modules\defaultModule\models\user::GetInstance()->username; # try to send the email if (!$mail->send()) { die("ERROR EMAILING"); } # LOG THE FAILURE } header("location: {$return_uri}"); exit; }