From: Michael Andreen Date: Fri, 23 Jan 2009 18:42:57 +0000 (+0100) Subject: Use new scan id X-Git-Url: https://ruin.nu/git/?p=ndwebbie.git;a=commitdiff_plain;h=83195c3c8034fff520fa90d1d0fb8b7995f925d3 Use new scan id --- diff --git a/database/scanid.sql b/database/scanid.sql new file mode 100644 index 0000000..3afb6db --- /dev/null +++ b/database/scanid.sql @@ -0,0 +1 @@ +ALTER TABLE scans ALTER scan_id TYPE text; diff --git a/lib/NDWeb/Controller/Members.pm b/lib/NDWeb/Controller/Members.pm index 59becdf..f69e82d 100644 --- a/lib/NDWeb/Controller/Members.pm +++ b/lib/NDWeb/Controller/Members.pm @@ -322,17 +322,17 @@ sub insertintel : Private { $dbh->begin_work; my $findscan = $dbh->prepare(q{SELECT scan_id FROM scans - WHERE scan_id = ? AND tick >= tick() - 168 AND groupscan = ? + WHERE scan_id = LOWER(?) AND tick >= tick() - 168 AND groupscan = ? }); my $addscan = $dbh->prepare(q{INSERT INTO scans (scan_id,tick,uid,groupscan) - VALUES (?,tick(),?,?) + VALUES (LOWER(?),tick(),?,?) }); my $addpoint = $dbh->prepare(q{UPDATE users SET scan_points = scan_points + 1 WHERE uid = ? }); my @scans; my $intel = $c->req->param('message'); - while ($intel =~ m{http://[\w.]+/.+?scan(_id|_grp)?=(\d+)}g){ + while ($intel =~ m{http://[\w.]+/.+?scan(_id|_grp)?=(\w+)}g){ my $groupscan = (defined $1 && $1 eq '_grp') || 0; my %scan; $scan{id} = $2; diff --git a/scripts/scans.pl b/scripts/scans.pl index c7bb724..d6502a2 100755 --- a/scripts/scans.pl +++ b/scripts/scans.pl @@ -43,8 +43,8 @@ $dbh->do(q{SET CLIENT_ENCODING TO 'LATIN1';}); my $scangroups = $dbh->prepare(q{SELECT id,scan_id,tick,uid FROM scans WHERE groupscan AND NOT parsed FOR UPDATE }); -my $oldscan = $dbh->prepare(q{SELECT scan_id FROM scans WHERE scan_id = ? AND tick >= tick() - 168}); -my $addScan = $dbh->prepare(q{INSERT INTO scans (scan_id,tick,uid) VALUES (?,?,?)}); +my $oldscan = $dbh->prepare(q{SELECT scan_id FROM scans WHERE scan_id = LOWER(?) AND tick >= tick() - 168}); +my $addScan = $dbh->prepare(q{INSERT INTO scans (scan_id,tick,uid) VALUES (LOWER(?),?,?)}); my $parsedscan = $dbh->prepare(q{UPDATE scans SET tick = ?, type = ?, planet = ?, parsed = TRUE WHERE id = ?}); my $addpoints = $dbh->prepare(q{UPDATE users SET scan_points = scan_points + ? WHERE uid = ? }); my $delscan = $dbh->prepare(q{DELETE FROM scans WHERE id = ?}); @@ -56,7 +56,7 @@ while (my $group = $scangroups->fetchrow_hashref){ my $file = get("http://game.planetarion.com/showscan.pl?scan_grp=$group->{scan_id}"); my $points = 0; - while ($file =~ m/showscan.pl\?scan_id=(\d+)/g){ + while ($file =~ m/showscan.pl\?scan_id=(\w+)/g){ unless ($dbh->selectrow_array($oldscan,undef,$1)){ $addScan->execute($1,$group->{tick},$group->{uid}); ++$points;