/** * 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; }
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; } }
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'); } }