diff --git a/api.php b/api.php index 9598068..6fbca40 100644 --- a/api.php +++ b/api.php @@ -29,260 +29,4 @@ $mdb = new medoo( [ 'username' => $database['user'], 'password' => $database['password'], 'charset' => 'utf8' - ] ); - -\R::setup( 'mysql:host=' . $database['host'] . ';dbname=' . $database['name'], $database['user'], $database['password'] ); -\R::ext( 'xdispense', function( $type ) -{ - return R::getRedBean() -> dispense( $type ); -} ); - -/* usuwanie lock_id z domain_tester */ -\R::exec( 'UPDATE domain_tester SET lock_id = null, lock_date = null WHERE lock_id IS NOT NULL AND DATE_ADD( lock_date, INTERVAL 5 MINUTE ) <= \'' . date( 'Y-m-d H:i:s' ) . '\'' ); -$mdb -> query( 'UPDATE domain_tester SET url_status_date = NULL WHERE url_status_date <= \'' . date( 'Y-m-d H:i:s', strtotime( '-3 days', strtotime( date( 'Y-m-d H:i:s' ) ) ) ) . '\'' ); - - -/* zapisywanie domen do rejestracji */ -if ( \S::get( 'action' ) == 'domain_register_save' ) -{ - $result = explode( '|', \S::get( 'result' ) ); - - $domain = \R::load( 'domain_tester', \S::get( 'domain_id' ) ); - - if ( \S::get( 'result' ) == 'free' ) - { - $domain -> free_to_register = 1; - $domain -> ostatnia_modyfikacja = date( 'Y-m-d' ); - $domain -> koniec_okres_rozliczeniowego = date( 'Y-m-d' ); - $domain -> register_date = date( 'Y-m-d' ); - } - else - { - $domain -> ostatnia_modyfikacja = $result[3]; - $domain -> koniec_okres_rozliczeniowego = $result[5]; - $domain -> register_date = $result[1]; - } - \R::store( $domain ); - - echo json_encode( ['result' => 'ok'] ); - exit; -} - -/* sprawdzanie domen do rejestracji */ -if ( \S::get( 'action' ) == 'domain_register_check' ) -{ - $domain = \R::findOne( 'domain_tester', 'majestic_status = 1 AND cf >= 10 AND tf >= 10 AND url_status = 0 AND register_date IS NULL ORDER BY date_add ASC' ); - if ( $domain ) - { - $result['id'] = $domain -> id; - $result['url'] = $domain -> url; - $result['domains_left'] = \R::count( 'domain_tester', 'majestic_status = 1 AND cf >= 10 AND tf >= 10 AND url_status = 0 AND register_date IS NULL ' ); - $result['result'] = 'ok'; - - echo json_encode( $result ); - } - else - echo json_encode( ['result' => 'bad'] ); -} - -/* zapisywanie parametrów majestic */ -if ( \S::get( 'action' ) == 'domain_majestic_save' ) -{ - $results = json_decode( \S::get( 'result' ), true ); - - $domain = \R::load( 'domain_tester', \S::get( 'domain_id' ) ); - $domain -> feb = $results['ExtBackLinks']; - $domain -> cf = $results['CitationFlow']; - $domain -> tf = $results['TrustFlow']; - $domain -> rd = $results['RefDomains']; - $domain -> majestic_status = 1; - \R::store( $domain ); - - echo json_encode( ['result' => 'ok'] ); -} - -/* pobieranie parametrów majetic */ -if ( \S::get( 'action' ) == 'domain_majestic_check' ) -{ - $domain = \R::findOne( 'domain_tester', 'opr IS NOT NULL AND opr >= 3 AND majestic_status = 0 AND url_status = 0 AND url_status_date IS NOT NULL ORDER BY date_add ASC' ); - if ( $domain ) - { - $result['id'] = $domain -> id; - $result['url'] = $domain -> url; - $result['domains_left'] = \R::count( 'domain_tester', 'opr IS NOT NULL AND opr >= 3 AND majestic_status = 0 AND url_status = 0 AND url_status_date IS NOT NULL' ); - $result['result'] = 'ok'; - - echo json_encode( $result ); - } - else - echo json_encode( ['result' => 'bad'] ); -} - -if ( \S::get( 'action' ) == 'semstorm_traffic_domain_tester_save' ) -{ - $results = json_decode( \S::get( 'result' ), true ); - - foreach ( $results['results'][\S::get( 'url' )] as $key => $val ) - { - if ( $key <= 3 ) - $top3 += $val; - - if ( $key > 3 and $key <= 10 ) - $top10 += $val; - - if ( $key > 10 ) - $top50 += $val; - } - - $domain = \R::load( 'domain_tester', \S::get( 'domain_id' ) ); - $domain -> semstorm_status = 1; - $domain -> sem_traffic = $results['results'][\S::get( 'url' )]['traffic']; - $domain -> semstorm_date = date( 'Y-m-d H:i:s' ); - \R::store( $domain ); - - echo json_encode( ['result' => 'ok'] ); - exit; -} - -if ( \S::get( 'action' ) == 'domain_test_url_check' ) -{ - $pdo = R::getPDO(); - - $lock_id = md5( time() . rand( 0, 9999999999 ) ); - - \R::exec( 'UPDATE ' - . 'domain_tester SET lock_id = ' . $pdo -> quote( $lock_id ) . ', lock_date = ' . $pdo -> quote( date( 'Y-m-d H:i:s' ) ) . ' ' - . 'WHERE ' - . 'lock_id IS NULL ' - . 'AND ' - . '( ' - . 'url_status IS NULL ' - . 'OR ' - . '( ' - . 'url_status = 0 ' - . 'AND ' - . '( url_status_date IS NULL OR url_status_date <= ' . $pdo -> quote( date( 'Y-m-d H:i:s', strtotime( '-3 days', strtotime( date( 'Y-m-d H:i:s' ) ) ) ) ) . ' ) ' - . ') ' - . ') ' - . 'ORDER BY date_add DESC LIMIT 1' - ); - - $domain = \R::findOne( 'domain_tester', 'lock_id = ?', [$lock_id] ); - if ( $domain ) - { - $result['lock_id'] = $lock_id; - $result['id'] = $domain -> id; - $result['url'] = $domain -> url; - $result['domains_left'] = \R::count( 'domain_tester', 'url_status IS NULL OR ( url_status = 0 AND ( url_status_date IS NULL OR url_status_date <= ' . $pdo -> quote( date( 'Y-m-d H:i:s', strtotime( '-3 days', strtotime( date( 'Y-m-d H:i:s' ) ) ) ) ) . ' ) )' ); - $result['result'] = 'ok'; - - echo json_encode( $result ); - } - else - echo json_encode( ['result' => 'bad'] ); - exit; -} - -if ( \S::get( 'action' ) == 'domain_test_url_save' ) -{ - $domain = \R::load( 'domain_tester', \S::get( 'domain_id' ) ); - $domain -> url_status = \S::get( 'result' ); - $domain -> url_status_date = date( 'Y-m-d H:i:s' ); - $domain -> lock_id = null; - $domain -> lock_date = null; - \R::store( $domain ); - - echo json_encode( ['result' => 'ok'] ); - exit; -} - -if ( \S::get( 'action' ) == 'ceidg_firm_save' ) -{ - $ceidg = \R::findOne( 'ceidg', 'hash = ?', [\S::get( 'hash' )] ); - if ( !$ceidg ) - { - $ceidg = \R::xdispense( 'ceidg' ); - $ceidg -> hash = \S::get( 'hash' ); - } - - $ceidg -> imie_nazwisko = \S::get( 'dp_imie' ) . ' ' . \S::get( 'dp_nazwisko' ); - $ceidg -> nip = \S::get( 'dp_nip' ); - $ceidg -> regon = \S::get( 'dp_regon' ); - $ceidg -> firma = \S::get( 'dp_firma' ); - $ceidg -> email = strtolower( \S::get( 'dk_email' ) ); - $ceidg -> www = \S::get( 'dk_www' ); - $ceidg -> telefon = \S::get( 'dk_telefon' ); - $ceidg -> faks = \S::get( 'dk_faks' ); - - $ceidg -> ad1_terc = \S::get( 'da_ad1_terc' ); - $ceidg -> ad1_simc = \S::get( 'da_ad1_simc' ); - $ceidg -> ad1_ulic = \S::get( 'da_ad1_ulic' ); - - $ceidg -> ad1_miejscowosc = \S::get( 'da_ad1_miejscowosc' ); - $ceidg -> ad1_ulica = \S::get( 'da_ad1_ulica' ); - $ceidg -> ad1_budynek = \S::get( 'da_ad1_budynek' ); - $ceidg -> ad1_lokal = \S::get( 'da_ad1_lokal' ); - $ceidg -> ad1_kod_pocztowy = \S::get( 'da_ad1_kod_pocztowy' ); - $ceidg -> ad1_poczta = \S::get( 'da_ad1_poczta' ); - $ceidg -> ad1_gmina = \S::get( 'da_ad1_gmina' ); - $ceidg -> ad1_powiat = \S::get( 'da_ad1_powiat' ); - $ceidg -> ad1_wojewodztwo = mb_strtolower( \S::get( 'da_ad1_wojewodztwo' ), 'UTF-8' ); - - $ceidg -> ad2_terc = \S::get( 'da_ad2_terc' ); - $ceidg -> ad2_simc = \S::get( 'da_ad2_simc' ); - $ceidg -> ad2_ulic = \S::get( 'da_ad2_ulic' ); - - $ceidg -> ad2_miejscowosc = \S::get( 'da_ad2_miejscowosc' ); - $ceidg -> ad2_ulica = \S::get( 'da_ad2_ulica' ); - $ceidg -> ad2_budynek = \S::get( 'da_ad2_budynek' ); - $ceidg -> ad2_lokal = \S::get( 'da_ad2_lokal' ); - $ceidg -> ad2_kod_pocztowy = \S::get( 'da_ad2_kod_pocztowy' ); - $ceidg -> ad2_poczta = \S::get( 'da_ad2_poczta' ); - $ceidg -> ad2_gmina = \S::get( 'da_ad2_gmina' ); - $ceidg -> ad2_powiat = \S::get( 'da_ad2_powiat' ); - $ceidg -> ad2_wojewodztwo = mb_strtolower( \S::get( 'da_ad2_wojewodztwo' ), 'UTF-8' ); - - $ceidg -> obywatelstwo = \S::get( 'da_obywatelstwo' ); - - $ceidg -> rozpoczecie_dzialalnosci = \S::get( 'dd_rozpoczecie_dzialalnosci' ); - $ceidg -> zawieszenie_dzialalnosci = \S::get( 'dd_zawieszenie_dzialalnosci' ) ? \S::get( 'dd_zawieszenie_dzialalnosci' ) : null; - $ceidg -> wznowienie_dzialalnosci = \S::get( 'dd_wznowienie_dzialalnosci' ) ? \S::get( 'dd_wznowienie_dzialalnosci' ) : null; - $ceidg -> zaprzestanie_dzialalnosci = \S::get( 'dd_zaprzestanie_dzialalnosci' ) ? \S::get( 'dd_zaprzestanie_dzialalnosci' ) : null; - $ceidg -> data_wykreslenia = \S::get( 'dd_wykreslenie_dzialalnosci' ) ? \S::get( 'dd_wykreslenie_dzialalnosci' ) : null; - $ceidg -> wspolnosc_majatkowa = \S::get( 'dd_wspolnosc_majatkowa' ); - $ceidg -> status = mb_strtolower( \S::get( 'dd_status' ), 'UTF-8' ); - $ceidg -> pkd = \S::get( 'dd_pkd' ); - - $ceidg -> spolki_cywilne = \S::get( 'spolki_cywilne' ); - $ceidg -> zakazy = \S::get( 'zakazy' ); - $ceidg -> postepowanie_naprawcze = \S::get( 'postepowanie_naprawcze' ); - $ceidg -> pelnomocnicy = \S::get( 'pelnomocnicy' ); - - \R::store( $ceidg ); - - echo 'ok'; - exit; -} - -/* ceidg generowanie excela i wysyłanie go mailem */ -if ( \S::get( 'action' ) == 'firm_list_for_email' ) -{ - $response = \Cron::ceidg_send_excel(); - if ( $response['status'] == 'ok' ) - echo 'ok'; - else - echo 'bad'; - exit; -} - -// if ( \S::get( 'action' ) == 'nowe' ) -// { -// $results = $mdb -> select( 'ceidg', '*', [ 'AND' => [ 'status' => 'Aktywny', 'OR' => [ 'pkd[~]' => '6831', 'pkd[~]' => '6820' ] ], 'LIMIT' => [ 200001, 100000 ] ] ); - -// $fp = fopen( 'ceidg.csv', 'w'); -// fputs( $fp, $bom =( chr(0xEF) . chr(0xBB) . chr(0xBF) ) ); -// foreach ( $results as $row ) -// fputcsv( $fp, $row, ';' ); - -// fclose( $fp ); -// } \ No newline at end of file + ] ); \ No newline at end of file diff --git a/autoload/class.Cron.php b/autoload/class.Cron.php index 181c0e4..9e495ee 100644 --- a/autoload/class.Cron.php +++ b/autoload/class.Cron.php @@ -2,535 +2,5 @@ class Cron { - static public function ceidg_send_excel() - { - global $mdb; - $results = $mdb -> select( 'ceidg', '*', [ 'AND' => [ - 'date_add[>=]' => date( 'Y-m-d', strtotime( '-7 days', time() ) ), - 'date_add[<]' => date( 'Y-m-d' ), - 'status' => 'Aktywny', - 'telefon[!]' => '' - ] - ], [ - 'ORDERY' => [ 'date_add' => 'ASC' ] - ] ); - $title = "CEIDG"; - $xls = new \Excel($title); - $xls -> home(); - $xls -> label( 'Data dodania' ); - $xls -> right(); - $xls -> label( \S::no_pl_excel( 'Data rozpoczęcia działalności' ) ); - $xls -> right(); - $xls -> label( 'Firma' ); - $xls -> right(); - $xls -> label( \S::no_pl_excel( 'Imię i nazwisko' ) ); - $xls -> right(); - $xls -> label( 'NIP' ); - $xls -> right(); - $xls -> label( 'Regon' ); - $xls -> right(); - $xls -> label( 'Telefon' ); - $xls -> right(); - $xls -> label( 'Email' ); - $xls -> right(); - $xls -> label( 'www' ); - $xls -> right(); - $xls -> label( \S::no_pl_excel( 'Województwo' ) ); - $xls -> right(); - $xls -> label( 'kod pocztowy' ); - $xls -> right(); - $xls -> label( \S::no_pl_excel( 'Miejscowość' ) ); - $xls -> right(); - $xls -> label( 'Ulica' ); - $xls -> right(); - $xls -> label( \S::no_pl_excel( 'Województwo' ) . ' - kor.' ); - $xls -> right(); - $xls -> label( 'kod pocztowy - kor.' ); - $xls -> right(); - $xls -> label( \S::no_pl_excel( 'Miejscowość' ) . ' - kor.' ); - $xls -> right(); - $xls -> label( 'Ulica - kor.' ); - $xls -> right(); - $xls -> down(); - - foreach ( $results as $row ) - { - $xls -> home(); - $xls -> label( date( 'Y-m-d', strtotime( $row['date_add'] ) ) ); - $xls -> right(); - $xls -> label( date( 'Y-m-d', strtotime( $row['rozpoczecie_dzialalnosci'] ) ) ); - $xls -> right(); - $xls -> label( \S::no_pl_excel( $row['firma'] ) ); - $xls -> right(); - $xls -> label( \S::no_pl_excel( $row['imie_nazwisko'] ) ); - $xls -> right(); - $xls -> label( $row['nip'] ); - $xls -> right(); - $xls -> label( $row['regon'] ); - $xls -> right(); - $xls -> label( $row['telefon'] ); - $xls -> right(); - $xls -> label( $row['email'] ); - $xls -> right(); - $xls -> label( $row['www'] ); - $xls -> right(); - $xls -> label( \S::no_pl_excel( $row['ad1_wojewodztwo'] ) ); - $xls -> right(); - $xls -> label( $row['ad1_kod_pocztowy'] ); - $xls -> right(); - $xls -> label( \S::no_pl_excel( $row['ad1_miejscowosc'] ) ); - $xls -> right(); - $xls -> label( \S::no_pl_excel( $row['ad1_ulica'] ) ); - $xls -> right(); - $xls -> label( \S::no_pl_excel( $row['ad2_wojewodztwo'] ) ); - $xls -> right(); - $xls -> label( $row['ad2_kod_pocztowy'] ); - $xls -> right(); - $xls -> label( \S::no_pl_excel( $row['ad2_miejscowosc'] ) ); - $xls -> right(); - $xls -> label( \S::no_pl_excel( $row['ad2_ulica'] ) ); - $xls -> down(); - }; - $xls -> send_to_file('ceidg.xls'); - - \S::send_email( 'biuro@project-pro.pl', 'CEIDG - baza firm od ' . date( 'Y-m-d', strtotime( '-7 days', time() ) ) . ' do ' . date( 'Y-m-d', strtotime( '-1 days', time() ) ), 'CEIDG - baza firm', 'ceidg.xls' ); - // \S::send_email( 'andrzej.noga81@gmail.com', 'CEIDG - baza firm od ' . date( 'Y-m-d', strtotime( '-7 days', time() ) ) . ' do ' . date( 'Y-m-d', strtotime( '-1 days', time() ) ), 'CEIDG - baza firm', 'ceidg.xls' ); - // \S::send_email( '4axel@poczta.fm', 'CEIDG - baza firm od ' . date( 'Y-m-d', strtotime( '-7 days', time() ) ) . ' do ' . date( 'Y-m-d', strtotime( '-1 days', time() ) ), 'CEIDG - baza firm', 'ceidg.xls' ); - - unlink( 'ceidg.xls' ); - - return true; - } - - public static function ceidg_download() - { - global $mdb; - - if ( $results = $mdb -> get( 'ceidg_urls', '*', ['date_update[!]' => date( 'Y-m-d' )] ) ) - { - $curl = curl_init(); - curl_setopt( $curl, CURLOPT_HEADER, true ); - curl_setopt( $curl, CURLOPT_USERAGENT, "Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)" ); - curl_setopt( $curl, CURLOPT_RETURNTRANSFER, true ); - curl_setopt( $curl, CURLOPT_VERBOSE, true ); - curl_setopt( $curl, CURLOPT_URL, str_replace( '[DATA]', date( "Y-m-d", strtotime( '-1 day', time() ) ), $results['url'] ) ); - curl_setopt( $curl, CURLOPT_TIMEOUT, 60 ); - curl_setopt( $curl, CURLOPT_MAXREDIRS, 60 ); - curl_setopt( $curl, CURLOPT_FOLLOWLOCATION, true ); - $newUpdate = curl_exec( $curl ); - print_r( curl_error( $curl ) ); - curl_close( $curl ); - - $dlHandler = fopen( 'ceidg.zip', 'w' ); - if ( !fwrite( $dlHandler, $newUpdate ) ) - { - exit(); - } - fclose( $dlHandler ); - - ob_start(); - @system( 'unzip ceidg.zip' ); - ob_clean(); - - $mdb -> update( 'ceidg_urls', ['date_update' => date( 'Y-m-d' )], ['id' => $results['id']] ); - - unlink( 'ceidg.zip' ); - - return [ - 'status' => 'ok', - 'msg' => 'Pobieram xml do CEIDG: ' . $results['name'] - ]; - } - return false; - } - - public static function ceidg_import() - { - global $mdb; - - $xml = false; - - if ( file_exists( utf8_decode( 'dzien_ExtendedAddress_dolnoslaskie.xml' ) ) ) - $xml = 'dzien_ExtendedAddress_dolnoslaskie.xml'; - - if ( file_exists( utf8_decode( 'dzien_ExtendedAddress_kujawsko-pomorskie.xml' ) ) ) - $xml = 'dzien_ExtendedAddress_kujawsko-pomorskie.xml'; - - if ( file_exists( utf8_decode( 'dzien_ExtendedAddress_lubelskie.xml' ) ) ) - $xml = 'dzien_ExtendedAddress_lubelskie.xml'; - - if ( file_exists( utf8_decode( 'dzien_ExtendedAddress_lubuskie.xml' ) ) ) - $xml = 'dzien_ExtendedAddress_lubuskie.xml'; - - if ( file_exists( utf8_decode( 'dzien_ExtendedAddress_lódzkie.xml' ) ) ) - $xml = 'dzien_ExtendedAddress_lódzkie.xml'; - - if ( file_exists( utf8_decode( 'dzien_ExtendedAddress_malopolskie.xml' ) ) ) - $xml = 'dzien_ExtendedAddress_malopolskie.xml'; - - if ( file_exists( utf8_decode( 'dzien_ExtendedAddress_mazowieckie.xml' ) ) ) - $xml = 'dzien_ExtendedAddress_mazowieckie.xml'; - - if ( file_exists( utf8_decode( 'dzien_ExtendedAddress_opolskie.xml' ) ) ) - $xml = 'dzien_ExtendedAddress_opolskie.xml'; - - if ( file_exists( utf8_decode( 'dzien_ExtendedAddress_podkarpackie.xml' ) ) ) - $xml = 'dzien_ExtendedAddress_podkarpackie.xml'; - - if ( file_exists( utf8_decode( 'dzien_ExtendedAddress_podlaskie.xml' ) ) ) - $xml = 'dzien_ExtendedAddress_podlaskie.xml'; - - if ( file_exists( utf8_decode( 'dzien_ExtendedAddress_pomorskie.xml' ) ) ) - $xml = 'dzien_ExtendedAddress_pomorskie.xml'; - - if ( file_exists( utf8_decode( 'dzien_ExtendedAddress_slaskie.xml' ) ) ) - $xml = 'dzien_ExtendedAddress_slaskie.xml'; - - if ( file_exists( utf8_decode( 'dzien_ExtendedAddress_swietokrzyskie.xml' ) ) ) - $xml = 'dzien_ExtendedAddress_swietokrzyskie.xml'; - - if ( file_exists( utf8_decode( 'dzien_ExtendedAddress_warminsko-mazurskie.xml' ) ) ) - $xml = 'dzien_ExtendedAddress_warminsko-mazurskie.xml'; - - if ( file_exists( utf8_decode( 'dzien_ExtendedAddress_wielkopolskie.xml' ) ) ) - $xml = 'dzien_ExtendedAddress_wielkopolskie.xml'; - - if ( file_exists( utf8_decode( 'dzien_ExtendedAddress_zachodniopomorskie.xml' ) ) ) - $xml = 'dzien_ExtendedAddress_zachodniopomorskie.xml'; - - if ( $xml ) - { - $reader = new XMLReader(); - $reader -> open( $xml ); - $reader -> read() && $reader -> read(); - - while ( $reader -> next( 'InformacjaOWpisie' ) ) - { - $node = new SimpleXMLElement( $reader -> readOuterXML() ); - if ( !$mdb -> count( 'ceidg', ['hash' => (string)$node -> IdentyfikatorWpisu] ) ) - { - $mdb -> insert( 'ceidg', [ - 'hash' => (string)$node -> IdentyfikatorWpisu, - 'imie_nazwisko' => (string)$node -> DanePodstawowe -> Imie . ' ' . (string)$node -> DanePodstawowe -> Nazwisko, - 'nip' => (string)$node -> DanePodstawowe -> NIP, - 'regon' => (string)$node -> DanePodstawowe -> REGON, - 'firma' => (string)$node -> DanePodstawowe -> Firma, - 'email' => !empty( $node -> DaneKontaktowe -> AdresPocztyElektronicznej ) ? (string)$node -> DaneKontaktowe -> AdresPocztyElektronicznej : null, - 'www' => !empty( $node -> DaneKontaktowe -> AdresStronyInternetowej ) ? (string)$node -> DaneKontaktowe -> AdresStronyInternetowej : null, - 'telefon' => !empty( $node -> DaneKontaktowe -> Telefon ) ? (string)$node -> DaneKontaktowe -> Telefon : null, - 'faks' => !empty( $node -> DaneKontaktowe -> Faks ) ? (string)$node -> DaneKontaktowe -> Faks : null, - 'ad1_terc' => (string)$node -> DaneAdresowe -> AdresGlownegoMiejscaWykonywaniaDzialalnosci -> TERC, - 'ad1_simc' => (string)$node -> DaneAdresowe -> AdresGlownegoMiejscaWykonywaniaDzialalnosci -> SIMC, - 'ad1_ulic' => (string)$node -> DaneAdresowe -> AdresGlownegoMiejscaWykonywaniaDzialalnosci -> ULIC, - 'ad1_miejscowosc' => (string)$node -> DaneAdresowe -> AdresGlownegoMiejscaWykonywaniaDzialalnosci -> Miejscowosc, - 'ad1_terc' => (string)$node -> DaneAdresowe -> AdresGlownegoMiejscaWykonywaniaDzialalnosci -> TERC, - 'ad1_kod_pocztowy' => (string)$node -> DaneAdresowe -> AdresGlownegoMiejscaWykonywaniaDzialalnosci -> KodPocztowy, - 'ad1_poczta' => (string)$node -> DaneAdresowe -> AdresGlownegoMiejscaWykonywaniaDzialalnosci -> Poczta, - 'ad1_gmina' => (string)$node -> DaneAdresowe -> AdresGlownegoMiejscaWykonywaniaDzialalnosci -> Gmina, - 'ad1_powiat' => (string)$node -> DaneAdresowe -> AdresGlownegoMiejscaWykonywaniaDzialalnosci -> Powiat, - 'ad1_wojewodztwo' => (string)$node -> DaneAdresowe -> AdresGlownegoMiejscaWykonywaniaDzialalnosci -> Wojewodztwo, - 'ad2_terc' => (string)$node -> DaneAdresowe -> AdresDoDoreczen -> TERC, - 'ad2_simc' => (string)$node -> DaneAdresowe -> AdresDoDoreczen -> SIMC, - 'ad2_ulic' => (string)$node -> DaneAdresowe -> AdresDoDoreczen -> ULIC, - 'ad2_miejscowosc' => (string)$node -> DaneAdresowe -> AdresDoDoreczen -> Miejscowosc, - 'ad2_ulica' => (string)$node -> DaneAdresowe -> AdresDoDoreczen -> Ulica . ' ' . (string)$node -> DaneAdresowe -> AdresDoDoreczen -> Budynek . ' ' . ( $node -> DaneAdresowe -> AdresDoDoreczen -> Budynek != '' ? ' lok. ' . (string)$node -> DaneAdresowe -> AdresDoDoreczen -> Budynek : '' ), - 'ad2_kod_pocztowy' => (string)$node -> DaneAdresowe -> AdresDoDoreczen -> KodPocztowy, - 'ad2_poczta' => (string)$node -> DaneAdresowe -> AdresDoDoreczen -> Poczta, - 'ad2_gmina' => (string)$node -> DaneAdresowe -> AdresDoDoreczen -> Gmina, - 'ad2_powiat' => (string)$node -> DaneAdresowe -> AdresDoDoreczen -> Powiat, - 'ad2_wojewodztwo' => (string)$node -> DaneAdresowe -> AdresDoDoreczen -> Wojewodztwo, - 'obywatelstwo' => (string)$node -> DaneAdresowe -> PrzedsiebiorcaPosiadaObywatelstwaPanstw, - 'rozpoczecie_dzialalnosci' => (string)$node -> DaneDodatkowe -> DataRozpoczeciaWykonywaniaDzialalnosciGospodarczej, - 'zaprzestanie_dzialalnosci' => !empty( $node -> DaneDodatkowe -> DataZaprzestaniaWykonywaniaDzialalnosciGospodarczej ) ? (string)$node -> DaneDodatkowe -> DataZaprzestaniaWykonywaniaDzialalnosciGospodarczej : null, - 'data_wykreslenia' => !empty( $node -> DaneDodatkowe -> DataWykresleniaWpisuZRejestru ) ? (string)$node -> DaneDodatkowe -> DataWykresleniaWpisuZRejestru : null, - 'wspolnosc_majatkowa' => !empty( $node -> DaneDodatkowe -> MalzenskaWspolnoscMajatkowa ) ? (string)$node -> DaneDodatkowe -> MalzenskaWspolnoscMajatkowa : null, - 'status' => !empty( $node -> DaneDodatkowe -> Status ) ? (string)$node -> DaneDodatkowe -> Status : null, - 'pkd' => !empty( $node -> DaneDodatkowe -> KodyPKD ) ? (string)$node -> DaneDodatkowe -> KodyPKD : null, - 'spolki_cywilne' => !empty( $node -> SpolkiCywilneKtorychWspolnikiemJestPrzedsiebiorca ) ? json_encode( $node -> SpolkiCywilneKtorychWspolnikiemJestPrzedsiebiorca ) : null, - 'zakazy' => !empty( $node -> Zakazy ) ? json_encode( $node -> Zakazy ) : null, - 'postepowanie_naprawcze' => !empty( $node -> InformacjeDotyczaceUpadlosciPostepowaniaNaprawczego ) ? json_encode( $node -> InformacjeDotyczaceUpadlosciPostepowaniaNaprawczego ) : null - ] ); - $i++; - } - else - { - $mdb -> update( 'ceidg', [ - 'imie_nazwisko' => (string)$node -> DanePodstawowe -> Imie . ' ' . (string)$node -> DanePodstawowe -> Nazwisko, - 'nip' => (string)$node -> DanePodstawowe -> NIP, - 'regon' => (string)$node -> DanePodstawowe -> REGON, - 'firma' => (string)$node -> DanePodstawowe -> Firma, - 'email' => !empty( $node -> DaneKontaktowe -> AdresPocztyElektronicznej ) ? (string)$node -> DaneKontaktowe -> AdresPocztyElektronicznej : null, - 'www' => !empty( $node -> DaneKontaktowe -> AdresStronyInternetowej ) ? (string)$node -> DaneKontaktowe -> AdresStronyInternetowej : null, - 'telefon' => !empty( $node -> DaneKontaktowe -> Telefon ) ? (string)$node -> DaneKontaktowe -> Telefon : null, - 'faks' => !empty( $node -> DaneKontaktowe -> Faks ) ? (string)$node -> DaneKontaktowe -> Faks : null, - 'ad1_terc' => (string)$node -> DaneAdresowe -> AdresGlownegoMiejscaWykonywaniaDzialalnosci -> TERC, - 'ad1_simc' => (string)$node -> DaneAdresowe -> AdresGlownegoMiejscaWykonywaniaDzialalnosci -> SIMC, - 'ad1_ulic' => (string)$node -> DaneAdresowe -> AdresGlownegoMiejscaWykonywaniaDzialalnosci -> ULIC, - 'ad1_miejscowosc' => (string)$node -> DaneAdresowe -> AdresGlownegoMiejscaWykonywaniaDzialalnosci -> Miejscowosc, - 'ad1_terc' => (string)$node -> DaneAdresowe -> AdresGlownegoMiejscaWykonywaniaDzialalnosci -> TERC, - 'ad1_kod_pocztowy' => (string)$node -> DaneAdresowe -> AdresGlownegoMiejscaWykonywaniaDzialalnosci -> KodPocztowy, - 'ad1_poczta' => (string)$node -> DaneAdresowe -> AdresGlownegoMiejscaWykonywaniaDzialalnosci -> Poczta, - 'ad1_gmina' => (string)$node -> DaneAdresowe -> AdresGlownegoMiejscaWykonywaniaDzialalnosci -> Gmina, - 'ad1_powiat' => (string)$node -> DaneAdresowe -> AdresGlownegoMiejscaWykonywaniaDzialalnosci -> Powiat, - 'ad1_wojewodztwo' => (string)$node -> DaneAdresowe -> AdresGlownegoMiejscaWykonywaniaDzialalnosci -> Wojewodztwo, - 'ad2_terc' => (string)$node -> DaneAdresowe -> AdresDoDoreczen -> TERC, - 'ad2_simc' => (string)$node -> DaneAdresowe -> AdresDoDoreczen -> SIMC, - 'ad2_ulic' => (string)$node -> DaneAdresowe -> AdresDoDoreczen -> ULIC, - 'ad2_miejscowosc' => (string)$node -> DaneAdresowe -> AdresDoDoreczen -> Miejscowosc, - 'ad2_ulica' => (string)$node -> DaneAdresowe -> AdresDoDoreczen -> Ulica . ' ' . (string)$node -> DaneAdresowe -> AdresDoDoreczen -> Budynek . ' ' . ( $node -> DaneAdresowe -> AdresDoDoreczen -> Budynek != '' ? ' lok. ' . (string)$node -> DaneAdresowe -> AdresDoDoreczen -> Budynek : '' ), - 'ad2_kod_pocztowy' => (string)$node -> DaneAdresowe -> AdresDoDoreczen -> KodPocztowy, - 'ad2_poczta' => (string)$node -> DaneAdresowe -> AdresDoDoreczen -> Poczta, - 'ad2_gmina' => (string)$node -> DaneAdresowe -> AdresDoDoreczen -> Gmina, - 'ad2_powiat' => (string)$node -> DaneAdresowe -> AdresDoDoreczen -> Powiat, - 'ad2_wojewodztwo' => (string)$node -> DaneAdresowe -> AdresDoDoreczen -> Wojewodztwo, - 'obywatelstwo' => (string)$node -> DaneAdresowe -> PrzedsiebiorcaPosiadaObywatelstwaPanstw, - 'rozpoczecie_dzialalnosci' => (string)$node -> DaneDodatkowe -> DataRozpoczeciaWykonywaniaDzialalnosciGospodarczej, - 'zaprzestanie_dzialalnosci' => !empty( $node -> DaneDodatkowe -> DataZaprzestaniaWykonywaniaDzialalnosciGospodarczej ) ? (string)$node -> DaneDodatkowe -> DataZaprzestaniaWykonywaniaDzialalnosciGospodarczej : null, - 'data_wykreslenia' => !empty( $node -> DaneDodatkowe -> DataWykresleniaWpisuZRejestru ) ? (string)$node -> DaneDodatkowe -> DataWykresleniaWpisuZRejestru : null, - 'wspolnosc_majatkowa' => !empty( $node -> DaneDodatkowe -> MalzenskaWspolnoscMajatkowa ) ? (string)$node -> DaneDodatkowe -> MalzenskaWspolnoscMajatkowa : null, - 'status' => !empty( $node -> DaneDodatkowe -> Status ) ? (string)$node -> DaneDodatkowe -> Status : null, - 'pkd' => !empty( $node -> DaneDodatkowe -> KodyPKD ) ? (string)$node -> DaneDodatkowe -> KodyPKD : null, - 'spolki_cywilne' => !empty( $node -> SpolkiCywilneKtorychWspolnikiemJestPrzedsiebiorca ) ? json_encode( $node -> SpolkiCywilneKtorychWspolnikiemJestPrzedsiebiorca ) : null, - 'zakazy' => !empty( $node -> Zakazy ) ? json_encode( $node -> Zakazy ) : null, - 'postepowanie_naprawcze' => !empty( $node -> InformacjeDotyczaceUpadlosciPostepowaniaNaprawczego ) ? json_encode( $node -> InformacjeDotyczaceUpadlosciPostepowaniaNaprawczego ) : null - ], [ - 'hash' => (string)$node -> IdentyfikatorWpisu - ] ); - $j++; - } - } - - if ( $xml == 'dzien_ExtendedAddress_dolnoslaskie.xml' ) - unlink( utf8_decode( 'dzien_ExtendedAddress_dolnoslaskie.xml' ) ); - - if ( $xml == 'dzien_ExtendedAddress_kujawsko-pomorskie.xml' ) - unlink( utf8_decode( 'dzien_ExtendedAddress_kujawsko-pomorskie.xml' ) ); - - if ( $xml == 'dzien_ExtendedAddress_lubelskie.xml' ) - unlink( utf8_decode( 'dzien_ExtendedAddress_lubelskie.xml' ) ); - - if ( $xml == 'dzien_ExtendedAddress_lubuskie.xml' ) - unlink( utf8_decode( 'dzien_ExtendedAddress_lubuskie.xml' ) ); - - if ( $xml == 'dzien_ExtendedAddress_lódzkie.xml' ) - unlink( utf8_decode( 'dzien_ExtendedAddress_lódzkie.xml' ) ); - - if ( $xml == 'dzien_ExtendedAddress_malopolskie.xml' ) - unlink( utf8_decode( 'dzien_ExtendedAddress_malopolskie.xml' ) ); - - if ( $xml == 'dzien_ExtendedAddress_mazowieckie.xml' ) - unlink( utf8_decode( 'dzien_ExtendedAddress_mazowieckie.xml' ) ); - - if ( $xml == 'dzien_ExtendedAddress_opolskie.xml' ) - unlink( utf8_decode( 'dzien_ExtendedAddress_opolskie.xml' ) ); - - if ( $xml == 'dzien_ExtendedAddress_podkarpackie.xml' ) - unlink( utf8_decode( 'dzien_ExtendedAddress_podkarpackie.xml' ) ); - - if ( $xml == 'dzien_ExtendedAddress_podlaskie.xml' ) - unlink( utf8_decode( 'dzien_ExtendedAddress_podlaskie.xml' ) ); - - if ( $xml == 'dzien_ExtendedAddress_pomorskie.xml' ) - unlink( utf8_decode( 'dzien_ExtendedAddress_pomorskie.xml' ) ); - - if ( $xml == 'dzien_ExtendedAddress_slaskie.xml' ) - unlink( utf8_decode( 'dzien_ExtendedAddress_slaskie.xml' ) ); - - if ( $xml == 'dzien_ExtendedAddress_swietokrzyskie.xml' ) - unlink( utf8_decode( 'dzien_ExtendedAddress_swietokrzyskie.xml' ) ); - - if ( $xml == 'dzien_ExtendedAddress_warminsko-mazurskie.xml' ) - unlink( utf8_decode( 'dzien_ExtendedAddress_warminsko-mazurskie.xml' ) ); - - if ( $xml == 'dzien_ExtendedAddress_wielkopolskie.xml' ) - unlink( utf8_decode( 'dzien_ExtendedAddress_wielkopolskie.xml' ) ); - - if ( $xml == 'dzien_ExtendedAddress_zachodniopomorskie.xml' ) - unlink( utf8_decode( 'dzien_ExtendedAddress_zachodniopomorskie.xml' ) ); - - return [ - 'status' => 'ok', - 'msg' => 'Importuję firmy do CEIDG. Zaimportowano ' . (int)$i . ' firm. Zaktualizowano ' . (int)$j . ' firm.' - ]; - } - - return false; - } - - public static function recursive_tasks() - { - global $mdb; - - $results = $mdb -> query( 'SELECT ' - . 't.*, ' - . '( SELECT COUNT(0) FROM tasks WHERE parent_id = t.id ) AS quantity ' - . 'FROM ' - . 'tasks AS t ' - . 'WHERE ' - . 'recursively = 1 AND date_end IS NOT NULL AND date_end < \'' . date( 'Y-m-d', strtotime( '+1 months', time() ) ) . '\' ' - . 'HAVING quantity = 0' ) -> fetchAll(); - if ( is_array( $results ) and count( $results ) ) - foreach ( $results as $row ) - { - if ( $row['date_end_month_day'] == null ) - { - $mdb -> update( 'tasks', ['date_end_month_day' => date( 'j', strtotime( $row['date_end'] ) )], ['id' => $row['id']] ); - $row['date_end_month_day'] = date( 'j', strtotime( $row['date_end'] ) ); - } - - if ( $row['date_start_month_day'] == null ) - { - $mdb -> update( 'tasks', ['date_start_month_day' => date( 'j', strtotime( $row['date_start'] ) )], ['id' => $row['id']] ); - $row['date_start_month_day'] = date( 'j', strtotime( $row['date_start'] ) ); - } - - /* powtarzanie co x dni */ - if ( $row['period'] == 1 ) - { - $new_date_end = date( 'Y-m-d', strtotime( '+' . $row['frequency'] . ' days', strtotime( $row['date_end'] ) ) ); - - if ( $row['date_start'] ) - $new_date_start = date( 'Y-m-d', strtotime( '+' . $row['frequency'] . ' days', strtotime( $row['date_start'] ) ) ); - } - - /* powtarzanie do x miesięcy */ - if ( $row['period'] == 2 ) - { - $new_date_end = date( 'Y-m', strtotime( '+' . $row['frequency'] . ' months', strtotime( date( 'Y-m', strtotime( $row['date_end'] ) ) ) ) ); - $max_days = date( 't', strtotime( $new_date_end ) ); - - if ( $max_days <= $row['date_end_month_day'] ) - $new_date_end = date( 'Y-m-d', strtotime( $new_date_end . '-' . $max_days ) ); - else - $new_date_end = date( 'Y-m-d', strtotime( $new_date_end . '-' . $row['date_end_month_day'] ) ); - - if ( $row['date_start'] ) - { - $new_date_start = date( 'Y-m', strtotime( '+' . $row['frequency'] . ' months', strtotime( date( 'Y-m', strtotime( $row['date_start'] ) ) ) ) ); - $max_days = date( 't', strtotime( $new_date_start ) ); - - if ( $max_days <= $row['date_start_month_day'] ) - $new_date_start = date( 'Y-m-d', strtotime( $new_date_start . '-' . $max_days ) ); - else - $new_date_start = date( 'Y-m-d', strtotime( $new_date_start . '-' . $row['date_start_month_day'] ) ); - } - } - - /* powtarzanie co x lat */ - if ( $row['period'] == 3 ) - { - $new_date_end = date( 'Y-m', strtotime( '+' . $row['frequency'] . ' years', strtotime( date( 'Y-m', strtotime( $row['date_end'] ) ) ) ) ); - $max_days = date( 't', strtotime( $new_date_end ) ); - - if ( $max_days <= $row['date_end_month_day'] ) - $new_date_end = date( 'Y-m-d', strtotime( $new_date_end . '-' . $max_days ) ); - else - $new_date_end = date( 'Y-m-d', strtotime( $new_date_end . '-' . $row['date_end_month_day'] ) ); - - if ( $row['date_start'] ) - { - $new_date_start = date( 'Y-m', strtotime( '+' . $row['frequency'] . ' years', strtotime( date( 'Y-m', strtotime( $row['date_start'] ) ) ) ) ); - $max_days = date( 't', strtotime( $new_date_start ) ); - - if ( $max_days <= $row['date_start_month_day'] ) - $new_date_start = date( 'Y-m-d', strtotime( $new_date_start . '-' . $max_days ) ); - else - $new_date_start = date( 'Y-m-d', strtotime( $new_date_start . '-' . $row['date_start_month_day'] ) ); - } - } - - $task_users = $mdb -> select( 'task_user', 'user_id', ['task_id' => $row['id']] ); - - \factory\Projects::task_save( - null, $row['id'], $row['created_by'], $row['name'], $row['text'], $new_date_start, $new_date_end, $row['project_id'], $row['client'], $row['reminders'] ? 'on' : 'off', - $row['reminders_interval'], $row['recursively'] ? 'on' : 'off', $row['frequency'], $row['period'], $row['gantt'] ? 'on' : 'off', $row['on_top'] ? 'on' : 'off', $task_users, $row['date_end_month_day'], - $row['date_start_month_day'] - ); - - return [ - 'status' => 'ok', - 'msg' => 'Dodawanie rekursywnych zadań' - ]; - } - return false; - } - - public static function tasks_emails() - { - global $mdb, $setttings; - - include_once 'libraries/phpmailer/class.phpmailer.php'; - include_once 'libraries/phpmailer/class.smtp.php'; - - $results = $mdb -> query( 'SELECT ' - . 't.* ' - . 'FROM ' - . 'tasks AS t ' - . 'WHERE ' - . 'reminders = 1 AND reminders_send = 0 AND status = 0 AND deleted = 0' ) -> fetchAll(); - if ( is_array( $results ) and!empty( $results ) ) foreach ( $results as $row ) - { - $days_counter = explode( ',', $row['reminders_interval'] ); - rsort( $days_counter ); - - if ( is_array( $days_counter ) and!empty( $days_counter ) ) foreach ( $days_counter as $dc ) - { - if ( !$mdb -> count( 'tasks_reminders', ['AND' => ['task_id' => $row['id'], 'day_counter' => $dc]] ) ) - { - $send = false; - $date_tmp = date( 'Y-m-d', strtotime( '+' . $dc . 'days', strtotime( date( 'Y-m-d' ) ) ) ); - if ( $date_tmp >= $row['date_end'] ) - { - if ( !$mdb -> count( 'tasks_reminders', ['AND' => ['task_id' => $row['id'], 'day_counter' => $dc]] ) ) - { - $users = $mdb -> select( 'task_user', 'user_id', ['task_id' => $row['id']] ); - - if ( is_array( $users ) and count( $users ) ) - { - foreach ( $users as $user ) - { - $user_email = $mdb -> get( 'users', 'email', ['id' => $user] ); - - date( 'Y-m-d', strtotime( $row['date_end'] ) ) == date( 'Y-m-d' ) ? $date = 'dzisiaj' : $date = date( 'Y-m-d', strtotime( $row['date_end'] ) ); - - - $subject = 'crmPRO - ' . $row['name']; - $text = '

