Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?
- global $MESS;
- $MESS['IBLOCK_PROP_ARRAY_DESC'] = 'Массив';
- $MESS['IBLOCK_PROP_ARRAY_ERROR'] = 'Поле не заполнено';
- class CIBlockPropertyArray
- {
- function GetUserTypeDescription()
- {
- return array(
- "PROPERTY_TYPE" => "S",
- "USER_TYPE" => "Array",
- "DESCRIPTION" => "Массив",
- //optional handlers
- "CheckFields" => array("CIBlockPropertyArray", "CheckFields"),
- "GetLength" => array("CIBlockPropertyArray", "GetLength"),
- "ConvertToDB" => array("CIBlockPropertyArray", "ConvertToDB"),
- "ConvertFromDB" => array("CIBlockPropertyArray", "ConvertFromDB"),
- "GetPropertyFieldHtml" => array("CIBlockPropertyArray", "GetPropertyFieldHtml"),
- "GetAdminListViewHTML" => array("CIBlockPropertyArray", "GetAdminListViewHTML"),
- "GetPublicViewHTML" => array("CIBlockPropertyArray", "GetPublicViewHTML"),
- "GetPublicEditHTML" => array("CIBlockPropertyArray", "GetPublicEditHTML"),
- );
- }
- function CheckFields($arProperty, $value)
- {
- $arResult = array();
- if (strlen($value["VALUE"]) > 0)
- $arResult[] = GetMessage("IBLOCK_PROP_ARRAY_ERROR");
- return $arResult;
- }
- function GetLength($arProperty, $value)
- {
- return strlen(trim($value["VALUE"], "\n\r\t "));
- }
- function GetPropertyFieldHtml($arProperty, $value, $strHTMLControlName)
- {
- $return_str = '<input type="text" size="20" name="' . htmlspecialchars($strHTMLControlName["VALUE"]) . '[TEXT]" value="' . htmlspecialchars($value["VALUE"]["TEXT"]) . '">';
- $return_str .= '<input type="text" size="20" name="' . htmlspecialchars($strHTMLControlName["VALUE"]) . '[ATTR]" value="' . htmlspecialchars($value["VALUE"]["ATTR"]) . '">' .
- ($arProperty["WITH_DESCRIPTION"] == "Y" ?
- ' <input type="text" size="20" name="' . htmlspecialchars($strHTMLControlName["DESCRIPTION"]) . '" value="' . htmlspecialchars($value["DESCRIPTION"]) . '">'
- : ''
- );
- return $return_str;
- }
- function GetAdminListViewHTML($arProperty, $value, $strHTMLControlName)
- {
- if (strlen($value["VALUE"]) > 0)
- return str_replace(" ", " ", htmlspecialcharsex($value["VALUE"]));
- else
- return ' ';
- }
- function GetPublicViewHTML($arProperty, $value, $strHTMLControlName)
- {
- if (strlen($value["VALUE"]) > 0)
- return str_replace(" ", " ", htmlspecialcharsex($value["VALUE"]));
- else
- return '';
- }
- function GetPublicEditHTML($arProperty, $value, $strHTMLControlName)
- {
- $return_str = '<input type="text" size="20" name="' . htmlspecialchars($strHTMLControlName["VALUE"]) . '[TEXT]" value="' . htmlspecialchars($value["VALUE"]["TEXT"]) . '">';
- $return_str .= '<input type="text" size="20" name="' . htmlspecialchars($strHTMLControlName["VALUE"]) . '[ATTR]" value="' . htmlspecialchars($value["VALUE"]["ATTR"]) . '">';
- return $return_str;
- }
- function GetSearchContent($arProperty, $value, $strHTMLControlName)
- {
- if (strlen($value["VALUE"]) > 0)
- return $value["VALUE"];
- else
- return '';
- }
- function ConvertToDB($arProperty, $value)
- {
- $value["VALUE"] = serialize($value["VALUE"]);
- return $value;
- }
- function ConvertFromDB($arProperty, $value)
- {
- $value["VALUE"] = unserialize($value["VALUE"]);
- return $value;
- }
- }
- AddEventHandler('iblock', 'OnIBlockPropertyBuildList', array('CIBlockPropertyArray', 'GetUserTypeDescription'));
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement