예제 #1
0
 public function kupwydaniepojedynczepktAction()
 {
     // action body
     $Numer = new Application_Model_DbTable_Numery();
     $select = $Numer->fetchRow($Numer->select()->from($Numer, array('id', 'tytul', 'foto'))->where('id = ?', intval($this->getRequest()->getParam("id")))->where('czy_wyswietlac = ?', 1)->where('od_kiedy_wyswietlac <= ?', new Zend_Db_Expr('NOW()')));
     //
     if (count($select) > 0) {
         $this->view->numer = $select;
     } else {
         throw new Zend_Controller_Action_Exception(404);
     }
     $auth = Zend_Auth::getInstance();
     if (!$auth->hasIdentity()) {
         $this->view->logowanieduze = new Application_Form_LogowanieDuze();
     } else {
         $this->view->user = TS_Auth::getFullIdentity($auth->getIdentity());
         $this->view->postUrl = $this->view->url(array('controller' => 'Wydania', 'action' => 'kupwydaniepojedynczepkt', 'id' => intval($this->getRequest()->getParam("id"))), 'default', TRUE);
         if ($this->_request->isXmlHttpRequest()) {
             $this->_helper->layout->disableLayout();
             $this->_helper->viewRenderer->setNoRender(true);
             //            $this->getResponse()->setHeader('Content-Type', 'application/json');
             $post = $this->_request->getPost();
             $return = array('konsumenckie' => true, 'punkty' => true, 'wydaniaLinki' => array());
             $ile_poprawnych = count($return) - 1;
             $zwroconych = 0;
             // regulamin
             if ($post['konsumenckie'] == 'false') {
                 $return['konsumenckie'] = false;
             } else {
                 $zwroconych++;
             }
             /**/
             // pnkty
             if ($this->view->user->punkty <= 0) {
                 $return['punkty'] = false;
             } else {
                 $zwroconych++;
             }
             /**/
             if ($ile_poprawnych == $zwroconych) {
                 $Numer = new Application_Model_DbTable_Numery();
                 $Numer->update(array('wersja_elektroniczna_zakupy' => new Zend_Db_Expr('wersja_elektroniczna_zakupy + 1')), array('id = ?' => intval($this->getRequest()->getParam("id"))));
                 $Zakup = new Application_Model_DbTable_WydaniaPrenumerataZakup();
                 $data = array('id_wydania' => intval($this->getRequest()->getParam("id")), 'id_prenumeratora' => $this->view->user->id, 'data_zakupu' => new Zend_Db_Expr('NOW()'));
                 $id_zakupu = $Zakup->createRow($data)->save();
                 $User = new Application_Model_DbTable_UzytkownicyWww();
                 $User->update(array('punkty' => new Zend_Db_Expr('punkty - 1')), array('id = ?' => intval($this->view->user->id)));
                 $WydaniePliki = new Application_Model_DbTable_WydaniaPliki();
                 $select = $WydaniePliki->select()->where('id_numeru = ?', intval($this->getRequest()->getParam("id")));
                 //$return['test'] = $select->__toString();
                 $wydaniapliki = $WydaniePliki->fetchAll($select);
                 $WydaniaPlikiUzyciaPrenumerata = new Application_Model_DbTable_WydaniaPlikiUzyciaPrenumerata();
                 foreach ($wydaniapliki as $wydaniaplik) {
                     $data = array('id_zakupu' => $id_zakupu, 'id_pliku' => $wydaniaplik['id'], 'liczba_uzyc' => 0);
                     $WydaniaPlikiUzyciaPrenumerata->createRow($data)->save();
                 }
                 $fullBaseUrl = $this->view->serverUrl() . $this->view->baseUrl();
                 $mail = new TS_Mail();
                 $mail_dane = array('to' => $this->view->user->email, 'subject' => 'Pobieranie e-wydania', 'view' => array('script' => 'pobierzwydanieprenumerata', 'params' => array('tytul_numeru' => $Numer->pokazTytul(intval($this->getRequest()->getParam("id"))), 'wydaniapliki' => $wydaniapliki, 'zakup' => $id_zakupu, 'baseUrl' => $fullBaseUrl)));
                 /**/
                 $mail->send($mail_dane);
                 if (isset($wydaniapliki) && count($wydaniapliki) > 0 && isset($id_zakupu)) {
                     $return['wydaniaLinki'] = $this->generujLinki($wydaniapliki, 'pkt', $id_zakupu);
                 }
             }
             echo json_encode($return);
         }
     }
 }
예제 #2
0
 public function pobierzwydanieAction()
 {
     // action body
     $auth = Zend_Auth::getInstance();
     if ($auth->hasIdentity()) {
         $this->view->user = TS_Auth::getFullIdentity($auth->getIdentity());
         $Numer = new Application_Model_DbTable_Numery();
         $WydaniePliki = new Application_Model_DbTable_WydaniaPliki();
         $select = $WydaniePliki->select()->where('id_numeru = ?', intval($this->getRequest()->getParam("zakup")));
         $wydaniapliki = $WydaniePliki->fetchAll($select);
         $WydaniaPlikiUzyciaPrenumerata = new Application_Model_DbTable_WydaniaPlikiUzyciaPrenumerata();
         foreach ($wydaniapliki as $wydaniaplik) {
             $data = array('id_zakupu' => intval($this->getRequest()->getParam("zakup")), 'id_pliku' => $wydaniaplik['id'], 'liczba_uzyc' => 0);
             $WydaniaPlikiUzyciaPrenumerata->createRow($data)->save();
         }
         $mail = new TS_Mail();
         $mail_dane = array('to' => $this->view->user->email, 'subject' => 'Pobieranie e-wydania', 'view' => array('script' => 'pobierzwydanieprenumerata', 'params' => array('tytul_numeru' => $Numer->pokazTytul(intval($this->getRequest()->getParam("zakup"))), 'wydaniapliki' => $wydaniapliki, 'zakup' => intval($this->getRequest()->getParam("zakup")))));
         /**/
         $mail->send($mail_dane);
     } else {
         return $this->_helper->redirector('brakautoryzacji', 'user');
     }
 }