public function getLogsByTime($startTimeObj, $endTimeObj)
 {
     $query = new Query("SELECT");
     $query->where("channel_name = ?", Config::getVal("general", "channel"));
     $startTimeObj->makeTimestamp();
     $endTimeObj->makeTimestamp();
     $query->where("time > ?", $startTimeObj->timestamp);
     $query->where("time < ?", $endTimeObj->timestamp, "AND");
     $messagesArray = ChannelActionBean::select($query);
     return $messagesArray;
 }
 /**
  * Gets the number of messages specified in $count
  * that are immediately before the given timestamp
  *
  * @param integer $timestamp unix epoch timestamp
  * @param integer $count number of messages to get
  * @return array array of ChannelActionBean objects latest
  * first
  */
 public function getMessagesBeforeTimestamp($timestamp, $count)
 {
     $query = new Query("SELECT");
     $query->where("channel_name = ?", Config::getVal("general", "channel"));
     $query->where("time < ?", $timestamp);
     $query->orderby("time", "DESC");
     $query->limit($count);
     $messages = ChannelActionBean::select($query);
     return $messages;
 }
 public function getWordCount($nick, $time = false)
 {
     $query = new Query("SELECT");
     $query->where("channel_name = ?", Config::getVal("general", "channel"));
     $query->where("nickname = ?", $nick);
     $query->where("type = ?", ReceivedLineTypes::CHANMSG);
     if ($time == "hour") {
         $query->where("time > ?", time() - 60 * 60);
     } else {
         if ($time == "day") {
             $query->where("time > ?", time() - 60 * 60 * 24);
         } else {
             if ($time == "week") {
                 $query->where("time > ?", time() - 60 * 60 * 24 * 7);
             }
         }
     }
     $messages = ChannelActionBean::select($query);
     $wordCount = 0;
     foreach ($messages as $message) {
         $words = str_word_count($message->message);
         $wordCount += $words;
     }
     return $wordCount;
 }