!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/main_file/vendor/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/TextData/   drwxr-xr-x
Free 13.15 GB of 57.97 GB (22.68%)
Home    Back    Forward    UPDIR    Refresh    Search    Buffer    Encoder    Tools    Proc.    FTP brute    Sec.    SQL    PHP-code    Update    Self remove    Logout    


Viewing file:     Concatenate.php (4.53 KB)      -rw-r--r--
Select action/file-type:
(+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
<?php

namespace PhpOffice\PhpSpreadsheet\Calculation\TextData;

use 
PhpOffice\PhpSpreadsheet\Calculation\ArrayEnabled;
use 
PhpOffice\PhpSpreadsheet\Calculation\Functions;
use 
PhpOffice\PhpSpreadsheet\Calculation\Information\ErrorValue;
use 
PhpOffice\PhpSpreadsheet\Calculation\Information\ExcelError;
use 
PhpOffice\PhpSpreadsheet\Cell\DataType;
use 
PhpOffice\PhpSpreadsheet\Shared\StringHelper;

class 
Concatenate
{
    use 
ArrayEnabled;

    
/**
     * CONCATENATE.
     *
     * @param array $args
     */
    
public static function CONCATENATE(...$args): string
    
{
        
$returnValue '';

        
// Loop through arguments
        
$aArgs Functions::flattenArray($args);

        foreach (
$aArgs as $arg) {
            
$value Helpers::extractString($arg);
            if (
ErrorValue::isError($value)) {
                
$returnValue $value;

                break;
            }
            
$returnValue .= Helpers::extractString($arg);
            if (
StringHelper::countCharacters($returnValue) > DataType::MAX_STRING_LENGTH) {
                
$returnValue ExcelError::CALC();

                break;
            }
        }

        return 
$returnValue;
    }

    
/**
     * TEXTJOIN.
     *
     * @param mixed $delimiter The delimter to use between the joined arguments
     *                         Or can be an array of values
     * @param mixed $ignoreEmpty true/false Flag indicating whether empty arguments should be skipped
     *                         Or can be an array of values
     * @param mixed $args The values to join
     *
     * @return array|string The joined string
     *         If an array of values is passed for the $delimiter or $ignoreEmpty arguments, then the returned result
     *            will also be an array with matching dimensions
     */
    
public static function TEXTJOIN($delimiter ''$ignoreEmpty true, ...$args)
    {
        if (
is_array($delimiter) || is_array($ignoreEmpty)) {
            return 
self::evaluateArrayArgumentsSubset(
                [
self::class, __FUNCTION__],
                
2,
                
$delimiter,
                
$ignoreEmpty,
                ...
$args
            
);
        }

        
$delimiter ??= '';
        
$ignoreEmpty ??= true;
        
$aArgs Functions::flattenArray($args);
        
$returnValue self::evaluateTextJoinArray($ignoreEmpty$aArgs);

        
$returnValue ??= implode($delimiter$aArgs);
        if (
StringHelper::countCharacters($returnValue) > DataType::MAX_STRING_LENGTH) {
            
$returnValue ExcelError::CALC();
        }

        return 
$returnValue;
    }

    private static function 
evaluateTextJoinArray(bool $ignoreEmpty, array &$aArgs): ?string
    
{
        foreach (
$aArgs as $key => &$arg) {
            
$value Helpers::extractString($arg);
            if (
ErrorValue::isError($value)) {
                return 
$value;
            }

            if (
$ignoreEmpty === true && ((is_string($arg) && trim($arg) === '') || $arg === null)) {
                unset(
$aArgs[$key]);
            } elseif (
is_bool($arg)) {
                
$arg Helpers::convertBooleanValue($arg);
            }
        }

        return 
null;
    }

    
/**
     * REPT.
     *
     * Returns the result of builtin function round after validating args.
     *
     * @param mixed $stringValue The value to repeat
     *                         Or can be an array of values
     * @param mixed $repeatCount The number of times the string value should be repeated
     *                         Or can be an array of values
     *
     * @return array|string The repeated string
     *         If an array of values is passed for the $stringValue or $repeatCount arguments, then the returned result
     *            will also be an array with matching dimensions
     */
    
public static function builtinREPT($stringValue$repeatCount)
    {
        if (
is_array($stringValue) || is_array($repeatCount)) {
            return 
self::evaluateArrayArguments([self::class, __FUNCTION__], $stringValue$repeatCount);
        }

        
$stringValue Helpers::extractString($stringValue);

        if (!
is_numeric($repeatCount) || $repeatCount 0) {
            
$returnValue ExcelError::VALUE();
        } elseif (
ErrorValue::isError($stringValue)) {
            
$returnValue $stringValue;
        } else {
            
$returnValue str_repeat($stringValue, (int) $repeatCount);
            if (
StringHelper::countCharacters($returnValue) > DataType::MAX_STRING_LENGTH) {
                
$returnValue ExcelError::VALUE(); // note VALUE not CALC
            
}
        }

        return 
$returnValue;
    }
}

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