예제 #1
0
 private static function onQuitChannel(DOGMOD_QuitJoin $QUITJOIN, Dog_Server $server, Dog_Channel $channel, Dog_User $user, $noteworthy)
 {
     if (false === ($start = self::stopTheWatch($user, $channel))) {
         echo "No join set in " . __METHOD__ . PHP_EOL;
         return;
     }
     // Is below 10s or something?
     $end = microtime(true);
     $enddate = GWF_Time::getDateMillis($end);
     $dur = $end - $start[1];
     if ($dur > self::NOTEWORTHY) {
         // 			echo "{$uname} quitjoin time: {$dur}s.\n";
         return;
     }
     // A channel record \o/
     if (Dog_QuitJoinChannel::isChannelRecord($channel, $dur)) {
         if (false === GDO::table('Dog_QuitJoinChannel')->insertAssoc(array('dqj_uid' => $user->getID(), 'dqj_cid' => $channel->getID(), 'dqj_duration' => $dur, 'dqj_date_quit' => $enddate, 'dqj_date_join' => $start[0]), true)) {
             return;
         }
         $channel->sendPRIVMSG($QUITJOIN->lang('broke_channel', array($user->displayName(), $channel->displayName(), $dur)));
     } elseif (Dog_QuitJoin::isPersonalRecord($user, $dur, $start[0], $enddate)) {
         $channel->sendPRIVMSG($QUITJOIN->lang('broke_personal', array($user->displayName(), $channel->displayName(), $dur)));
     }
 }