%PDF- %PDF-
Direktori : /home/bitrix/www/bitrix/modules/iblock/classes/general/ |
Current File : /home/bitrix/www/bitrix/modules/iblock/classes/general/prop_date.php |
<?php use Bitrix\Main\Localization\Loc, Bitrix\Iblock; Loc::loadMessages(__FILE__); class CIBlockPropertyDate extends CIBlockPropertyDateTime { const USER_TYPE = 'Date'; public static function GetUserTypeDescription() { return array( "PROPERTY_TYPE" => Iblock\PropertyTable::TYPE_STRING, "USER_TYPE" => self::USER_TYPE, "DESCRIPTION" => Loc::getMessage("IBLOCK_PROP_DATE_DESC"), //optional handlers "GetPublicViewHTML" => array(__CLASS__, "GetPublicViewHTML"), "GetPublicEditHTML" => array(__CLASS__, "GetPublicEditHTML"), "GetAdminListViewHTML" => array(__CLASS__, "GetAdminListViewHTML"), "GetPropertyFieldHtml" => array(__CLASS__, "GetPropertyFieldHtml"), "CheckFields" => array(__CLASS__, "CheckFields"), "ConvertToDB" => array(__CLASS__, "ConvertToDB"), "ConvertFromDB" => array(__CLASS__, "ConvertFromDB"), "GetSettingsHTML" => array(__CLASS__, "GetSettingsHTML"), "GetAdminFilterHTML" => array(__CLASS__, "GetAdminFilterHTML"), "GetPublicFilterHTML" => array(__CLASS__, "GetPublicFilterHTML"), "AddFilterFields" => array(__CLASS__, "AddFilterFields"), ); } public static function ConvertToDB($arProperty, $value) { if (strlen($value["VALUE"])>0) $value["VALUE"] = CDatabase::FormatDate($value["VALUE"], CLang::GetDateFormat("SHORT"), "YYYY-MM-DD"); return $value; } public static function ConvertFromDB($arProperty, $value, $format = '') { if(strlen($value["VALUE"])>0) $value["VALUE"] = CDatabase::FormatDate($value["VALUE"], "YYYY-MM-DD", CLang::GetDateFormat("SHORT")); return $value; } public static function GetPublicEditHTML($arProperty, $value, $strHTMLControlName) { /** @var CMain */ global $APPLICATION; $s = '<input type="text" name="'.htmlspecialcharsbx($strHTMLControlName["VALUE"]).'" size="25" value="'.htmlspecialcharsbx($value["VALUE"]).'" />'; ob_start(); $APPLICATION->IncludeComponent( 'bitrix:main.calendar', '', array( 'FORM_NAME' => $strHTMLControlName["FORM_NAME"], 'INPUT_NAME' => $strHTMLControlName["VALUE"], 'INPUT_VALUE' => $value["VALUE"], 'SHOW_TIME' => "N", ), null, array('HIDE_ICONS' => 'Y') ); $s .= ob_get_contents(); ob_end_clean(); return $s; } public static function GetPropertyFieldHtml($arProperty, $value, $strHTMLControlName) { return CAdminCalendar::CalendarDate($strHTMLControlName["VALUE"], $value["VALUE"], 20, false). ($arProperty["WITH_DESCRIPTION"]=="Y" && '' != trim($strHTMLControlName["DESCRIPTION"]) ? ' <input type="text" size="20" name="'.$strHTMLControlName["DESCRIPTION"].'" value="'.htmlspecialcharsbx($value["DESCRIPTION"]).'">' :'' ); } }