Witaj.

' . - '

Otrzymałeś ten email z powodu ustawionego przypomnienia. Poniżej znajdziesz jego treść.

' . - '

---------------------------------------------------------------------------------------

' . - '

' . $row['name'] . ' (termin zadania: ' . $date . ')

' . - '

' . $row['text'] . '

'; - - if ( \S::send_email( $user_email, $subject, $text ) ); - $send = true; - } - - if ( $send ) - { - $mdb -> insert( 'tasks_reminders', ['task_id' => $row['id'], 'day_counter' => $dc] ); - return [ - 'status' => 'ok', - 'msg' => 'Wiadomość została wysłana na adres: ' . $user_email - ]; - } - } - else - { - $mdb -> insert( 'tasks_reminders', ['task_id' => $row['id'], 'day_counter' => $dc] ); - return [ - 'status' => 'ok', - 'msg' => 'Wiadomość nie wysłana z powodu braku odbiorców.' - ]; - } - } - } - } - } - - if ( count( $days_counter ) == $mdb -> count( 'tasks_reminders', ['task_id' => $row['id']] ) ) - $mdb -> update( 'tasks', ['reminders_send' => 1], ['id' => $row['id']] ); - } - return ['status' => 'empty']; - } } \ No newline at end of file diff --git a/autoload/factory/class.Cron.php b/autoload/factory/class.Cron.php index c10cb3a..7d1971b 100644 --- a/autoload/factory/class.Cron.php +++ b/autoload/factory/class.Cron.php @@ -1,530 +1,5 @@ delete( 'users_points_history', [ 'date[<]' => date( 'Y-m-d H:i:s', strtotime( '-30 days', time() ) ) ] ) ) - { - return [ - 'status' => 'ok', - 'msg' => 'Usuwam historię punktów.' - ]; - } - return [ 'status' => 'bad' ]; - } - - public static function update_points() - { - global $mdb; - if ( $mdb -> update( 'users', [ 'points[+]' => 100, 'points_update' => date( 'Y-m-d' ) ], [ 'OR' => [ 'points_update[!]' => date( 'Y-m-d' ), 'points_update' => null ] ] ) ) - { - return [ - 'status' => 'ok', - 'msg' => 'Dodaję punkty.' - ]; - } - return [ 'status' => 'bad' ]; - } - - public static function send_push() - { - global $mdb; - - $sent_mail = false; - - /* powiadomienia natychmiastowe */ - $users = $mdb -> query( 'SELECT ' - . 'id, email, pushover_api, pushover_user ' - . 'FROM ' - . 'users ' - . 'WHERE ' - . 'id IN (' - . 'SELECT user_id FROM posters WHERE id IN ( ' - . 'SELECT poster_id FROM posters_history WHERE send_pushover = 0 AND pushover_settings = 1 GROUP BY poster_id ) ) ' - . 'AND ' - . 'pushover_api IS NOT NULL ' - . 'AND ' - . 'pushover_user IS NOT NULL' ) -> fetchAll( \PDO::FETCH_ASSOC ); - if ( is_array( $users ) and count( $users ) ) - { - foreach ( $users as $user ) - { - $posters = $mdb -> query( 'SELECT ' - . 'pr.id, url, title, price, comment ' - . 'FROM ' - . 'posters_history AS pr ' - . 'INNER JOIN posters AS p ON p.id = pr.poster_id ' - . 'WHERE ' - . 'send_pushover = 0 ' - . 'AND ' - . 'pushover_settings = 1 ' - . 'AND ' - . 'user_id = ' . $user['id'] . ' LIMIT 1' ) -> fetchAll( \PDO::FETCH_ASSOC ); - if ( is_array( $posters ) and count( $posters ) ) - { - foreach ( $posters as $poster ) - { - $posters_id[] = $poster['id']; - $auctions[] = $poster; - } - - \factory\Posters::send_push( $user['email'], $auctions, $user['pushover_api'], $user['pushover_user'] ); - $mdb -> query( 'UPDATE posters_history SET send_pushover = 1 WHERE id IN ( ' . implode( ',', $posters_id ) . ')' ); - } - } - - return [ - 'status' => 'ok', - 'msg' => 'Wysyłam powiadomienia push o znalezionych ogłoszeniach.' - ]; - } - - /* powiadomienia zbiorcze co godzinę */ - $users = $mdb -> query( 'SELECT ' - . 'id, email, pushover_api, pushover_user ' - . 'FROM ' - . 'users ' - . 'WHERE ' - . 'id IN (' - . 'SELECT user_id FROM posters WHERE id IN ( ' - . 'SELECT poster_id FROM posters_history AS pr WHERE send_pushover = 0 AND pushover_settings = 2 AND DATE_FORMAT( pr.date, \'%Y-%m-%d %H\' ) = \'' . date( 'Y-m-d H', strtotime( '-1 hours', time() ) ) . '\' GROUP BY poster_id ) ) ' - . 'AND ' - . 'pushover_api IS NOT NULL ' - . 'AND ' - . 'pushover_user IS NOT NULL' ) -> fetchAll( \PDO::FETCH_ASSOC ); - if ( is_array( $users ) and count( $users ) ) - { - foreach ( $users as $user ) - { - $posters = $mdb -> query( 'SELECT ' - . 'pr.id, url, title, price, comment ' - . 'FROM ' - . 'posters_history AS pr ' - . 'INNER JOIN posters AS p ON p.id = pr.poster_id ' - . 'WHERE ' - . 'send_pushover = 0 ' - . 'AND ' - . 'pushover_settings = 2 ' - . 'AND ' - . 'DATE_FORMAT( pr.date, \'%Y-%m-%d %H\' ) = \'' . date( 'Y-m-d H', strtotime( '-1 hours', time() ) ) . '\' ' - . 'AND ' - . 'user_id = ' . $user['id'] . ' LIMIT 1' ) -> fetchAll( \PDO::FETCH_ASSOC ); - if ( is_array( $posters ) and count( $posters ) ) - { - foreach ( $posters as $poster ) - { - $posters_id[] = $poster['id']; - $auctions[] = $poster; - } - - \factory\Posters::send_push( $user['email'], $auctions, $user['pushover_api'], $user['pushover_user'] ); - $mdb -> query( 'UPDATE posters_history SET send_pushover = 1 WHERE id IN ( ' . implode( ',', $posters_id ) . ')' ); - } - } - - return [ - 'status' => 'ok', - 'msg' => 'Wysyłam powiadomienia push o znalezionych ogłoszeniach.' - ]; - } - - if ( date( 'Y-m-d H:i:s' ) > date( 'Y-m-d 08:00:00' ) ) - { - /* powiadomienia zbiorcze dwa razy dziennie - o godzinie 8 */ - $users = $mdb -> query( 'SELECT ' - . 'id, email, pushover_api, pushover_user ' - . 'FROM ' - . 'users ' - . 'WHERE ' - . 'id IN (' - . 'SELECT user_id FROM posters WHERE id IN ( ' - . 'SELECT poster_id FROM posters_history AS pr WHERE send_pushover = 0 AND pushover_settings = 3 AND DATE_FORMAT( pr.date, \'%Y-%m-%d %H\' ) < \'' . date( 'Y-m-d 08' ) . '\' GROUP BY poster_id ) ) ' - . 'AND ' - . 'pushover_api IS NOT NULL ' - . 'AND ' - . 'pushover_user IS NOT NULL' ) -> fetchAll( \PDO::FETCH_ASSOC ); - if ( is_array( $users ) and count( $users ) ) - { - foreach ( $users as $user ) - { - $posters = $mdb -> query( 'SELECT ' - . 'pr.id, url, title, price, comment ' - . 'FROM ' - . 'posters_history AS pr ' - . 'INNER JOIN posters AS p ON p.id = pr.poster_id ' - . 'WHERE ' - . 'send_pushover = 0 ' - . 'AND ' - . 'pushover_settings = 3 ' - . 'AND ' - . 'DATE_FORMAT( pr.date, \'%Y-%m-%d %H\' ) < \'' . date( 'Y-m-d 08' ) . '\' ' - . 'AND ' - . 'user_id = ' . $user['id'] . ' LIMIT 1' ) -> fetchAll( \PDO::FETCH_ASSOC ); - if ( is_array( $posters ) and count( $posters ) ) - { - foreach ( $posters as $poster ) - { - $posters_id[] = $poster['id']; - $auctions[] = $poster; - } - - \factory\Posters::send_push( $user['email'], $auctions, $user['pushover_api'], $user['pushover_user'] ); - $mdb -> query( 'UPDATE posters_history SET send_pushover = 1 WHERE id IN ( ' . implode( ',', $posters_id ) . ')' ); - } - } - - return [ - 'status' => 'ok', - 'msg' => 'Wysyłam powiadomienia push o znalezionych ogłoszeniach.' - ]; - } - } - - if ( date( 'Y-m-d H:i:s' ) > date( 'Y-m-d 20:00:00' ) ) - { - /* powiadomienia zbiorcze dwa razy dziennie - o godzinie 20 */ - $users = $mdb -> query( 'SELECT ' - . 'id, email, pushover_api, pushover_user ' - . 'FROM ' - . 'users ' - . 'WHERE ' - . 'id IN (' - . 'SELECT user_id FROM posters WHERE id IN ( ' - . 'SELECT poster_id FROM posters_history AS pr WHERE send_pushover = 0 AND pushover_settings = 3 AND DATE_FORMAT( pr.date, \'%Y-%m-%d %H\' ) < \'' . date( 'Y-m-d 20' ) . '\' GROUP BY poster_id ) ) ' - . 'AND ' - . 'pushover_api IS NOT NULL ' - . 'AND ' - . 'pushover_user IS NOT NULL' ) -> fetchAll( \PDO::FETCH_ASSOC ); - if ( is_array( $users ) and count( $users ) ) - { - foreach ( $users as $user ) - { - $posters = $mdb -> query( 'SELECT ' - . 'pr.id, url, title, price, comment ' - . 'FROM ' - . 'posters_history AS pr ' - . 'INNER JOIN posters AS p ON p.id = pr.poster_id ' - . 'WHERE ' - . 'send_pushover = 0 ' - . 'AND ' - . 'pushover_settings = 3 ' - . 'AND ' - . 'DATE_FORMAT( pr.date, \'%Y-%m-%d %H\' ) < \'' . date( 'Y-m-d 20' ) . '\' ' - . 'AND ' - . 'user_id = ' . $user['id'] . ' LIMIT 1' ) -> fetchAll( \PDO::FETCH_ASSOC ); - if ( is_array( $posters ) and count( $posters ) ) - { - foreach ( $posters as $poster ) - { - $posters_id[] = $poster['id']; - $auctions[] = $poster; - } - - \factory\Posters::send_push( $user['email'], $auctions, $user['pushover_api'], $user['pushover_user'] ); - $mdb -> query( 'UPDATE posters_history SET send_pushover = 1 WHERE id IN ( ' . implode( ',', $posters_id ) . ')' ); - } - } - - return [ - 'status' => 'ok', - 'msg' => 'Wysyłam powiadomienia push o znalezionych ogłoszeniach.' - ]; - } - } - - if ( date( 'Y-m-d H:i:s' ) > date( 'Y-m-d 20:00:00' ) ) - { - /* powiadomienia zbiorcze raz dziennie - o godzinie 20 */ - $users = $mdb -> query( 'SELECT ' - . 'id, email, pushover_api, pushover_user ' - . 'FROM ' - . 'users ' - . 'WHERE ' - . 'id IN (' - . 'SELECT user_id FROM posters WHERE id IN ( ' - . 'SELECT poster_id FROM posters_history AS pr WHERE send_pushover = 0 AND pushover_settings = 4 AND DATE_FORMAT( pr.date, \'%Y-%m-%d %H\' ) < \'' . date( 'Y-m-d 20' ) . '\' GROUP BY poster_id ) ) ' - . 'AND ' - . 'pushover_api IS NOT NULL ' - . 'AND ' - . 'pushover_user IS NOT NULL' ) -> fetchAll( \PDO::FETCH_ASSOC ); - if ( is_array( $users ) and count( $users ) ) - { - foreach ( $users as $user ) - { - $posters = $mdb -> query( 'SELECT ' - . 'pr.id, url, title, price, comment ' - . 'FROM ' - . 'posters_history AS pr ' - . 'INNER JOIN posters AS p ON p.id = pr.poster_id ' - . 'WHERE ' - . 'send_pushover = 0 ' - . 'AND ' - . 'pushover_settings = 4 ' - . 'AND ' - . 'DATE_FORMAT( pr.date, \'%Y-%m-%d %H\' ) < \'' . date( 'Y-m-d 20' ) . '\' ' - . 'AND ' - . 'user_id = ' . $user['id'] . ' LIMIT 1' ) -> fetchAll( \PDO::FETCH_ASSOC ); - if ( is_array( $posters ) and count( $posters ) ) - { - foreach ( $posters as $poster ) - { - $posters_id[] = $poster['id']; - $auctions[] = $poster; - } - - \factory\Posters::send_push( $user['email'], $auctions, $user['pushover_api'], $user['pushover_user'] ); - $mdb -> query( 'UPDATE posters_history SET send_pushover = 1 WHERE id IN ( ' . implode( ',', $posters_id ) . ')' ); - } - } - - return [ - 'status' => 'ok', - 'msg' => 'Wysyłam powiadomienia push o znalezionych ogłoszeniach.' - ]; - } - } - return [ 'status' => 'bad' ]; - } - - public static function send_emails() - { - global $mdb; - - $sent_mail = false; - - /* powiadomienia natychmiastowe */ - $users = $mdb -> query( 'SELECT ' - . 'id, email ' - . 'FROM ' - . 'users ' - . 'WHERE ' - . 'id IN (' - . 'SELECT user_id FROM posters WHERE id IN ( ' - . 'SELECT poster_id FROM posters_history WHERE send_email = 0 AND mail_settings = 1 GROUP BY poster_id ) )' ) -> fetchAll( \PDO::FETCH_ASSOC ); - if ( is_array( $users ) and count( $users ) ) - { - foreach ( $users as $user ) - { - $posters = $mdb -> query( 'SELECT ' - . 'pr.id, url, title, price, comment, mail_settings ' - . 'FROM ' - . 'posters_history AS pr ' - . 'INNER JOIN posters AS p ON p.id = pr.poster_id ' - . 'WHERE ' - . 'send_email = 0 ' - . 'AND ' - . 'mail_settings = 1 ' - . 'AND ' - . 'user_id = ' . $user['id'] ) -> fetchAll( \PDO::FETCH_ASSOC ); - if ( is_array( $posters ) and count( $posters ) ) - { - foreach ( $posters as $poster ) - { - $posters_id[] = $poster['id']; - $auctions[] = $poster; - } - - \factory\Posters::send_emails( $user['email'], $auctions ); - $mdb -> query( 'UPDATE posters_history SET send_email = 1 WHERE id IN ( ' . implode( ',', $posters_id ) . ')' ); - } - } - - return [ - 'status' => 'ok', - 'msg' => 'Wysyłam powiadomienia mailowe o znalezionych ogłoszeniach.' - ]; - } - - /* powiadomienia zbiorcze co godzinę */ - $users = $mdb -> query( 'SELECT ' - . 'id, email ' - . 'FROM ' - . 'users ' - . 'WHERE ' - . 'id IN (' - . 'SELECT user_id FROM posters WHERE id IN ( ' - . 'SELECT poster_id FROM posters_history AS pr WHERE send_email = 0 AND mail_settings = 2 AND DATE_FORMAT( pr.date, \'%Y-%m-%d %H\' ) = \'' . date( 'Y-m-d H', strtotime( '-1 hours', time() ) ) . '\' GROUP BY poster_id ) )' ) -> fetchAll( \PDO::FETCH_ASSOC ); - if ( is_array( $users ) and count( $users ) ) - { - foreach ( $users as $user ) - { - $posters = $mdb -> query( 'SELECT ' - . 'pr.id, url, title, price, comment, mail_settings ' - . 'FROM ' - . 'posters_history AS pr ' - . 'INNER JOIN posters AS p ON p.id = pr.poster_id ' - . 'WHERE ' - . 'send_email = 0 ' - . 'AND ' - . 'mail_settings = 2 ' - . 'AND ' - . 'DATE_FORMAT( pr.date, \'%Y-%m-%d %H\' ) = \'' . date( 'Y-m-d H', strtotime( '-1 hours', time() ) ) . '\' ' - . 'AND ' - . 'user_id = ' . $user['id'] ) -> fetchAll( \PDO::FETCH_ASSOC ); - if ( is_array( $posters ) and count( $posters ) ) - { - foreach ( $posters as $poster ) - { - $posters_id[] = $poster['id']; - $auctions[] = $poster; - } - - \factory\Posters::send_emails( $user['email'], $auctions, ' | mail zbiorczy co 1h' ); - $mdb -> query( 'UPDATE posters_history SET send_email = 1 WHERE id IN ( ' . implode( ',', $posters_id ) . ')' ); - } - } - - return [ - 'status' => 'ok', - 'msg' => 'Wysyłam powiadomienia mailowe o znalezionych ogłoszeniach.' - ]; - } - - if ( date( 'Y-m-d H:i:s' ) > date( 'Y-m-d 08:00:00' ) ) - { - /* powiadomienia zbiorcze dwa razy dziennie - o godzinie 8 */ - $users = $mdb -> query( 'SELECT ' - . 'id, email ' - . 'FROM ' - . 'users ' - . 'WHERE ' - . 'id IN (' - . 'SELECT user_id FROM posters WHERE id IN ( ' - . 'SELECT poster_id FROM posters_history AS pr WHERE send_email = 0 AND mail_settings = 3 AND DATE_FORMAT( pr.date, \'%Y-%m-%d %H\' ) < \'' . date( 'Y-m-d 08' ) . '\' GROUP BY poster_id ) )' ) -> fetchAll( \PDO::FETCH_ASSOC ); - if ( is_array( $users ) and count( $users ) ) - { - foreach ( $users as $user ) - { - $posters = $mdb -> query( 'SELECT ' - . 'pr.id, url, title, price, comment, mail_settings ' - . 'FROM ' - . 'posters_history AS pr ' - . 'INNER JOIN posters AS p ON p.id = pr.poster_id ' - . 'WHERE ' - . 'send_email = 0 ' - . 'AND ' - . 'mail_settings = 3 ' - . 'AND ' - . 'DATE_FORMAT( pr.date, \'%Y-%m-%d %H\' ) < \'' . date( 'Y-m-d 08' ) . '\' ' - . 'AND ' - . 'user_id = ' . $user['id'] ) -> fetchAll( \PDO::FETCH_ASSOC ); - if ( is_array( $posters ) and count( $posters ) ) - { - foreach ( $posters as $poster ) - { - $posters_id[] = $poster['id']; - $auctions[] = $poster; - } - - \factory\Posters::send_emails( $user['email'], $auctions, ' | mail zbiorczy 2 razy dziennie (08:00)' ); - $mdb -> query( 'UPDATE posters_history SET send_email = 1 WHERE id IN ( ' . implode( ',', $posters_id ) . ')' ); - } - } - - return [ - 'status' => 'ok', - 'msg' => 'Wysyłam powiadomienia mailowe o znalezionych ogłoszeniach.' - ]; - } - } - - if ( date( 'Y-m-d H:i:s' ) > date( 'Y-m-d 20:00:00' ) ) - { - /* powiadomienia zbiorcze dwa razy dziennie - o godzinie 20 */ - $users = $mdb -> query( 'SELECT ' - . 'id, email ' - . 'FROM ' - . 'users ' - . 'WHERE ' - . 'id IN (' - . 'SELECT user_id FROM posters WHERE id IN ( ' - . 'SELECT poster_id FROM posters_history AS pr WHERE send_email = 0 AND mail_settings = 3 AND DATE_FORMAT( pr.date, \'%Y-%m-%d %H\' ) < \'' . date( 'Y-m-d 20' ) . '\' GROUP BY poster_id ) )' ) -> fetchAll( \PDO::FETCH_ASSOC ); - if ( is_array( $users ) and count( $users ) ) - { - foreach ( $users as $user ) - { - $posters = $mdb -> query( 'SELECT ' - . 'pr.id, url, title, price, comment, mail_settings ' - . 'FROM ' - . 'posters_history AS pr ' - . 'INNER JOIN posters AS p ON p.id = pr.poster_id ' - . 'WHERE ' - . 'send_email = 0 ' - . 'AND ' - . 'mail_settings = 3 ' - . 'AND ' - . 'DATE_FORMAT( pr.date, \'%Y-%m-%d %H\' ) < \'' . date( 'Y-m-d 20' ) . '\' ' - . 'AND ' - . 'user_id = ' . $user['id'] ) -> fetchAll( \PDO::FETCH_ASSOC ); - if ( is_array( $posters ) and count( $posters ) ) - { - foreach ( $posters as $poster ) - { - $posters_id[] = $poster['id']; - $auctions[] = $poster; - } - - \factory\Posters::send_emails( $user['email'], $auctions, ' | mail zbiorczy 2 razy dziennie (20:00)' ); - $mdb -> query( 'UPDATE posters_history SET send_email = 1 WHERE id IN ( ' . implode( ',', $posters_id ) . ')' ); - } - } - - return [ - 'status' => 'ok', - 'msg' => 'Wysyłam powiadomienia mailowe o znalezionych ogłoszeniach.' - ]; - } - } - - if ( date( 'Y-m-d H:i:s' ) > date( 'Y-m-d 20:00:00' ) ) - { - /* powiadomienia zbiorcze raz dziennie - o godzinie 20 */ - $users = $mdb -> query( 'SELECT ' - . 'id, email ' - . 'FROM ' - . 'users ' - . 'WHERE ' - . 'id IN (' - . 'SELECT user_id FROM posters WHERE id IN ( ' - . 'SELECT poster_id FROM posters_history AS pr WHERE send_email = 0 AND mail_settings = 4 AND DATE_FORMAT( pr.date, \'%Y-%m-%d %H\' ) < \'' . date( 'Y-m-d 20' ) . '\' GROUP BY poster_id ) )' ) -> fetchAll( \PDO::FETCH_ASSOC ); - if ( is_array( $users ) and count( $users ) ) - { - foreach ( $users as $user ) - { - $posters = $mdb -> query( 'SELECT ' - . 'pr.id, url, title, price, comment, mail_settings ' - . 'FROM ' - . 'posters_history AS pr ' - . 'INNER JOIN posters AS p ON p.id = pr.poster_id ' - . 'WHERE ' - . 'send_email = 0 ' - . 'AND ' - . 'mail_settings = 4 ' - . 'AND ' - . 'DATE_FORMAT( pr.date, \'%Y-%m-%d %H\' ) < \'' . date( 'Y-m-d 20' ) . '\' ' - . 'AND ' - . 'user_id = ' . $user['id'] ) -> fetchAll( \PDO::FETCH_ASSOC ); - if ( is_array( $posters ) and count( $posters ) ) - { - foreach ( $posters as $poster ) - { - $posters_id[] = $poster['id']; - $auctions[] = $poster; - } - - \factory\Posters::send_emails( $user['email'], $auctions, ' | mail zbiorczy raz dziennie (20:00)' ); - $mdb -> query( 'UPDATE posters_history SET send_email = 1 WHERE id IN ( ' . implode( ',', $posters_id ) . ')' ); - } - } - - return [ - 'status' => 'ok', - 'msg' => 'Wysyłam powiadomienia mailowe o znalezionych ogłoszeniach.' - ]; - } - } - return [ 'status' => 'bad' ]; - } } diff --git a/autoload/view/class.Cron.php b/autoload/view/class.Cron.php index edf4236..b0469ee 100644 --- a/autoload/view/class.Cron.php +++ b/autoload/view/class.Cron.php @@ -2,10 +2,6 @@ namespace view; class Cron -{ - public static function main_view() - { - $tpl = new \Tpl; - return $tpl -> render( 'cron/main-view' ); - } +{ + }