$val ) fputs( $fh, $kye . ' : ' . $val . PHP_EOL ); fputs( $fh, '------------------------------------->' . PHP_EOL . PHP_EOL ); // снимаем блокироку файла fclose( $fh ); return TRUE; } // ----------------------------------------------------------------------------------------------------------------------- // save single visit to single file function isIP( $ip ) { $long = ip2long($ip); if ($long == -1 || $long === FALSE) return FALSE; else return TRUE; } // ----------------------------------------------------------------------------------------------------------------------- // save single visit to single file function sinvis2file( $resarr ) { ; } // ------------------------------------------ ведение log-файла ------------------------------------------ function saveToLog ( $moduleName, $mess ) { //file_put_contents( GPATH . '____saveToLog.txt', $moduleName . PHP_EOL . $mess ); $log_name = $moduleName . '.log'; $fn = GPATH . $log_name; if ( !file_exists( $fn ) ) { file_put_contents( $fn, '' ); chmod( $fn, 0666 ); } else if ( ! is_writeable($fn) ) { $log_name = $log_name . 'a'; } $fh = fopen( GPATH . $log_name, 'a' ); //$date = new DateTime(); //date_timezone_set( $date, timezone_open('America/New_York') ); // $day_today = date("m.d.y"); // $today[1] = date("H:i:s"); date_default_timezone_set( 'Etc/GMT+4' ); $dt = date( 'd.m.Y, H:i:s', time() ); fwrite( $fh, $dt . PHP_EOL ); fwrite( $fh, "Event from the \"$moduleName\":" ); if ( is_array( $mess ) ) { foreach( $mess as $key => $val ) { fwrite( $fh, " \$key = $key;\t\$val = $val\r\n" ); } } else { fwrite( $fh, " $mess;\r\n" ); } fclose ($fh); } // ----------------------------------------------------------------------------------------------------------------------- // ----------------------------------------------------------------------------------------------------------------------- function is_bot( $user_agent ) { //file_put_contents( __DIR__ . '/', 'is_bot.txt', 'user_agent: ' . $user_agent . PHP_EOL, FILE_APPEND ); //$user_agent = strtolower( $user_agent ); //file_put_contents( __DIR__ . '/', 'is_bot.txt', 'user_agent: ' . $user_agent . PHP_EOL, FILE_APPEND ); if ( strstr( $user_agent, "ia_archiver" ) || strstr( $user_agent, "ahrefsbot" ) || strstr( $user_agent, "baidu.com" ) || strstr( $user_agent, "baiduspider" ) || strstr( $user_agent, "bingbot" ) || strstr( $user_agent, "companybooknetworking" ) || strstr( $user_agent, "domainstatsbot" ) || strstr( $user_agent, "duckduckgo-favicons-bot" ) || strstr( $user_agent, "googlebot" ) || strstr( $user_agent, "komodiabot" ) || strstr( $user_agent, "mail.ru_bot" ) || strstr( $user_agent, "mj12bot" ) || strstr( $user_agent, "semrushbot" ) || strstr( $user_agent, "seznambot" ) || strstr( $user_agent, "spbot" ) || strstr( $user_agent, "surdotlybot" ) || strstr( $user_agent, "uptimebot" ) || strstr( $user_agent, "wotbox.com/bot" ) || strstr( $user_agent, "yandexbot" ) || strstr( $user_agent, "crawler" ) || strstr( $user_agent, "Crawler" ) || strstr( $user_agent, "search" ) || strstr( $user_agent, "spider" ) || strstr( $user_agent, "bot" ) //strstr( $user_agent, "altavista" ) || strstr( $user_agent, "fast" ) || strstr( $user_agent, "infoseek" ) || //strstr( $user_agent, "lg" ) || strstr( $user_agent, "lycos" ) || strstr( $user_agent, "msn" ) || strstr( $user_agent, "yahoo" ) || //strstr( $user_agent, "rambler" ) || strstr( $user_agent, "com.ua" ) || strstr( $user_agent, "aport" ) || strstr( $user_agent, "uaportal" ) ) $result = TRUE; else $result = FALSE; return $result; } // ----------------------------------------------------------------------------------------------------------------------- // функция получения линка из задания, на который нужно отправить хит function getlink() { $jobs = Array(); $jobs = getjobs(); if (0) { file_put_contents( QUERYFN, var_export($jobs, true) . PHP_EOL . PHP_EOL, FILE_APPEND ); exit(); } if (0) file_put_contents( QUERYFN, $jobs[0]['link'] . PHP_EOL . PHP_EOL, FILE_APPEND ); // если задние не единственное, выбираем то, которое следут обслужить в данный момент $jobcount = count($jobs); // если активных заданий нет if ( $jobcount == 0 ) return ''; if (0) echo '$jobcount: ' . $jobcount . '
'; $jobnumber = 0; if ( $jobcount > 1 ) { // пока не рассматриваем приоритеты заданий // из общего количества выбираем случайное задание для отправки хита $jobnumber = mt_rand( 0, $jobcount - 1 ); } if (0) echo '$jobnumber: ' . $jobnumber . '
'; jobupdate($jobs[$jobnumber]['id']); return $jobs[$jobnumber]['link']; } // ----------------------------------------------------------------------------------------------------------------------- // ----------------------------------------------------------------------------------------------------------------------- ?> '; // если запускается тестовый вариант if ( CIFILENAME == 'visits_tst.txt' ) return DBNAMETST; else return DBNAMEFC; } // ----------------------------------------------------------------------------------------------------------------------- function hitreg( $resarr, $type = 'surfer' ) // hit registration { date_default_timezone_set( 'Etc/GMT+4' ); //echo 'LOCALPATH: ' . LOCALPATH . '
'; //echo 'CRINFO: ' . CRINFO . '
'; $dbname = getdbname(); if (0) file_put_contents( LOCALLOG, 'dbname: ' . $dbname . PHP_EOL, FILE_APPEND ); //echo '$dbname: ' . $dbname . '
'; // если запускается тестовый вариант if ( strpos( '_tst', $dbname ) !== FALSE ) $TST = 1; // флаг тестового запуска else $TST = 0; /* ---------------- Old variant ---------------- if ( $TST ) { $start = strpos( __DIR__, 'domains/' ) + strlen('domains/'); $end = strpos( __DIR__, '/public_html' ); $len = $end - $start; $site = substr( __DIR__, $start, $len ); } else { if ( strpos( $resarr['HTTP_HOST'], 'www.' ) === FALSE ) $site = $resarr['HTTP_HOST']; else $site = substr( $resarr['HTTP_HOST'], strpos( $resarr['HTTP_HOST'], 'www.' ) + strlen('www.'), strlen( $resarr['HTTP_HOST'] ) ); } // ----------------------------------------------*/ // Соединяемся с сервером MySQL $mysqli = new mysqli( DBHOSTSH, DBUSERSH, DBPASSSH, DBNAMESH ); if ( !$mysqli ) { saveToLog( 'toolsdb.err', __LINE__ . ' MySQL error: Connection error' ); return; } $mysqli->set_charset( 'utf8' ); $query = "SELECT sit_id FROM Sites WHERE sit_name = '" . SITE . "'"; if (0) file_put_contents( QUERYFN, __FILE__ . ': ' . __LINE__ . PHP_EOL . __FUNCTION__ . PHP_EOL . $query . PHP_EOL . PHP_EOL, FILE_APPEND ); // if ( !$result = $mysqli->query( $query ) ) { saveToLog ( 'toolsdb(DB error)', 'Line: ' . __LINE__ . PHP_EOL . 'Err: ' . $query . PHP_EOL . 'Err numb: ' . $mysqli->errno . PHP_EOL . 'MySQL Err: ' . $mysqli->error . PHP_EOL ); return false; } $row = $result->fetch_assoc(); $sitid = $row['sit_id']; $visitorid = 0; // id посетителя из Visitors // если пришёл бот if ( $type == 'bot' ) { $mysqli->close(); $mysqli = new mysqli( DBHOST, DBUSER, DBPASS ); if ( !$mysqli ) { saveToLog( 'toolsdb.err', __LINE__ . ' MySQL error: Connection error' ); return; } $mysqli->set_charset( 'utf8' ); $query = "INSERT INTO " . $dbname . ".Visbots ( visb_ip, visb_date, visb_uagent, visb_uri, visb_site, visb_country, visb_rhost, visb_raddr, visb_prx, visb_ref, visb_rem ) " . "VALUES (" . "INET_ATON('" . $resarr['VisitorIP'] . "'), " . "FROM_UNIXTIME(" . $resarr['REQUEST_TIME'] . "), " . "'" . addslashes ( $resarr['HTTP_USER_AGENT'] ) . "', " . "'" . $resarr['REQUEST_URI'] . "', " . "" . $sitid . ", " . "'" . $resarr['CNTR'] . "', " . "'" . $resarr['REMOTE_HOST'] . "', " . "'" . $resarr['REMOTE_ADDR'] . "', " . "'" . $resarr['UseProxyServer'] . "', " . "'" . $resarr['HTTP_REFERER'] . "', " . "'" . $resarr['Remark'] . "'" . ")"; if ( !$result = $mysqli->query( $query ) ) { saveToLog ( 'toolsdb(DB error)', 'Line: ' . __LINE__ . PHP_EOL . 'Err: ' . $query . PHP_EOL . 'Err numb: ' . $mysqli->errno . PHP_EOL . 'MySQL Err: ' . $mysqli->error . PHP_EOL ); return false; } } else // если не бот { // -------------- получаем id агента по его имени или сохраняем нового -------------- $query = "SELECT ua_id FROM Uagents WHERE ua_name = '" . addslashes ( $resarr['HTTP_USER_AGENT'] ) . "'"; if ( !$result = $mysqli->query( $query ) ) { saveToLog ( 'toolsdb(DB error)', 'Line: ' . __LINE__ . PHP_EOL . 'Err: ' . $query . PHP_EOL . 'Err numb: ' . $mysqli->errno . PHP_EOL . 'MySQL Err: ' . $mysqli->error . PHP_EOL ); return false; } if ( $result->num_rows ) { $row = $result->fetch_assoc(); $uaid = $row['ua_id']; if (0) file_put_contents( 'zgrb/ua_id.txt', var_export($row, true) ); } else // если такого агента ещё не было, заносим его в базу { $query = "INSERT INTO Uagents ( ua_name ) VALUES ('" . addslashes ( $resarr['HTTP_USER_AGENT'] ) . "')"; if ( !$result = $mysqli->query( $query ) ) { saveToLog ( 'toolsdb(DB error)', 'Line: ' . __LINE__ . PHP_EOL . 'Err: ' . $query . PHP_EOL . 'Err numb: ' . $mysqli->errno . PHP_EOL . 'MySQL Err: ' . $mysqli->error . PHP_EOL ); return false; } $query = "SELECT MAX(ua_id) FROM Uagents"; if ( !$result = $mysqli->query( $query ) ) { saveToLog ( 'toolsdb(DB error)', 'Line: ' . __LINE__ . PHP_EOL . 'Err: ' . $query . PHP_EOL . 'Err numb: ' . $mysqli->errno . PHP_EOL . 'MySQL Err: ' . $mysqli->error . PHP_EOL ); return false; } $row = $result->fetch_assoc(); $uaid = $row['MAX(ua_id)']; } // -------------- END OF получаем id агента по его имени или сохраняем нового -------------- $mysqli->close(); $mysqli = new mysqli( DBHOST, DBUSER, DBPASS ); if ( !$mysqli ) { saveToLog( 'toolsdb.err', __LINE__ . ' MySQL error: Connection error' ); return; } $mysqli->set_charset( 'utf8' ); $query = "INSERT INTO " . $dbname . ".Visitors ( vis_date, vis_ip, vis_country, vis_uagent_id, vis_uri, vis_unique, vis_ref, vis_site, vis_lang, vis_prx, vis_rhost, vis_raddr, vis_rem ) " . "VALUES (" . "FROM_UNIXTIME(" . $resarr['REQUEST_TIME'] . "), " . "INET_ATON('" . $resarr['VisitorIP'] . "'), " . "'" . $resarr['CNTR'] . "', " . "" . $uaid . ", " . "'" . $resarr['REQUEST_URI'] . "', " . "" . $resarr['Unique'] . ", " . "'" . $resarr['HTTP_REFERER'] . "', " . "" . $sitid . ", " . "'" . $resarr['HTTP_ACCEPT_LANGUAGE'] . "', " . "'" . $resarr['UseProxyServer'] . "', " . "'" . $resarr['REMOTE_HOST'] . "', " . "'" . $resarr['REMOTE_ADDR'] . "', " . "'" . $resarr['Remark'] . "'" . ")"; if ( !$result = $mysqli->query( $query ) ) { saveToLog ( 'toolsdb(DB error)', 'Line: ' . __LINE__ . PHP_EOL . 'Err: ' . $query . PHP_EOL . 'Err numb: ' . $mysqli->errno . PHP_EOL . 'MySQL Err: ' . $mysqli->error . PHP_EOL ); return false; } // получаем id последнего сохранённого посетителя $query = "SELECT MAX(vis_id) FROM " . $dbname . ".Visitors"; if ( !$result = $mysqli->query( $query ) ) { saveToLog ( 'toolsdb(DB error)', 'Line: ' . __LINE__ . PHP_EOL . 'Err: ' . $query . PHP_EOL . 'Err numb: ' . $mysqli->errno . PHP_EOL . 'MySQL Err: ' . $mysqli->error . PHP_EOL ); return false; } $row = $result->fetch_assoc(); $visitorid = $row['MAX(vis_id)']; if (0) file_put_contents( 'zgrb/zrow.txt', 'visitorid: ' . $visitorid ); if (0) file_put_contents( 'zgrb/zrow.txt', var_export( $row, true ), FILE_APPEND ); } $mysqli->close(); if (0) file_put_contents( QUERYFN, 'return visitorid: ' . $visitorid . PHP_EOL . PHP_EOL, FILE_APPEND ); // return $visitorid; } // ----------------------------------------------------------------------------------------------------------------------- function healreadycame( $resarr ) // He already came { date_default_timezone_set( 'Etc/GMT+4' ); //echo 'LOCALPATH: ' . LOCALPATH . '
'; //echo 'CRINFO: ' . CRINFO . '
'; // узнаём id агента $mysqli = new mysqli( DBHOSTSH, DBUSERSH, DBPASSSH, DBNAMESH ); if ( !$mysqli ) { saveToLog( 'toolsdb.err', __LINE__ . ' MySQL error: Connection error' ); return; } $mysqli->set_charset( 'utf8' ); $query = "SELECT ua_id FROM Uagents WHERE ua_name = '" . addslashes ($resarr['HTTP_USER_AGENT']) . "'"; if ( !$result = $mysqli->query( $query ) ) { saveToLog ( 'toolsdb(DB error)', 'Line: ' . __LINE__ . PHP_EOL . 'Err: ' . $query . PHP_EOL . 'Err numb: ' . $mysqli->errno . PHP_EOL . 'MySQL Err: ' . $mysqli->error . PHP_EOL ); return false; } // если агента такого ещё нет, уходим if ( !$result->num_rows ) return FALSE; $row = $result->fetch_assoc(); $mysqli->close(); $ua_id = $row['ua_id']; $dbname = getdbname(); // Соединяемся с сервером MySQL $mysqli = new mysqli( DBHOST, DBUSER, DBPASS );//, DBNAME ); if ( !$mysqli ) { saveToLog( 'toolsdb.err', __LINE__ . ' MySQL error: Connection error' ); return; } $mysqli->set_charset( 'utf8' ); $query = "SELECT * FROM " . $dbname . ".Visitors WHERE " . "(vis_date >= '" . date('Y-m-d', time()) . " 00:00:00' AND vis_date < '" . date( 'Y-m-d H:i:s', strtotime( 'tomorrow' ) ) . "') AND " . "vis_uagent_id = " . $ua_id . " AND vis_ip = INET_ATON('" . $resarr['VisitorIP'] . "')"; $dts = date( 'Y-m-d_H:i:s', time() ); //$fn = QUERYFNSPATH . $dts . '_query.txt'; if ( isset($fn) ) { file_put_contents( $fn, var_export( $resarr, true) . PHP_EOL . PHP_EOL); file_put_contents( $fn, $dts . PHP_EOL . PHP_EOL, FILE_APPEND ); file_put_contents( $fn, $query . PHP_EOL . PHP_EOL . PHP_EOL, FILE_APPEND ); } if ( !$result = $mysqli->query( $query ) ) { saveToLog ( 'toolsdb(DB error)', 'Line: ' . __LINE__ . PHP_EOL . 'Err: ' . $query . PHP_EOL . 'Err numb: ' . $mysqli->errno . PHP_EOL . 'MySQL Err: ' . $mysqli->error . PHP_EOL ); return false; } $row = $result->fetch_assoc(); $num_rows = $result->num_rows; $mysqli->close(); if ( isset($fn) ) { file_put_contents( $fn, '$row:' . PHP_EOL . var_export( $row, true) . PHP_EOL . PHP_EOL, FILE_APPEND); //if ( is_array( $row ) ) file_put_contents( $fn, var_export( $row, true) . PHP_EOL, FILE_APPEND); //else file_put_contents( $fn, 'row: ' . $row . PHP_EOL . PHP_EOL, FILE_APPEND); file_put_contents( $fn, '$_COOKIE:' . PHP_EOL . var_export( $_COOKIE, true) . PHP_EOL . '-----------------------' . PHP_EOL, FILE_APPEND); } if ( $num_rows ) return TRUE; else return FALSE; } // ----------------------------------------------------------------------------------------------------------------------- function notfirsttime( $resarr ) // { date_default_timezone_set( 'Etc/GMT+4' ); //echo 'LOCALPATH: ' . LOCALPATH . '
'; //echo 'CRINFO: ' . CRINFO . '
'; // узнаём id агента $mysqli = new mysqli( DBHOSTSH, DBUSERSH, DBPASSSH, DBNAMESH ); if ( !$mysqli ) { saveToLog( 'toolsdb.err', __LINE__ . ' MySQL error: Connection error' ); return; } $mysqli->set_charset( 'utf8' ); $query = "SELECT ua_id FROM Uagents WHERE ua_name = '" . addslashes ($resarr['HTTP_USER_AGENT']) . "'"; if ( !$result = $mysqli->query( $query ) ) { saveToLog ( 'toolsdb(DB error)', 'Line: ' . __LINE__ . PHP_EOL . 'Err: ' . $query . PHP_EOL . 'Err numb: ' . $mysqli->errno . PHP_EOL . 'MySQL Err: ' . $mysqli->error . PHP_EOL ); return false; } // если агента такого ещё нет, уходим if ( !$result->num_rows ) return FALSE; $row = $result->fetch_assoc(); $mysqli->close(); $ua_id = $row['ua_id']; $dbname = getdbname(); // Соединяемся с сервером MySQL $mysqli = new mysqli( DBHOST, DBUSER, DBPASS );//, DBNAME ); if ( !$mysqli ) { saveToLog( 'toolsdb.err', __LINE__ . ' MySQL error: Connection error' ); return; } $mysqli->set_charset( 'utf8' ); $query = "SELECT * FROM " . $dbname . ".Visitors WHERE " . "(vis_date >= '" . date('Y-m-d', time()) . " 00:00:00' AND vis_date < '" . date( 'Y-m-d H:i:s', strtotime( 'tomorrow' ) ) . "') AND " . "vis_uagent_id = " . $ua_id . " AND vis_ip = INET_ATON('" . $resarr['VisitorIP'] . "')"; $dts = date( 'Y-m-d_H:i:s', time() ); //$fn = QUERYFNSPATH . $dts . '_query.txt'; if ( isset($fn) ) { file_put_contents( $fn, var_export( $resarr, true) . PHP_EOL . PHP_EOL); file_put_contents( $fn, $dts . PHP_EOL . PHP_EOL, FILE_APPEND ); file_put_contents( $fn, $query . PHP_EOL . PHP_EOL . PHP_EOL, FILE_APPEND ); } if ( !$result = $mysqli->query( $query ) ) { saveToLog ( 'toolsdb(DB error)', 'Line: ' . __LINE__ . PHP_EOL . 'Err: ' . $query . PHP_EOL . 'Err numb: ' . $mysqli->errno . PHP_EOL . 'MySQL Err: ' . $mysqli->error . PHP_EOL ); return false; } $row = $result->fetch_assoc(); $num_rows = $result->num_rows; $mysqli->close(); if ( isset($fn) ) { file_put_contents( $fn, '$row:' . PHP_EOL . var_export( $row, true) . PHP_EOL . PHP_EOL, FILE_APPEND); //if ( is_array( $row ) ) file_put_contents( $fn, var_export( $row, true) . PHP_EOL, FILE_APPEND); //else file_put_contents( $fn, 'row: ' . $row . PHP_EOL . PHP_EOL, FILE_APPEND); file_put_contents( $fn, '$_COOKIE:' . PHP_EOL . var_export( $_COOKIE, true) . PHP_EOL . '-----------------------' . PHP_EOL, FILE_APPEND); } //file_put_contents( '/home/zgchris/domains/myhotshemales.net/public_html/zgrb/serv.txt', 'dbname: ' . $dbname . PHP_EOL, FILE_APPEND ); //file_put_contents( '/home/zgchris/domains/myhotshemales.net/public_html/zgrb/serv.txt', 'row: ' . $num_rows . PHP_EOL, FILE_APPEND); if ( $num_rows > 1 ) return TRUE; else { // если посетитель в браузре вернулся по истории назад, то на серваке не фиксируется второе посещение, поэтому проверяем, // редиректился ли уже посетитель if ( intval($row['vis_rcplnk_id']) > 0 ) return TRUE; setlinkbylink( intval($row['vis_id']), $resarr['LINK'] ); return FALSE; } } // ----------------------------------------------------------------------------------------------------------------------- function setunique( $visitorid ) // He already came { $dbname = getdbname(); // если запускается тестовый вариант if ( strpos( '_tst', $dbname ) !== FALSE ) $TST = 1; // флаг тестового запуска else $TST = 0; // Соединяемся с сервером MySQL $mysqli = new mysqli( DBHOST, DBUSER, DBPASS );//, DBNAME ); if ( !$mysqli ) { saveToLog( 'toolsdb.err', __LINE__ . ' MySQL error: Connection error' ); return; } $mysqli->set_charset( 'utf8' ); $query = "UPDATE " . $dbname . ".Visitors SET vis_unique = 1 WHERE vis_id = " . $visitorid . ""; if ( !$result = $mysqli->query( $query ) ) { saveToLog ( 'toolsdb(DB error)', 'Line: ' . __LINE__ . PHP_EOL . 'Err: ' . $query . PHP_EOL . 'Err numb: ' . $mysqli->errno . PHP_EOL . 'MySQL Err: ' . $mysqli->error . PHP_EOL ); return false; } $mysqli->close(); } // ----------------------------------------------------------------------------------------------------------------------- // function getjobs() { $dbname = getdbname(); // если запускается тестовый вариант if ( strpos( '_tst', $dbname ) !== FALSE ) $TST = 1; // флаг тестового запуска else $TST = 0; // Соединяемся с сервером MySQL $mysqli = new mysqli( DBHOSTSH, DBUSERSH, DBPASSSH, DBNAMESH ); if ( !$mysqli ) { saveToLog( 'toolsdb.err', __LINE__ . ' MySQL error: Connection error' ); return; } $mysqli->set_charset( 'utf8' ); $query = "SELECT * FROM Trjs WHERE trj_act = 1 AND trj_start <= '" . date( 'Y-m-d H:i:s', time() ) . "'"; if (0) file_put_contents( QUERYFN, __FILE__ . ': ' . __LINE__ . PHP_EOL . __FUNCTION__ . PHP_EOL . $query . PHP_EOL . PHP_EOL, FILE_APPEND ); // , FILE_APPEND if ( !$result = $mysqli->query( $query ) ) { saveToLog ( 'toolsdb(DB error)', 'Line: ' . __LINE__ . PHP_EOL . 'Err: ' . $query . PHP_EOL . 'Err numb: ' . $mysqli->errno . PHP_EOL . 'MySQL Err: ' . $mysqli->error . PHP_EOL ); return false; } $jobs = Array(); $job = Array(); //$row = $result->fetch_assoc(); while( $row = $result->fetch_assoc() ) { $job['id'] = $row['trj_id']; $link = getjoblink($row['trj_rcplnk_id']); $job['link'] = ( $link ); $jobs[] = $job; } $mysqli->close(); if (0) file_put_contents( QUERYFN, var_export($jobs, true) . PHP_EOL . PHP_EOL, FILE_APPEND ); return $jobs; } // ----------------------------------------------------------------------------------------------------------------------- function getjoblink($linkid) { $dbname = getdbname(); // если запускается тестовый вариант if ( strpos( '_tst', $dbname ) !== FALSE ) $TST = 1; // флаг тестового запуска else $TST = 0; // Соединяемся с сервером MySQL $mysqli = new mysqli( DBHOSTSH, DBUSERSH, DBPASSSH, DBNAMESH ); if ( !$mysqli ) { saveToLog( 'toolsdb.err', __LINE__ . ' MySQL error: Connection error' ); return; } $mysqli->set_charset( 'utf8' ); $query = "SELECT * FROM Rcplinks WHERE rcplnk_id = " . $linkid . ""; if (0) file_put_contents( QUERYFN, __FILE__ . ': ' . __LINE__ . PHP_EOL . __FUNCTION__ . PHP_EOL . $query . PHP_EOL . PHP_EOL, FILE_APPEND ); // , FILE_APPEND if ( !$result = $mysqli->query( $query ) ) { saveToLog ( 'toolsdb(DB error)', 'Line: ' . __LINE__ . PHP_EOL . 'Err: ' . $query . PHP_EOL . 'Err numb: ' . $mysqli->errno . PHP_EOL . 'MySQL Err: ' . $mysqli->error . PHP_EOL ); return false; } $row = $result->fetch_assoc(); $mysqli->close(); return $row['rcplnk_link']; } // ----------------------------------------------------------------------------------------------------------------------- function jobupdate($id) { $dbname = getdbname(); // если запускается тестовый вариант if ( strpos( '_tst', $dbname ) !== FALSE ) $TST = 1; // флаг тестового запуска else $TST = 0; // Соединяемся с сервером MySQL $mysqli = new mysqli( DBHOSTSH, DBUSERSH, DBPASSSH, DBNAMESH ); if ( !$mysqli ) { saveToLog( 'toolsdb.err', __LINE__ . ' MySQL error: Connection error' ); return; } $mysqli->set_charset( 'utf8' ); $query = "SELECT * FROM Trjs WHERE trj_id = " . $id . ""; if (0) file_put_contents( QUERYFN, __FILE__ . ': ' . __LINE__ . PHP_EOL . __FUNCTION__ . PHP_EOL . $query . PHP_EOL . PHP_EOL, FILE_APPEND ); if ( !$result = $mysqli->query( $query ) ) { saveToLog ( 'toolsdb(DB error)', 'Line: ' . __LINE__ . PHP_EOL . 'Err: ' . $query . PHP_EOL . 'Err numb: ' . $mysqli->errno . PHP_EOL . 'MySQL Err: ' . $mysqli->error . PHP_EOL ); return false; } $row = $result->fetch_assoc(); // если неограниченная количеством отдача или отдаётся не последний хит if ( intval($row['trj_need']) < 0 OR intval($row['trj_need']) - 1 - intval($row['trj_alr']) > 0 ) $query = "UPDATE Trjs SET trj_alr = trj_alr + 1 WHERE trj_id = " . $id . ""; else $query = "UPDATE Trjs SET trj_alr = trj_need, trj_act = 0 WHERE trj_id = " . $id . ""; if (0) file_put_contents( QUERYFN, __FILE__ . ': ' . __LINE__ . PHP_EOL . __FUNCTION__ . PHP_EOL . $query . PHP_EOL . PHP_EOL, FILE_APPEND ); if ( !$result = $mysqli->query( $query ) ) { saveToLog ( 'toolsdb(DB error)', 'Line: ' . __LINE__ . PHP_EOL . 'Err: ' . $query . PHP_EOL . 'Err numb: ' . $mysqli->errno . PHP_EOL . 'MySQL Err: ' . $mysqli->error . PHP_EOL ); return false; } $mysqli->close(); } // ----------------------------------------------------------------------------------------------------------------------- function setlinkbylink( $visitorid, $link ) { $dbname = getdbname(); // если запускается тестовый вариант if ( strpos( '_tst', $dbname ) !== FALSE ) $TST = 1; // флаг тестового запуска else $TST = 0; // Соединяемся с сервером MySQL $mysqli = new mysqli( DBHOSTSH, DBUSERSH, DBPASSSH, DBNAMESH ); if ( !$mysqli ) { saveToLog( 'toolsdb.err', __LINE__ . ' MySQL error: Connection error' ); return; } $mysqli->set_charset( 'utf8' ); $query = "SELECT rcplnk_id FROM Rcplinks WHERE rcplnk_link = '" . $link . "'"; if (0) file_put_contents( QUERYFN, __FILE__ . ': ' . __LINE__ . PHP_EOL . __FUNCTION__ . PHP_EOL . $query . PHP_EOL . PHP_EOL, FILE_APPEND ); if ( !$result = $mysqli->query( $query ) ) { saveToLog ( 'toolsdb(DB error)', 'Line: ' . __LINE__ . PHP_EOL . 'Err: ' . $query . PHP_EOL . 'Err numb: ' . $mysqli->errno . PHP_EOL . 'MySQL Err: ' . $mysqli->error . PHP_EOL ); return false; } $row = $result->fetch_assoc(); $mysqli->close(); $mysqli = new mysqli( DBHOST, DBUSER, DBPASS );//, DBNAME ); if ( !$mysqli ) { saveToLog( 'toolsdb.err', __LINE__ . ' MySQL error: Connection error' ); return; } $mysqli->set_charset( 'utf8' ); $query = "UPDATE " . $dbname . ".Visitors SET vis_rcplnk_id = " . $row['rcplnk_id'] . " WHERE vis_id = " . $visitorid . ""; if (0) file_put_contents( QUERYFN, __FILE__ . ': ' . __LINE__ . PHP_EOL . __FUNCTION__ . PHP_EOL . $query . PHP_EOL . PHP_EOL, FILE_APPEND ); if ( !$result = $mysqli->query( $query ) ) { saveToLog ( 'toolsdb(DB error)', 'Line: ' . __LINE__ . PHP_EOL . 'Err: ' . $query . PHP_EOL . 'Err numb: ' . $mysqli->errno . PHP_EOL . 'MySQL Err: ' . $mysqli->error . PHP_EOL ); return false; } if (0) file_put_contents( QUERYFN, __FILE__ . ': ' . __LINE__ . PHP_EOL . __FUNCTION__ . PHP_EOL . 'result: ' . $result . PHP_EOL . PHP_EOL, FILE_APPEND ); $mysqli->close(); } // ----------------------------------------------------------------------------------------------------------------------- define( 'TIME', '20:00:00' ); function isnewday() { $dbname = getdbname(); // если запускается тестовый вариант if ( strpos( '_tst', $dbname ) !== FALSE ) $TST = 1; // флаг тестового запуска else $TST = 0; // Соединяемся с сервером MySQL $mysqli = new mysqli( DBHOST, DBUSER, DBPASS );//, DBNAME ); if ( !$mysqli ) { saveToLog( 'toolsdb.err', __LINE__ . ' MySQL error: Connection error' ); return; } $mysqli->set_charset( 'utf8' ); $query = "SELECT COUNT(*) FROM " . $dbname . ".Visitors WHERE vis_date < '" . date( 'Y-m-d ' . TIME, time() ) . "'"; if ( !$result = $mysqli->query( $query ) ) { saveToLog ( 'toolsdb(DB error)', 'Line: ' . __LINE__ . PHP_EOL . 'Err: ' . $query . PHP_EOL . 'Err numb: ' . $mysqli->errno . PHP_EOL . 'MySQL Err: ' . $mysqli->error . PHP_EOL ); return false; } $row = $result->fetch_assoc(); $mysqli->close(); if (0) file_put_contents( QUERYFN, var_export( $row, true ) . PHP_EOL . PHP_EOL, FILE_APPEND ); if ( $row['COUNT(*)'] ) return TRUE; /* $query = INSERT INTO `db`.`table_to` (`a1_2`, `a2_2`, `a3_2`, `a4_2`) SELECT `a1`, `a2`, `a3`, `a4` FROM `db`.`table_from` WHERE `a2` < '2014-04-30 11:37:38' } */ return FALSE; } // ----------------------------------------------------------------------------------------------------------------------- function bckpoldrecs_ () //backupingoldrecords { $dbname = getdbname(); // если запускается тестовый вариант if ( strpos( '_tst', $dbname ) !== FALSE ) $TST = 1; // флаг тестового запуска else $TST = 0; // Соединяемся с сервером MySQL $mysqli = new mysqli( DBHOST, DBUSER, DBPASS );//, DBNAME ); if ( !$mysqli ) { saveToLog( 'toolsdb.err', __LINE__ . ' MySQL error: Connection error' ); return; } $mysqli->set_charset( 'utf8' ); $query = "LOCK TABLES " . $dbname . ".Visitorstod WRITE, " . $dbname . ".Visitors WRITE"; if ( !$result = $mysqli->query( $query ) ) { saveToLog ( 'toolsdb(DB error)', 'Line: ' . __LINE__ . PHP_EOL . 'Err: ' . $query . PHP_EOL . 'Err numb: ' . $mysqli->errno . PHP_EOL . 'MySQL Err: ' . $mysqli->error . PHP_EOL ); return false; } $query = "INSERT INTO " . $dbname . ".Visitors SELECT * FROM " . $dbname . ".Visitorstod WHERE vis_date < '" . date( 'Y-m-d ' . TIME, time() ) . "'"; if ( !$result = $mysqli->query( $query ) ) { saveToLog ( 'toolsdb(DB error)', 'Line: ' . __LINE__ . PHP_EOL . 'Err: ' . $query . PHP_EOL . 'Err numb: ' . $mysqli->errno . PHP_EOL . 'MySQL Err: ' . $mysqli->error . PHP_EOL ); return false; } $query = "DELETE FROM " . $dbname . ".Visitorstod WHERE vis_date < '" . date( 'Y-m-d ' . TIME, time() ) . "'"; if ( !$result = $mysqli->query( $query ) ) { saveToLog ( 'toolsdb(DB error)', 'Line: ' . __LINE__ . PHP_EOL . 'Err: ' . $query . PHP_EOL . 'Err numb: ' . $mysqli->errno . PHP_EOL . 'MySQL Err: ' . $mysqli->error . PHP_EOL ); return false; } $query = "UNLOCK TABLES"; if ( !$result = $mysqli->query( $query ) ) { saveToLog ( 'toolsdb(DB error)', 'Line: ' . __LINE__ . PHP_EOL . 'Err: ' . $query . PHP_EOL . 'Err numb: ' . $mysqli->errno . PHP_EOL . 'MySQL Err: ' . $mysqli->error . PHP_EOL ); return false; } $mysqli->close(); //echo '$result: ' . $result . PHP_EOL; return; } //----------------------------------------------------------------------------------------------------------------------- function cpyestdata () //copy yesterday data { $dbname = getdbname(); // если запускается тестовый вариант if ( strpos( '_tst', $dbname ) !== FALSE ) $TST = 1; // флаг тестового запуска else $TST = 0; // Соединяемся с сервером MySQL $mysqli = new mysqli( DBHOST, DBUSER, DBPASS );//, DBNAME ); if ( !$mysqli ) { saveToLog( 'toolsdb.err', __LINE__ . ' MySQL error: Connection error' ); return; } $mysqli->set_charset( 'utf8' ); $yesterday = strtotime( 'yesterday' ); $query = "SELECT * FROM " . $dbname . ".Visitors WHERE vis_date <= '" . date( 'Y-m-d ' . '23:59:59', $yesterday ) . "' AND vis_date >= '" . date( 'Y-m-d H:i:s', $yesterday ) . "'"; if (0) file_put_contents( '/home/zgchris/domains/myhotshemales.net/public_html/zgrb/_copyrec.txt', $query . PHP_EOL . PHP_EOL ); if ( !$result = $mysqli->query( $query ) ) { saveToLog ( 'toolsdb(DB error)', 'Line: ' . __LINE__ . PHP_EOL . 'Err: ' . $query . PHP_EOL . 'Err numb: ' . $mysqli->errno . PHP_EOL . 'MySQL Err: ' . $mysqli->error . PHP_EOL ); return false; } $records = Array(); while( $row = $result->fetch_assoc() ) { $records[] = $row; } $mysqli->close(); if (1) file_put_contents( '/home/zgchris/domains/myhotshemales.net/public_html/zgrb/_copyrec.txt', var_export($records, true) . PHP_EOL . PHP_EOL, FILE_APPEND ); //if (1) file_put_contents( '/home/zgchris/domains/myhotshemales.net/public_html/zgrb/_cprcs.txt', serialize($records) ); // Соединяемся с сервером MySQL $mysqli = new mysqli( DBHOSTSH, DBUSERSH, DBPASSSH, DBNAMESH ); if ( !$mysqli ) { saveToLog( 'toolsdb.err', __LINE__ . ' MySQL error: Connection error' ); return; } $mysqli->set_charset( 'utf8' ); $query = "LOCK TABLES Visitors WRITE"; if ( !$result = $mysqli->query( $query ) ) { saveToLog ( 'toolsdb(DB error)', 'Line: ' . __LINE__ . PHP_EOL . 'Err: ' . $query . PHP_EOL . 'Err numb: ' . $mysqli->errno . PHP_EOL . 'MySQL Err: ' . $mysqli->error . PHP_EOL ); return false; } foreach ( $records as $val ) { foreach ( $records as $k => $v ) { $into = ''; $values = ''; } $query = "INSERT INTO Visitors (" . $into . ") VALUES (" . $values . ")"; if ( !$result = $mysqli->query( $query ) ) { saveToLog ( 'toolsdb(DB error)', 'Line: ' . __LINE__ . PHP_EOL . 'Err: ' . $query . PHP_EOL . 'Err numb: ' . $mysqli->errno . PHP_EOL . 'MySQL Err: ' . $mysqli->error . PHP_EOL ); return false; } break; } $query = "UNLOCK TABLES"; if ( !$result = $mysqli->query( $query ) ) { saveToLog ( 'toolsdb(DB error)', 'Line: ' . __LINE__ . PHP_EOL . 'Err: ' . $query . PHP_EOL . 'Err numb: ' . $mysqli->errno . PHP_EOL . 'MySQL Err: ' . $mysqli->error . PHP_EOL ); return false; } $mysqli->close(); } //----------------------------------------------------------------------------------------------------------------------- //----------------------------------------------------------------------------------------------------------------------- ?>