1,'m'=>'']; $code_id = intval($code_id); $code = self::getByID($code_id); if($code){ if( ($code[self::$CREATED] + 60*15) > time() ){ if(strcmp($code[self::$CODE],$_code)==0){ $res['e'] = 0; $res['m'] = 'Указан правильный код'; $res['key'] = $key = time(); $profile = \Profile::getByID($code[self::$PROFILE]); $res['hash'] = \Site::$theme::getProfileHash($key,$profile); } else { $res['m'] = 'Присланный код не верен. Введите тот, который был Вам отправлен.'; } } else { $res['m'] = 'Время действия кода истекло. Запросите новый код.'; } } else { $res['m'] = 'Код не найден. Запросите новый код.'; } return $res; } static function createCode($profile_id,$length = 5,$type = eVerifyType::EMAIL){ $r = self::insert([ self::$CODE => $code = self::getCode($length), self::$TYPE => $type, self::$PROFILE => $profile_id, ]); return [ 'id' => $r->id, 'code' => $code, ]; } static function columnInfo() : array { return [ new C([ C::VAR_NAME =>&self::$ID, C::TYPE =>eColumnType::INT, C::AUTO_INCREMENT =>true, C::PRIMARY =>true, C::DEFAULT =>0, C::HIDDEN =>true, ]), new C([ C::VAR_NAME => &self::$CODE, C::TYPE => eColumnType::VARCHAR, C::LENGTH => 15, ]), new C([ C::VAR_NAME => &self::$TYPE, C::TYPE => eColumnType::TINYINT, ]), new C([ C::VAR_NAME => &self::$PROFILE, C::TYPE => eColumnType::INT, ]), new C([ C::VAR_NAME => &self::$CREATED, C::TYPE => eColumnType::INT, C::DEFAULT => time(), c::HIDDEN=>true, ]), ]; } } new Verify();