!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)

/usr/local/lib/node_modules/strapi/node_modules/koa-i18n/   drwxr-xr-x
Free 13.16 GB of 57.97 GB (22.7%)
Home    Back    Forward    UPDIR    Refresh    Search    Buffer    Encoder    Tools    Proc.    FTP brute    Sec.    SQL    PHP-code    Update    Self remove    Logout    


Viewing file:     index.js (2.46 KB)      -rw-r--r--
Select action/file-type:
(+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
'use strict'

/*!
 * i18n
 * Copyright(c) 2015 Fangdun Cai and Other Contributors
 * MIT Licensed
 */

/**
 * Module dependencies.
 */

const debug = require('debug')('koa:i18n')
const I18n2 = require('i18n-2')

const LOCALE_METHODS = [
  'Subdomain',
  'Cookie',
  'Header',
  'Query',
  'Url',
  'TLD'
]
const SET_PREFIX = 'setLocaleFrom'
const GET_PREFIX = 'getLocaleFrom'

/**
 * Hacked i18n.
 */

class I18n extends I18n2 {

  constructor(opts) {
    super(opts)
    const modes = opts.modes || []
    const whitelist = this.whitelist = []
    modes.forEach(v => {
      if(typeof v !== 'function') {
        v = LOCALE_METHODS.filter(
          (t) => t.toLowerCase() === v.toLowerCase()
        )[0]
      }
      if (v) whitelist.push(v)
    })
  }

}

LOCALE_METHODS.forEach((m) => {
  Object.defineProperty(I18n.prototype, SET_PREFIX + m, {
    value: function () {
      let locale = getLocale(this.request[GET_PREFIX + m]())
      if (locale === this.getLocale()) return true
      if ((locale = filter(locale, this.locales))) {
        this.setLocale(locale)
        debug('Overriding locale from %s : %s', m.toLowerCase(), locale)
        return true
      }
    }
  })
})

/**
 *  Expose ial.
 */

module.exports = ial

// Internationalization and Localization
function ial(app, opts) {

  /**
   * Lazily creates an i18n.
   *
   * @api public
   */

  Object.defineProperty(app.context, 'i18n', {
    get: function () {
      if (this._i18n) {
        return this._i18n
      }

      const i18n = new I18n(opts)
      i18n.request = this.request
      this._i18n = i18n

      // merge into ctx.state
      this.state.i18n = i18n
      registerMethods(this.state, i18n)

      debug('app.ctx.i18n %j', i18n)
      return i18n
    }
  })

  Object.defineProperty(app.request, 'i18n', {
    get: function () {
      return this.ctx.i18n
    }
  })

  return function i18nMiddleware(ctx, next) {
    ctx.i18n.whitelist.some(key => {
      const customLocaleMethod = typeof key === 'function'
        && ctx.i18n.setLocale(key.apply(ctx))
      if (customLocaleMethod || ctx.i18n[SET_PREFIX + key]()) return true
    })
    return next()
  }
}

/**
 * Register methods
 */

function registerMethods(helpers, i18n) {
  I18n.resMethods.forEach(method => {
    helpers[method] = i18n[method].bind(i18n)
  })
}

function getLocale(locale) {
  return (locale || '').toLowerCase()
}

function filter(locale, locales) {
  for (const k in locales) {
    if (locale === k.toLowerCase()) {
      return k
    }
  }
}

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