static function getMap()
{
return array(
(new IntegerField("ID", ["primary" => true, "autocomplete" => true])),
(new IntegerField("FORUM_ID", ["required" => true])),
(new IntegerField("TOPIC_ID", ["required" => true])),
(new BooleanField("USE_SMILES", ["values" => ["N", "Y"], "default_value" => "Y"])),
(new BooleanField("NEW_TOPIC", ["values" => ["N", "Y"], "default_value" => "N"])),
(new BooleanField("APPROVED", ["values" => ["N", "Y"], "default_value" => "Y"])),
(new BooleanField("SOURCE_ID", ["values" => [self::SOURCE_ID_EMAIL, self::SOURCE_ID_WEB, self::SOURCE_ID_MOBILE], "default_value" => self::SOURCE_ID_WEB])),
(new DatetimeField("POST_DATE", ["required" => true, "default_value" => function(){ return new DateTime();}])),
(new TextField("POST_MESSAGE", ["required" => true])),
(new TextField("POST_MESSAGE_HTML")),
(new TextField("POST_MESSAGE_FILTER")),
(new StringField("POST_MESSAGE_CHECK", ["size" => 32])),
(new IntegerField("ATTACH_IMG")),
(new StringField("PARAM1", ["size" => 2])),
(new IntegerField("PARAM2")),
(new IntegerField("AUTHOR_ID")),
(new StringField("AUTHOR_NAME", ["required" => true, "size" => 255])),
(new StringField("AUTHOR_EMAIL", ["size" => 255])),
(new StringField("AUTHOR_IP", ["size" => 255])),
(new StringField("AUTHOR_REAL_IP", ["size" => 255])),
(new IntegerField("GUEST_ID")),
(new IntegerField("EDITOR_ID")),
(new StringField("EDITOR_NAME", ["size" => 255])),
(new StringField("EDITOR_EMAIL", ["size" => 255])),
(new TextField("EDIT_REASON")),
(new DatetimeField("EDIT_DATE")),
(new StringField("XML_ID", ["size" => 255])),
(new TextField("HTML")),
(new TextField("MAIL_HEADER")),
(new IntegerField("SERVICE_TYPE")),
(new TextField("SERVICE_DATA")),
(new Reference("TOPIC", TopicTable::class, Join::on("this.TOPIC_ID", "ref.ID"))),
(new Reference("FORUM_USER", UserTable::class, Join::on("this.AUTHOR_ID", "ref.USER_ID"))),
(new Reference("FORUM_USER_TOPIC", UserTopicTable::class, Join::on("this.TOPIC_ID", "ref.TOPIC_ID"))),
(new Reference("USER", MainUserTable::class, Join::on("this.AUTHOR_ID", "ref.ID")))
);
}