Server IP : 85.214.239.14 / Your IP : 216.73.216.9 Web Server : Apache/2.4.62 (Debian) System : Linux h2886529.stratoserver.net 4.9.0 #1 SMP Mon Sep 30 15:36:27 MSK 2024 x86_64 User : www-data ( 33) PHP Version : 7.4.18 Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare, MySQL : OFF | cURL : OFF | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : OFF Directory : /var/www/wordpress/wp-content/plugins/really-simple-ssl/settings/src/Settings/ |
Upload File : |
import DOMPurify from "dompurify"; import {useEffect, useRef} from '@wordpress/element'; import hoverTooltip from '../utils/hoverTooltip'; const SelectControl = (props) => { const selectRef = useRef(null); const disabledPropIsArray = Array.isArray(props.disabled); let disabledOptionsArray = (disabledPropIsArray ? props.disabled : false); let disabledSelectPropBoolean = (disabledPropIsArray === false && props.disabled); let disabledSelectViaFieldConfig = (props.field.disabled === true); let selectDisabled = ( disabledSelectViaFieldConfig || disabledSelectPropBoolean ); let tooltipText = ''; let emptyValues = [undefined, null, '']; if (selectDisabled && props.field.hasOwnProperty('disabledTooltipHoverText') && !emptyValues.includes(props.field.disabledTooltipHoverText) ) { tooltipText = props.field.disabledTooltipHoverText; } hoverTooltip( selectRef, (selectDisabled && (tooltipText !== '')), tooltipText ); // Add effect to disable the select element when the selectDisabled state changes useEffect(() => { if (selectRef.current) { selectRef.current.disabled = selectDisabled; } }, [disabledSelectViaFieldConfig, selectDisabled]); return ( <> <div className="components-base-control"> <div className="components-base-control__field"> <div data-wp-component="HStack" className="components-flex components-select-control"> <label htmlFor={props.field.id} className="components-toggle-control__label" style={props.style && props.style.label ? props.style.label : undefined}>{props.label}</label> <select ref={selectRef} disabled={selectDisabled} value={props.value} onChange={(e) => props.onChangeHandler(e.target.value)} style={props.style && props.style.select ? props.style.select : undefined} > {props.options.map((option, i) => ( <option key={'option-' + i} value={option.value} disabled={disabledOptionsArray && disabledOptionsArray.includes(option.value)} > {option.label} </option> ))} </select> </div> </div> </div> {props.field.comment && ( <div className="rsssl-comment" dangerouslySetInnerHTML={{__html: DOMPurify.sanitize(props.field.comment) }} ></div> /* nosemgrep: react-dangerouslysetinnerhtml */ )} </> ); } export default SelectControl;