!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/queuepro/vendor/symfony/translation/Loader/   drwxrwxr-x
Free 13.23 GB of 57.97 GB (22.83%)
Home    Back    Forward    UPDIR    Refresh    Search    Buffer    Encoder    Tools    Proc.    FTP brute    Sec.    SQL    PHP-code    Update    Self remove    Logout    


Viewing file:     MoFileLoader.php (4.19 KB)      -rwxrwxr-x
Select action/file-type:
(+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
<?php

/*
 * This file is part of the Symfony package.
 *
 * (c) Fabien Potencier <fabien@symfony.com>
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */

namespace Symfony\Component\Translation\Loader;

use 
Symfony\Component\Translation\Exception\InvalidResourceException;

/**
 * @copyright Copyright (c) 2010, Union of RAD http://union-of-rad.org (http://lithify.me/)
 */
class MoFileLoader extends FileLoader
{
    
/**
     * Magic used for validating the format of an MO file as well as
     * detecting if the machine used to create that file was little endian.
     */
    
public const MO_LITTLE_ENDIAN_MAGIC 0x950412DE;

    
/**
     * Magic used for validating the format of an MO file as well as
     * detecting if the machine used to create that file was big endian.
     */
    
public const MO_BIG_ENDIAN_MAGIC 0xDE120495;

    
/**
     * The size of the header of an MO file in bytes.
     */
    
public const MO_HEADER_SIZE 28;

    
/**
     * Parses machine object (MO) format, independent of the machine's endian it
     * was created on. Both 32bit and 64bit systems are supported.
     *
     * {@inheritdoc}
     */
    
protected function loadResource(string $resource): array
    {
        
$stream fopen($resource'r');

        
$stat fstat($stream);

        if (
$stat['size'] < self::MO_HEADER_SIZE) {
            throw new 
InvalidResourceException('MO stream content has an invalid format.');
        }
        
$magic unpack('V1'fread($stream4));
        
$magic hexdec(substr(dechex(current($magic)), -8));

        if (
self::MO_LITTLE_ENDIAN_MAGIC == $magic) {
            
$isBigEndian false;
        } elseif (
self::MO_BIG_ENDIAN_MAGIC == $magic) {
            
$isBigEndian true;
        } else {
            throw new 
InvalidResourceException('MO stream content has an invalid format.');
        }

        
// formatRevision
        
$this->readLong($stream$isBigEndian);
        
$count $this->readLong($stream$isBigEndian);
        
$offsetId $this->readLong($stream$isBigEndian);
        
$offsetTranslated $this->readLong($stream$isBigEndian);
        
// sizeHashes
        
$this->readLong($stream$isBigEndian);
        
// offsetHashes
        
$this->readLong($stream$isBigEndian);

        
$messages = [];

        for (
$i 0$i $count; ++$i) {
            
$pluralId null;
            
$translated null;

            
fseek($stream$offsetId $i 8);

            
$length $this->readLong($stream$isBigEndian);
            
$offset $this->readLong($stream$isBigEndian);

            if (
$length 1) {
                continue;
            }

            
fseek($stream$offset);
            
$singularId fread($stream$length);

            if (
str_contains($singularId"\000")) {
                [
$singularId$pluralId] = explode("\000"$singularId);
            }

            
fseek($stream$offsetTranslated $i 8);
            
$length $this->readLong($stream$isBigEndian);
            
$offset $this->readLong($stream$isBigEndian);

            if (
$length 1) {
                continue;
            }

            
fseek($stream$offset);
            
$translated fread($stream$length);

            if (
str_contains($translated"\000")) {
                
$translated explode("\000"$translated);
            }

            
$ids = ['singular' => $singularId'plural' => $pluralId];
            
$item compact('ids''translated');

            if (!empty(
$item['ids']['singular'])) {
                
$id $item['ids']['singular'];
                if (isset(
$item['ids']['plural'])) {
                    
$id .= '|'.$item['ids']['plural'];
                }
                
$messages[$id] = stripcslashes(implode('|', (array) $item['translated']));
            }
        }

        
fclose($stream);

        return 
array_filter($messages);
    }

    
/**
     * Reads an unsigned long from stream respecting endianness.
     *
     * @param resource $stream
     */
    
private function readLong($streambool $isBigEndian): int
    
{
        
$result unpack($isBigEndian 'N1' 'V1'fread($stream4));
        
$result current($result);

        return (int) 
substr($result, -8);
    }
}

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