Beispiel #1
0
 /**
  * Defined by Zend_Validate_Interface
  *
  * Returns true if and only if $value contains a valid Eividencial namber message
  *
  * @param  string $value
  * @return boolean
  */
 public function isValid($value)
 {
     $this->_setValue($value);
     if (null === self::$_filter) {
         /**
          * @see Zend_Filter_Digits
          */
         require_once 'Zend/Filter/Digits.php';
         self::$_filter = new Zend_Filter_Digits();
     }
     $valueFiltered = self::$_filter->filter($value);
     $length = strlen($valueFiltered);
     if ($length != 10) {
         $this->_error(self::LENGTH);
         return false;
     }
     $mod = 11;
     $sum = 0;
     $weights = array(6, 5, 7, 2, 3, 4, 5, 6, 7);
     preg_match_all("/\\d/", $valueFiltered, $digits);
     $valueFilteredArray = $digits[0];
     foreach ($valueFilteredArray as $digit) {
         $weight = current($weights);
         $sum += $digit * $weight;
         next($weights);
     }
     if (($sum % $mod == 10 ? 0 : $sum % $mod) != $valueFilteredArray[$length - 1]) {
         $this->_error(self::CHECKSUM, $valueFiltered);
         return false;
     }
     return true;
 }
Beispiel #2
0
 public function dodajAction()
 {
     $krok = intval($this->getRequest()->getParam("krok"));
     $request = $this->_request;
     switch ($krok) {
         // 111111
         case 1:
             $this->view->krok = 1;
             if ($request->getPost()) {
                 // post
                 $post = $request->getPost();
                 //                    TS_Functions::pre($post); die;
                 $tabKomunikatow = array();
                 $wymaganePola = array('tresc');
                 $wszystkoOK = true;
                 foreach ($post as $zmienna => $wartosc) {
                     if ($wartosc == '' && in_array($zmienna, $wymaganePola)) {
                         $wszystkoOK = false;
                         $tabKomunikatow['tresc'] = "Treść nie może być pusta.";
                     }
                 }
                 if ($post["dr_ramka"] != "" && $post["wypelnienie"] != "") {
                     $ramkaSql = $this->__db1->select()->from(array('r' => 'ts_ogloszenia_kolory_ramki_pl'), array('r.kolor'))->where('id = ?', $post['dr_ramka']);
                     $ramka = $this->__db1->fetchAll($ramkaSql);
                     $wypelnienieSql = $this->__db1->select()->from(array('w' => 'ts_ogloszenia_kolory_wypelnienia_pl'), array('w.kolor'))->where('id = ?', $post['wypelnienie']);
                     $wypelnienie = $this->__db1->fetchAll($wypelnienieSql);
                     if ($wypelnienie[0]["kolor"] == $ramka[0]["kolor"]) {
                         $wszystkoOK = false;
                         $tabKomunikatow['ramka'] = "Kolor ramki nie może być taki sam jak kolor wypełnienia.";
                     }
                 }
                 if ($post["wypelnienie"] != "") {
                     $wypelnienieSql = $this->__db1->select()->from(array('w' => 'ts_ogloszenia_kolory_wypelnienia_pl'), array('w.kolor'))->where('id = ?', $post['wypelnienie']);
                     $wypelnienie = $this->__db1->fetchAll($wypelnienieSql);
                     $tekstSql = $this->__db1->select()->from(array('t' => 'ts_ogloszenia_kolory_tekstu_pl'), array('t.kolor'))->where('id = ?', $post['kolor_tekstu']);
                     $tekst = $this->__db1->fetchAll($tekstSql);
                     if ($wypelnienie[0]["kolor"] == $tekst[0]["kolor"]) {
                         $wszystkoOK = false;
                         $tabKomunikatow['tekst'] = "Kolor tekstu nie może być taki sam jak kolor wypełnienia.";
                     }
                     if ($tekst[0]["kolor"] == "#FFFFFF" && ($wypelnienie[0]["kolor"] == "#808080" || $wypelnienie[0]["kolor"] == "#FFFF00")) {
                         $wszystkoOK = false;
                         $tabKomunikatow['wypelnienie'] = "Jeśli kolor tekstu jest biały to wypełnienie nie może być białe, szare lub żółte.";
                     }
                 }
                 if ($post["wypelnienie"] == "" && $post["kolor_tekstu"] != "") {
                     $tekstSql = $this->__db1->select()->from(array('t' => 'ts_ogloszenia_kolory_tekstu_pl'), array('t.kolor'))->where('id = ?', $post['kolor_tekstu']);
                     $tekst = $this->__db1->fetchAll($tekstSql);
                     if ($tekst[0]["kolor"] == "#FFFFFF") {
                         $wszystkoOK = false;
                         $tabKomunikatow['wypelnienie'] = "Jeśli kolor tekstu jest biały to wypełnienie nie może być białe, szare lub żółte.";
                     }
                 }
                 /**/
                 if ($wszystkoOK) {
                     // is valid
                     $UstawieniaDB = new Application_Model_DbTable_Ustawienia();
                     $ustawienia = $UstawieniaDB->find(array(7, 8, 9, 10, 11, 12));
                     //$ustawienia = $UstawieniaDB->fetchAll($ustawieniaSql);
                     $lxx = '';
                     $wxx = '';
                     $txx = '';
                     $kxx = '';
                     $sxx = '';
                     $numer = '';
                     $kod_DTP = '';
                     $ramkaSql = $this->__db1->select()->from(array('r' => 'ts_ogloszenia_kolory_ramki_pl'), array('r.kod'))->where('id = ?', $post['dr_ramka']);
                     $ramka = $this->__db1->fetchAll($ramkaSql);
                     $lxx = count($ramka) > 0 ? 'L' . $ramka[0]['kod'] : 'L';
                     $wypelnienieSql = $this->__db1->select()->from(array('w' => 'ts_ogloszenia_kolory_wypelnienia_pl'), array('w.kod'))->where('id = ?', $post['dr_ramka']);
                     $wypelnienie = $this->__db1->fetchAll($wypelnienieSql);
                     $wxx = count($wypelnienie) > 0 ? 'W' . $wypelnienie[0]['kod'] : 'W';
                     $tekstSql = $this->__db1->select()->from(array('t' => 'ts_ogloszenia_kolory_tekstu_pl'), array('t.kod'))->where('id = ?', $post['kolor_tekstu']);
                     $tekst = $this->__db1->fetchAll($tekstSql);
                     $txx = count($tekst) > 0 ? 'T' . $tekst[0]['kod'] : 'T';
                     $kxx = 'K01';
                     //tymczasowo
                     if ($post['dr_wytluszczony'] == '1' && $post['dr_wersaliki'] == '1') {
                         $kxx = 'K03';
                     } elseif ($post['dr_wytluszczony'] == '1' && $post['dr_wersaliki'] == '0') {
                         $kxx = 'K01';
                     } elseif ($post['dr_wytluszczony'] == '0' && $post['dr_wersaliki'] == '1') {
                         $kxx = 'K02';
                     } elseif ($post['dr_wytluszczony'] == '0' && $post['dr_wersaliki'] == '0') {
                         $kxx = 'K00';
                     }
                     if ($post['dr_duza_czcionka'] == '1') {
                         $sxx = 'S01';
                     } else {
                         $sxx = 'S00';
                     }
                     /**/
                     //                        if ($post['publikacja_internet']=='1') {
                     //                            $ogloszeniaSql = $this->__db1 ->select()->from(array('o'=>'ts_ogloszenia_pl'),array('o.*'));
                     //                            $ogloszenia = $this->__db1->fetchAll($ogloszeniaSql);
                     //
                     //                            $numer.'I-'.count($q_ogl[0]["c"]).'-'.$_POST['liczba_emisji'].'p';
                     //                        }
                     //foto
                     $sciezka = TS_Url::realPath(APPLICATION_PATH . '/../public/images/tresci/ogloszenia/');
                     $adapter = new Zend_File_Transfer_Adapter_Http();
                     $adapter->addValidator('Count', false, array('min' => 0, 'max' => 1))->addValidator('Size', false, array('max' => 10485760))->addValidator('Extension', false, array('extension' => 'gif,jpg,png,bmp'))->setDestination($sciezka);
                     $files = $adapter->getFileInfo();
                     $newfilename = '';
                     if (count($adapter->getFileName()) > 0) {
                         foreach ($files as $fieldname => $fileinfo) {
                             if ($adapter->isUploaded($fileinfo['name']) && $adapter->isValid($fileinfo['name'])) {
                                 $ext = pathinfo($fileinfo['name']);
                                 $newfilename = TS_Url::getUrl($ext['filename']) . '_' . date('Ymdhs') . '.' . $ext['extension'];
                                 $adapter->addFilter('Rename', array('target' => $sciezka . $newfilename, 'overwrite' => true));
                                 $adapter->receive($fieldname);
                                 TS_Functions::przerobFoto($ustawienia[0]['wartosc'], $ustawienia[1]['wartosc'], $sciezka, $newfilename, $sciezka . 'micro/', $fileinfo['type']);
                                 TS_Functions::przerobFoto($ustawienia[2]['wartosc'], $ustawienia[3]['wartosc'], $sciezka, $newfilename, $sciezka . 'mini/', $fileinfo['type']);
                                 TS_Functions::przerobFoto($ustawienia[4]['wartosc'], $ustawienia[5]['wartosc'], $sciezka, $newfilename, $sciezka . '', $fileinfo['type']);
                                 $_POST['zdjecie'] = $newfilename;
                                 $kodDTP = '$' . $lxx . $wxx . $txx . $kxx . $sxx . '$' . str_replace('$_ogl_$', '\\"', $post['tresc']) . '/' . $numer . '/+zdjecie:' . $newfilename . '/';
                             }
                         }
                     } else {
                         $kodDTP = '$' . $lxx . $wxx . $txx . $kxx . $sxx . '$' . str_replace('$_ogl_$', '\\"', $post['tresc']) . '/' . $numer . '/';
                     }
                     /**/
                     $cenaCalkowita = $this->cenaZDodatkami($post);
                     $dat = date("YmdHis");
                     $post['id_dzial'] = isset($post['id_dzial']) && is_numeric($post['id_dzial']) ? $post['id_dzial'] : 0;
                     $OgloszenieKoszyk = new Application_Model_DbTable_OgloszeniaKoszyk();
                     $data = array('id_ogloszeniodawcy' => 0, 'kod_DTP' => $kodDTP, 'nr_ogloszenia' => $dat, 'id_kategoria' => $post['id_kategoria'], 'id_dzial' => $post['id_dzial'], 'tresc' => str_replace('$_ogl_$', '\\"', $post['tresc']), 'liczba_znakow' => strlen(utf8_decode($post['tresc'])), 'dr_wytluszczony' => $post['dr_wytluszczony'], 'dr_wersaliki' => $post['dr_wersaliki'], 'dr_duza_czcionka' => $post['dr_duza_czcionka'], 'dr_kolor_tekstu' => $post['kolor_tekstu'], 'dr_ramka' => $post['dr_ramka'], 'dr_wypelnienie_kolor' => $post['wypelnienie'], 'liczba_emisji' => $post['liczba_emisji'], 'zdjecie' => $newfilename, 'publikacja_internet' => $post['publikacja_internet'], 'cena' => $cenaCalkowita);
                     //                        TS_Functions::pre($data); die;
                     $resultId = $OgloszenieKoszyk->insert($data);
                     $sesOgloszenia = new Zend_Session_Namespace('ogloszenia');
                     $sesOgloszenia->idOgloszenia = $resultId;
                     $sesOgloszenia->postData = $data;
                     $sesOgloszenia->postDataAll = $post;
                     //                        TS_Functions::pre($data); //die;
                     //                        TS_Functions::pre($post); //die;
                     $ogloszenieNumery = array();
                     $OgloszenieNumeryKoszyk = new Application_Model_DbTable_OgloszeniaNumeryKoszyk();
                     $OgloszenieNumeryKoszyk->delete(array('id_poz = ?' => $resultId));
                     // resetowanie w razie powrotu
                     foreach ($post as $zm => $wart) {
                         $zmienna = explode('_', $zm);
                         if ($zmienna[0] == "chnr") {
                             $data = array('id_poz' => $resultId, 'nr_ogloszenia' => intval($wart), 'rok' => intval($zmienna[1]));
                             $OgloszenieNumeryKoszyk->insert($data);
                             array_push($ogloszenieNumery, $data);
                         }
                     }
                     $sesOgloszenia->postDataNumery = $ogloszenieNumery;
                     $this->getHelper('Redirector')->setGotoRoute(array('krok' => 2), 'dodaj-ogloszenie');
                 } else {
                     // is not valid
                     $this->view->post = $post;
                     $this->view->tabKomunikatow = $tabKomunikatow;
                     $kategorieSelect = $this->__db1->select()->from(array('k' => 'ts_s_kategorie_ogloszen_pl'), array('k.id', 'nazwa' => 'k.nazwa_kat'))->order(array('k.pozycjonowanie DESC', 'nazwa_kat ASC'));
                     $this->view->kategorie = $this->__db1->fetchAll($kategorieSelect);
                     $dzialyDomyslne = $this->__db1->select()->from(array('d' => 'ts_ogloszenia_dzialy_pl'), array('id' => 'd.id_dzial', 'nazwa' => 'd.nazwa_dzial'))->where('d.id_kat = ?', $post['id_kategoria'])->order(array('d.pozycjonowanie DESC', 'd.nazwa_dzial ASC'));
                     $this->view->dzialyDomyslne = $this->__db1->fetchAll($dzialyDomyslne);
                     $cenyDodatkowSelect = $this->__db1->select()->from(array('d' => 'ts_ogloszenia_dodatki_pl'), array('d.cena'))->order(array('d.id'));
                     $cenyDodatkow = $this->__db1->fetchAll($cenyDodatkowSelect);
                     $this->view->cenyDodatkow = '';
                     foreach ($cenyDodatkow as $cena) {
                         $this->view->cenyDodatkow = $this->view->cenyDodatkow . ',' . $cena['cena'];
                     }
                     $dlugosciSelect = $this->__db1->select()->from(array('d' => 'ts_ogloszenia_ceny_dlugosc_pl'), array('d.dlugosc_max', 'd.cena'))->order(array('d.dlugosc_max DESC'));
                     $dlugosci = $this->__db1->fetchAll($dlugosciSelect);
                     $this->view->dlugosci = '';
                     $this->view->cenyDlugosci = '';
                     foreach ($dlugosci as $dlugosc) {
                         $this->view->dlugosci = $this->view->dlugosci . ',' . $dlugosc['dlugosc_max'];
                         $this->view->cenyDlugosci = $this->view->cenyDlugosci . ',' . $dlugosc['cena'];
                     }
                     $rabatySelect = $this->__db1->select()->from(array('d' => 'ts_ogloszenia_rabaty_pl'), array('d.ile_ogloszen_min', 'd.wartosc'))->order(array('d.ile_ogloszen_min DESC'));
                     $rabaty = $this->__db1->fetchAll($rabatySelect);
                     $this->view->ilosce = '';
                     $this->view->wartoscr = '';
                     foreach ($rabaty as $rabat) {
                         $this->view->ilosce = $this->view->ilosce . ',' . $rabat['ile_ogloszen_min'];
                         $this->view->wartoscr = $this->view->wartoscr . ',' . $rabat['wartosc'];
                     }
                     $koloryTekstuSelect = $this->__db1->select()->from(array('d' => 'ts_ogloszenia_kolory_tekstu_pl'), array('d.id', 'd.kolor', 'd.nazwa', 'd.domyslny'))->where('czy_wyswietlac="1"')->order(array('d.nazwa'));
                     $this->view->koloryTekstu = $this->__db1->fetchAll($koloryTekstuSelect);
                     $koloryRamkiSelect = $this->__db1->select()->from(array('d' => 'ts_ogloszenia_kolory_ramki_pl'), array('d.id', 'd.kolor', 'd.nazwa', 'd.domyslny'))->where('czy_wyswietlac="1"')->order(array('d.nazwa'));
                     $this->view->koloryRamki = $this->__db1->fetchAll($koloryRamkiSelect);
                     $koloryWypelnienieSelect = $this->__db1->select()->from(array('d' => 'ts_ogloszenia_kolory_wypelnienia_pl'), array('d.id', 'd.kolor', 'd.nazwa', 'd.domyslny'))->where('czy_wyswietlac="1"')->order(array('d.nazwa'));
                     $this->view->koloryWypelnienia = $this->__db1->fetchAll($koloryWypelnienieSelect);
                     // numery do emisji
                     $ogloszeniaPlatnosciSelect = $this->__db1->select()->from(array('d' => 'ts_ogloszenia_platnosci_pl'), array('d.aktualny_numer_www'))->order(array('id ASC'));
                     $ogloszeniaPlatnosci = $this->__db1->fetchAll($ogloszeniaPlatnosciSelect);
                     $aktualnyNumer = $ogloszeniaPlatnosci[0]['aktualny_numer_www'];
                     $aktualnyNumerArray = explode('/', $aktualnyNumer);
                     $this->view->aktualnyNumerWww = $aktualnyNumerArray[0];
                     //$this->view->numeryRokPoprzedni = TS_Functions::dataWydania(date('Y')-1);
                     $this->view->numeryRokObecny = TS_Functions::dataWydania(date('Y'));
                     $this->view->numeryRokNastepny = TS_Functions::dataWydania(date('Y') + 1);
                 }
             } else {
                 // post end
                 $sesOgloszenia = new Zend_Session_Namespace('ogloszenia');
                 if ($this->_getParam('clear')) {
                     $sesOgloszenia->unsetAll();
                 } else {
                     $this->view->post = $sesOgloszenia->postDataAll;
                 }
                 $kategorieSelect = $this->__db1->select()->from(array('k' => 'ts_s_kategorie_ogloszen_pl'), array('k.id', 'nazwa' => 'k.nazwa_kat'))->order(array('k.pozycjonowanie DESC', 'nazwa_kat ASC'));
                 $this->view->kategorie = $this->__db1->fetchAll($kategorieSelect);
                 if (isset($this->view->post['id_kategoria'])) {
                     $idKategorii = $this->view->post['id_kategoria'];
                 } else {
                     $idKategorii = $this->view->kategorie[0]['id'];
                 }
                 $dzialyDomyslne = $this->__db1->select()->from(array('d' => 'ts_ogloszenia_dzialy_pl'), array('id' => 'd.id_dzial', 'nazwa' => 'd.nazwa_dzial'))->where('d.id_kat = ?', $idKategorii)->order(array('d.pozycjonowanie DESC', 'd.nazwa_dzial ASC'));
                 $this->view->dzialyDomyslne = $this->__db1->fetchAll($dzialyDomyslne);
                 $cenyDodatkowSelect = $this->__db1->select()->from(array('d' => 'ts_ogloszenia_dodatki_pl'), array('d.cena'))->order(array('d.id'));
                 $cenyDodatkow = $this->__db1->fetchAll($cenyDodatkowSelect);
                 $this->view->cenyDodatkow = '';
                 foreach ($cenyDodatkow as $cena) {
                     $this->view->cenyDodatkow = $this->view->cenyDodatkow . ',' . $cena['cena'];
                 }
                 $dlugosciSelect = $this->__db1->select()->from(array('d' => 'ts_ogloszenia_ceny_dlugosc_pl'), array('d.dlugosc_max', 'd.cena'))->order(array('d.dlugosc_max DESC'));
                 $dlugosci = $this->__db1->fetchAll($dlugosciSelect);
                 $this->view->dlugosci = '';
                 $this->view->cenyDlugosci = '';
                 foreach ($dlugosci as $dlugosc) {
                     $this->view->dlugosci = $this->view->dlugosci . ',' . $dlugosc['dlugosc_max'];
                     $this->view->cenyDlugosci = $this->view->cenyDlugosci . ',' . $dlugosc['cena'];
                 }
                 $rabatySelect = $this->__db1->select()->from(array('d' => 'ts_ogloszenia_rabaty_pl'), array('d.ile_ogloszen_min', 'd.wartosc'))->order(array('d.ile_ogloszen_min DESC'));
                 $rabaty = $this->__db1->fetchAll($rabatySelect);
                 $this->view->ilosce = '';
                 $this->view->wartoscr = '';
                 foreach ($rabaty as $rabat) {
                     $this->view->ilosce = $this->view->ilosce . ',' . $rabat['ile_ogloszen_min'];
                     $this->view->wartoscr = $this->view->wartoscr . ',' . $rabat['wartosc'];
                 }
                 $koloryTekstuSelect = $this->__db1->select()->from(array('d' => 'ts_ogloszenia_kolory_tekstu_pl'), array('d.id', 'd.kolor', 'd.nazwa', 'd.domyslny'))->where('czy_wyswietlac="1"')->order(array('d.nazwa'));
                 $this->view->koloryTekstu = $this->__db1->fetchAll($koloryTekstuSelect);
                 $koloryRamkiSelect = $this->__db1->select()->from(array('d' => 'ts_ogloszenia_kolory_ramki_pl'), array('d.id', 'd.kolor', 'd.nazwa', 'd.domyslny'))->where('czy_wyswietlac="1"')->order(array('d.nazwa'));
                 $this->view->koloryRamki = $this->__db1->fetchAll($koloryRamkiSelect);
                 $koloryWypelnienieSelect = $this->__db1->select()->from(array('d' => 'ts_ogloszenia_kolory_wypelnienia_pl'), array('d.id', 'd.kolor', 'd.nazwa', 'd.domyslny'))->where('czy_wyswietlac="1"')->order(array('d.nazwa'));
                 $this->view->koloryWypelnienia = $this->__db1->fetchAll($koloryWypelnienieSelect);
                 // numery do emisji
                 $ogloszeniaPlatnosciSelect = $this->__db1->select()->from(array('d' => 'ts_ogloszenia_platnosci_pl'), array('d.aktualny_numer_www'))->order(array('id ASC'));
                 $ogloszeniaPlatnosci = $this->__db1->fetchAll($ogloszeniaPlatnosciSelect);
                 $aktualnyNumer = $ogloszeniaPlatnosci[0]['aktualny_numer_www'];
                 $aktualnyNumerArray = explode('/', $aktualnyNumer);
                 $this->view->aktualnyNumerWww = $aktualnyNumerArray[0];
                 //$this->view->numeryRokPoprzedni = TS_Functions::dataWydania(date('Y')-1);
                 $this->view->numeryRokObecny = TS_Functions::dataWydania(date('Y'));
                 $this->view->numeryRokNastepny = TS_Functions::dataWydania(date('Y') + 1);
             }
             $this->render('dodaj-krok-1');
             break;
             // 222222
         // 222222
         case 2:
             $this->view->krok = 2;
             $sesOgloszenia = new Zend_Session_Namespace('ogloszenia');
             $this->view->postData = $sesOgloszenia->postData;
             $this->view->postDataAll = $sesOgloszenia->postDataAll;
             $this->view->postDataNumery = $sesOgloszenia->postDataNumery;
             $kategoriaSelect = $this->__db1->select()->from(array('k' => 'ts_s_kategorie_ogloszen_pl'), array('k.id', 'nazwa' => 'k.nazwa_kat'))->where('k.id = ?', $sesOgloszenia->postData['id_kategoria']);
             $this->view->kategoria = $this->__db1->fetchRow($kategoriaSelect);
             $dzialSelect = $this->__db1->select()->from(array('d' => 'ts_ogloszenia_dzialy_pl'), array('id' => 'd.id_dzial', 'nazwa' => 'd.nazwa_dzial'))->where('d.id_dzial = ?', $sesOgloszenia->postData['id_dzial']);
             $this->view->dzial = $this->__db1->fetchRow($dzialSelect);
             $kolorTekstuSelect = $this->__db1->select()->from(array('d' => 'ts_ogloszenia_kolory_tekstu_pl'), array('d.id', 'd.nazwa', 'd.kolor'))->where('d.id = ?', $sesOgloszenia->postData['dr_kolor_tekstu']);
             $this->view->kolorTekstu = $this->__db1->fetchRow($kolorTekstuSelect);
             $kolorRamkiSelect = $this->__db1->select()->from(array('d' => 'ts_ogloszenia_kolory_ramki_pl'), array('d.id', 'd.nazwa', 'd.kolor'))->where('d.id = ?', $sesOgloszenia->postData['dr_ramka']);
             $this->view->kolorRamki = $this->__db1->fetchRow($kolorRamkiSelect);
             $kolorWypelnienieSelect = $this->__db1->select()->from(array('d' => 'ts_ogloszenia_kolory_wypelnienia_pl'), array('d.id', 'd.nazwa', 'd.kolor'))->where('d.id = ?', $sesOgloszenia->postData['dr_wypelnienie_kolor']);
             $this->view->kolorWypelnienia = $this->__db1->fetchRow($kolorWypelnienieSelect);
             $this->render('dodaj-krok-2');
             break;
             // 333333
         // 333333
         case 3:
             $this->view->krok = 3;
             $sesOgloszenia = new Zend_Session_Namespace('ogloszenia');
             if ($request->getPost()) {
                 // post
                 $post = $request->getPost();
                 //                    TS_Functions::pre($post); //die;
                 $tabKomunikatow = array();
                 $wszystkoOK = true;
                 $emptyValidator = new Zend_Validate_NotEmpty();
                 $emailValidator = new Zend_Validate_EmailAddress(Zend_Validate_Hostname::ALLOW_DNS | Zend_Validate_Hostname::ALLOW_LOCAL);
                 $nipValidator = new Zend_Validate_Nip();
                 foreach ($post as $zmienna => $wartosc) {
                     //                        echo $zmienna.' '.$wartosc.'<br>';
                     // bez faktury
                     if ($zmienna == 'imie' && !$emptyValidator->isValid($wartosc)) {
                         $wszystkoOK = false;
                         $tabKomunikatow['imie'] = "Podaj imię.";
                     }
                     if ($zmienna == 'nazwisko' && !$emptyValidator->isValid($wartosc)) {
                         $wszystkoOK = false;
                         $tabKomunikatow['nazwisko'] = "Podaj nazwisko.";
                     }
                     if ($zmienna == 'email' && !$emptyValidator->isValid($wartosc)) {
                         $wszystkoOK = false;
                         $tabKomunikatow['email'] = "Podaj email.";
                     }
                     if ($zmienna == 'email' && $emptyValidator->isValid($wartosc) && !$emailValidator->isValid($wartosc)) {
                         $wszystkoOK = false;
                         $tabKomunikatow['email'] = "Nieprawidłowy adres email.";
                     }
                     if ($zmienna == 'telefon' && !$emptyValidator->isValid($wartosc)) {
                         $wszystkoOK = false;
                         $tabKomunikatow['telefon'] = "Podaj telefon.";
                     }
                     // z faktura
                     if ($post['czy_faktura'] && intval($post['czy_faktura']) == 1) {
                         if ($zmienna == 'nr_budynku' && !$emptyValidator->isValid($wartosc)) {
                             $wszystkoOK = false;
                             $tabKomunikatow['nr_budynku'] = "Podaj nr budynku.";
                         }
                         if ($zmienna == 'miejscowosc' && !$emptyValidator->isValid($wartosc)) {
                             $wszystkoOK = false;
                             $tabKomunikatow['miejscowosc'] = "Podaj miejscowosc.";
                         }
                         if ($zmienna == 'kod_pocztowy' && !$emptyValidator->isValid($wartosc)) {
                             $wszystkoOK = false;
                             $tabKomunikatow['kod_pocztowy'] = "Podaj kod pocztowy.";
                         }
                         if ($zmienna == 'nip' && !$emptyValidator->isValid($wartosc)) {
                             $wszystkoOK = false;
                             $tabKomunikatow['nip'] = "Podaj NIP.";
                         }
                         if ($zmienna == 'nip' && $emptyValidator->isValid($wartosc) && !$nipValidator->isValid($wartosc)) {
                             $wszystkoOK = false;
                             $tabKomunikatow['nip'] = "Podaj prawidłowy NIP.";
                         }
                     }
                 }
                 if (!isset($post['regulamin'])) {
                     $wszystkoOK = false;
                     $tabKomunikatow['regulamin'] = "Musisz zaakceptować regulamin.";
                 }
                 if ($wszystkoOK) {
                     $OgloszenieKoszyk = new Application_Model_DbTable_OgloszeniaKoszyk();
                     $data = array('czy_faktura' => $post['czy_faktura'], 'nazwisko' => $post['nazwisko'], 'email' => $post['email'], 'telefon' => $post['telefon'], 'firma' => $post['firma'], 'nip' => $post['nip'], 'ulica' => $post['ulica'], 'nr_budynku' => $post['nr_budynku'], 'nr_mieszkania' => $post['nr_mieszkania'], 'miejscowosc' => $post['miejscowosc'], 'kod_pocztowy' => $post['kod_pocztowy'], 'sposob_platnosci' => $post['platnosc'], 'czy_faktura' => 1);
                     $OgloszenieKoszyk->update($data, array('id_poz = ?' => $sesOgloszenia->idOgloszenia));
                     $this->getHelper('Redirector')->setGotoRoute(array('krok' => 4), 'dodaj-ogloszenie');
                 } else {
                     $this->view->post = $post;
                     $this->view->tabKomunikatow = $tabKomunikatow;
                 }
             } else {
                 // post end
                 $OgloszenieKoszyk = new Application_Model_DbTable_OgloszeniaKoszyk();
                 $ogloszeniaKoszykSql = $OgloszenieKoszyk->select()->where('id_poz = ?', $sesOgloszenia->idOgloszenia);
                 $this->view->ogloszenie = $this->__db1->fetchRow($ogloszeniaKoszykSql);
             }
             $this->render('dodaj-krok-3');
             break;
             // 444444
         // 444444
         case 4:
             $this->view->krok = 4;
             $sesOgloszenia = new Zend_Session_Namespace('ogloszenia');
             $OgloszenieKoszyk = new Application_Model_DbTable_OgloszeniaKoszyk();
             $ogloszeniaKoszykSql = $OgloszenieKoszyk->select()->where('id_poz = ?', $sesOgloszenia->idOgloszenia);
             $ogloszenie = $this->__db1->fetchRow($ogloszeniaKoszykSql);
             if ($ogloszenie) {
                 if ($ogloszenie['sposob_platnosci'] == 1) {
                     $txt1 = 'przelew bankowy';
                     $txt2 = 'nie dotyczy';
                 } else {
                     $txt1 = 'płatność on-line';
                     $txt2 = 'oczekuje';
                 }
                 // rabaty i cena ostateczna
                 $rabatySelect = $this->__db1->select()->from(array('r' => 'ts_ogloszenia_rabaty_pl'), array('r.*'))->order('r.ile_ogloszen_min DESC');
                 $rabaty = $this->__db1->fetchAll($rabatySelect);
                 $rabat = $this->policzRabatZaIloscEmisjiOgl(intval($ogloszenie['liczba_emisji']), $rabaty);
                 $cenaZRabatem = number_format($ogloszenie['cena'] - $ogloszenie['cena'] * $rabat, 2, '.', '');
                 $OgloszenieZamowienia = new Application_Model_DbTable_OgloszeniaZamowienia();
                 $dataOgloszeniaZamowienia = array('nr_zamowienia' => md5($sesOgloszenia->idOgloszenia . date('Y-m-d')), 'data_zamowienia' => new Zend_Db_Expr('NOW()'), 'suma_liczba_emisji' => $ogloszenie['liczba_emisji'], 'suma_cena' => $ogloszenie['cena'], 'cena_ost' => $cenaZRabatem, 'sposob_plat' => $txt1, 'status_zam' => "zamówione", 'status_plat' => $txt2, 'tytul_przelewu' => $ogloszenie['nr_ogloszenia'], 'nr_ogloszenia' => $ogloszenie['nr_ogloszenia'], 'faktura' => $ogloszenie['czy_faktura'], 'imie' => $ogloszenie['imie'], 'nazwisko' => $ogloszenie['nazwisko'], 'firma' => addslashes($ogloszenie['firma']), 'nip' => $ogloszenie['nip'], 'ulica' => $ogloszenie['ulica'], 'nr_budynku' => $ogloszenie['nr_budynku'], 'nr_mieszkania' => $ogloszenie['nr_mieszkania'], 'miejscowosc' => $ogloszenie['miejscowosc'], 'kod_pocztowy' => $ogloszenie['kod_pocztowy'], 'poczta' => $ogloszenie['poczta'], 'email' => $ogloszenie['email'], 'telefon' => $ogloszenie['telefon']);
                 $this->view->ogloszenie = $dataOgloszeniaZamowienia;
                 $idOgloszeniaZamowienia = $OgloszenieZamowienia->insert($dataOgloszeniaZamowienia);
                 $sesOgloszenia->idOgloszeniaZamowienia = $idOgloszeniaZamowienia;
                 $this->view->idOgloszeniaZamowienia = $idOgloszeniaZamowienia;
                 $Ogloszenia = new Application_Model_DbTable_Ogloszenia();
                 $dataOgloszenia = array('id_zamowienia' => $idOgloszeniaZamowienia, 'data_dodania' => new Zend_Db_Expr('NOW()'), 'id_ogloszeniodawcy' => "0", 'kod_DTP' => addslashes($ogloszenie['kod_DTP']), 'nr_ogloszenia' => $ogloszenie['nr_ogloszenia'], 'id_kategoria' => $ogloszenie['id_kategoria'], 'id_dzial' => $ogloszenie['id_dzial'], 'tresc' => addslashes($ogloszenie['tresc']), 'liczba_znakow' => $ogloszenie['liczba_znakow'], 'dr_wytluszczony' => $ogloszenie['dr_wytluszczony'], 'dr_wersaliki' => $ogloszenie['dr_wersaliki'], 'dr_duza_czcionka' => $ogloszenie['dr_duza_czcionka'], 'dr_kolor_tekstu' => $ogloszenie['dr_kolor_tekstu'], 'dr_ramka' => $ogloszenie['dr_ramka'], 'dr_wypelnienie_kolor' => $ogloszenie['dr_wypelnienie_kolor'], 'liczba_emisji' => $ogloszenie['liczba_emisji'], 'publikacja_internet' => $ogloszenie['publikacja_internet'], 'zdjecie' => $ogloszenie['zdjecie'], 'cena' => $ogloszenie['cena']);
                 $idOgloszenia = $Ogloszenia->insert($dataOgloszenia);
                 $sesOgloszenia->idOgloszenia = $idOgloszenia;
                 $OgloszenieNumeryKoszyk = new Application_Model_DbTable_OgloszeniaNumeryKoszyk();
                 $selectOgloszeniaNumeryKoszyk = $OgloszenieNumeryKoszyk->select('nr_ogloszenia', 'rok')->where('id_poz = ?', $ogloszenie['id_poz']);
                 $numeryKoszyk = $OgloszenieNumeryKoszyk->fetchAll($selectOgloszeniaNumeryKoszyk);
                 $OgloszenieNumery = new Application_Model_DbTable_OgloszeniaNumery();
                 foreach ($numeryKoszyk as $nrKoszyk) {
                     $dataOgloszeniaNymery = array('id_ogl' => $idOgloszenia, 'nr_ogloszenia' => $nrKoszyk['nr_ogloszenia'], 'rok' => $nrKoszyk['rok']);
                     $OgloszenieNumery->insert($dataOgloszeniaNymery);
                 }
                 $OgloszenieKoszyk = new Application_Model_DbTable_OgloszeniaKoszyk();
                 //                    $OgloszenieKoszyk->delete(array('id_poz = ?' => $idOgloszeniaZamowienia));
                 //                    $OgloszenieNumeryKoszyk->delete(array('id_poz = ?' => $idOgloszeniaZamowienia));
                 if ($txt1 == 'przelew bankowy') {
                     $Teksty = new Application_Model_DbTable_Teksty();
                     $tekstySql = $Teksty->select()->where('id = 101140')->orWhere('id = 101141')->order('id ASC');
                     $tekstyResults = $Teksty->fetchAll($tekstySql);
                     $mail = new TS_Mail();
                     $mail->send(array('to' => $ogloszenie['email'], 'subject' => 'Potwierdzenie nadania ogłoszenia', 'view' => array('script' => 'potwierdzenienadaniaogloszenia', 'params' => array('do' => 'user', 'tresc' => $ogloszenie['tresc'], 'liczbaEmisji' => $ogloszenie['liczba_emisji'], 'cenaOstateczna' => $cenaZRabatem, 'sposobPlatnosci' => $txt1, 'nrOgloszenia' => $ogloszenie['nr_ogloszenia'], 'kom1' => $tekstyResults[0]['tekst'], 'kom2' => $tekstyResults[1]['tekst']))));
                 }
                 if ($ogloszenie['zdjecie'] != "") {
                     $fotoUrl = $this->view->serverUrl() . $this->view->baseUrl() . '/images/tresci/ogloszenia/mini/' . $ogloszenie['zdjecie'];
                     $mail = new TS_Mail();
                     $mail->send(array('to' => array("*****@*****.**", "*****@*****.**"), 'subject' => 'Potwierdzenie nadania ogłoszenia', 'view' => array('script' => 'potwierdzenienadaniaogloszenia', 'params' => array('do' => 'redakcja', 'tresc' => $ogloszenie['tresc'], 'liczbaEmisji' => $ogloszenie['liczba_emisji'], 'cenaOstateczna' => $cenaZRabatem, 'sposobPlatnosci' => $txt1, 'nrOgloszenia' => $ogloszenie['nr_ogloszenia'], 'email' => $ogloszenie['email'], 'fotoUrl' => $fotoUrl))));
                 }
             }
             //                $this->view->ogloszenie = $ogloszenie;
             $OgloszeniaPlatnosci = new Application_Model_DbTable_OgloszeniaPlatnosci();
             $ogloszeniaPlatnosciSql = $OgloszeniaPlatnosci->select()->where('id = 1');
             $this->view->ogloszeniaPlatnosci = $OgloszeniaPlatnosci->fetchRow($ogloszeniaPlatnosciSql);
             $Teksty = new Application_Model_DbTable_Teksty();
             $tekstySql = $Teksty->select()->where('id = 101141');
             $this->view->teksty = $Teksty->fetchRow($tekstySql);
             //                echo 'cena:'.$ogloszenie['cena'].'<br>'; //die;
             //                echo 'rabat:'.$rabat.'<br>'; //die;
             //                echo 'cenaZRabatem:'.$cenaZRabatem.'<br>'; die;
             $this->render('dodaj-krok-4');
             break;
         default:
             throw new Zend_Controller_Action_Exception('Page not found!', 404);
             break;
     }
 }
