!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/sync/node_modules/fast-xml-parser/src/v5/   drwxr-xr-x
Free 13.26 GB of 57.97 GB (22.87%)
Home    Back    Forward    UPDIR    Refresh    Search    Buffer    Encoder    Tools    Proc.    FTP brute    Sec.    SQL    PHP-code    Update    Self remove    Logout    


Viewing file:     OptionsBuilder.js (1.85 KB)      -rwxr-xr-x
Select action/file-type:
(+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
const JsObjOutputBuilder = require("./OutputBuilders/JsObjBuilder");

const defaultOptions = {
  preserveOrder: false,
  removeNSPrefix: false, // remove NS from tag name or attribute name if true
  //ignoreRootElement : false,
  stopNodes: [], //nested tags will not be parsed even for errors
  // isArray: () => false, //User will set it
  htmlEntities: false,
  // skipEmptyListItem: false
  tags:{
    unpaired: [],
    nameFor:{
      cdata: false,
      comment: false,
      text: '#text'
    },
    separateTextProperty: false,
  },
  attributes:{
    ignore: false,
    booleanType: true,
    entities: true,
  },

  // select: ["img[src]"],
  // stop: ["anim", "[ads]"]
  only: [], // rest tags will be skipped. It will result in flat array
  hierarchy: false, //will be used when a particular tag is set to be parsed.
  skip: [], // will be skipped from parse result. on('skip') will be triggered

  select: [], // on('select', tag => tag ) will be called if match
  stop: [], //given tagPath will not be parsed. innerXML will be set as string value
  OutputBuilder: new JsObjOutputBuilder(),
};
   
const buildOptions = function(options) {
  const finalOptions = { ... defaultOptions};
  copyProperties(finalOptions,options)
  return finalOptions;
};

function copyProperties(target, source) {
  for (let key in source) {
    if (source.hasOwnProperty(key)) {
      if (key === 'OutputBuilder') {
        target[key] = source[key];
      }else if (typeof source[key] === 'object' && !Array.isArray(source[key])) {
        // Recursively copy nested properties
        if (typeof target[key] === 'undefined') {
          target[key] = {};
        }
        copyProperties(target[key], source[key]);
      } else {
        // Copy non-nested properties
        target[key] = source[key];
      }
    }
  }
}

exports.buildOptions = buildOptions;
exports.defaultOptions = defaultOptions;

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