Skip to content
Extraits de code Groupes Projets
Sélectionner une révision Git
  • 8e0892f437dcb3d5ba77a29c8d5dce6e6e765928
  • master par défaut protégée
  • dev
  • dev-admin
  • migration-pg
  • dev-partie
  • dev-deplacement-msg-erreurs
  • dev-jeux-favoris
  • dev-update-forms
  • dev-header-profil-deconnexion
  • dev-contact
  • dev_page_accueil
  • dev-edit-profil
  • dev-classement
  • dev_espace_membre
  • dev-images
  • javascript_valid_form
  • application_design_views
  • dev-table
  • dev-nestor
20 résultats

JeuController.php

Blame
  • later.pm 1,51 Kio
    package commands::later;
    
    require Exporter;
    our @ISA = qw(Exporter);
    our @EXPORT_OK = qw(exec);
    
    our $dbh;
    our $log;
    
    sub exec {
        my ($kernel, $nick, $id, $offset, $chan, $time, $unit) = @_;
    
    	$time = 6 if (!$time);
    	$time *= ($unit eq 's') ? 1 : ($unit eq 'm') ? 60 : 3600;
    
        while ($offset <= 0) {
            my $sth = $dbh->prepare_cached('
                SELECT content
                FROM playbot_chan
                WHERE date < (SELECT date
                            FROM playbot_chan
                            WHERE content = ?
                            AND chan = ?)
                AND chan = (SELECT chan
                            FROM playbot_chan
                            WHERE content = ?
                            AND chan = ?)
                ORDER BY date DESC
                LIMIT 1');
    	    unless (defined $sth) {
                $log->error("Couldn't prepare querie; aborting");
                return;
            }	
            $sth->execute($id, $chan->[0], $id, $chan->[0])
                or $log->error("Couldn't finish transaction: " . $dbh->errstr);
    
            my $content = $sth->fetch;
            return unless ($content);
            $id = $content->[0];
            $offset++;
        }
    
        my $sth = $dbh->prepare_cached('INSERT INTO playbot_later (content, nick, date) VALUES (?, ?, ?)');
    	unless (defined $sth) {
            $log->error("Couldn't prepare querie; aborting");
            return;
        }	
    	$sth->execute($id, $nick, time + $time)
            or $log->error("Couldn't finish transaction: " . $dbh->errstr);
        
        $kernel->delay_set('_later', $time, $nick, $id);
    }
    
    1;