📁
SKYSHELL MANAGER
PHP v7.4.33
Create
Create
Path:
root
/
home
/
clients
/
24bc4cc68eb7a0f1b96eb8e8f40cae6e
/
web
/
pshsht
/
wp-admin
/
Name
Size
Perm
Actions
📁
maint
-
0755
🗑️
🏷️
🔒
📁
images
-
0755
🗑️
🏷️
🔒
📁
includes
-
0755
🗑️
🏷️
🔒
📁
js
-
0755
🗑️
🏷️
🔒
📁
css
-
0755
🗑️
🏷️
🔒
📁
user
-
0755
🗑️
🏷️
🔒
📁
network
-
0755
🗑️
🏷️
🔒
📄
options-connectors.php
1.07 KB
0644
🗑️
🏷️
⬇️
✏️
🔒
📄
options-general.php
22.32 KB
0644
🗑️
🏷️
⬇️
✏️
🔒
📄
press-this.php
2.41 KB
0644
🗑️
🏷️
⬇️
✏️
🔒
📄
network.php
5.39 KB
0644
🗑️
🏷️
⬇️
✏️
🔒
📄
options-media.php
6.38 KB
0644
🗑️
🏷️
⬇️
✏️
🔒
📄
options-permalink.php
21.89 KB
0644
🗑️
🏷️
⬇️
✏️
🔒
📄
options-reading.php
9.97 KB
0644
🗑️
🏷️
⬇️
✏️
🔒
📄
plugin-install.php
6.96 KB
0644
🗑️
🏷️
⬇️
✏️
🔒
📄
ms-users.php
0.21 KB
0644
🗑️
🏷️
⬇️
✏️
🔒
📄
post.php
10.03 KB
0644
🗑️
🏷️
⬇️
✏️
🔒
📄
setup-config.php
17.52 KB
0644
🗑️
🏷️
⬇️
✏️
🔒
📄
profile.php
0.28 KB
0644
🗑️
🏷️
⬇️
✏️
🔒
📄
user-edit.php
40.35 KB
0644
🗑️
🏷️
⬇️
✏️
🔒
📄
wp-mail.php
6.83 KB
0444
🗑️
🏷️
⬇️
✏️
🔒
📄
widgets.php
1.09 KB
0644
🗑️
🏷️
⬇️
✏️
🔒
📄
widgets-form.php
19.14 KB
0644
🗑️
🏷️
⬇️
✏️
🔒
📄
widgets-form-blocks.php
5.12 KB
0644
🗑️
🏷️
⬇️
✏️
🔒
📄
users.php
23.44 KB
0644
🗑️
🏷️
⬇️
✏️
🔒
📄
user-new.php
24.06 KB
0644
🗑️
🏷️
⬇️
✏️
🔒
📄
upload.php
14.9 KB
0644
🗑️
🏷️
⬇️
✏️
🔒
📄
ms-sites.php
0.21 KB
0644
🗑️
🏷️
⬇️
✏️
🔒
📄
update.php
12.76 KB
0644
🗑️
🏷️
⬇️
✏️
🔒
📄
tools.php
3.43 KB
0644
🗑️
🏷️
⬇️
✏️
🔒
📄
themes.php
47.92 KB
0644
🗑️
🏷️
⬇️
✏️
🔒
📄
theme-install.php
23.55 KB
0644
🗑️
🏷️
⬇️
✏️
🔒
📄
theme-editor.php
16.87 KB
0644
🗑️
🏷️
⬇️
✏️
🔒
📄
term.php
2.2 KB
0644
🗑️
🏷️
⬇️
✏️
🔒
📄
ms-themes.php
0.21 KB
0644
🗑️
🏷️
⬇️
✏️
🔒
📄
menu.php
17.72 KB
0644
🗑️
🏷️
⬇️
✏️
🔒
📄
ms-files.php
6.83 KB
0444
🗑️
🏷️
⬇️
✏️
🔒
📄
edit-tag-form.php
10.42 KB
0644
🗑️
🏷️
⬇️
✏️
🔒
📄
about.php
16.02 KB
0644
🗑️
🏷️
⬇️
✏️
🔒
📄
admin-ajax.php
5.03 KB
0644
🗑️
🏷️
⬇️
✏️
🔒
📄
admin-footer.php
2.75 KB
0644
🗑️
🏷️
⬇️
✏️
🔒
📄
admin-post.php
1.97 KB
0644
🗑️
🏷️
⬇️
✏️
🔒
📄
admin.php
6.83 KB
0444
🗑️
🏷️
⬇️
✏️
🔒
📄
api.php
6.83 KB
0444
🗑️
🏷️
⬇️
✏️
🔒
📄
async-upload.php
5.47 KB
0644
🗑️
🏷️
⬇️
✏️
🔒
📄
authorize-application.php
10.09 KB
0644
🗑️
🏷️
⬇️
✏️
🔒
📄
custom-background.php
0.48 KB
0644
🗑️
🏷️
⬇️
✏️
🔒
📄
custom-header.php
0.49 KB
0644
🗑️
🏷️
⬇️
✏️
🔒
📄
edit-form-blocks.php
14.73 KB
0644
🗑️
🏷️
⬇️
✏️
🔒
📄
edit-form-comment.php
8.33 KB
0644
🗑️
🏷️
⬇️
✏️
🔒
📄
edit-link-form.php
6.21 KB
0644
🗑️
🏷️
⬇️
✏️
🔒
📄
edit-tags.php
21.98 KB
0644
🗑️
🏷️
⬇️
✏️
🔒
📄
ms-edit.php
0.21 KB
0644
🗑️
🏷️
⬇️
✏️
🔒
📄
export-personal-data.php
7.75 KB
0644
🗑️
🏷️
⬇️
✏️
🔒
📄
export.php
11 KB
0644
🗑️
🏷️
⬇️
✏️
🔒
📄
font-library.php
1.01 KB
0644
🗑️
🏷️
⬇️
✏️
🔒
📄
freedoms.php
4.8 KB
0644
🗑️
🏷️
⬇️
✏️
🔒
📄
index.php
7.68 KB
0644
🗑️
🏷️
⬇️
✏️
🔒
📄
install.php
17.91 KB
0644
🗑️
🏷️
⬇️
✏️
🔒
📄
link-add.php
0.91 KB
0644
🗑️
🏷️
⬇️
✏️
🔒
📄
link-manager.php
4.26 KB
0644
🗑️
🏷️
⬇️
✏️
🔒
📄
link-parse-opml.php
2.63 KB
0644
🗑️
🏷️
⬇️
✏️
🔒
📄
maintenance.php
6.83 KB
0444
🗑️
🏷️
⬇️
✏️
🔒
📄
media-upload.php
3.58 KB
0644
🗑️
🏷️
⬇️
✏️
🔒
📄
menu-header.php
9.82 KB
0644
🗑️
🏷️
⬇️
✏️
🔒
📄
ms-admin.php
0.19 KB
0644
🗑️
🏷️
⬇️
✏️
🔒
📄
wp-signup.php
6.83 KB
0444
🗑️
🏷️
⬇️
✏️
🔒
Edit: translations.php
<?php /** * Class for a set of entries for translation and their associated headers * * @version $Id: translations.php 1157 2015-11-20 04:30:11Z dd32 $ * @package pomo * @subpackage translations * @since 2.8.0 */ require_once __DIR__ . '/plural-forms.php'; require_once __DIR__ . '/entry.php'; if ( ! class_exists( 'Translations', false ) ) : /** * Translations class. * * @since 2.8.0 */ #[AllowDynamicProperties] class Translations { /** * List of translation entries. * * @since 2.8.0 * * @var Translation_Entry[] */ public $entries = array(); /** * List of translation headers. * * @since 2.8.0 * * @var array<string, string> */ public $headers = array(); /** * Adds an entry to the PO structure. * * @since 2.8.0 * * @param array|Translation_Entry $entry * @return bool True on success, false if the entry doesn't have a key. */ public function add_entry( $entry ) { if ( is_array( $entry ) ) { $entry = new Translation_Entry( $entry ); } $key = $entry->key(); if ( false === $key ) { return false; } $this->entries[ $key ] = &$entry; return true; } /** * Adds or merges an entry to the PO structure. * * @since 2.8.0 * * @param array|Translation_Entry $entry * @return bool True on success, false if the entry doesn't have a key. */ public function add_entry_or_merge( $entry ) { if ( is_array( $entry ) ) { $entry = new Translation_Entry( $entry ); } $key = $entry->key(); if ( false === $key ) { return false; } if ( isset( $this->entries[ $key ] ) ) { $this->entries[ $key ]->merge_with( $entry ); } else { $this->entries[ $key ] = &$entry; } return true; } /** * Sets $header PO header to $value * * If the header already exists, it will be overwritten * * TODO: this should be out of this class, it is gettext specific * * @since 2.8.0 * * @param string $header header name, without trailing : * @param string $value header value, without trailing \n */ public function set_header( $header, $value ) { $this->headers[ $header ] = $value; } /** * Sets translation headers. * * @since 2.8.0 * * @param array $headers Associative array of headers. */ public function set_headers( $headers ) { foreach ( $headers as $header => $value ) { $this->set_header( $header, $value ); } } /** * Returns a given translation header. * * @since 2.8.0 * * @param string $header * @return string|false Header if it exists, false otherwise. */ public function get_header( $header ) { return $this->headers[ $header ] ?? false; } /** * Returns a given translation entry. * * @since 2.8.0 * * @param Translation_Entry $entry Translation entry. * @return Translation_Entry|false Translation entry if it exists, false otherwise. */ public function translate_entry( &$entry ) { $key = $entry->key(); return $this->entries[ $key ] ?? false; } /** * Translates a singular string. * * @since 2.8.0 * * @param string $singular * @param string $context * @return string */ public function translate( $singular, $context = null ) { $entry = new Translation_Entry( array( 'singular' => $singular, 'context' => $context, ) ); $translated = $this->translate_entry( $entry ); return ( $translated && ! empty( $translated->translations ) ) ? $translated->translations[0] : $singular; } /** * Given the number of items, returns the 0-based index of the plural form to use * * Here, in the base Translations class, the common logic for English is implemented: * 0 if there is one element, 1 otherwise * * This function should be overridden by the subclasses. For example MO/PO can derive the logic * from their headers. * * @since 2.8.0 * * @param int $count Number of items. * @return int Plural form to use. */ public function select_plural_form( $count ) { return 1 === (int) $count ? 0 : 1; } /** * Returns the plural forms count. * * @since 2.8.0 * * @return int Plural forms count. */ public function get_plural_forms_count() { return 2; } /** * Translates a plural string. * * @since 2.8.0 * * @param string $singular * @param string $plural * @param int $count * @param string $context * @return string */ public function translate_plural( $singular, $plural, $count, $context = null ) { $entry = new Translation_Entry( array( 'singular' => $singular, 'plural' => $plural, 'context' => $context, ) ); $translated = $this->translate_entry( $entry ); $index = $this->select_plural_form( $count ); $total_plural_forms = $this->get_plural_forms_count(); if ( $translated && 0 <= $index && $index < $total_plural_forms && is_array( $translated->translations ) && isset( $translated->translations[ $index ] ) ) { return $translated->translations[ $index ]; } else { return 1 === (int) $count ? $singular : $plural; } } /** * Merges other translations into the current one. * * @since 2.8.0 * * @param Translations $other Another Translation object, whose translations will be merged in this one (passed by reference). */ public function merge_with( &$other ) { foreach ( $other->entries as $entry ) { $this->entries[ $entry->key() ] = $entry; } } /** * Merges originals with existing entries. * * @since 2.8.0 * * @param Translations $other */ public function merge_originals_with( &$other ) { foreach ( $other->entries as $entry ) { if ( ! isset( $this->entries[ $entry->key() ] ) ) { $this->entries[ $entry->key() ] = $entry; } else { $this->entries[ $entry->key() ]->merge_with( $entry ); } } } } /** * Gettext_Translations class. * * @since 2.8.0 */ class Gettext_Translations extends Translations { /** * Number of plural forms. * * @var int * * @since 2.8.0 */ public $_nplurals; /** * Callback to retrieve the plural form. * * @var callable * * @since 2.8.0 */ public $_gettext_select_plural_form; /** * The gettext implementation of select_plural_form. * * It lives in this class, because there are more than one descendant, which will use it and * they can't share it effectively. * * @since 2.8.0 * * @param int $count Plural forms count. * @return int Plural form to use. */ public function gettext_select_plural_form( $count ) { if ( ! isset( $this->_gettext_select_plural_form ) || is_null( $this->_gettext_select_plural_form ) ) { list( $nplurals, $expression ) = $this->nplurals_and_expression_from_header( $this->get_header( 'Plural-Forms' ) ); $this->_nplurals = $nplurals; $this->_gettext_select_plural_form = $this->make_plural_form_function( $nplurals, $expression ); } return call_user_func( $this->_gettext_select_plural_form, $count ); } /** * Returns the nplurals and plural forms expression from the Plural-Forms header. * * @since 2.8.0 * * @param string $header * @return array{0: int, 1: string} */ public function nplurals_and_expression_from_header( $header ) { if ( preg_match( '/^\s*nplurals\s*=\s*(\d+)\s*;\s+plural\s*=\s*(.+)$/', $header, $matches ) ) { $nplurals = (int) $matches[1]; $expression = trim( $matches[2] ); return array( $nplurals, $expression ); } else { return array( 2, 'n != 1' ); } } /** * Makes a function, which will return the right translation index, according to the * plural forms header. * * @since 2.8.0 * * @param int $nplurals * @param string $expression * @return callable */ public function make_plural_form_function( $nplurals, $expression ) { try { $handler = new Plural_Forms( rtrim( $expression, ';' ) ); return array( $handler, 'get' ); } catch ( Exception $e ) { // Fall back to default plural-form function. return $this->make_plural_form_function( 2, 'n != 1' ); } } /** * Adds parentheses to the inner parts of ternary operators in * plural expressions, because PHP evaluates ternary operators from left to right * * @since 2.8.0 * @deprecated 6.5.0 Use the Plural_Forms class instead. * * @see Plural_Forms * * @param string $expression the expression without parentheses * @return string the expression with parentheses added */ public function parenthesize_plural_exression( $expression ) { $expression .= ';'; $res = ''; $depth = 0; for ( $i = 0; $i < strlen( $expression ); ++$i ) { $char = $expression[ $i ]; switch ( $char ) { case '?': $res .= ' ? ('; ++$depth; break; case ':': $res .= ') : ('; break; case ';': $res .= str_repeat( ')', $depth ) . ';'; $depth = 0; break; default: $res .= $char; } } return rtrim( $res, ';' ); } /** * Prepare translation headers. * * @since 2.8.0 * * @param string $translation * @return array<string, string> Translation headers */ public function make_headers( $translation ) { $headers = array(); // Sometimes \n's are used instead of real new lines. $translation = str_replace( '\n', "\n", $translation ); $lines = explode( "\n", $translation ); foreach ( $lines as $line ) { $parts = explode( ':', $line, 2 ); if ( ! isset( $parts[1] ) ) { continue; } $headers[ trim( $parts[0] ) ] = trim( $parts[1] ); } return $headers; } /** * Sets translation headers. * * @since 2.8.0 * * @param string $header * @param string $value */ public function set_header( $header, $value ) { parent::set_header( $header, $value ); if ( 'Plural-Forms' === $header ) { list( $nplurals, $expression ) = $this->nplurals_and_expression_from_header( $this->get_header( 'Plural-Forms' ) ); $this->_nplurals = $nplurals; $this->_gettext_select_plural_form = $this->make_plural_form_function( $nplurals, $expression ); } } } endif; if ( ! class_exists( 'NOOP_Translations', false ) ) : /** * Provides the same interface as Translations, but doesn't do anything. * * @since 2.8.0 */ #[AllowDynamicProperties] class NOOP_Translations { /** * List of translation entries. * * @since 2.8.0 * * @var Translation_Entry[] */ public $entries = array(); /** * List of translation headers. * * @since 2.8.0 * * @var array<string, string> */ public $headers = array(); public function add_entry( $entry ) { return true; } /** * Sets a translation header. * * @since 2.8.0 * * @param string $header * @param string $value */ public function set_header( $header, $value ) { } /** * Sets translation headers. * * @since 2.8.0 * * @param array $headers */ public function set_headers( $headers ) { } /** * Returns a translation header. * * @since 2.8.0 * * @param string $header * @return false */ public function get_header( $header ) { return false; } /** * Returns a given translation entry. * * @since 2.8.0 * * @param Translation_Entry $entry * @return false */ public function translate_entry( &$entry ) { return false; } /** * Translates a singular string. * * @since 2.8.0 * * @param string $singular * @param string $context */ public function translate( $singular, $context = null ) { return $singular; } /** * Returns the plural form to use. * * @since 2.8.0 * * @param int $count * @return int */ public function select_plural_form( $count ) { return 1 === (int) $count ? 0 : 1; } /** * Returns the plural forms count. * * @since 2.8.0 * * @return int */ public function get_plural_forms_count() { return 2; } /** * Translates a plural string. * * @since 2.8.0 * * @param string $singular * @param string $plural * @param int $count * @param string $context * @return string */ public function translate_plural( $singular, $plural, $count, $context = null ) { return 1 === (int) $count ? $singular : $plural; } /** * Merges other translations into the current one. * * @since 2.8.0 * * @param Translations $other */ public function merge_with( &$other ) { } } endif;
Save