!C99Shell v. 2.5 [PHP 8 Update] [24.05.2025]!

Software: Apache/2.4.41 (Ubuntu). PHP/8.0.30 

uname -a: Linux apirnd 5.4.0-204-generic #224-Ubuntu SMP Thu Dec 5 13:38:28 UTC 2024 x86_64 

uid=33(www-data) gid=33(www-data) groups=33(www-data) 

Safe-mode: OFF (not secure)

/var/www/html/wincloud_gateway/node_modules/reactstrap/src/   drwxr-xr-x
Free 12.97 GB of 57.97 GB (22.38%)
Home    Back    Forward    UPDIR    Refresh    Search    Buffer    Encoder    Tools    Proc.    FTP brute    Sec.    SQL    PHP-code    Update    Self remove    Logout    


Viewing file:     CustomFileInput.js (2.86 KB)      -rw-r--r--
Select action/file-type:
(+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
import React from 'react';
import PropTypes from 'prop-types';
import classNames from 'classnames';
import { mapToCssModules } from './utils';

const propTypes = {
  className: PropTypes.string,
  id: PropTypes.oneOfType([PropTypes.string, PropTypes.number]).isRequired,
  label: PropTypes.node,
  valid: PropTypes.bool,
  invalid: PropTypes.bool,
  bsSize: PropTypes.string,
  htmlFor: PropTypes.string,
  cssModule: PropTypes.object,
  onChange: PropTypes.func,
  children: PropTypes.oneOfType([PropTypes.node, PropTypes.array, PropTypes.func]),
  innerRef: PropTypes.oneOfType([
    PropTypes.object,
    PropTypes.string,
    PropTypes.func,
  ])
};

class CustomFileInput extends React.Component {
    constructor(props) {
        super(props);

        this.state = {
            files:null,
        };

        this.onChange = this.onChange.bind(this);
    }

    onChange(e) {
        let input = e.target;
        let {onChange} = this.props;
        let files = this.getSelectedFiles(input);

        if (typeof(onChange) === 'function') {
            onChange(...arguments);
        }

        this.setState({files})
    }

    getSelectedFiles(input) {
        let {multiple} = this.props;

        if (multiple && input.files) {
            let files = [].slice.call(input.files);

            return files.map(file => file.name).join(', ');
        }

        if (input.value.indexOf('fakepath') !== -1) {
            let parts = input.value.split('\\');

            return parts[parts.length - 1];
        }

        return input.value;
    }

    render() {
        const {
            className,
            label,
            valid,
            invalid,
            cssModule,
            children,
            bsSize,
            innerRef,
            htmlFor,
            type,
            onChange,
            dataBrowse,
            ...attributes
        } = this.props;

        const customClass = mapToCssModules(
            classNames(
                className,
                `custom-file`,
            ),
            cssModule
        );

        const validationClassNames = mapToCssModules(
            classNames(
                invalid && 'is-invalid',
                valid && 'is-valid',
            ),
            cssModule
        );

        const labelHtmlFor = htmlFor || attributes.id;
        const {files} = this.state;

        return (
            <div className={customClass}>
                <input type="file" {...attributes} ref={innerRef} className={classNames(validationClassNames, mapToCssModules('custom-file-input', cssModule))} onChange={this.onChange}/>
                <label className={mapToCssModules('custom-file-label', cssModule)} htmlFor={labelHtmlFor} data-browse={ dataBrowse }>{files || label || 'Choose file'}</label>
                {children}
            </div>
        );
    }
}

CustomFileInput.propTypes = propTypes;

export default CustomFileInput;

:: Command execute ::

Enter:
 
Select:
 

:: Search ::
  - regexp 

:: Upload ::
 
[ Read-Only ]

:: Make Dir ::
 
[ Read-Only ]
:: Make File ::
 
[ Read-Only ]

:: Go Dir ::
 
:: Go File ::
 

--[ c99shell v. 2.5 [PHP 8 Update] [24.05.2025] | Generation time: 0.0557 ]--