Пример #1
0
 /**
  * The modules\defaultModule\controllers\indexController::IndexAction()
  * @by Zinux Generator <*****@*****.**>
  */
 public function IndexAction()
 {
     $limit = 20;
     $offset = (!isset($this->request->params["page"]) ? 0 : $this->request->params["page"] - 1) * $limit;
     $ds = new \modules\defaultModule\models\disqus();
     $this->view->query = $ds->get_latest_toptics($offset, $limit, @$this->request->params["tag"]);
     $this->view->current_page = floor($offset / $limit) + 1;
     $this->view->total_pages = ceil($ds->count(array('conditions' => 'parentid IS NULL')) / $limit);
 }
Пример #2
0
 /**
  * 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;
 }