Exemplo n.º 1
0
 public function delete($id = '')
 {
     /***********************************
     		Delete form
     		************************************/
     $cards = new Cards($this->db);
     $this->f3->set('deck', $cards->read(array('id=?', $id), [])[0]);
     $this->f3->set('SESSION.flash', array());
     if ($_SERVER['QUERY_STRING'] == "execute") {
         $cards->delete($this->f3->get('deck')->id);
         $this->f3->push('SESSION.flash', array('type' => 'success', 'msg' => $this->f3->get('deck')->filename . ' deck deleted!'));
         $this->f3->reroute('/mytcg/cards');
     }
     $this->f3->set('content', 'app/views/mytcg/cards_delete.htm');
     echo Template::instance()->render('app/templates/admin.htm');
 }
Exemplo n.º 2
0
 private function master()
 {
     /***********************************
     		Process Deck Mastery Form! 
     		************************************/
     $this->f3->scrub($_POST);
     $members = new Members($this->db);
     $cards = new Cards($this->db);
     $this->f3->set('member', $members->read(array('id=?', $this->f3->get('SESSION.userID')), [])[0]);
     $this->f3->set('SESSION.flash', array());
     // validate form
     if ($cards->count(array('id=?', $this->f3->get('POST.mastered'))) == 0) {
         $this->f3->push('SESSION.flash', array('type' => 'warning', 'msg' => 'Invalid mastered deck.'));
     }
     if ($cards->count(array('id=?', $this->f3->get('POST.collecting'))) == 0) {
         $this->f3->push('SESSION.flash', array('type' => 'warning', 'msg' => 'Invalid collecting deck.'));
     }
     $i = 0;
     foreach ($this->f3->get('POST.choiceDeck') as $deck) {
         $num = $i + 1;
         if ($cards->count(array('id=?', $deck)) == 0) {
             $this->f3->push('SESSION.flash', array('type' => 'warning', 'msg' => 'Choice card #' . $num . ' is invalid.'));
         }
         if ($cards->read(array('id=?', $deck), [])[0]['count'] < intval($this->f3->get('POST.choiceNum[' . $i . ']'))) {
             $this->f3->push('SESSION.flash', array('type' => 'warning', 'msg' => 'Choice card #' . $num . ' is not a valid number.'));
         }
         $i++;
     }
     // if there are no errors, process the form
     if (count($this->f3->get('SESSION.flash')) === 0) {
         $this->f3->set('masteredID', $this->f3->get('POST.mastered'));
         $this->f3->set('POST.mastered', $cards->getById($this->f3->get('POST.mastered'))->filename);
         $this->f3->set('collectingID', $this->f3->get('POST.collecting'));
         $this->f3->set('POST.collecting', $cards->getById($this->f3->get('POST.collecting'))->filename);
         $mailer = new Mailer();
         $message = $mailer->message()->setSubject($this->f3->get('tcgname') . ': ' . $this->f3->get('member')->name . ' Mastered ' . $this->f3->get('POST.mastered') . '!')->setFrom(array($this->f3->get('noreplyemail') => 'MyTCG'))->setTo(array($this->f3->get('tcgemail')))->setReplyTo(array($this->f3->get('member')->email))->setBody(Template::instance()->render('app/templates/emails/mastery-notif.htm'), 'text/html');
         if ($mailer->send($message) && $members->edit($this->f3->get('SESSION.userID'), array('collecting'))) {
             $this->f3->set('member', $members->read(array('id=?', $this->f3->get('SESSION.userID')), [])[0]);
             $this->f3->set('rewardType', 'Deck Mastery');
             // Generate rewards!
             $this->f3->set('rewards', array());
             // choice cards
             for ($i = 0; $i < $this->f3->get('num_maschoice'); $i++) {
                 $this->f3->push('rewards', $cards->read(array('id=?', $this->f3->get('POST.choiceDeck[' . $i . ']')), [])[0]->filename . str_pad($this->f3->get('POST.choiceNum[' . $i . ']'), 2, "0", STR_PAD_LEFT));
             }
             // random regular cards
             for ($i = 0; $i < $this->f3->get('num_masreg'); $i++) {
                 $this->f3->push('rewards', $cards->random(array('worth=?', 1)));
             }
             // random special cards
             for ($i = 0; $i < $this->f3->get('num_masspc'); $i++) {
                 $this->f3->push('rewards', $cards->random(array('worth=?', 2)));
             }
             $log = '[' . date("D, d M Y H:i:s") . '] <strong>Deck Mastery (' . $this->f3->get('POST.mastered') . ')</strong>: ' . implode(', ', $this->f3->get('rewards'));
             $logger = new Logger();
             $logger->push($this->f3->get('SESSION.userID'), $log);
             $mailer = new Mailer();
             $message = $mailer->message()->setSubject($this->f3->get('tcgname') . ': Mastered ' . $this->f3->get('POST.mastered'))->setFrom(array($this->f3->get('noreplyemail') => $this->f3->get('tcgname')))->setTo(array($this->f3->get('member')->email))->setReplyTo(array($this->f3->get('tcgemail')))->setBody(Template::instance()->render('app/templates/emails/mastery.htm'), 'text/html');
             $result = $mailer->send($message);
         } else {
             $this->f3->push('SESSION.flash', array('type' => 'danger', 'msg' => 'There was a problem processing your request. Please try again or contact us for assistance!'));
         }
     }
 }