536 lines
28 KiB
PHP
536 lines
28 KiB
PHP
<?php
|
|
|
|
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'];
|
|
}
|
|
} |