Freakie - jag har aldrig använt @, har sett det rätt mycket också men aldrig förstått vad det har gjort! :/ Hoppas någon annan kan ge dig ett svar - jag skulle också vilja veta! (Även om det nu inte används fortfarande)
Conio... Här är de nya källkoderna:
savebatch.php
<?php
#Status 0 = Not checked
#Status 1 = Checked - no title found
#Status 2 = User domain
#Status 3 = Domain is being processed
#Status 4 = Checked - title found
include_once('connect.php');
include_once('verifyconnection.php');
if (isset($verified) && $verified == 1) {
$skup = date("Ymd - H:i");
if( !isset($_POST['data']) ) {
echo "ERROR";
die();
}
$lines = explode("\n",$_POST['data']);
foreach($lines as $line) {
$params = explode("#",$line);
$address = mysql_real_escape_string(base64_decode($params[0])).".".mysql_real_escape_string(base64_decode($params[1]));
$title = mysql_real_escape_string(base64_decode($params[2]));
$clientver = mysql_real_escape_string(base64_decode($params[3]));
$sql = mysql_query("SELECT * FROM domains WHERE address='$address' LIMIT 1") or die("L1:".mysql_error());
if (!mysql_num_rows($sql)) {
if (strlen($title) > 0) {
mysql_query("INSERT DELAYED INTO domains (address,checkdate,title,domainstatus,clientversion) VALUES ('$address','$skup','$title','4','$clientver')") or die("L2:".mysql_error());
} else {
mysql_query("INSERT DELAYED INTO domains (address,checkdate,domainstatus) VALUES ('$address','$skup','1')") or die("L3:".mysql_error());
}
} else {
$rad = mysql_fetch_array($sql);
if (substr($rad['checkdate'], 0, 8) < date("Ymd")-30) {
if (strlen($title) > 0) {
if ($title != $rad['title']) {
mysql_query("UPDATE domains SET title='$title', checkdate='$skup', domainstatus='4', clientversion='$clientver' WHERE id='{$rad['id']}'") or die("L4:".mysql_error());
} else {
mysql_query("UPDATE domains SET checkdate='$skup', clientversion='$clientver' WHERE id='{$rad['id']}'") or die("L5:".mysql_error());
}
} else {
mysql_query("UPDATE domains SET title='', checkdate='$skup', domainstatus='1', clientversion='$clientver' WHERE id='{$rad['id']}'") or die("L6:".mysql_error());
}
}
}
}
echo "OK ".sizeof($lines);
} else {
echo "FAILED";
}
?>
saveuserbatch.php
<?php
#Status 0 = Not checked
#Status 1 = Checked - no title found
#Status 2 = User domain
#Status 3 = Domain is being processed
#Status 4 = Checked - title found
include_once('connect.php');
include_once('verifyconnection.php');
if (isset($verified) && $verified == 1) {
if( !isset($_POST['data']) ) {
echo "ERROR";
die();
}
$lines = explode("\n",$_POST['data']);
foreach($lines as $line) {
$params = explode("#",$line);
$address = mysql_real_escape_string(base64_decode($params[0])).".".mysql_real_escape_string(base64_decode($params[1]));
$sql = mysql_query("SELECT address FROM domains WHERE address='$address'") or die("L1:".mysql_error());
if (!mysql_num_rows($sql)) {
mysql_query("INSERT DELAYED INTO domains (address) VALUES ('$address')") or die("L2:".mysql_error());
}
}
echo "OK ".sizeof($lines);
} else {
echo "FAILED";
}
?>
getbatch.php
<?php
#Status 0 = Not checked
#Status 1 = Checked - no title found
#Status 2 = User domain
#Status 3 = Domain is being processed
#Status 4 = Checked - title found
include_once('connect.php');
include_once('buffersize.php');
include_once('verifyconnection.php');
$buffer_left = $buffersize;
if (isset($verified) && $verified == 1) {
$sql = mysql_query("SELECT id,address FROM domains WHERE domainstatus='2' ORDER BY id LIMIT $buffersize");
while ($rad = mysql_fetch_array($sql)) {
$domainlist[] = $rad['address'];
mysql_query("UPDATE domains SET domainstatus='3' WHERE id='{$rad['id']}'");
--$buffer_left;
}
if ($buffer_left != 0) {
$sql = mysql_query("SELECT id,address FROM domains WHERE domainstatus='0' ORDER BY id LIMIT $buffer_left");
while ($rad = mysql_fetch_array($sql)) {
$domainlist[] = $rad['address'];
mysql_query("UPDATE domains SET domainstatus='3' WHERE id='{$rad['id']}'");
}
}
for ($i = 0; $i < count($domainlist); $i++) {
$addressbase = substr($domainlist[$i], 0, strrpos($domainlist[$i], "."));
$len = strlen($domainlist[$i]) - strrpos($domainlist[$i], ".")-1;
$addresstop = substr($domainlist[$i], -$len, $len);
echo $addressbase."|".$addresstop."\n";
}
} else {
echo "FAILED";
}
?>
Som du ser conio i getbatch.php så har jag lagt till en funktion för att ge dig ett adressfält och ett topfält... Om du fixar JSpindel så att det bara läser av adress så kan jag plocka bort den funktionen och vi spar ytterligare lite serverkraft!
Synpunkter på de nya scripten?