$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;
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 = ?});
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;