Beispiel #3
0
 public function ustawieniaAction()
 {
     // action body
     $auth = Zend_Auth::getInstance();
     if ($auth->hasIdentity()) {
         $this->view->user = TS_Auth::getFullIdentity($auth->getIdentity());
         $this->view->postUrl = $this->view->url(array('controller' => 'User', 'action' => 'ustawienia'), 'default', TRUE);
         if ($this->_request->isXmlHttpRequest()) {
             $this->_helper->layout->disableLayout();
             $this->_helper->viewRenderer->setNoRender(true);
             $post = $this->_request->getPost();
             $return = array('haslo' => true, 'imie' => true, 'nazwisko' => true, 'podpis' => true, 'email' => true, 'nip' => true);
             $ile_poprawnych = count($return);
             $zwroconych = 0;
             $empty = new Zend_Validate_NotEmpty();
             // haslo
             $validatorString = new Zend_Validate_StringLength(array('min' => 6));
             $haslo = $this->view->user->password;
             if ($empty->isValid($post['haslo']) && !$empty->isValid($post['haslo2']) || !$empty->isValid($post['haslo']) && $empty->isValid($post['haslo2'])) {
                 $return['haslo'] = 'null';
             } elseif (($empty->isValid($post['haslo']) || $empty->isValid($post['haslo2'])) && (!$validatorString->isValid($post['haslo']) || !$validatorString->isValid($post['haslo2']))) {
                 $return['haslo'] = 'length';
             } elseif (($empty->isValid($post['haslo']) || $empty->isValid($post['haslo2'])) && $post['haslo'] != $post['haslo2']) {
                 $return['haslo'] = 'diferent';
             } else {
                 if ($empty->isValid($post['haslo']) && $empty->isValid($post['haslo2']) && $validatorString->isValid($post['haslo']) && $validatorString->isValid($post['haslo2']) && $post['haslo'] == $post['haslo2']) {
                     $haslo = md5($post['haslo']);
                     //$haslo = TS_Auth::setPassword($post['haslo']);;
                 } else {
                     $haslo = $this->view->user->password;
                 }
                 $zwroconych++;
             }
             /**/
             // imie
             if (!$empty->isValid($post['imie'])) {
                 $return['imie'] = 'null';
             } else {
                 $zwroconych++;
             }
             /**/
             // nazwisko
             if (!$empty->isValid($post['nazwisko'])) {
                 $return['nazwisko'] = 'null';
             } else {
                 $zwroconych++;
             }
             /**/
             // podpis
             //$Users = new Application_Model_DbTable_UzytkownicyWww();
             $podpisIsExist = new Zend_Validate_Db_NoRecordExists(array('table' => 'ts_wydania_prenumerata_users_pl', 'field' => 'podpis', 'exclude' => '(czy_aktywne<>"N") AND (id<>' . intval($this->view->user->id) . ')'));
             if (!$empty->isValid($post['podpis'])) {
                 $return['podpis'] = 'null';
             } elseif (!$podpisIsExist->isValid($post['podpis']) > 0) {
                 $return['podpis'] = 'exist';
             } else {
                 $zwroconych++;
             }
             /**/
             // email
             $isvalidEmail = new Zend_Validate_EmailAddress(Zend_Validate_Hostname::ALLOW_DNS | Zend_Validate_Hostname::ALLOW_LOCAL);
             $emailIsExist = new Zend_Validate_Db_NoRecordExists(array('table' => 'ts_wydania_prenumerata_users_pl', 'field' => 'email', 'exclude' => '(czy_aktywne<>"N") AND (id<>' . intval($this->view->user->id) . ') AND (email<>"' . $this->view->user->email . '")'));
             if (!$empty->isValid($post['email'])) {
                 $return['email'] = 'null';
             } elseif (!$isvalidEmail->isValid($post['email'])) {
                 $return['email'] = 'wrong';
             } elseif (!$emailIsExist->isValid($post['email'])) {
                 $return['email'] = 'exist';
             } else {
                 $zwroconych++;
             }
             /**/
             // nip
             $isvalidNip = new Zend_Validate_Nip();
             if ($empty->isValid($post['nip']) && !$isvalidNip->isValid($post['nip'])) {
                 $return['nip'] = 'niperr';
             } else {
                 $zwroconych++;
             }
             /**/
             echo json_encode($return);
             // finalizowanie
             if ($ile_poprawnych == $zwroconych) {
                 try {
                     $User = new Application_Model_DbTable_UzytkownicyWww();
                     $dane = array('password' => $haslo, 'haslo_pre' => $haslo, 'imie' => $post['imie'], 'nazwisko' => $post['nazwisko'], 'podpis' => $post['podpis'], 'email' => $post['email'], 'telefon' => $post['telefon'], 'nazwa_firmy' => $post['firma'], 'nip' => $post['nip'], 'ulica' => $post['ulica'], 'nr_domu' => $post['nr_budynku'], 'nr_mieszkania' => $post['nr_mieszkania'], 'miasto' => $post['miasto'], 'kod_pocztowy' => $post['kod_pocztowy'], 'poczta' => $post['poczta']);
                     $User->update($dane, array('id = ?' => $this->view->user->id));
                     $mail = new TS_Mail();
                     $mail_dane = array('to' => $this->view->user->email, 'subject' => 'Zmiana ustawień', 'view' => array('script' => 'zmianaustawien', 'params' => array()));
                     $mail->send($mail_dane);
                 } catch (Exception $ex) {
                     die($ex->getMessage());
                 }
             }
             /**/
         }
     } else {
         return $this->_helper->redirector('brakautoryzacji', 'user');
     }
 }