Esempio n. 1
0
 /**
  * Sets the user logged in via this provider.
  * The default implementation stores the users id
  * in a session variable.
  *
  * @param \PHPixie\ORM\Model $user Logged in user
  * @return void
  */
 public function set_user($user)
 {
     $this->pixie->session->set($this->user_id_key, $user->id());
     $this->service->set_user($user, $this->name);
 }
Esempio n. 2
0
 /**
  * @param \App\Model\Newsletter|\PHPixie\ORM\Model $newsletter
  */
 protected function onSuccessfulEdit(Model $newsletter)
 {
     if ($this->request->post('send')) {
         $this->pixie->db->query('delete')->table('tbl_newsletter_instances')->where('newsletter_id', $newsletter->id())->execute();
         $sql = "INSERT INTO tbl_newsletter_instances (newsletter_id, subscriber_id)\n" . "SELECT " . $newsletter->id() . ", ns.id\n" . "FROM tbl_newsletter_signups ns";
         if (!$newsletter->send_to_all) {
             $subscriberIds = preg_split('/\\s*,\\s*/', $newsletter->subscriber_ids, -1, PREG_SPLIT_NO_EMPTY);
             if (!$subscriberIds) {
                 $newsletter->save();
                 return;
             }
             $sql .= "\nWHERE ns.id IN (" . implode(', ', $subscriberIds) . ")";
         }
         /** @var \PDO $conn */
         $conn = $this->pixie->db->get()->conn;
         $conn->exec($sql);
         $newsletter->recipient_count = $newsletter->instances->count_all();
         $newsletter->status = \App\Model\Newsletter::STATUS_SENDING;
         $newsletter->save();
     }
 }