first commit

This commit is contained in:
2025-04-30 23:59:49 +02:00
commit 652863d54f
117 changed files with 12276 additions and 0 deletions

288
api.php Normal file
View File

@@ -0,0 +1,288 @@
<?php
error_reporting( E_ALL ^ E_NOTICE ^ E_STRICT ^ E_WARNING ^ E_DEPRECATED );
function __autoload_my_classes( $classname )
{
$q = explode( '\\', $classname );
$c = array_pop( $q );
$f = 'autoload/' . implode( '/', $q ) . '/class.' . $c . '.php';
if ( file_exists( $f ) )
require_once( $f );
}
spl_autoload_register( '__autoload_my_classes' );
date_default_timezone_set( 'Europe/Warsaw' );
require_once 'config.php';
require_once 'libraries/medoo/medoo.php';
require_once 'libraries/grid/config.php';
require_once 'libraries/phpmailer/class.phpmailer.php';
require_once 'libraries/phpmailer/class.smtp.php';
require_once 'libraries/rb.php';
session_start();
$mdb = new medoo( [
'database_type' => 'mysql',
'database_name' => $database['name'],
'server' => $database['host'],
'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 );
// }