Advertisement
Guest User

Untitled

a guest
Jul 12th, 2013
117
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 3.63 KB | None | 0 0
  1. <?
  2. global $MESS;
  3. $MESS['IBLOCK_PROP_ARRAY_DESC'] = 'Массив';
  4. $MESS['IBLOCK_PROP_ARRAY_ERROR'] = 'Поле не заполнено';
  5.  
  6. class CIBlockPropertyArray
  7. {
  8.  
  9.     function GetUserTypeDescription()
  10.     {
  11.         return array(
  12.             "PROPERTY_TYPE" => "S",
  13.             "USER_TYPE" => "Array",
  14.             "DESCRIPTION" => "Массив",
  15.             //optional handlers
  16.             "CheckFields" => array("CIBlockPropertyArray", "CheckFields"),
  17.             "GetLength" => array("CIBlockPropertyArray", "GetLength"),
  18.             "ConvertToDB" => array("CIBlockPropertyArray", "ConvertToDB"),
  19.             "ConvertFromDB" => array("CIBlockPropertyArray", "ConvertFromDB"),
  20.             "GetPropertyFieldHtml" => array("CIBlockPropertyArray", "GetPropertyFieldHtml"),
  21.             "GetAdminListViewHTML" => array("CIBlockPropertyArray", "GetAdminListViewHTML"),
  22.             "GetPublicViewHTML" => array("CIBlockPropertyArray", "GetPublicViewHTML"),
  23.             "GetPublicEditHTML" => array("CIBlockPropertyArray", "GetPublicEditHTML"),
  24.         );
  25.     }
  26.  
  27.     function CheckFields($arProperty, $value)
  28.     {
  29.         $arResult = array();
  30.         if (strlen($value["VALUE"]) > 0)
  31.             $arResult[] = GetMessage("IBLOCK_PROP_ARRAY_ERROR");
  32.         return $arResult;
  33.     }
  34.  
  35.     function GetLength($arProperty, $value)
  36.     {
  37.         return strlen(trim($value["VALUE"], "\n\r\t "));
  38.     }
  39.  
  40.     function GetPropertyFieldHtml($arProperty, $value, $strHTMLControlName)
  41.     {
  42.         $return_str = '<input type="text" size="20" name="' . htmlspecialchars($strHTMLControlName["VALUE"]) . '[TEXT]" value="' . htmlspecialchars($value["VALUE"]["TEXT"]) . '">';
  43.         $return_str .= '<input type="text" size="20" name="' . htmlspecialchars($strHTMLControlName["VALUE"]) . '[ATTR]" value="' . htmlspecialchars($value["VALUE"]["ATTR"]) . '">' .
  44.             ($arProperty["WITH_DESCRIPTION"] == "Y" ?
  45.                 '&nbsp;<input type="text" size="20" name="' . htmlspecialchars($strHTMLControlName["DESCRIPTION"]) . '" value="' . htmlspecialchars($value["DESCRIPTION"]) . '">'
  46.                 : ''
  47.             );
  48.         return $return_str;
  49.     }
  50.  
  51.     function GetAdminListViewHTML($arProperty, $value, $strHTMLControlName)
  52.     {
  53.         if (strlen($value["VALUE"]) > 0)
  54.             return str_replace(" ", "&nbsp;", htmlspecialcharsex($value["VALUE"]));
  55.         else
  56.             return '&nbsp;';
  57.     }
  58.  
  59.     function GetPublicViewHTML($arProperty, $value, $strHTMLControlName)
  60.     {
  61.         if (strlen($value["VALUE"]) > 0)
  62.             return str_replace(" ", "&nbsp;", htmlspecialcharsex($value["VALUE"]));
  63.         else
  64.             return '';
  65.     }
  66.  
  67.     function GetPublicEditHTML($arProperty, $value, $strHTMLControlName)
  68.     {
  69.         $return_str = '<input type="text" size="20" name="' . htmlspecialchars($strHTMLControlName["VALUE"]) . '[TEXT]" value="' . htmlspecialchars($value["VALUE"]["TEXT"]) . '">';
  70.         $return_str .= '<input type="text" size="20" name="' . htmlspecialchars($strHTMLControlName["VALUE"]) . '[ATTR]" value="' . htmlspecialchars($value["VALUE"]["ATTR"]) . '">';
  71.         return $return_str;
  72.     }
  73.  
  74.  
  75.     function GetSearchContent($arProperty, $value, $strHTMLControlName)
  76.     {
  77.         if (strlen($value["VALUE"]) > 0)
  78.             return $value["VALUE"];
  79.         else
  80.             return '';
  81.     }
  82.  
  83.  
  84.     function ConvertToDB($arProperty, $value)
  85.     {
  86.         $value["VALUE"] = serialize($value["VALUE"]);
  87.         return $value;
  88.     }
  89.  
  90.     function ConvertFromDB($arProperty, $value)
  91.     {
  92.         $value["VALUE"] = unserialize($value["VALUE"]);
  93.         return $value;
  94.     }
  95. }
  96.  
  97.  
  98. AddEventHandler('iblock', 'OnIBlockPropertyBuildList', array('CIBlockPropertyArray', 'GetUserTypeDescription'));
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement