Refactor Cron class: remove unused methods and clean up code
- Deleted methods related to points history management, push notifications, and email notifications from the factory Cron class to streamline functionality. - Removed the main_view method from the view Cron class as it was not needed.
This commit is contained in:
256
api.php
256
api.php
@@ -30,259 +30,3 @@ $mdb = new medoo( [
|
|||||||
'password' => $database['password'],
|
'password' => $database['password'],
|
||||||
'charset' => 'utf8'
|
'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 );
|
|
||||||
// }
|
|
||||||
@@ -2,535 +2,5 @@
|
|||||||
|
|
||||||
class Cron
|
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 = '<p>Witaj.</p>' .
|
|
||||||
'<p>Otrzymałeś ten email z powodu ustawionego przypomnienia. Poniżej znajdziesz jego treść.</p>' .
|
|
||||||
'<p>---------------------------------------------------------------------------------------</p>' .
|
|
||||||
'<p><b>' . $row['name'] . '</b> (termin zadania: <b>' . $date . ')</b></p>' .
|
|
||||||
'<p>' . $row['text'] . '</p>';
|
|
||||||
|
|
||||||
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'];
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
@@ -2,529 +2,4 @@
|
|||||||
namespace factory;
|
namespace factory;
|
||||||
class Cron
|
class Cron
|
||||||
{
|
{
|
||||||
public static function remove_points_history()
|
|
||||||
{
|
|
||||||
global $mdb;
|
|
||||||
if ( $results = $mdb -> 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' ];
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -3,9 +3,5 @@ namespace view;
|
|||||||
|
|
||||||
class Cron
|
class Cron
|
||||||
{
|
{
|
||||||
public static function main_view()
|
|
||||||
{
|
|
||||||
$tpl = new \Tpl;
|
|
||||||
return $tpl -> render( 'cron/main-view' );
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user