!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/pngjs/coverage/lcov-report/   drwxr-xr-x
Free 28.8 GB of 117.98 GB (24.42%)
Home    Back    Forward    UPDIR    Refresh    Search    Buffer    Encoder    Tools    Proc.    FTP brute    Sec.    SQL    PHP-code    Update    Self remove    Logout    


Viewing file:     sorter.js (4.39 KB)      -rw-r--r--
Select action/file-type:
(+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
/* eslint-disable */
var addSorting = (function () {
  "use strict";
  var cols,
    currentSort = {
      index: 0,
      desc: false,
    };

  // returns the summary table element
  function getTable() {
    return document.querySelector(".coverage-summary");
  }
  // returns the thead element of the summary table
  function getTableHeader() {
    return getTable().querySelector("thead tr");
  }
  // returns the tbody element of the summary table
  function getTableBody() {
    return getTable().querySelector("tbody");
  }
  // returns the th element for nth column
  function getNthColumn(n) {
    return getTableHeader().querySelectorAll("th")[n];
  }

  // loads all columns
  function loadColumns() {
    var colNodes = getTableHeader().querySelectorAll("th"),
      colNode,
      cols = [],
      col,
      i;

    for (i = 0; i < colNodes.length; i += 1) {
      colNode = colNodes[i];
      col = {
        key: colNode.getAttribute("data-col"),
        sortable: !colNode.getAttribute("data-nosort"),
        type: colNode.getAttribute("data-type") || "string",
      };
      cols.push(col);
      if (col.sortable) {
        col.defaultDescSort = col.type === "number";
        colNode.innerHTML = colNode.innerHTML + '<span class="sorter"></span>';
      }
    }
    return cols;
  }
  // attaches a data attribute to every tr element with an object
  // of data values keyed by column name
  function loadRowData(tableRow) {
    var tableCols = tableRow.querySelectorAll("td"),
      colNode,
      col,
      data = {},
      i,
      val;
    for (i = 0; i < tableCols.length; i += 1) {
      colNode = tableCols[i];
      col = cols[i];
      val = colNode.getAttribute("data-value");
      if (col.type === "number") {
        val = Number(val);
      }
      data[col.key] = val;
    }
    return data;
  }
  // loads all row data
  function loadData() {
    var rows = getTableBody().querySelectorAll("tr"),
      i;

    for (i = 0; i < rows.length; i += 1) {
      rows[i].data = loadRowData(rows[i]);
    }
  }
  // sorts the table using the data for the ith column
  function sortByIndex(index, desc) {
    var key = cols[index].key,
      sorter = function (a, b) {
        a = a.data[key];
        b = b.data[key];
        return a < b ? -1 : a > b ? 1 : 0;
      },
      finalSorter = sorter,
      tableBody = document.querySelector(".coverage-summary tbody"),
      rowNodes = tableBody.querySelectorAll("tr"),
      rows = [],
      i;

    if (desc) {
      finalSorter = function (a, b) {
        return -1 * sorter(a, b);
      };
    }

    for (i = 0; i < rowNodes.length; i += 1) {
      rows.push(rowNodes[i]);
      tableBody.removeChild(rowNodes[i]);
    }

    rows.sort(finalSorter);

    for (i = 0; i < rows.length; i += 1) {
      tableBody.appendChild(rows[i]);
    }
  }
  // removes sort indicators for current column being sorted
  function removeSortIndicators() {
    var col = getNthColumn(currentSort.index),
      cls = col.className;

    cls = cls.replace(/ sorted$/, "").replace(/ sorted-desc$/, "");
    col.className = cls;
  }
  // adds sort indicators for current column being sorted
  function addSortIndicators() {
    getNthColumn(currentSort.index).className += currentSort.desc
      ? " sorted-desc"
      : " sorted";
  }
  // adds event listeners for all sorter widgets
  function enableUI() {
    var i,
      el,
      ithSorter = function ithSorter(i) {
        var col = cols[i];

        return function () {
          var desc = col.defaultDescSort;

          if (currentSort.index === i) {
            desc = !currentSort.desc;
          }
          sortByIndex(i, desc);
          removeSortIndicators();
          currentSort.index = i;
          currentSort.desc = desc;
          addSortIndicators();
        };
      };
    for (i = 0; i < cols.length; i += 1) {
      if (cols[i].sortable) {
        // add the click event handler on the th so users
        // dont have to click on those tiny arrows
        el = getNthColumn(i).querySelector(".sorter").parentElement;
        if (el.addEventListener) {
          el.addEventListener("click", ithSorter(i));
        } else {
          el.attachEvent("onclick", ithSorter(i));
        }
      }
    }
  }
  // adds sorting functionality to the UI
  return function () {
    if (!getTable()) {
      return;
    }
    cols = loadColumns();
    loadData();
    addSortIndicators();
    enableUI();
  };
})();

window.addEventListener("load", addSorting);

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