!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/node-red/packages/node_modules/@node-red/runtime/lib/library/   drwxr-xr-x
Free 13.15 GB of 57.97 GB (22.69%)
Home    Back    Forward    UPDIR    Refresh    Search    Buffer    Encoder    Tools    Proc.    FTP brute    Sec.    SQL    PHP-code    Update    Self remove    Logout    


Viewing file:     examples.js (3.45 KB)      -rw-r--r--
Select action/file-type:
(+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
/**
 * Copyright JS Foundation and other contributors, http://js.foundation
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 * http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 **/

var fs = require('fs');

var runtime;

function init(_runtime) {
    runtime = _runtime;
}

function getEntry(type,path) {
    var examples = runtime.nodes.getNodeExampleFlows()||{};
    var result = [];
    if (path === "") {
        return Promise.resolve(Object.keys(examples));
    } else {
        path = path.replace(/\/$/,"");
        var parts = path.split("/");
        var module = parts.shift();
        if (module[0] === "@") {
            module = module+"/"+parts.shift();
        }
        if (examples.hasOwnProperty(module)) {
            examples = examples[module];
            examples = parts.reduce(function(ex,k) {
                if (ex) {
                    if (ex.d && ex.d[k]) {
                        return ex.d[k]
                    }
                    if (ex.f && ex.f.indexOf(k) > -1) {
                        return runtime.nodes.getNodeExampleFlowPath(module,parts.join("/"));
                    }
                } else {
                    return null;
                }
            },examples);

            if (!examples) {
                return new Promise(function (resolve,reject) {
                    var error = new Error("not_found");
                    error.code = "not_found";
                    return reject(error);
                });
            } else if (typeof examples === 'string') {
                return new Promise(function(resolve,reject) {
                    try {
                        fs.readFile(examples,'utf8',function(err, data) {
                            runtime.log.audit({event: "library.get",library:"_examples",type:"flow",path:path});
                            if (err) {
                                return reject(err);
                            }
                            return resolve(data);
                        })
                    } catch(err) {
                        return reject(err);
                    }
                });
            } else {
                if (examples.d) {
                    for (var d in examples.d) {
                        if (examples.d.hasOwnProperty(d)) {
                            result.push(d);
                        }
                    }
                }
                if (examples.f) {
                    examples.f.forEach(function(f) {
                        result.push({fn:f})
                    })
                }
                return Promise.resolve(result);
            }
        } else {
            return new Promise(function (resolve,reject) {
                var error = new Error("not_found");
                error.code = "not_found";
                return reject(error);
            });
        }
    }
}

module.exports = {
    id: "examples",
    label: "editor:library.types.examples",
    icon: "font-awesome/fa-life-ring",
    types: ["flows"],
    readOnly: true,
    init: init,
    getEntry: getEntry
}

:: 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.0042 ]--