%PDF- %PDF-
Direktori : /proc/self/root/home/bitrix/www/bitrix/modules/iblock/lib/ |
Current File : //proc/self/root/home/bitrix/www/bitrix/modules/iblock/lib/iblock.php |
<?php namespace Bitrix\Iblock; use Bitrix\Main\Entity; use Bitrix\Main\Localization\Loc; Loc::loadMessages(__FILE__); /** * Class IblockTable * * Fields: * <ul> * <li> ID int mandatory * <li> TIMESTAMP_X datetime * <li> IBLOCK_TYPE_ID string(50) mandatory * <li> CODE string(50) optional * <li> NAME string(255) mandatory * <li> ACTIVE bool optional default 'Y' * <li> SORT int optional default 500 * <li> LIST_PAGE_URL string(255) optional * <li> DETAIL_PAGE_URL string(255) optional * <li> SECTION_PAGE_URL string(255) optional * <li> CANONICAL_PAGE_URL string(255) optional * <li> PICTURE int optional * <li> DESCRIPTION text optional * <li> DESCRIPTION_TYPE enum ('text', 'html') optional default 'text' * <li> XML_ID string(255) optional * <li> TMP_ID string(40) optional <b>internal use only</b> * <li> INDEX_ELEMENT bool optional default 'Y' * <li> INDEX_SECTION bool optional default 'N' * <li> WORKFLOW bool optional default 'Y' * <li> BIZPROC bool optional default 'N' * <li> SECTION_CHOOSER enum ('L', 'D' or 'P') optional default 'L' * <li> LIST_MODE enum ('S' or 'C') optional default '' * <li> RIGHTS_MODE enum ('S' or 'E') optional default 'S' * <li> SECTION_PROPERTY bool optional default 'N' * <li> PROPERTY_INDEX enum ('N', 'Y', 'I') optional default 'N' * <li> VERSION enum (1 or 2) optional default 1 * <li> LAST_CONV_ELEMENT int optional default 0 <b>internal use only</b> * <li> SOCNET_GROUP_ID int optional <b>internal use only</b> * <li> EDIT_FILE_BEFORE string(255) optional * <li> EDIT_FILE_AFTER string(255) optional * <li> TYPE reference to {@link \Bitrix\Iblock\TypeTable} * </ul> * * @package Bitrix\Iblock */ class IblockTable extends Entity\DataManager { const PROPERTY_STORAGE_COMMON = 1; const PROPERTY_STORAGE_SEPARATE = 2; const RIGHTS_SIMPLE = 'S'; const RIGHTS_EXTENDED = 'E'; const PROPERTY_INDEX_DISABLE = 'N'; const PROPERTY_INDEX_ENABLE = 'Y'; const PROPERTY_INDEX_INVALID = 'I'; const LIST_MODE_SEPARATE = 'S'; const LIST_MODE_COMBINED = 'C'; const SECTION_CHOOSER_SELECT = 'L'; const SECTION_CHOOSER_DROPDOWNS = 'D'; const SECTION_CHOOSER_PATH = 'P'; /* deprecated constants */ const SELECT = self::SECTION_CHOOSER_SELECT; const DROPDOWNS = self::SECTION_CHOOSER_DROPDOWNS; const PATH = self::SECTION_CHOOSER_PATH; const SIMPLE = self::RIGHTS_SIMPLE; const EXTENDED = self::RIGHTS_EXTENDED; const SEPARATE = self::LIST_MODE_SEPARATE; const COMBINED = self::LIST_MODE_COMBINED; const INVALID = self::PROPERTY_INDEX_INVALID; /** * Returns DB table name for entity * * @return string */ public static function getTableName() { return 'b_iblock'; } /** * Returns entity map definition. * * @return array */ public static function getMap() { return array( 'ID' => array( 'data_type' => 'integer', 'primary' => true, 'autocomplete' => true, 'title' => Loc::getMessage('IBLOCK_ENTITY_ID_FIELD'), ), 'TIMESTAMP_X' => array( 'data_type' => 'datetime', 'title' => Loc::getMessage('IBLOCK_ENTITY_TIMESTAMP_X_FIELD'), ), 'IBLOCK_TYPE_ID' => array( 'data_type' => 'string', 'required' => true, 'title' => Loc::getMessage('IBLOCK_ENTITY_IBLOCK_TYPE_ID_FIELD'), 'validation' => array(__CLASS__, 'validateIblockTypeId'), ), 'CODE' => array( 'data_type' => 'string', 'title' => Loc::getMessage('IBLOCK_ENTITY_CODE_FIELD'), 'validation' => array(__CLASS__, 'validateCode'), ), 'NAME' => array( 'data_type' => 'string', 'required' => true, 'title' => Loc::getMessage('IBLOCK_ENTITY_NAME_FIELD'), 'validation' => array(__CLASS__, 'validateName'), ), 'ACTIVE' => array( 'data_type' => 'boolean', 'values' => array('N','Y'), 'title' => Loc::getMessage('IBLOCK_ENTITY_ACTIVE_FIELD'), ), 'SORT' => array( 'data_type' => 'integer', 'title' => Loc::getMessage('IBLOCK_ENTITY_SORT_FIELD'), ), 'LIST_PAGE_URL' => array( 'data_type' => 'string', 'title' => Loc::getMessage('IBLOCK_ENTITY_LIST_PAGE_URL_FIELD'), 'validation' => array(__CLASS__, 'validateListPageUrl'), ), 'DETAIL_PAGE_URL' => array( 'data_type' => 'string', 'title' => Loc::getMessage('IBLOCK_ENTITY_DETAIL_PAGE_URL_FIELD'), 'validation' => array(__CLASS__, 'validateDetailPageUrl'), ), 'SECTION_PAGE_URL' => array( 'data_type' => 'string', 'title' => Loc::getMessage('IBLOCK_ENTITY_SECTION_PAGE_URL_FIELD'), 'validation' => array(__CLASS__, 'validateSectionPageUrl'), ), 'CANONICAL_PAGE_URL' => array( 'data_type' => 'string', 'title' => Loc::getMessage('IBLOCK_ENTITY_CANONICAL_PAGE_URL_FIELD'), 'validation' => array(__CLASS__, 'validateCanonicalPageUrl'), ), 'PICTURE' => array( 'data_type' => 'integer', 'title' => Loc::getMessage('IBLOCK_ENTITY_PICTURE_FIELD'), ), 'DESCRIPTION' => array( 'data_type' => 'string', 'title' => Loc::getMessage('IBLOCK_ENTITY_DESCRIPTION_FIELD'), ), 'DESCRIPTION_TYPE' => array( 'data_type' => 'enum', 'values' => array('text', 'html'), 'title' => Loc::getMessage('IBLOCK_ENTITY_DESCRIPTION_TYPE_FIELD'), ), 'XML_ID' => array( 'data_type' => 'string', 'title' => Loc::getMessage('IBLOCK_ENTITY_XML_ID_FIELD'), 'validation' => array(__CLASS__, 'validateXmlId'), ), 'TMP_ID' => array( 'data_type' => 'string', 'title' => Loc::getMessage('IBLOCK_ENTITY_TMP_ID_FIELD'), 'validation' => array(__CLASS__, 'validateTmpId'), ), 'INDEX_ELEMENT' => array( 'data_type' => 'boolean', 'values' => array('N','Y'), 'title' => Loc::getMessage('IBLOCK_ENTITY_INDEX_ELEMENT_FIELD'), ), 'INDEX_SECTION' => array( 'data_type' => 'boolean', 'values' => array('N','Y'), 'title' => Loc::getMessage('IBLOCK_ENTITY_INDEX_SECTION_FIELD'), ), 'WORKFLOW' => array( 'data_type' => 'boolean', 'values' => array('N','Y'), 'title' => Loc::getMessage('IBLOCK_ENTITY_WORKFLOW_FIELD'), ), 'BIZPROC' => array( 'data_type' => 'boolean', 'values' => array('N','Y'), 'title' => Loc::getMessage('IBLOCK_ENTITY_BIZPROC_FIELD'), ), 'SECTION_CHOOSER' => array( 'data_type' => 'enum', 'values' => array( self::SECTION_CHOOSER_SELECT, self::SECTION_CHOOSER_DROPDOWNS, self::SECTION_CHOOSER_PATH ), 'default_value' => self::SECTION_CHOOSER_SELECT, 'title' => Loc::getMessage('IBLOCK_ENTITY_SECTION_CHOOSER_FIELD'), ), 'LIST_MODE' => array( 'data_type' => 'enum', 'values' => array(self::LIST_MODE_COMBINED, self::LIST_MODE_SEPARATE), 'default_value' => self::LIST_MODE_COMBINED, 'title' => Loc::getMessage('IBLOCK_ENTITY_LIST_MODE_FIELD'), ), 'RIGHTS_MODE' => array( 'data_type' => 'enum', 'values' => array(self::RIGHTS_SIMPLE, self::RIGHTS_EXTENDED), 'default_value' => self::RIGHTS_SIMPLE, 'title' => Loc::getMessage('IBLOCK_ENTITY_RIGHTS_MODE_FIELD'), ), 'SECTION_PROPERTY' => array( 'data_type' => 'boolean', 'values' => array('N','Y'), 'title' => Loc::getMessage('IBLOCK_ENTITY_SECTION_PROPERTY_FIELD'), ), 'PROPERTY_INDEX' => array( 'data_type' => 'enum', 'values' => array(self::PROPERTY_INDEX_DISABLE, self::PROPERTY_INDEX_ENABLE, self::PROPERTY_INDEX_INVALID), 'default' => self::PROPERTY_INDEX_DISABLE, 'title' => Loc::getMessage('IBLOCK_ENTITY_SECTION_PROPERTY_FIELD'), ), 'VERSION' => array( 'data_type' => 'enum', 'values' => array(self::PROPERTY_STORAGE_COMMON, self::PROPERTY_STORAGE_SEPARATE), 'default_value' => self::PROPERTY_STORAGE_COMMON, 'title' => Loc::getMessage('IBLOCK_ENTITY_VERSION_FIELD'), ), 'LAST_CONV_ELEMENT' => array( 'data_type' => 'integer', 'title' => Loc::getMessage('IBLOCK_ENTITY_LAST_CONV_ELEMENT_FIELD'), ), 'SOCNET_GROUP_ID' => array( 'data_type' => 'integer', 'title' => Loc::getMessage('IBLOCK_ENTITY_SOCNET_GROUP_ID_FIELD'), ), 'EDIT_FILE_BEFORE' => array( 'data_type' => 'string', 'title' => Loc::getMessage('IBLOCK_ENTITY_EDIT_FILE_BEFORE_FIELD'), 'validation' => array(__CLASS__, 'validateEditFileBefore'), ), 'EDIT_FILE_AFTER' => array( 'data_type' => 'string', 'title' => Loc::getMessage('IBLOCK_ENTITY_EDIT_FILE_AFTER_FIELD'), 'validation' => array(__CLASS__, 'validateEditFileAfter'), ), 'TYPE' => array( 'data_type' => 'Bitrix\Iblock\Type', 'reference' => array('=this.IBLOCK_TYPE_ID' => 'ref.ID'), ), ); } /** * Returns validators for IBLOCK_TYPE_ID field. * * @return array */ public static function validateIblockTypeId() { return array( new Entity\Validator\Length(null, 50), ); } /** * Returns validators for CODE field. * * @return array */ public static function validateCode() { return array( new Entity\Validator\Length(null, 50), ); } /** * Returns validators for NAME field. * * @return array */ public static function validateName() { return array( new Entity\Validator\Length(null, 255), ); } /** * Returns validators for LIST_PAGE_URL field. * * @return array */ public static function validateListPageUrl() { return array( new Entity\Validator\Length(null, 255), ); } /** * Returns validators for DETAIL_PAGE_URL field. * * @return array */ public static function validateDetailPageUrl() { return array( new Entity\Validator\Length(null, 255), ); } /** * Returns validators for SECTION_PAGE_URL field. * * @return array */ public static function validateSectionPageUrl() { return array( new Entity\Validator\Length(null, 255), ); } /** * Returns validators for CANONICAL_PAGE_URL field. * * @return array */ public static function validateCanonicalPageUrl() { return array( new Entity\Validator\Length(null, 255), ); } /** * Returns validators for XML_ID field. * * @return array */ public static function validateXmlId() { return array( new Entity\Validator\Length(null, 255), ); } /** * Returns validators for TMP_ID field. * * @return array */ public static function validateTmpId() { return array( new Entity\Validator\Length(null, 40), ); } /** * Returns validators for EDIT_FILE_BEFORE field. * * @return array */ public static function validateEditFileBefore() { return array( new Entity\Validator\Length(null, 255), ); } /** * Returns validators for EDIT_FILE_AFTER field. * * @return array */ public static function validateEditFileAfter() { return array( new Entity\Validator\Length(null, 255), ); } }