$slp = 5; if ($tid != null) { $task = getTask($tid); logt("Processing task id = {$tid}"); $checkexist = $task['checkexist']; $nowait = $task['nowait']; $warn = array(); $uid = $task['uid']; $ext = $task['ext']; $filename = 'uploads/' . $tid . $ext; $hangcheck = 5; $cntp = 0; $cnta = 0; $aps = array(); if (($handle = fopen($filename, 'r')) !== false) { $cmtid = getCommentId($task['comment'], true); $time = microtime(true); switch ($ext) { case '.csv': while (($data = fgetcsv($handle, 1000, ';')) !== false) { $cntp++; if ($cntp == 1) { continue; } // Пропуск заголовка CSV $res = db_add_ap($data, $cmtid, $uid); $res == 0 ? $cnta++ : ($warn[$cntp - 1] = $res); if (microtime(true) - $time > $hangcheck) { logt("Status: {$cntp} processed, {$cnta} added (Working)"); $db->query("UPDATE tasks SET `lines`={$cntp},`accepted`={$cnta} WHERE `tid`='{$tid}'"); $time = microtime(true);
db_connect(); $sql = 'SELECT * FROM free WHERE 1 ORDER BY `time` ASC'; $res = $db->query($sql); if ($res->num_rows == 0) { exit; } $sql_wifi = 'INSERT INTO ' . BASE_TABLE . ' (`time`,`cmtid`,`IP`,`Port`,`Authorization`,`name`,`RadioOff`,`Hidden`,`NoBSSID`,`BSSID`,`ESSID`,`Security`,`WiFiKey`,`WPSPIN`,`LANIP`,`LANMask`,`WANIP`,`WANMask`,`WANGateway`,`DNS1`,`DNS2`,`DNS3`) VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?) ON DUPLICATE KEY UPDATE `cmtid`=?,`IP`=?,`Port`=?,`Authorization`=?,`name`=?,`RadioOff`=?,`Hidden`=?,`NoBSSID`=?,`BSSID`=?,`ESSID`=?,`Security`=?,`WiFiKey`=?,`WPSPIN`=?,`LANIP`=?,`LANMask`=?,`WANIP`=?,`WANMask`=?,`WANGateway`=?,`DNS1`=?,`DNS2`=?,`DNS3`=?;'; $wifi = $db->prepare($sql_wifi); $sql_geo = 'INSERT INTO ' . GEO_TABLE . ' (`BSSID`,`latitude`,`longitude`) VALUES (?,?,?) ON DUPLICATE KEY UPDATE `BSSID`=?,`latitude`=?,`longitude`=?;'; $geo = $db->prepare($sql_geo); while ($row = $res->fetch_assoc()) { $row['comment'] = trim(preg_replace('/\\s+/', ' ', $row['comment'])); if ($row['comment'] == 'none') { $row['comment'] = ''; } $cmtid = getCommentId($row['comment'], true); $row['IP'] = _ip2long($row['IP']); if ($row['IP'] == 0 || $row['IP'] == -1) { $row['IP'] = null; } $row['Port'] = $row['Port'] == '' ? null : (int) $row['Port']; if ($row['Authorization'] == '') { $row['Authorization'] = null; } $row['RadioOff'] = $row['RadioOff'] == '[X]' ? 1 : 0; $row['Hidden'] = $row['Hidden'] == '[X]' ? 1 : 0; if (ismac($row['BSSID'])) { $NoBSSID = 0; $row['BSSID'] = mac2dec($row['BSSID']); } else { $NoBSSID = 1;