Beispiel #1
0
 /**
  * Someone requested chat stuff.
  * @param Module_Chat $module
  * @return unknown_type
  */
 public static function onRequest(Module_Chat $module)
 {
     //		GWF_ChatMsg::cleanupTable($module);
     $time = time();
     $sessid = GWF_Session::getSessID();
     if (false === ($nick = $module->getNickname())) {
         $nick = self::getRandomNickS($sessid);
     }
     $table = self::table(__CLASS__);
     if (false === ($row = $table->getRow($sessid))) {
         # Unknown row
         $row = new self(array('chaton_sessid' => $sessid, 'chaton_name' => $nick, 'chaton_timejoin' => $time, 'chaton_timeaccess' => $time));
         $row->replace();
     } else {
         if ($row->getVar('chaton_timeleft') > 0) {
             $row->saveVars(array('chaton_timejoin' => $time, 'chaton_timeaccess' => $time, 'chaton_timeleft' => 0));
         } else {
             if ($row->getVar('chaton_name') !== $nick) {
                 $row->saveVars(array('chaton_timeleft' => $time));
                 $row = new self(array('chaton_sessid' => $sessid, 'chaton_name' => $nick, 'chaton_timejoin' => $time, 'chaton_timeaccess' => $time));
                 $row->replace();
             } else {
                 $row->saveVars(array('chaton_timeaccess' => $time));
             }
         }
     }
     self::cleanupTable($module);
     return '';
 }
Beispiel #2
0
 public static function validate_yournick(Module_Chat $module, $arg)
 {
     $arg = trim($arg);
     $_POST['yournick'] = $arg;
     if (false === ($oldnick = $module->getNickname())) {
         # No Nick yet
         if (!GWF_Validator::isValidUsername($arg)) {
             # Valid
             return $module->lang('err_nick_syntax');
         } else {
             if ($module->isNameTaken($module->getGuestPrefixed($arg))) {
                 return $module->lang('err_nick_taken');
             } else {
                 return false;
             }
         }
     }
     if ($oldnick === $arg) {
         return false;
     }
     return $module->lang('err_nick_tamper');
 }