Ejemplo n.º 1
0
 public function __construct($user_name, $password, $exceptions = true)
 {
     \zinux\kernel\security\security::IsSecure(array('u' => $user_name, 'p' => $password), array(), array('u' => array('is_string', 'strlen'), 'p' => 'is_string'));
     parent::__construct($exceptions);
     $this->isSMTP();
     $this->Host = \zinux\kernel\application\config::GetConfig("idisqus.mail.host");
     $this->SMTPAuth = true;
     $this->Port = \zinux\kernel\application\config::GetConfig("idisqus.mail.port");
     $this->SMTPSecure = \zinux\kernel\application\config::GetConfig("idisqus.mail.protocol");
     $this->Username = $user_name;
     $this->Password = $password;
     # add the sender address
     $this->setFrom("{$user_name}@" . \zinux\kernel\application\config::GetConfig("idisqus.domain"), 'iDisqus');
 }
Ejemplo n.º 2
0
 /**
  * setups db using activerecord
  */
 public static function PRE_init_db()
 {
     # init activerecord configs
     \ActiveRecord\Config::initialize(function ($cfg) {
         # fetching db related configurations
         $dbcfg = \zinux\kernel\application\config::GetConfig("idisqus.db");
         # setting connection string
         $cfg->set_connections(array(\application\dbBootstrap::MODE_TORATAN => "{$dbcfg["type"]}://{$dbcfg["username"]}:{$dbcfg["password"]}@{$dbcfg["host"]}/{$dbcfg["name"]}?charset=utf8"));
         # enable the connection string as to \application\dbBootstrap::MODE_TORATAN
         $cfg->set_default_connection(\application\dbBootstrap::MODE_TORATAN);
     });
     # set default datetime format
     \ActiveRecord\DateTime::$DEFAULT_FORMAT = "iso8601";
     # testing db connection
     \ActiveRecord\Connection::instance();
     # if we reach here we are all OK
 }
Ejemplo n.º 3
0
 /**
  * The \modules\defaultModule\controllers\indexController::activateAction()
  * @by Zinux Generator <*****@*****.**>
  */
 public function activateAction()
 {
     if (\zinux\kernel\application\config::GetConfig("idisqus.disable.signup")) {
         throw new \zinux\kernel\exceptions\accessDeniedException();
     }
     \zinux\kernel\security\security::IsSecure($this->request->params, array("u", "h"));
     try {
         $user = \modules\defaultModule\models\user::find($this->request->params["u"]);
     } catch (\ActiveRecord\RecordNotFound $re) {
         throw new \zinux\kernel\exceptions\notFoundException("The user# {$this->request->params["u"]} not found!");
     }
     if (\md5(\sha1($user->userid) . __CLASS__) . \sha1($user->email . __FILE__) . \md5($user->password . "dar!ush") !== $this->request->params["h"]) {
         throw new \zinux\kernel\exceptions\invalidOperationException("The hash didn't match!");
     }
     $user->activated = 1;
     $user->save();
 }
Ejemplo n.º 4
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;
 }