Plugin Directory

Changeset 3290002


Ignore:
Timestamp:
05/08/2025 03:50:20 PM (10 months ago)
Author:
nurwp
Message:

Release version 1.0.1

Location:
trigger
Files:
2 added
32 edited
1 copied

Legend:

Unmodified
Added
Removed
  • trigger/tags/1.0.1/composer.json

    r3285526 r3290002  
    2121    "minimum-stability": "stable",
    2222    "require": {
    23         "php": ">=7.4",
    24         "aws/aws-sdk-php": "^3.343",
    25         "ralouphie/getallheaders": "^3.0"
     23        "php": ">=7.4"
    2624    }
    2725}
  • trigger/tags/1.0.1/inc/Controllers/EmailLogController.php

    r3285526 r3290002  
    276276        if ( 'ses' === $provider ) {
    277277            $ses_mailer = new SesMailer();
    278             $sent       = $ses_mailer->send_email( $data['sendTo'], $subject, $message, $headers, $config );
     278            $sent       = $ses_mailer->send_email( $data['sendTo'], $subject, $message, $headers, $config, true );
    279279
    280280            // $sent = wp_mail( $data['sendTo'], $subject, $message, $headers );
  • trigger/tags/1.0.1/inc/Controllers/Provider/aws/SesMailer.php

    r3285526 r3290002  
    1111namespace Trigger\Controllers\Provider\aws;
    1212
    13 use Aws\Ses\SesClient;
    14 use Aws\Exception\AwsException;
    1513use Trigger\Traits\JsonResponse;
    1614use Exception;
     
    2220
    2321    use JsonResponse;
     22
     23    /**
     24     * AWS SES credentials
     25     *
     26     * @var string
     27     */
     28    private $access_key;
     29
     30    /**
     31     * AWS SES credentials
     32     *
     33     * @var string
     34     */
     35    private $secret_key;
     36
     37    /**
     38     * AWS SES region
     39     *
     40     * @var string
     41     */
     42    public $region;
     43
     44    /**
     45     * AWS SES service
     46     *
     47     * @var string
     48     */
     49    private $service = 'ses';
     50
     51    /**
     52     * AWS SES host
     53     *
     54     * @var string
     55     */
     56    public $host;
     57
     58    /**
     59     * AWS SES endpoint
     60     *
     61     * @var string
     62     */
     63    public $endpoint;
     64
     65    /**
     66     * AWS SES provider config
     67     *
     68     * @var array
     69     */
     70    public $provider_config = array();
     71
     72    /**
     73     * Constructor
     74     */
     75    public function __construct() {
     76        $config = get_option( TRIGGER_EMAIL_CONFIG, array() );
     77
     78        if ( ! empty( $config ) ) {
     79            $this->provider_config = $config['ses'];
     80        }
     81
     82        // if ( empty( $config ) || ! isset( $config['accessKeyId'] ) || ! isset( $config['secretAccessKey'] ) ) {
     83        // return $this->json_response( __( 'AWS SES configuration is missing', 'trigger' ), null, 400 );
     84        // }
     85
     86        $this->access_key = $this->provider_config['accessKeyId'] ?? '';
     87        $this->secret_key = $this->provider_config['secretAccessKey'] ?? '';
     88        $this->region     = $this->provider_config['region'] ?? 'us-east-1';
     89        $this->host       = 'email.' . $this->provider_config['region'] . '.amazonaws.com';
     90        $this->endpoint   = "https://{$this->host}";
     91    }
    2492
    2593    /**
     
    3199     * @param array  $headers Email headers.
    32100     * @param array  $config AWS SES configuration.
     101     * @param bool   $is_html Whether the message is in HTML format.
    33102     *
    34103     * @return bool|string True on success, error message on failure
    35104     */
    36     public function send_email( $to, $subject, $message, $headers = array(), $config = array() ) {
     105    public function send_email( $to, $subject, $message, $headers = array(), $config = array(), $is_html = false ) {
    37106        try {
    38107            // If no config is provided, get from options
    39             if ( empty( $config ) ) {
    40                 $config = get_option( TRIGGER_DEFAULT_EMAIL_PROVIDER, array() );
    41             }
    42 
    43             if ( empty( $config ) || ! isset( $config['accessKeyId'] ) || ! isset( $config['secretAccessKey'] ) ) {
    44                 return $this->json_response( __( 'AWS SES configuration is missing', 'trigger' ), null, 400 );
    45             }
    46 
    47             // Create SES client
    48             $ses_client = new SesClient(
    49                 array(
    50                     'version'     => 'latest',
    51                     'region'      => $config['region'] ?? 'us-east-1',
    52                     'credentials' => array(
    53                         'key'    => $config['accessKeyId'],
    54                         'secret' => $config['secretAccessKey'],
    55                     ),
    56                 )
    57             );
    58 
    59             // Format email parameters correctly for AWS SES
    60             // Check if HTML content type is specified in headers
    61             $is_html = false;
    62             if ( ! empty( $headers ) ) {
    63                 foreach ( $headers as $header ) {
    64                     if ( stripos( $header, 'Content-Type: text/html' ) !== false ) {
    65                         $is_html = true;
    66                         break;
    67                     }
    68                 }
    69             }
    70 
    71             // Ensure message is a string
    72             $message_text = is_array( $message ) ? json_encode( $message ) : (string) $message;
    73 
    74             $email_params = array(
    75                 'Source'      => $config['fromEmail'],
    76                 'Destination' => array(
    77                     'ToAddresses' => is_array( $to ) ? $to : array( $to ),
    78                 ),
    79                 'Message'     => array(
    80                     'Subject' => array(
    81                         'Data'    => $subject,
    82                         'Charset' => 'UTF-8',
    83                     ),
    84                     'Body'    => array(
    85                         'Html' => array(
    86                             'Data'    => $is_html ? $message_text : $message_text,
    87                             'Charset' => 'UTF-8',
    88                         ),
    89                         'Text' => array(
    90                             'Data'    => $message_text,
    91                             'Charset' => 'UTF-8',
    92                         ),
    93                     ),
    94                 ),
    95             );
    96 
    97             // Send the email using AWS SES
    98             $result      = $ses_client->sendEmail( $email_params );
    99             $msg         = $result->get( 'MessageId' );
    100             $metadata    = $result->get( '@metadata' );
    101             $status_code = $metadata['statusCode'];
    102             if ( $msg && 200 === $status_code ) {
     108            if ( empty( $this->provider_config ) ) {
     109                $this->provider_config = get_option( TRIGGER_EMAIL_CONFIG, array() )['ses'] ?? array();
     110            }
     111
     112            // if ( empty( $provider_config ) || ! isset( $provider_config['accessKeyId'] ) || ! isset( $provider_config['secretAccessKey'] ) ) {
     113            // return $this->json_response( __( 'AWS SES configuration is missing', 'trigger' ), null, 400 );
     114            // }
     115
     116            $message_body_format = 'Message.Body.Html.Data';
     117            if ( $is_html ) {
     118                $message_body_format = 'Message.Body.Html.Data';
     119            } else {
     120                $message_body_format = 'Message.Body.Text.Data';
     121            }
     122
     123            if ( is_array( $to ) ) {
     124                $to = $to[0];
     125            }
     126
     127            $params = array(
     128                'Action'                           => 'SendEmail',
     129                'Source'                           => $this->provider_config['fromEmail'] ?? '',
     130                'Destination.ToAddresses.member.1' => $to,
     131                'Message.Subject.Data'             => $subject,
     132                $message_body_format               => $message,
     133                'Version'                          => '2010-12-01',
     134            );
     135
     136            $body = $this->make_request( $params );
     137
     138            if ( strpos( $body, '<SendEmailResult' ) !== false ) {
    103139                return true;
    104140            }
    105141
    106142            return false;
    107         } catch ( AwsException $e ) {
     143        } catch ( Exception $e ) {
    108144            // error_log( 'AWS SES Error: ' . $e->getMessage() );
    109145            // Check if this is an email verification error
     
    123159     * @return array{success: bool, message: string} Result with success status and message
    124160     */
    125     public function verify_email_address( $email_address, $config = array() ) {
    126         if ( empty( $email_address ) || ! is_email( $email_address ) ) {
    127             return $this->json_response( __( 'Invalid email address', 'trigger' ), null, 400 );
    128         }
    129 
    130         // If no config is provided, get from options
    131         if ( empty( $config ) ) {
    132             $config = get_option( TRIGGER_DEFAULT_EMAIL_PROVIDER, array() );
    133         }
    134 
    135         if ( empty( $config ) || ! isset( $config['accessKeyId'] ) || ! isset( $config['secretAccessKey'] ) ) {
    136             return $this->json_response( __( 'AWS SES configuration is missing', 'trigger' ), null, 400 );
    137         }
    138 
     161    public function verify_email_address( $email_address, $config = array() ) {  // phpcs:ignore
    139162        try {
    140             // Create SES client
    141             $ses_client = new SesClient(
    142                 array(
    143                     'version'     => 'latest',
    144                     'region'      => $config['region'] ?? 'us-east-1',
    145                     'credentials' => array(
    146                         'key'    => $config['accessKeyId'],
    147                         'secret' => $config['secretAccessKey'],
    148                     ),
    149                 )
    150             );
    151 
    152             // Send verification email
    153             $result = $ses_client->verifyEmailIdentity(
    154                 array(
    155                     'EmailAddress' => $email_address,
    156                 )
    157             );
    158 
    159             $metadata    = $result->get( '@metadata' );
    160             $status_code = $metadata['statusCode'];
    161             if ( 200 === $status_code ) {
     163            $params = array(
     164                'Action'       => 'VerifyEmailIdentity',
     165                'EmailAddress' => $email_address,
     166                'Version'      => '2010-12-01',
     167            );
     168
     169            $body = $this->make_request( $params );
     170
     171            if ( strpos( $body, '<VerifyEmailIdentityResult' ) !== false ) {
    162172                return $this->json_response(
    163173                    sprintf(
     
    172182
    173183            return $this->json_response( __( 'Failed to verify email address', 'trigger' ), null, 400 );
    174         } catch ( AwsException $e ) {
     184        } catch ( Exception $e ) {
     185            // error_log( 'AWS SES Error: '. $e->getMessage() );
     186            // Check if this is an email verification error
    175187            return $this->json_response( __( 'Failed to verify email address, please provide valid email address', 'trigger' ), null, 400 );
    176188        }
     
    185197     */
    186198    public function get_verified_emails( $config = array() ) {
    187         // If no config is provided, get from options
    188199        if ( empty( $config ) ) {
    189200            $config = get_option( TRIGGER_DEFAULT_EMAIL_PROVIDER, array() );
     
    198209
    199210        try {
    200             // Create SES client
    201             $ses_client = new SesClient(
    202                 array(
    203                     'version'     => 'latest',
    204                     'region'      => $config['region'] ?? 'us-east-1',
    205                     'credentials' => array(
    206                         'key'    => $config['accessKeyId'],
    207                         'secret' => $config['secretAccessKey'],
    208                     ),
    209                 )
    210             );
    211 
    212             // Get list of verified email identities
    213             $result = $ses_client->listIdentities(
    214                 array(
    215                     'IdentityType' => 'EmailAddress',
    216                 )
    217             );
    218 
    219             $identities = $result->get( 'Identities' );
    220 
    221             // Get verification status for each identity
     211
     212            $params = array(
     213                'Action'       => 'ListIdentities',
     214                'IdentityType' => 'EmailAddress',
     215                'MaxItems'     => '100',
     216                'Version'      => '2010-12-01',
     217
     218            );
     219
     220            $body = $this->make_request( $params );
     221
     222            if ( isset( $body['error'] ) ) {
     223                return array(
     224                    'success' => false,
     225                    'message' => __( 'Failed to retrieve verified email addresses', 'trigger' ),
     226                );
     227            }
     228
     229            // Parse XML response to get email addresses
     230            $xml             = simplexml_load_string( $body );
    222231            $verified_emails = array();
    223             if ( ! empty( $identities ) ) {
    224                 $result = $ses_client->getIdentityVerificationAttributes(
    225                     array(
    226                         'Identities' => $identities,
    227                     )
     232
     233            // Get list of emails first
     234            // phpcs:ignore WordPress.NamingConventions.ValidVariableName.UsedPropertyNotSnakeCase
     235            if ( $xml && isset( $xml->ListIdentitiesResult->Identities->member ) ) {
     236                // Get list of emails first
     237                $emails = array();
     238                foreach ( $xml->ListIdentitiesResult->Identities->member as $email ) { // phpcs:ignore
     239                    $emails[] = (string) $email;
     240                }
     241
     242                // Now get verification status for these emails
     243                $params = array(
     244                    'Action'  => 'GetIdentityVerificationAttributes',
     245                    'Version' => '2010-12-01',
    228246                );
    229247
    230                 $attributes = $result->get( 'VerificationAttributes' );
    231                 foreach ( $attributes as $email => $attribute ) {
    232                     $verified_emails[] = array(
    233                         'email'  => $email,
    234                         'status' => $attribute['VerificationStatus'],
    235                     );
     248                // Add emails to parameters
     249                foreach ( $emails as $index => $email ) {
     250                    $params[ 'Identities.member.' . ( $index + 1 ) ] = $email;
     251                }
     252
     253                $verification_response = $this->make_request( $params );
     254                $verification_xml      = simplexml_load_string( $verification_response );
     255
     256                if ( $verification_xml && isset( $verification_xml->GetIdentityVerificationAttributesResult->VerificationAttributes ) ) { // phpcs:ignore
     257                    foreach ( $verification_xml->GetIdentityVerificationAttributesResult->VerificationAttributes->entry as $entry ) { // phpcs:ignore
     258                        $email  = (string) $entry->key;
     259                        $status = (string) $entry->value->VerificationStatus;
     260
     261                        $verified_emails[] = array(
     262                            'email'  => $email,
     263                            'status' => $status,
     264                        );
     265                    }
    236266                }
    237267            }
     
    242272                'data'    => $verified_emails,
    243273            );
    244         } catch ( AwsException $e ) {
     274        } catch ( Exception $e ) {
    245275            return array(
    246276                'success' => false,
     
    251281
    252282    /**
    253      * Verify SES configuration
    254      *
    255      * @param array $config AWS SES configuration.
    256      *
    257      * @return bool|string True on success, error message on failure
    258      */
    259     public function verify_ses_config( $config ) {
    260         if ( empty( $config ) || ! isset( $config['accessKeyId'] ) || ! isset( $config['secretAccessKey'] ) ) {
    261             return $this->json_response( __( 'AWS SES configuration is missing', 'trigger' ), null, 400 );
    262         }
    263 
    264         try {
    265             $ses_client = new SesClient(
    266                 array(
    267                     'version'     => 'latest',
    268                     'region'      => $config['region'] ?? 'us-east-1',
    269                     'credentials' => array(
    270                         'key'    => $config['accessKeyId'],
    271                         'secret' => $config['secretAccessKey'],
    272                     ),
    273                 )
    274             );
    275 
    276             return true;
    277         } catch ( AwsException $e ) {
    278             return $this->json_response( esc_html( $e->getMessage() ), null, 400 );
    279         }
     283     * Calculate AWS signature for request authentication
     284     *
     285     * @param string $date_stamp The date stamp in YYYYMMDD format.
     286     * @param string $string_to_sign The string to be signed.
     287     * @return string The calculated signature.
     288     */
     289    private function get_signature( $date_stamp, $string_to_sign ) {
     290        $secret_key = 'AWS4' . $this->secret_key;
     291        $date       = hash_hmac( 'sha256', $date_stamp, $secret_key, true );
     292        $region     = hash_hmac( 'sha256', $this->region, $date, true );
     293        $service    = hash_hmac( 'sha256', $this->service, $region, true );
     294        $signing    = hash_hmac( 'sha256', 'aws4_request', $service, true );
     295        return hash_hmac( 'sha256', $string_to_sign, $signing );
     296    }
     297
     298    /**
     299     * Make a request to AWS SES API
     300     *
     301     * @param array $params The request parameters.
     302     * @return mixed The response from the API.
     303     */
     304    private function make_request( $params ) {
     305        $query_string = http_build_query( $params, '', '&', PHP_QUERY_RFC3986 );
     306        $amz_date     = gmdate( 'Ymd\THis\Z' );
     307        $date_stamp   = gmdate( 'Ymd' );
     308        $payload_hash = hash( 'sha256', $query_string );
     309
     310        $canonical_request = implode(
     311            "\n",
     312            array(
     313                'POST',
     314                '/',
     315                '',
     316                "content-type:application/x-www-form-urlencoded\nhost:{$this->host}\nx-amz-date:$amz_date\n",
     317                'content-type;host;x-amz-date',
     318                $payload_hash,
     319            )
     320        );
     321
     322        $credential_scope = "$date_stamp/{$this->region}/{$this->service}/aws4_request";
     323        $string_to_sign   = implode(
     324            "\n",
     325            array(
     326                'AWS4-HMAC-SHA256',
     327                $amz_date,
     328                $credential_scope,
     329                hash( 'sha256', $canonical_request ),
     330            )
     331        );
     332
     333        $signature            = $this->get_signature( $date_stamp, $string_to_sign );
     334        $authorization_header = "AWS4-HMAC-SHA256 Credential={$this->access_key}/$credential_scope, SignedHeaders=content-type;host;x-amz-date, Signature=$signature";
     335
     336        $headers = array(
     337            'Content-Type'  => 'application/x-www-form-urlencoded',
     338            'X-Amz-Date'    => $amz_date,
     339            'Authorization' => $authorization_header,
     340        );
     341
     342        $response = wp_remote_post(
     343            $this->endpoint,
     344            array(
     345                'headers' => $headers,
     346                'body'    => $query_string,
     347            )
     348        );
     349
     350        if ( is_wp_error( $response ) ) {
     351            return array( 'error' => $response->get_error_message() );
     352        }
     353
     354        return wp_remote_retrieve_body( $response );
    280355    }
    281356}
  • trigger/tags/1.0.1/inc/TriggerGlobals.php

    r3285526 r3290002  
    3434        return false;
    3535    }
    36 
    3736    return $default_provider;
    3837}
     38
     39/**
     40 * Get plugin data
     41 *
     42 * @return array
     43 */
     44function trigger_get_plugin_data() {
     45    define( 'TRIGGER_PLUGIN_INFO', Trigger::plugin_data() );
     46    return Trigger::plugin_data();
     47}
     48
     49trigger_get_plugin_data();
    3950
    4051/**
     
    110121     * @param string|string[] $attachments Optional. Paths to files to attach.
    111122     * @return bool Whether the email was sent successfully.
     123     * @throws PHPMailer\PHPMailer\Exception When there are issues sending the email.
    112124     */
    113125    function wp_mail( $to, $subject, $message, $headers = '', $attachments = array() ) {
     
    191203            require_once ABSPATH . WPINC . '/PHPMailer/SMTP.php';
    192204            require_once ABSPATH . WPINC . '/PHPMailer/Exception.php';
    193             $phpmailer = new PHPMailer\PHPMailer\PHPMailer( true );
     205            $phpmailer = new PHPMailer\PHPMailer\PHPMailer( true ); // phpcs:ignore WordPress.WP.GlobalVariablesOverride.Prohibited
    194206
    195207            $phpmailer::$validator = static function ( $email ) {
     
    488500                $headers    = array_merge( $headers, array( 'Content-Type: text/html' ) );
    489501                $ses_mailer = new SesMailer();
    490                 $send       = $ses_mailer->send_email( $to, $subject, $message, $headers, $attachments );
     502                $send       = $ses_mailer->send_email( $to, $subject, $message, $headers, $attachments, false );
    491503                if ( false === $send ) {
    492504                    throw new PHPMailer\PHPMailer\Exception( 'Failed to send email using SES' );
  • trigger/tags/1.0.1/languages/trigger.pot

    r3285526 r3290002  
    33msgid ""
    44msgstr ""
    5 "Project-Id-Version: Trigger 1.0.0\n"
     5"Project-Id-Version: Trigger SMTP, Mail Logs, Deliver Mails 1.0.1\n"
    66"Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/trigger\n"
    77"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
     
    1010"Content-Type: text/plain; charset=UTF-8\n"
    1111"Content-Transfer-Encoding: 8bit\n"
    12 "POT-Creation-Date: 2025-04-30T07:17:23+00:00\n"
     12"POT-Creation-Date: 2025-05-08T15:37:39+00:00\n"
    1313"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
    1414"X-Generator: WP-CLI 2.11.0\n"
     
    1717#. Plugin Name of the plugin
    1818#: triggermail.php
     19msgid "Trigger SMTP, Mail Logs, Deliver Mails"
     20msgstr ""
     21
     22#. Plugin URI of the plugin
     23#: triggermail.php
     24msgid "https://wptriggermail.com/"
     25msgstr ""
     26
     27#. Description of the plugin
     28#: triggermail.php
     29msgid "Trigger for deliver your site email & manage email logs."
     30msgstr ""
     31
     32#. Author of the plugin
     33#: triggermail.php
     34msgid "nurwp"
     35msgstr ""
     36
    1937#: inc/Admin/Menu/MainMenu.php:66
    2038#: inc/Admin/Menu/MainMenu.php:75
    2139msgid "Trigger"
    22 msgstr ""
    23 
    24 #. Plugin URI of the plugin
    25 #: triggermail.php
    26 msgid "https://wptriggermail.com/"
    27 msgstr ""
    28 
    29 #. Description of the plugin
    30 #: triggermail.php
    31 msgid "Trigger for deliver your site email & manage email logs."
    32 msgstr ""
    33 
    34 #. Author of the plugin
    35 #: triggermail.php
    36 msgid "nurwp"
    3740msgstr ""
    3841
     
    97100msgstr ""
    98101
    99 #: inc/Controllers/Provider/aws/SesMailer.php:44
    100 #: inc/Controllers/Provider/aws/SesMailer.php:136
    101 #: inc/Controllers/Provider/aws/SesMailer.php:195
    102 #: inc/Controllers/Provider/aws/SesMailer.php:261
     102#. translators: %s: Email address that was verified
     103#: inc/Controllers/Provider/aws/SesMailer.php:175
     104#: inc/Controllers/Provider/aws/SesMailerAA.php:162
     105msgid "Verification email sent to %s. Please check your inbox and follow the instructions to verify your email address."
     106msgstr ""
     107
     108#: inc/Controllers/Provider/aws/SesMailer.php:183
     109#: inc/Controllers/Provider/aws/SesMailerAA.php:170
     110msgid "Failed to verify email address"
     111msgstr ""
     112
     113#: inc/Controllers/Provider/aws/SesMailer.php:187
     114#: inc/Controllers/Provider/aws/SesMailerAA.php:172
     115msgid "Failed to verify email address, please provide valid email address"
     116msgstr ""
     117
     118#: inc/Controllers/Provider/aws/SesMailer.php:206
     119#: inc/Controllers/Provider/aws/SesMailerAA.php:44
     120#: inc/Controllers/Provider/aws/SesMailerAA.php:133
     121#: inc/Controllers/Provider/aws/SesMailerAA.php:192
     122#: inc/Controllers/Provider/aws/SesMailerAA.php:258
    103123msgid "AWS SES configuration is missing"
    104124msgstr ""
    105125
    106 #: inc/Controllers/Provider/aws/SesMailer.php:127
     126#: inc/Controllers/Provider/aws/SesMailer.php:225
     127#: inc/Controllers/Provider/aws/SesMailer.php:277
     128#: inc/Controllers/Provider/aws/SesMailerAA.php:244
     129msgid "Failed to retrieve verified email addresses"
     130msgstr ""
     131
     132#: inc/Controllers/Provider/aws/SesMailer.php:271
     133#: inc/Controllers/Provider/aws/SesMailerAA.php:238
     134msgid "Verified email addresses retrieved successfully"
     135msgstr ""
     136
     137#: inc/Controllers/Provider/aws/SesMailerAA.php:124
    107138msgid "Invalid email address"
    108 msgstr ""
    109 
    110 #. translators: %s: Email address that was verified
    111 #: inc/Controllers/Provider/aws/SesMailer.php:165
    112 msgid "Verification email sent to %s. Please check your inbox and follow the instructions to verify your email address."
    113 msgstr ""
    114 
    115 #: inc/Controllers/Provider/aws/SesMailer.php:173
    116 msgid "Failed to verify email address"
    117 msgstr ""
    118 
    119 #: inc/Controllers/Provider/aws/SesMailer.php:175
    120 msgid "Failed to verify email address, please provide valid email address"
    121 msgstr ""
    122 
    123 #: inc/Controllers/Provider/aws/SesMailer.php:241
    124 msgid "Verified email addresses retrieved successfully"
    125 msgstr ""
    126 
    127 #: inc/Controllers/Provider/aws/SesMailer.php:247
    128 msgid "Failed to retrieve verified email addresses"
    129139msgstr ""
    130140
     
    234244msgstr ""
    235245
    236 #: inc/TriggerGlobals.php:53
     246#: inc/TriggerGlobals.php:64
    237247msgid "Access denied! Please login to access this feature."
    238248msgstr ""
    239249
    240 #: inc/TriggerGlobals.php:71
     250#: inc/TriggerGlobals.php:82
    241251msgid "Invalid security token! Please refresh the page and try again."
    242252msgstr ""
    243253
    244 #: inc/TriggerGlobals.php:79
     254#: inc/TriggerGlobals.php:90
    245255msgid "Verification successful."
    246256msgstr ""
  • trigger/tags/1.0.1/readme.txt

    r3285526 r3290002  
    55Tested up to: 6.8
    66Requires PHP: 7.4
    7 Stable tag: 1.0.0
     7Stable tag: 1.0.1
    88License: GPLv3 or later
    99License URI: https://www.gnu.org/licenses/gpl-3.0.html
  • trigger/tags/1.0.1/triggermail.php

    r3287932 r3290002  
    22/**
    33 * Plugin Name: Trigger SMTP, Mail Logs, Deliver Mails
    4  * Version: 1.0.0
     4 * Version: 1.0.1
    55 * Requires at least: 5.3
    66 * Requires PHP: 7.4
     
    1717use Trigger\Init;
    1818use Trigger\Database\Migration;
    19 use Trigger\Frontend\Pages\PageManager;
    20 
    2119
    2220if ( ! class_exists( 'Trigger' ) ) {
  • trigger/tags/1.0.1/vendor/autoload.php

    r3285526 r3290002  
    2020require_once __DIR__ . '/composer/autoload_real.php';
    2121
    22 return ComposerAutoloaderInit9692dff78349772716291ed778c512fa::getLoader();
     22return ComposerAutoloaderInit2b0ec1eb3a471364a0b026b40a3bdeba::getLoader();
  • trigger/tags/1.0.1/vendor/composer/autoload_classmap.php

    r3285526 r3290002  
    77
    88return array(
    9     'AWS\\CRT\\Auth\\AwsCredentials' => $vendorDir . '/aws/aws-crt-php/src/AWS/CRT/Auth/AwsCredentials.php',
    10     'AWS\\CRT\\Auth\\CredentialsProvider' => $vendorDir . '/aws/aws-crt-php/src/AWS/CRT/Auth/CredentialsProvider.php',
    11     'AWS\\CRT\\Auth\\Signable' => $vendorDir . '/aws/aws-crt-php/src/AWS/CRT/Auth/Signable.php',
    12     'AWS\\CRT\\Auth\\SignatureType' => $vendorDir . '/aws/aws-crt-php/src/AWS/CRT/Auth/SignatureType.php',
    13     'AWS\\CRT\\Auth\\SignedBodyHeaderType' => $vendorDir . '/aws/aws-crt-php/src/AWS/CRT/Auth/SignedBodyHeaderType.php',
    14     'AWS\\CRT\\Auth\\Signing' => $vendorDir . '/aws/aws-crt-php/src/AWS/CRT/Auth/Signing.php',
    15     'AWS\\CRT\\Auth\\SigningAlgorithm' => $vendorDir . '/aws/aws-crt-php/src/AWS/CRT/Auth/SigningAlgorithm.php',
    16     'AWS\\CRT\\Auth\\SigningConfigAWS' => $vendorDir . '/aws/aws-crt-php/src/AWS/CRT/Auth/SigningConfigAWS.php',
    17     'AWS\\CRT\\Auth\\SigningResult' => $vendorDir . '/aws/aws-crt-php/src/AWS/CRT/Auth/SigningResult.php',
    18     'AWS\\CRT\\Auth\\StaticCredentialsProvider' => $vendorDir . '/aws/aws-crt-php/src/AWS/CRT/Auth/StaticCredentialsProvider.php',
    19     'AWS\\CRT\\CRT' => $vendorDir . '/aws/aws-crt-php/src/AWS/CRT/CRT.php',
    20     'AWS\\CRT\\HTTP\\Headers' => $vendorDir . '/aws/aws-crt-php/src/AWS/CRT/HTTP/Headers.php',
    21     'AWS\\CRT\\HTTP\\Message' => $vendorDir . '/aws/aws-crt-php/src/AWS/CRT/HTTP/Message.php',
    22     'AWS\\CRT\\HTTP\\Request' => $vendorDir . '/aws/aws-crt-php/src/AWS/CRT/HTTP/Request.php',
    23     'AWS\\CRT\\HTTP\\Response' => $vendorDir . '/aws/aws-crt-php/src/AWS/CRT/HTTP/Response.php',
    24     'AWS\\CRT\\IO\\EventLoopGroup' => $vendorDir . '/aws/aws-crt-php/src/AWS/CRT/IO/EventLoopGroup.php',
    25     'AWS\\CRT\\IO\\InputStream' => $vendorDir . '/aws/aws-crt-php/src/AWS/CRT/IO/InputStream.php',
    26     'AWS\\CRT\\Internal\\Encoding' => $vendorDir . '/aws/aws-crt-php/src/AWS/CRT/Internal/Encoding.php',
    27     'AWS\\CRT\\Internal\\Extension' => $vendorDir . '/aws/aws-crt-php/src/AWS/CRT/Internal/Extension.php',
    28     'AWS\\CRT\\Log' => $vendorDir . '/aws/aws-crt-php/src/AWS/CRT/Log.php',
    29     'AWS\\CRT\\NativeResource' => $vendorDir . '/aws/aws-crt-php/src/AWS/CRT/NativeResource.php',
    30     'AWS\\CRT\\OptionValue' => $vendorDir . '/aws/aws-crt-php/src/AWS/CRT/Options.php',
    31     'AWS\\CRT\\Options' => $vendorDir . '/aws/aws-crt-php/src/AWS/CRT/Options.php',
    329    'Composer\\InstalledVersions' => $vendorDir . '/composer/InstalledVersions.php',
    3310);
  • trigger/tags/1.0.1/vendor/composer/autoload_files.php

    r3285526 r3290002  
    77
    88return array(
    9     '7b11c4dc42b3b3023073cb14e519683c' => $vendorDir . '/ralouphie/getallheaders/src/getallheaders.php',
    10     '6e3fae29631ef280660b3cdad06f25a8' => $vendorDir . '/symfony/deprecation-contracts/function.php',
    11     '0e6d7bf4a5811bfa5cf40c5ccd6fae6a' => $vendorDir . '/symfony/polyfill-mbstring/bootstrap.php',
    12     '37a3dc5111fe8f707ab4c132ef1dbc62' => $vendorDir . '/guzzlehttp/guzzle/src/functions_include.php',
    13     'b067bc7112e384b61c701452d53a14a8' => $vendorDir . '/mtdowling/jmespath.php/src/JmesPath.php',
    14     '8a9dc1de0ca7e01f3e08231539562f61' => $vendorDir . '/aws/aws-sdk-php/src/functions.php',
    159    '91f371b3d06890ec0aa8914ea8cf1bd9' => $baseDir . '/inc/TriggerGlobals.php',
    1610);
  • trigger/tags/1.0.1/vendor/composer/autoload_psr4.php

    r3285526 r3290002  
    88return array(
    99    'Trigger\\' => array($baseDir . '/inc'),
    10     'Symfony\\Polyfill\\Mbstring\\' => array($vendorDir . '/symfony/polyfill-mbstring'),
    11     'Psr\\Http\\Message\\' => array($vendorDir . '/psr/http-factory/src', $vendorDir . '/psr/http-message/src'),
    12     'Psr\\Http\\Client\\' => array($vendorDir . '/psr/http-client/src'),
    13     'JmesPath\\' => array($vendorDir . '/mtdowling/jmespath.php/src'),
    14     'GuzzleHttp\\Psr7\\' => array($vendorDir . '/guzzlehttp/psr7/src'),
    15     'GuzzleHttp\\Promise\\' => array($vendorDir . '/guzzlehttp/promises/src'),
    16     'GuzzleHttp\\' => array($vendorDir . '/guzzlehttp/guzzle/src'),
    17     'Aws\\' => array($vendorDir . '/aws/aws-sdk-php/src'),
    1810);
  • trigger/tags/1.0.1/vendor/composer/autoload_real.php

    r3285526 r3290002  
    33// autoload_real.php @generated by Composer
    44
    5 class ComposerAutoloaderInit9692dff78349772716291ed778c512fa
     5class ComposerAutoloaderInit2b0ec1eb3a471364a0b026b40a3bdeba
    66{
    77    private static $loader;
     
    2525        require __DIR__ . '/platform_check.php';
    2626
    27         spl_autoload_register(array('ComposerAutoloaderInit9692dff78349772716291ed778c512fa', 'loadClassLoader'), true, true);
     27        spl_autoload_register(array('ComposerAutoloaderInit2b0ec1eb3a471364a0b026b40a3bdeba', 'loadClassLoader'), true, true);
    2828        self::$loader = $loader = new \Composer\Autoload\ClassLoader(\dirname(__DIR__));
    29         spl_autoload_unregister(array('ComposerAutoloaderInit9692dff78349772716291ed778c512fa', 'loadClassLoader'));
     29        spl_autoload_unregister(array('ComposerAutoloaderInit2b0ec1eb3a471364a0b026b40a3bdeba', 'loadClassLoader'));
    3030
    3131        require __DIR__ . '/autoload_static.php';
    32         call_user_func(\Composer\Autoload\ComposerStaticInit9692dff78349772716291ed778c512fa::getInitializer($loader));
     32        call_user_func(\Composer\Autoload\ComposerStaticInit2b0ec1eb3a471364a0b026b40a3bdeba::getInitializer($loader));
    3333
    3434        $loader->register(true);
    3535
    36         $filesToLoad = \Composer\Autoload\ComposerStaticInit9692dff78349772716291ed778c512fa::$files;
     36        $filesToLoad = \Composer\Autoload\ComposerStaticInit2b0ec1eb3a471364a0b026b40a3bdeba::$files;
    3737        $requireFile = \Closure::bind(static function ($fileIdentifier, $file) {
    3838            if (empty($GLOBALS['__composer_autoload_files'][$fileIdentifier])) {
  • trigger/tags/1.0.1/vendor/composer/autoload_static.php

    r3285526 r3290002  
    55namespace Composer\Autoload;
    66
    7 class ComposerStaticInit9692dff78349772716291ed778c512fa
     7class ComposerStaticInit2b0ec1eb3a471364a0b026b40a3bdeba
    88{
    99    public static $files = array (
    10         '7b11c4dc42b3b3023073cb14e519683c' => __DIR__ . '/..' . '/ralouphie/getallheaders/src/getallheaders.php',
    11         '6e3fae29631ef280660b3cdad06f25a8' => __DIR__ . '/..' . '/symfony/deprecation-contracts/function.php',
    12         '0e6d7bf4a5811bfa5cf40c5ccd6fae6a' => __DIR__ . '/..' . '/symfony/polyfill-mbstring/bootstrap.php',
    13         '37a3dc5111fe8f707ab4c132ef1dbc62' => __DIR__ . '/..' . '/guzzlehttp/guzzle/src/functions_include.php',
    14         'b067bc7112e384b61c701452d53a14a8' => __DIR__ . '/..' . '/mtdowling/jmespath.php/src/JmesPath.php',
    15         '8a9dc1de0ca7e01f3e08231539562f61' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/functions.php',
    1610        '91f371b3d06890ec0aa8914ea8cf1bd9' => __DIR__ . '/../..' . '/inc/TriggerGlobals.php',
    1711    );
     
    2216            'Trigger\\' => 8,
    2317        ),
    24         'S' =>
    25         array (
    26             'Symfony\\Polyfill\\Mbstring\\' => 26,
    27         ),
    28         'P' =>
    29         array (
    30             'Psr\\Http\\Message\\' => 17,
    31             'Psr\\Http\\Client\\' => 16,
    32         ),
    33         'J' =>
    34         array (
    35             'JmesPath\\' => 9,
    36         ),
    37         'G' =>
    38         array (
    39             'GuzzleHttp\\Psr7\\' => 16,
    40             'GuzzleHttp\\Promise\\' => 19,
    41             'GuzzleHttp\\' => 11,
    42         ),
    43         'A' =>
    44         array (
    45             'Aws\\' => 4,
    46         ),
    4718    );
    4819
     
    5223            0 => __DIR__ . '/../..' . '/inc',
    5324        ),
    54         'Symfony\\Polyfill\\Mbstring\\' =>
    55         array (
    56             0 => __DIR__ . '/..' . '/symfony/polyfill-mbstring',
    57         ),
    58         'Psr\\Http\\Message\\' =>
    59         array (
    60             0 => __DIR__ . '/..' . '/psr/http-factory/src',
    61             1 => __DIR__ . '/..' . '/psr/http-message/src',
    62         ),
    63         'Psr\\Http\\Client\\' =>
    64         array (
    65             0 => __DIR__ . '/..' . '/psr/http-client/src',
    66         ),
    67         'JmesPath\\' =>
    68         array (
    69             0 => __DIR__ . '/..' . '/mtdowling/jmespath.php/src',
    70         ),
    71         'GuzzleHttp\\Psr7\\' =>
    72         array (
    73             0 => __DIR__ . '/..' . '/guzzlehttp/psr7/src',
    74         ),
    75         'GuzzleHttp\\Promise\\' =>
    76         array (
    77             0 => __DIR__ . '/..' . '/guzzlehttp/promises/src',
    78         ),
    79         'GuzzleHttp\\' =>
    80         array (
    81             0 => __DIR__ . '/..' . '/guzzlehttp/guzzle/src',
    82         ),
    83         'Aws\\' =>
    84         array (
    85             0 => __DIR__ . '/..' . '/aws/aws-sdk-php/src',
    86         ),
    8725    );
    8826
    8927    public static $classMap = array (
    90         'AWS\\CRT\\Auth\\AwsCredentials' => __DIR__ . '/..' . '/aws/aws-crt-php/src/AWS/CRT/Auth/AwsCredentials.php',
    91         'AWS\\CRT\\Auth\\CredentialsProvider' => __DIR__ . '/..' . '/aws/aws-crt-php/src/AWS/CRT/Auth/CredentialsProvider.php',
    92         'AWS\\CRT\\Auth\\Signable' => __DIR__ . '/..' . '/aws/aws-crt-php/src/AWS/CRT/Auth/Signable.php',
    93         'AWS\\CRT\\Auth\\SignatureType' => __DIR__ . '/..' . '/aws/aws-crt-php/src/AWS/CRT/Auth/SignatureType.php',
    94         'AWS\\CRT\\Auth\\SignedBodyHeaderType' => __DIR__ . '/..' . '/aws/aws-crt-php/src/AWS/CRT/Auth/SignedBodyHeaderType.php',
    95         'AWS\\CRT\\Auth\\Signing' => __DIR__ . '/..' . '/aws/aws-crt-php/src/AWS/CRT/Auth/Signing.php',
    96         'AWS\\CRT\\Auth\\SigningAlgorithm' => __DIR__ . '/..' . '/aws/aws-crt-php/src/AWS/CRT/Auth/SigningAlgorithm.php',
    97         'AWS\\CRT\\Auth\\SigningConfigAWS' => __DIR__ . '/..' . '/aws/aws-crt-php/src/AWS/CRT/Auth/SigningConfigAWS.php',
    98         'AWS\\CRT\\Auth\\SigningResult' => __DIR__ . '/..' . '/aws/aws-crt-php/src/AWS/CRT/Auth/SigningResult.php',
    99         'AWS\\CRT\\Auth\\StaticCredentialsProvider' => __DIR__ . '/..' . '/aws/aws-crt-php/src/AWS/CRT/Auth/StaticCredentialsProvider.php',
    100         'AWS\\CRT\\CRT' => __DIR__ . '/..' . '/aws/aws-crt-php/src/AWS/CRT/CRT.php',
    101         'AWS\\CRT\\HTTP\\Headers' => __DIR__ . '/..' . '/aws/aws-crt-php/src/AWS/CRT/HTTP/Headers.php',
    102         'AWS\\CRT\\HTTP\\Message' => __DIR__ . '/..' . '/aws/aws-crt-php/src/AWS/CRT/HTTP/Message.php',
    103         'AWS\\CRT\\HTTP\\Request' => __DIR__ . '/..' . '/aws/aws-crt-php/src/AWS/CRT/HTTP/Request.php',
    104         'AWS\\CRT\\HTTP\\Response' => __DIR__ . '/..' . '/aws/aws-crt-php/src/AWS/CRT/HTTP/Response.php',
    105         'AWS\\CRT\\IO\\EventLoopGroup' => __DIR__ . '/..' . '/aws/aws-crt-php/src/AWS/CRT/IO/EventLoopGroup.php',
    106         'AWS\\CRT\\IO\\InputStream' => __DIR__ . '/..' . '/aws/aws-crt-php/src/AWS/CRT/IO/InputStream.php',
    107         'AWS\\CRT\\Internal\\Encoding' => __DIR__ . '/..' . '/aws/aws-crt-php/src/AWS/CRT/Internal/Encoding.php',
    108         'AWS\\CRT\\Internal\\Extension' => __DIR__ . '/..' . '/aws/aws-crt-php/src/AWS/CRT/Internal/Extension.php',
    109         'AWS\\CRT\\Log' => __DIR__ . '/..' . '/aws/aws-crt-php/src/AWS/CRT/Log.php',
    110         'AWS\\CRT\\NativeResource' => __DIR__ . '/..' . '/aws/aws-crt-php/src/AWS/CRT/NativeResource.php',
    111         'AWS\\CRT\\OptionValue' => __DIR__ . '/..' . '/aws/aws-crt-php/src/AWS/CRT/Options.php',
    112         'AWS\\CRT\\Options' => __DIR__ . '/..' . '/aws/aws-crt-php/src/AWS/CRT/Options.php',
    11328        'Composer\\InstalledVersions' => __DIR__ . '/..' . '/composer/InstalledVersions.php',
    11429    );
     
    11732    {
    11833        return \Closure::bind(function () use ($loader) {
    119             $loader->prefixLengthsPsr4 = ComposerStaticInit9692dff78349772716291ed778c512fa::$prefixLengthsPsr4;
    120             $loader->prefixDirsPsr4 = ComposerStaticInit9692dff78349772716291ed778c512fa::$prefixDirsPsr4;
    121             $loader->classMap = ComposerStaticInit9692dff78349772716291ed778c512fa::$classMap;
     34            $loader->prefixLengthsPsr4 = ComposerStaticInit2b0ec1eb3a471364a0b026b40a3bdeba::$prefixLengthsPsr4;
     35            $loader->prefixDirsPsr4 = ComposerStaticInit2b0ec1eb3a471364a0b026b40a3bdeba::$prefixDirsPsr4;
     36            $loader->classMap = ComposerStaticInit2b0ec1eb3a471364a0b026b40a3bdeba::$classMap;
    12237
    12338        }, null, ClassLoader::class);
  • trigger/tags/1.0.1/vendor/composer/installed.json

    r3285526 r3290002  
    11{
    22    "packages": [
    3         {
    4             "name": "aws/aws-crt-php",
    5             "version": "v1.2.7",
    6             "version_normalized": "1.2.7.0",
    7             "source": {
    8                 "type": "git",
    9                 "url": "https://github.com/awslabs/aws-crt-php.git",
    10                 "reference": "d71d9906c7bb63a28295447ba12e74723bd3730e"
    11             },
    12             "dist": {
    13                 "type": "zip",
    14                 "url": "https://api.github.com/repos/awslabs/aws-crt-php/zipball/d71d9906c7bb63a28295447ba12e74723bd3730e",
    15                 "reference": "d71d9906c7bb63a28295447ba12e74723bd3730e",
    16                 "shasum": ""
    17             },
    18             "require": {
    19                 "php": ">=5.5"
    20             },
    21             "require-dev": {
    22                 "phpunit/phpunit": "^4.8.35||^5.6.3||^9.5",
    23                 "yoast/phpunit-polyfills": "^1.0"
    24             },
    25             "suggest": {
    26                 "ext-awscrt": "Make sure you install awscrt native extension to use any of the functionality."
    27             },
    28             "time": "2024-10-18T22:15:13+00:00",
    29             "type": "library",
    30             "installation-source": "dist",
    31             "autoload": {
    32                 "classmap": [
    33                     "src/"
    34                 ]
    35             },
    36             "notification-url": "https://packagist.org/downloads/",
    37             "license": [
    38                 "Apache-2.0"
    39             ],
    40             "authors": [
    41                 {
    42                     "name": "AWS SDK Common Runtime Team",
    43                     "email": "[email protected]"
    44                 }
    45             ],
    46             "description": "AWS Common Runtime for PHP",
    47             "homepage": "https://github.com/awslabs/aws-crt-php",
    48             "keywords": [
    49                 "amazon",
    50                 "aws",
    51                 "crt",
    52                 "sdk"
    53             ],
    54             "support": {
    55                 "issues": "https://github.com/awslabs/aws-crt-php/issues",
    56                 "source": "https://github.com/awslabs/aws-crt-php/tree/v1.2.7"
    57             },
    58             "install-path": "../aws/aws-crt-php"
    59         },
    60         {
    61             "name": "aws/aws-sdk-php",
    62             "version": "3.343.0",
    63             "version_normalized": "3.343.0.0",
    64             "source": {
    65                 "type": "git",
    66                 "url": "https://github.com/aws/aws-sdk-php.git",
    67                 "reference": "8750298282f7f6f3fc65e43ae37a64bfc055100a"
    68             },
    69             "dist": {
    70                 "type": "zip",
    71                 "url": "https://api.github.com/repos/aws/aws-sdk-php/zipball/8750298282f7f6f3fc65e43ae37a64bfc055100a",
    72                 "reference": "8750298282f7f6f3fc65e43ae37a64bfc055100a",
    73                 "shasum": ""
    74             },
    75             "require": {
    76                 "aws/aws-crt-php": "^1.2.3",
    77                 "ext-json": "*",
    78                 "ext-pcre": "*",
    79                 "ext-simplexml": "*",
    80                 "guzzlehttp/guzzle": "^7.4.5",
    81                 "guzzlehttp/promises": "^2.0",
    82                 "guzzlehttp/psr7": "^2.4.5",
    83                 "mtdowling/jmespath.php": "^2.8.0",
    84                 "php": ">=8.1",
    85                 "psr/http-message": "^2.0"
    86             },
    87             "require-dev": {
    88                 "andrewsville/php-token-reflection": "^1.4",
    89                 "aws/aws-php-sns-message-validator": "~1.0",
    90                 "behat/behat": "~3.0",
    91                 "composer/composer": "^2.7.8",
    92                 "dms/phpunit-arraysubset-asserts": "^0.4.0",
    93                 "doctrine/cache": "~1.4",
    94                 "ext-dom": "*",
    95                 "ext-openssl": "*",
    96                 "ext-pcntl": "*",
    97                 "ext-sockets": "*",
    98                 "phpunit/phpunit": "^5.6.3 || ^8.5 || ^9.5",
    99                 "psr/cache": "^2.0 || ^3.0",
    100                 "psr/simple-cache": "^2.0 || ^3.0",
    101                 "sebastian/comparator": "^1.2.3 || ^4.0 || ^5.0",
    102                 "symfony/filesystem": "^v6.4.0 || ^v7.1.0",
    103                 "yoast/phpunit-polyfills": "^2.0"
    104             },
    105             "suggest": {
    106                 "aws/aws-php-sns-message-validator": "To validate incoming SNS notifications",
    107                 "doctrine/cache": "To use the DoctrineCacheAdapter",
    108                 "ext-curl": "To send requests using cURL",
    109                 "ext-openssl": "Allows working with CloudFront private distributions and verifying received SNS messages",
    110                 "ext-sockets": "To use client-side monitoring"
    111             },
    112             "time": "2025-04-29T18:04:08+00:00",
    113             "type": "library",
    114             "extra": {
    115                 "branch-alias": {
    116                     "dev-master": "3.0-dev"
    117                 }
    118             },
    119             "installation-source": "dist",
    120             "autoload": {
    121                 "files": [
    122                     "src/functions.php"
    123                 ],
    124                 "psr-4": {
    125                     "Aws\\": "src/"
    126                 },
    127                 "exclude-from-classmap": [
    128                     "src/data/"
    129                 ]
    130             },
    131             "notification-url": "https://packagist.org/downloads/",
    132             "license": [
    133                 "Apache-2.0"
    134             ],
    135             "authors": [
    136                 {
    137                     "name": "Amazon Web Services",
    138                     "homepage": "http://aws.amazon.com"
    139                 }
    140             ],
    141             "description": "AWS SDK for PHP - Use Amazon Web Services in your PHP project",
    142             "homepage": "http://aws.amazon.com/sdkforphp",
    143             "keywords": [
    144                 "amazon",
    145                 "aws",
    146                 "cloud",
    147                 "dynamodb",
    148                 "ec2",
    149                 "glacier",
    150                 "s3",
    151                 "sdk"
    152             ],
    153             "support": {
    154                 "forum": "https://github.com/aws/aws-sdk-php/discussions",
    155                 "issues": "https://github.com/aws/aws-sdk-php/issues",
    156                 "source": "https://github.com/aws/aws-sdk-php/tree/3.343.0"
    157             },
    158             "install-path": "../aws/aws-sdk-php"
    159         },
    160         {
    161             "name": "guzzlehttp/guzzle",
    162             "version": "7.9.3",
    163             "version_normalized": "7.9.3.0",
    164             "source": {
    165                 "type": "git",
    166                 "url": "https://github.com/guzzle/guzzle.git",
    167                 "reference": "7b2f29fe81dc4da0ca0ea7d42107a0845946ea77"
    168             },
    169             "dist": {
    170                 "type": "zip",
    171                 "url": "https://api.github.com/repos/guzzle/guzzle/zipball/7b2f29fe81dc4da0ca0ea7d42107a0845946ea77",
    172                 "reference": "7b2f29fe81dc4da0ca0ea7d42107a0845946ea77",
    173                 "shasum": ""
    174             },
    175             "require": {
    176                 "ext-json": "*",
    177                 "guzzlehttp/promises": "^1.5.3 || ^2.0.3",
    178                 "guzzlehttp/psr7": "^2.7.0",
    179                 "php": "^7.2.5 || ^8.0",
    180                 "psr/http-client": "^1.0",
    181                 "symfony/deprecation-contracts": "^2.2 || ^3.0"
    182             },
    183             "provide": {
    184                 "psr/http-client-implementation": "1.0"
    185             },
    186             "require-dev": {
    187                 "bamarni/composer-bin-plugin": "^1.8.2",
    188                 "ext-curl": "*",
    189                 "guzzle/client-integration-tests": "3.0.2",
    190                 "php-http/message-factory": "^1.1",
    191                 "phpunit/phpunit": "^8.5.39 || ^9.6.20",
    192                 "psr/log": "^1.1 || ^2.0 || ^3.0"
    193             },
    194             "suggest": {
    195                 "ext-curl": "Required for CURL handler support",
    196                 "ext-intl": "Required for Internationalized Domain Name (IDN) support",
    197                 "psr/log": "Required for using the Log middleware"
    198             },
    199             "time": "2025-03-27T13:37:11+00:00",
    200             "type": "library",
    201             "extra": {
    202                 "bamarni-bin": {
    203                     "bin-links": true,
    204                     "forward-command": false
    205                 }
    206             },
    207             "installation-source": "dist",
    208             "autoload": {
    209                 "files": [
    210                     "src/functions_include.php"
    211                 ],
    212                 "psr-4": {
    213                     "GuzzleHttp\\": "src/"
    214                 }
    215             },
    216             "notification-url": "https://packagist.org/downloads/",
    217             "license": [
    218                 "MIT"
    219             ],
    220             "authors": [
    221                 {
    222                     "name": "Graham Campbell",
    223                     "email": "[email protected]",
    224                     "homepage": "https://github.com/GrahamCampbell"
    225                 },
    226                 {
    227                     "name": "Michael Dowling",
    228                     "email": "[email protected]",
    229                     "homepage": "https://github.com/mtdowling"
    230                 },
    231                 {
    232                     "name": "Jeremy Lindblom",
    233                     "email": "[email protected]",
    234                     "homepage": "https://github.com/jeremeamia"
    235                 },
    236                 {
    237                     "name": "George Mponos",
    238                     "email": "[email protected]",
    239                     "homepage": "https://github.com/gmponos"
    240                 },
    241                 {
    242                     "name": "Tobias Nyholm",
    243                     "email": "[email protected]",
    244                     "homepage": "https://github.com/Nyholm"
    245                 },
    246                 {
    247                     "name": "Márk Sági-Kazár",
    248                     "email": "[email protected]",
    249                     "homepage": "https://github.com/sagikazarmark"
    250                 },
    251                 {
    252                     "name": "Tobias Schultze",
    253                     "email": "[email protected]",
    254                     "homepage": "https://github.com/Tobion"
    255                 }
    256             ],
    257             "description": "Guzzle is a PHP HTTP client library",
    258             "keywords": [
    259                 "client",
    260                 "curl",
    261                 "framework",
    262                 "http",
    263                 "http client",
    264                 "psr-18",
    265                 "psr-7",
    266                 "rest",
    267                 "web service"
    268             ],
    269             "support": {
    270                 "issues": "https://github.com/guzzle/guzzle/issues",
    271                 "source": "https://github.com/guzzle/guzzle/tree/7.9.3"
    272             },
    273             "funding": [
    274                 {
    275                     "url": "https://github.com/GrahamCampbell",
    276                     "type": "github"
    277                 },
    278                 {
    279                     "url": "https://github.com/Nyholm",
    280                     "type": "github"
    281                 },
    282                 {
    283                     "url": "https://tidelift.com/funding/github/packagist/guzzlehttp/guzzle",
    284                     "type": "tidelift"
    285                 }
    286             ],
    287             "install-path": "../guzzlehttp/guzzle"
    288         },
    289         {
    290             "name": "guzzlehttp/promises",
    291             "version": "2.2.0",
    292             "version_normalized": "2.2.0.0",
    293             "source": {
    294                 "type": "git",
    295                 "url": "https://github.com/guzzle/promises.git",
    296                 "reference": "7c69f28996b0a6920945dd20b3857e499d9ca96c"
    297             },
    298             "dist": {
    299                 "type": "zip",
    300                 "url": "https://api.github.com/repos/guzzle/promises/zipball/7c69f28996b0a6920945dd20b3857e499d9ca96c",
    301                 "reference": "7c69f28996b0a6920945dd20b3857e499d9ca96c",
    302                 "shasum": ""
    303             },
    304             "require": {
    305                 "php": "^7.2.5 || ^8.0"
    306             },
    307             "require-dev": {
    308                 "bamarni/composer-bin-plugin": "^1.8.2",
    309                 "phpunit/phpunit": "^8.5.39 || ^9.6.20"
    310             },
    311             "time": "2025-03-27T13:27:01+00:00",
    312             "type": "library",
    313             "extra": {
    314                 "bamarni-bin": {
    315                     "bin-links": true,
    316                     "forward-command": false
    317                 }
    318             },
    319             "installation-source": "dist",
    320             "autoload": {
    321                 "psr-4": {
    322                     "GuzzleHttp\\Promise\\": "src/"
    323                 }
    324             },
    325             "notification-url": "https://packagist.org/downloads/",
    326             "license": [
    327                 "MIT"
    328             ],
    329             "authors": [
    330                 {
    331                     "name": "Graham Campbell",
    332                     "email": "[email protected]",
    333                     "homepage": "https://github.com/GrahamCampbell"
    334                 },
    335                 {
    336                     "name": "Michael Dowling",
    337                     "email": "[email protected]",
    338                     "homepage": "https://github.com/mtdowling"
    339                 },
    340                 {
    341                     "name": "Tobias Nyholm",
    342                     "email": "[email protected]",
    343                     "homepage": "https://github.com/Nyholm"
    344                 },
    345                 {
    346                     "name": "Tobias Schultze",
    347                     "email": "[email protected]",
    348                     "homepage": "https://github.com/Tobion"
    349                 }
    350             ],
    351             "description": "Guzzle promises library",
    352             "keywords": [
    353                 "promise"
    354             ],
    355             "support": {
    356                 "issues": "https://github.com/guzzle/promises/issues",
    357                 "source": "https://github.com/guzzle/promises/tree/2.2.0"
    358             },
    359             "funding": [
    360                 {
    361                     "url": "https://github.com/GrahamCampbell",
    362                     "type": "github"
    363                 },
    364                 {
    365                     "url": "https://github.com/Nyholm",
    366                     "type": "github"
    367                 },
    368                 {
    369                     "url": "https://tidelift.com/funding/github/packagist/guzzlehttp/promises",
    370                     "type": "tidelift"
    371                 }
    372             ],
    373             "install-path": "../guzzlehttp/promises"
    374         },
    375         {
    376             "name": "guzzlehttp/psr7",
    377             "version": "2.7.1",
    378             "version_normalized": "2.7.1.0",
    379             "source": {
    380                 "type": "git",
    381                 "url": "https://github.com/guzzle/psr7.git",
    382                 "reference": "c2270caaabe631b3b44c85f99e5a04bbb8060d16"
    383             },
    384             "dist": {
    385                 "type": "zip",
    386                 "url": "https://api.github.com/repos/guzzle/psr7/zipball/c2270caaabe631b3b44c85f99e5a04bbb8060d16",
    387                 "reference": "c2270caaabe631b3b44c85f99e5a04bbb8060d16",
    388                 "shasum": ""
    389             },
    390             "require": {
    391                 "php": "^7.2.5 || ^8.0",
    392                 "psr/http-factory": "^1.0",
    393                 "psr/http-message": "^1.1 || ^2.0",
    394                 "ralouphie/getallheaders": "^3.0"
    395             },
    396             "provide": {
    397                 "psr/http-factory-implementation": "1.0",
    398                 "psr/http-message-implementation": "1.0"
    399             },
    400             "require-dev": {
    401                 "bamarni/composer-bin-plugin": "^1.8.2",
    402                 "http-interop/http-factory-tests": "0.9.0",
    403                 "phpunit/phpunit": "^8.5.39 || ^9.6.20"
    404             },
    405             "suggest": {
    406                 "laminas/laminas-httphandlerrunner": "Emit PSR-7 responses"
    407             },
    408             "time": "2025-03-27T12:30:47+00:00",
    409             "type": "library",
    410             "extra": {
    411                 "bamarni-bin": {
    412                     "bin-links": true,
    413                     "forward-command": false
    414                 }
    415             },
    416             "installation-source": "dist",
    417             "autoload": {
    418                 "psr-4": {
    419                     "GuzzleHttp\\Psr7\\": "src/"
    420                 }
    421             },
    422             "notification-url": "https://packagist.org/downloads/",
    423             "license": [
    424                 "MIT"
    425             ],
    426             "authors": [
    427                 {
    428                     "name": "Graham Campbell",
    429                     "email": "[email protected]",
    430                     "homepage": "https://github.com/GrahamCampbell"
    431                 },
    432                 {
    433                     "name": "Michael Dowling",
    434                     "email": "[email protected]",
    435                     "homepage": "https://github.com/mtdowling"
    436                 },
    437                 {
    438                     "name": "George Mponos",
    439                     "email": "[email protected]",
    440                     "homepage": "https://github.com/gmponos"
    441                 },
    442                 {
    443                     "name": "Tobias Nyholm",
    444                     "email": "[email protected]",
    445                     "homepage": "https://github.com/Nyholm"
    446                 },
    447                 {
    448                     "name": "Márk Sági-Kazár",
    449                     "email": "[email protected]",
    450                     "homepage": "https://github.com/sagikazarmark"
    451                 },
    452                 {
    453                     "name": "Tobias Schultze",
    454                     "email": "[email protected]",
    455                     "homepage": "https://github.com/Tobion"
    456                 },
    457                 {
    458                     "name": "Márk Sági-Kazár",
    459                     "email": "[email protected]",
    460                     "homepage": "https://sagikazarmark.hu"
    461                 }
    462             ],
    463             "description": "PSR-7 message implementation that also provides common utility methods",
    464             "keywords": [
    465                 "http",
    466                 "message",
    467                 "psr-7",
    468                 "request",
    469                 "response",
    470                 "stream",
    471                 "uri",
    472                 "url"
    473             ],
    474             "support": {
    475                 "issues": "https://github.com/guzzle/psr7/issues",
    476                 "source": "https://github.com/guzzle/psr7/tree/2.7.1"
    477             },
    478             "funding": [
    479                 {
    480                     "url": "https://github.com/GrahamCampbell",
    481                     "type": "github"
    482                 },
    483                 {
    484                     "url": "https://github.com/Nyholm",
    485                     "type": "github"
    486                 },
    487                 {
    488                     "url": "https://tidelift.com/funding/github/packagist/guzzlehttp/psr7",
    489                     "type": "tidelift"
    490                 }
    491             ],
    492             "install-path": "../guzzlehttp/psr7"
    493         },
    494         {
    495             "name": "mtdowling/jmespath.php",
    496             "version": "2.8.0",
    497             "version_normalized": "2.8.0.0",
    498             "source": {
    499                 "type": "git",
    500                 "url": "https://github.com/jmespath/jmespath.php.git",
    501                 "reference": "a2a865e05d5f420b50cc2f85bb78d565db12a6bc"
    502             },
    503             "dist": {
    504                 "type": "zip",
    505                 "url": "https://api.github.com/repos/jmespath/jmespath.php/zipball/a2a865e05d5f420b50cc2f85bb78d565db12a6bc",
    506                 "reference": "a2a865e05d5f420b50cc2f85bb78d565db12a6bc",
    507                 "shasum": ""
    508             },
    509             "require": {
    510                 "php": "^7.2.5 || ^8.0",
    511                 "symfony/polyfill-mbstring": "^1.17"
    512             },
    513             "require-dev": {
    514                 "composer/xdebug-handler": "^3.0.3",
    515                 "phpunit/phpunit": "^8.5.33"
    516             },
    517             "time": "2024-09-04T18:46:31+00:00",
    518             "bin": [
    519                 "bin/jp.php"
    520             ],
    521             "type": "library",
    522             "extra": {
    523                 "branch-alias": {
    524                     "dev-master": "2.8-dev"
    525                 }
    526             },
    527             "installation-source": "dist",
    528             "autoload": {
    529                 "files": [
    530                     "src/JmesPath.php"
    531                 ],
    532                 "psr-4": {
    533                     "JmesPath\\": "src/"
    534                 }
    535             },
    536             "notification-url": "https://packagist.org/downloads/",
    537             "license": [
    538                 "MIT"
    539             ],
    540             "authors": [
    541                 {
    542                     "name": "Graham Campbell",
    543                     "email": "[email protected]",
    544                     "homepage": "https://github.com/GrahamCampbell"
    545                 },
    546                 {
    547                     "name": "Michael Dowling",
    548                     "email": "[email protected]",
    549                     "homepage": "https://github.com/mtdowling"
    550                 }
    551             ],
    552             "description": "Declaratively specify how to extract elements from a JSON document",
    553             "keywords": [
    554                 "json",
    555                 "jsonpath"
    556             ],
    557             "support": {
    558                 "issues": "https://github.com/jmespath/jmespath.php/issues",
    559                 "source": "https://github.com/jmespath/jmespath.php/tree/2.8.0"
    560             },
    561             "install-path": "../mtdowling/jmespath.php"
    562         },
    563         {
    564             "name": "psr/http-client",
    565             "version": "1.0.3",
    566             "version_normalized": "1.0.3.0",
    567             "source": {
    568                 "type": "git",
    569                 "url": "https://github.com/php-fig/http-client.git",
    570                 "reference": "bb5906edc1c324c9a05aa0873d40117941e5fa90"
    571             },
    572             "dist": {
    573                 "type": "zip",
    574                 "url": "https://api.github.com/repos/php-fig/http-client/zipball/bb5906edc1c324c9a05aa0873d40117941e5fa90",
    575                 "reference": "bb5906edc1c324c9a05aa0873d40117941e5fa90",
    576                 "shasum": ""
    577             },
    578             "require": {
    579                 "php": "^7.0 || ^8.0",
    580                 "psr/http-message": "^1.0 || ^2.0"
    581             },
    582             "time": "2023-09-23T14:17:50+00:00",
    583             "type": "library",
    584             "extra": {
    585                 "branch-alias": {
    586                     "dev-master": "1.0.x-dev"
    587                 }
    588             },
    589             "installation-source": "dist",
    590             "autoload": {
    591                 "psr-4": {
    592                     "Psr\\Http\\Client\\": "src/"
    593                 }
    594             },
    595             "notification-url": "https://packagist.org/downloads/",
    596             "license": [
    597                 "MIT"
    598             ],
    599             "authors": [
    600                 {
    601                     "name": "PHP-FIG",
    602                     "homepage": "https://www.php-fig.org/"
    603                 }
    604             ],
    605             "description": "Common interface for HTTP clients",
    606             "homepage": "https://github.com/php-fig/http-client",
    607             "keywords": [
    608                 "http",
    609                 "http-client",
    610                 "psr",
    611                 "psr-18"
    612             ],
    613             "support": {
    614                 "source": "https://github.com/php-fig/http-client"
    615             },
    616             "install-path": "../psr/http-client"
    617         },
    618         {
    619             "name": "psr/http-factory",
    620             "version": "1.1.0",
    621             "version_normalized": "1.1.0.0",
    622             "source": {
    623                 "type": "git",
    624                 "url": "https://github.com/php-fig/http-factory.git",
    625                 "reference": "2b4765fddfe3b508ac62f829e852b1501d3f6e8a"
    626             },
    627             "dist": {
    628                 "type": "zip",
    629                 "url": "https://api.github.com/repos/php-fig/http-factory/zipball/2b4765fddfe3b508ac62f829e852b1501d3f6e8a",
    630                 "reference": "2b4765fddfe3b508ac62f829e852b1501d3f6e8a",
    631                 "shasum": ""
    632             },
    633             "require": {
    634                 "php": ">=7.1",
    635                 "psr/http-message": "^1.0 || ^2.0"
    636             },
    637             "time": "2024-04-15T12:06:14+00:00",
    638             "type": "library",
    639             "extra": {
    640                 "branch-alias": {
    641                     "dev-master": "1.0.x-dev"
    642                 }
    643             },
    644             "installation-source": "dist",
    645             "autoload": {
    646                 "psr-4": {
    647                     "Psr\\Http\\Message\\": "src/"
    648                 }
    649             },
    650             "notification-url": "https://packagist.org/downloads/",
    651             "license": [
    652                 "MIT"
    653             ],
    654             "authors": [
    655                 {
    656                     "name": "PHP-FIG",
    657                     "homepage": "https://www.php-fig.org/"
    658                 }
    659             ],
    660             "description": "PSR-17: Common interfaces for PSR-7 HTTP message factories",
    661             "keywords": [
    662                 "factory",
    663                 "http",
    664                 "message",
    665                 "psr",
    666                 "psr-17",
    667                 "psr-7",
    668                 "request",
    669                 "response"
    670             ],
    671             "support": {
    672                 "source": "https://github.com/php-fig/http-factory"
    673             },
    674             "install-path": "../psr/http-factory"
    675         },
    676         {
    677             "name": "psr/http-message",
    678             "version": "2.0",
    679             "version_normalized": "2.0.0.0",
    680             "source": {
    681                 "type": "git",
    682                 "url": "https://github.com/php-fig/http-message.git",
    683                 "reference": "402d35bcb92c70c026d1a6a9883f06b2ead23d71"
    684             },
    685             "dist": {
    686                 "type": "zip",
    687                 "url": "https://api.github.com/repos/php-fig/http-message/zipball/402d35bcb92c70c026d1a6a9883f06b2ead23d71",
    688                 "reference": "402d35bcb92c70c026d1a6a9883f06b2ead23d71",
    689                 "shasum": ""
    690             },
    691             "require": {
    692                 "php": "^7.2 || ^8.0"
    693             },
    694             "time": "2023-04-04T09:54:51+00:00",
    695             "type": "library",
    696             "extra": {
    697                 "branch-alias": {
    698                     "dev-master": "2.0.x-dev"
    699                 }
    700             },
    701             "installation-source": "dist",
    702             "autoload": {
    703                 "psr-4": {
    704                     "Psr\\Http\\Message\\": "src/"
    705                 }
    706             },
    707             "notification-url": "https://packagist.org/downloads/",
    708             "license": [
    709                 "MIT"
    710             ],
    711             "authors": [
    712                 {
    713                     "name": "PHP-FIG",
    714                     "homepage": "https://www.php-fig.org/"
    715                 }
    716             ],
    717             "description": "Common interface for HTTP messages",
    718             "homepage": "https://github.com/php-fig/http-message",
    719             "keywords": [
    720                 "http",
    721                 "http-message",
    722                 "psr",
    723                 "psr-7",
    724                 "request",
    725                 "response"
    726             ],
    727             "support": {
    728                 "source": "https://github.com/php-fig/http-message/tree/2.0"
    729             },
    730             "install-path": "../psr/http-message"
    731         },
    7323        {
    7334            "name": "ralouphie/getallheaders",
     
    77647            },
    77748            "install-path": "../ralouphie/getallheaders"
    778         },
    779         {
    780             "name": "symfony/deprecation-contracts",
    781             "version": "v3.5.1",
    782             "version_normalized": "3.5.1.0",
    783             "source": {
    784                 "type": "git",
    785                 "url": "https://github.com/symfony/deprecation-contracts.git",
    786                 "reference": "74c71c939a79f7d5bf3c1ce9f5ea37ba0114c6f6"
    787             },
    788             "dist": {
    789                 "type": "zip",
    790                 "url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/74c71c939a79f7d5bf3c1ce9f5ea37ba0114c6f6",
    791                 "reference": "74c71c939a79f7d5bf3c1ce9f5ea37ba0114c6f6",
    792                 "shasum": ""
    793             },
    794             "require": {
    795                 "php": ">=8.1"
    796             },
    797             "time": "2024-09-25T14:20:29+00:00",
    798             "type": "library",
    799             "extra": {
    800                 "thanks": {
    801                     "url": "https://github.com/symfony/contracts",
    802                     "name": "symfony/contracts"
    803                 },
    804                 "branch-alias": {
    805                     "dev-main": "3.5-dev"
    806                 }
    807             },
    808             "installation-source": "dist",
    809             "autoload": {
    810                 "files": [
    811                     "function.php"
    812                 ]
    813             },
    814             "notification-url": "https://packagist.org/downloads/",
    815             "license": [
    816                 "MIT"
    817             ],
    818             "authors": [
    819                 {
    820                     "name": "Nicolas Grekas",
    821                     "email": "[email protected]"
    822                 },
    823                 {
    824                     "name": "Symfony Community",
    825                     "homepage": "https://symfony.com/contributors"
    826                 }
    827             ],
    828             "description": "A generic function and convention to trigger deprecation notices",
    829             "homepage": "https://symfony.com",
    830             "support": {
    831                 "source": "https://github.com/symfony/deprecation-contracts/tree/v3.5.1"
    832             },
    833             "funding": [
    834                 {
    835                     "url": "https://symfony.com/sponsor",
    836                     "type": "custom"
    837                 },
    838                 {
    839                     "url": "https://github.com/fabpot",
    840                     "type": "github"
    841                 },
    842                 {
    843                     "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
    844                     "type": "tidelift"
    845                 }
    846             ],
    847             "install-path": "../symfony/deprecation-contracts"
    848         },
    849         {
    850             "name": "symfony/polyfill-mbstring",
    851             "version": "v1.31.0",
    852             "version_normalized": "1.31.0.0",
    853             "source": {
    854                 "type": "git",
    855                 "url": "https://github.com/symfony/polyfill-mbstring.git",
    856                 "reference": "85181ba99b2345b0ef10ce42ecac37612d9fd341"
    857             },
    858             "dist": {
    859                 "type": "zip",
    860                 "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/85181ba99b2345b0ef10ce42ecac37612d9fd341",
    861                 "reference": "85181ba99b2345b0ef10ce42ecac37612d9fd341",
    862                 "shasum": ""
    863             },
    864             "require": {
    865                 "php": ">=7.2"
    866             },
    867             "provide": {
    868                 "ext-mbstring": "*"
    869             },
    870             "suggest": {
    871                 "ext-mbstring": "For best performance"
    872             },
    873             "time": "2024-09-09T11:45:10+00:00",
    874             "type": "library",
    875             "extra": {
    876                 "thanks": {
    877                     "url": "https://github.com/symfony/polyfill",
    878                     "name": "symfony/polyfill"
    879                 }
    880             },
    881             "installation-source": "dist",
    882             "autoload": {
    883                 "files": [
    884                     "bootstrap.php"
    885                 ],
    886                 "psr-4": {
    887                     "Symfony\\Polyfill\\Mbstring\\": ""
    888                 }
    889             },
    890             "notification-url": "https://packagist.org/downloads/",
    891             "license": [
    892                 "MIT"
    893             ],
    894             "authors": [
    895                 {
    896                     "name": "Nicolas Grekas",
    897                     "email": "[email protected]"
    898                 },
    899                 {
    900                     "name": "Symfony Community",
    901                     "homepage": "https://symfony.com/contributors"
    902                 }
    903             ],
    904             "description": "Symfony polyfill for the Mbstring extension",
    905             "homepage": "https://symfony.com",
    906             "keywords": [
    907                 "compatibility",
    908                 "mbstring",
    909                 "polyfill",
    910                 "portable",
    911                 "shim"
    912             ],
    913             "support": {
    914                 "source": "https://github.com/symfony/polyfill-mbstring/tree/v1.31.0"
    915             },
    916             "funding": [
    917                 {
    918                     "url": "https://symfony.com/sponsor",
    919                     "type": "custom"
    920                 },
    921                 {
    922                     "url": "https://github.com/fabpot",
    923                     "type": "github"
    924                 },
    925                 {
    926                     "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
    927                     "type": "tidelift"
    928                 }
    929             ],
    930             "install-path": "../symfony/polyfill-mbstring"
    93149        }
    93250    ],
  • trigger/tags/1.0.1/vendor/composer/installed.php

    r3285526 r3290002  
    1111    ),
    1212    'versions' => array(
    13         'aws/aws-crt-php' => array(
    14             'pretty_version' => 'v1.2.7',
    15             'version' => '1.2.7.0',
    16             'reference' => 'd71d9906c7bb63a28295447ba12e74723bd3730e',
    17             'type' => 'library',
    18             'install_path' => __DIR__ . '/../aws/aws-crt-php',
    19             'aliases' => array(),
    20             'dev_requirement' => false,
    21         ),
    22         'aws/aws-sdk-php' => array(
    23             'pretty_version' => '3.343.0',
    24             'version' => '3.343.0.0',
    25             'reference' => '8750298282f7f6f3fc65e43ae37a64bfc055100a',
    26             'type' => 'library',
    27             'install_path' => __DIR__ . '/../aws/aws-sdk-php',
    28             'aliases' => array(),
    29             'dev_requirement' => false,
    30         ),
    31         'guzzlehttp/guzzle' => array(
    32             'pretty_version' => '7.9.3',
    33             'version' => '7.9.3.0',
    34             'reference' => '7b2f29fe81dc4da0ca0ea7d42107a0845946ea77',
    35             'type' => 'library',
    36             'install_path' => __DIR__ . '/../guzzlehttp/guzzle',
    37             'aliases' => array(),
    38             'dev_requirement' => false,
    39         ),
    40         'guzzlehttp/promises' => array(
    41             'pretty_version' => '2.2.0',
    42             'version' => '2.2.0.0',
    43             'reference' => '7c69f28996b0a6920945dd20b3857e499d9ca96c',
    44             'type' => 'library',
    45             'install_path' => __DIR__ . '/../guzzlehttp/promises',
    46             'aliases' => array(),
    47             'dev_requirement' => false,
    48         ),
    49         'guzzlehttp/psr7' => array(
    50             'pretty_version' => '2.7.1',
    51             'version' => '2.7.1.0',
    52             'reference' => 'c2270caaabe631b3b44c85f99e5a04bbb8060d16',
    53             'type' => 'library',
    54             'install_path' => __DIR__ . '/../guzzlehttp/psr7',
    55             'aliases' => array(),
    56             'dev_requirement' => false,
    57         ),
    58         'mtdowling/jmespath.php' => array(
    59             'pretty_version' => '2.8.0',
    60             'version' => '2.8.0.0',
    61             'reference' => 'a2a865e05d5f420b50cc2f85bb78d565db12a6bc',
    62             'type' => 'library',
    63             'install_path' => __DIR__ . '/../mtdowling/jmespath.php',
    64             'aliases' => array(),
    65             'dev_requirement' => false,
    66         ),
    67         'psr/http-client' => array(
    68             'pretty_version' => '1.0.3',
    69             'version' => '1.0.3.0',
    70             'reference' => 'bb5906edc1c324c9a05aa0873d40117941e5fa90',
    71             'type' => 'library',
    72             'install_path' => __DIR__ . '/../psr/http-client',
    73             'aliases' => array(),
    74             'dev_requirement' => false,
    75         ),
    76         'psr/http-client-implementation' => array(
    77             'dev_requirement' => false,
    78             'provided' => array(
    79                 0 => '1.0',
    80             ),
    81         ),
    82         'psr/http-factory' => array(
    83             'pretty_version' => '1.1.0',
    84             'version' => '1.1.0.0',
    85             'reference' => '2b4765fddfe3b508ac62f829e852b1501d3f6e8a',
    86             'type' => 'library',
    87             'install_path' => __DIR__ . '/../psr/http-factory',
    88             'aliases' => array(),
    89             'dev_requirement' => false,
    90         ),
    91         'psr/http-factory-implementation' => array(
    92             'dev_requirement' => false,
    93             'provided' => array(
    94                 0 => '1.0',
    95             ),
    96         ),
    97         'psr/http-message' => array(
    98             'pretty_version' => '2.0',
    99             'version' => '2.0.0.0',
    100             'reference' => '402d35bcb92c70c026d1a6a9883f06b2ead23d71',
    101             'type' => 'library',
    102             'install_path' => __DIR__ . '/../psr/http-message',
    103             'aliases' => array(),
    104             'dev_requirement' => false,
    105         ),
    106         'psr/http-message-implementation' => array(
    107             'dev_requirement' => false,
    108             'provided' => array(
    109                 0 => '1.0',
    110             ),
    111         ),
    11213        'ralouphie/getallheaders' => array(
    11314            'pretty_version' => '3.0.3',
     
    11617            'type' => 'library',
    11718            'install_path' => __DIR__ . '/../ralouphie/getallheaders',
    118             'aliases' => array(),
    119             'dev_requirement' => false,
    120         ),
    121         'symfony/deprecation-contracts' => array(
    122             'pretty_version' => 'v3.5.1',
    123             'version' => '3.5.1.0',
    124             'reference' => '74c71c939a79f7d5bf3c1ce9f5ea37ba0114c6f6',
    125             'type' => 'library',
    126             'install_path' => __DIR__ . '/../symfony/deprecation-contracts',
    127             'aliases' => array(),
    128             'dev_requirement' => false,
    129         ),
    130         'symfony/polyfill-mbstring' => array(
    131             'pretty_version' => 'v1.31.0',
    132             'version' => '1.31.0.0',
    133             'reference' => '85181ba99b2345b0ef10ce42ecac37612d9fd341',
    134             'type' => 'library',
    135             'install_path' => __DIR__ . '/../symfony/polyfill-mbstring',
    13619            'aliases' => array(),
    13720            'dev_requirement' => false,
  • trigger/tags/1.0.1/vendor/composer/platform_check.php

    r3285526 r3290002  
    55$issues = array();
    66
    7 if (!(PHP_VERSION_ID >= 80100)) {
    8     $issues[] = 'Your Composer dependencies require a PHP version ">= 8.1.0". You are running ' . PHP_VERSION . '.';
     7if (!(PHP_VERSION_ID >= 70400)) {
     8    $issues[] = 'Your Composer dependencies require a PHP version ">= 7.4.0". You are running ' . PHP_VERSION . '.';
    99}
    1010
  • trigger/trunk/composer.json

    r3285526 r3290002  
    2121    "minimum-stability": "stable",
    2222    "require": {
    23         "php": ">=7.4",
    24         "aws/aws-sdk-php": "^3.343",
    25         "ralouphie/getallheaders": "^3.0"
     23        "php": ">=7.4"
    2624    }
    2725}
  • trigger/trunk/inc/Controllers/EmailLogController.php

    r3285526 r3290002  
    276276        if ( 'ses' === $provider ) {
    277277            $ses_mailer = new SesMailer();
    278             $sent       = $ses_mailer->send_email( $data['sendTo'], $subject, $message, $headers, $config );
     278            $sent       = $ses_mailer->send_email( $data['sendTo'], $subject, $message, $headers, $config, true );
    279279
    280280            // $sent = wp_mail( $data['sendTo'], $subject, $message, $headers );
  • trigger/trunk/inc/Controllers/Provider/aws/SesMailer.php

    r3285526 r3290002  
    1111namespace Trigger\Controllers\Provider\aws;
    1212
    13 use Aws\Ses\SesClient;
    14 use Aws\Exception\AwsException;
    1513use Trigger\Traits\JsonResponse;
    1614use Exception;
     
    2220
    2321    use JsonResponse;
     22
     23    /**
     24     * AWS SES credentials
     25     *
     26     * @var string
     27     */
     28    private $access_key;
     29
     30    /**
     31     * AWS SES credentials
     32     *
     33     * @var string
     34     */
     35    private $secret_key;
     36
     37    /**
     38     * AWS SES region
     39     *
     40     * @var string
     41     */
     42    public $region;
     43
     44    /**
     45     * AWS SES service
     46     *
     47     * @var string
     48     */
     49    private $service = 'ses';
     50
     51    /**
     52     * AWS SES host
     53     *
     54     * @var string
     55     */
     56    public $host;
     57
     58    /**
     59     * AWS SES endpoint
     60     *
     61     * @var string
     62     */
     63    public $endpoint;
     64
     65    /**
     66     * AWS SES provider config
     67     *
     68     * @var array
     69     */
     70    public $provider_config = array();
     71
     72    /**
     73     * Constructor
     74     */
     75    public function __construct() {
     76        $config = get_option( TRIGGER_EMAIL_CONFIG, array() );
     77
     78        if ( ! empty( $config ) ) {
     79            $this->provider_config = $config['ses'];
     80        }
     81
     82        // if ( empty( $config ) || ! isset( $config['accessKeyId'] ) || ! isset( $config['secretAccessKey'] ) ) {
     83        // return $this->json_response( __( 'AWS SES configuration is missing', 'trigger' ), null, 400 );
     84        // }
     85
     86        $this->access_key = $this->provider_config['accessKeyId'] ?? '';
     87        $this->secret_key = $this->provider_config['secretAccessKey'] ?? '';
     88        $this->region     = $this->provider_config['region'] ?? 'us-east-1';
     89        $this->host       = 'email.' . $this->provider_config['region'] . '.amazonaws.com';
     90        $this->endpoint   = "https://{$this->host}";
     91    }
    2492
    2593    /**
     
    3199     * @param array  $headers Email headers.
    32100     * @param array  $config AWS SES configuration.
     101     * @param bool   $is_html Whether the message is in HTML format.
    33102     *
    34103     * @return bool|string True on success, error message on failure
    35104     */
    36     public function send_email( $to, $subject, $message, $headers = array(), $config = array() ) {
     105    public function send_email( $to, $subject, $message, $headers = array(), $config = array(), $is_html = false ) {
    37106        try {
    38107            // If no config is provided, get from options
    39             if ( empty( $config ) ) {
    40                 $config = get_option( TRIGGER_DEFAULT_EMAIL_PROVIDER, array() );
    41             }
    42 
    43             if ( empty( $config ) || ! isset( $config['accessKeyId'] ) || ! isset( $config['secretAccessKey'] ) ) {
    44                 return $this->json_response( __( 'AWS SES configuration is missing', 'trigger' ), null, 400 );
    45             }
    46 
    47             // Create SES client
    48             $ses_client = new SesClient(
    49                 array(
    50                     'version'     => 'latest',
    51                     'region'      => $config['region'] ?? 'us-east-1',
    52                     'credentials' => array(
    53                         'key'    => $config['accessKeyId'],
    54                         'secret' => $config['secretAccessKey'],
    55                     ),
    56                 )
    57             );
    58 
    59             // Format email parameters correctly for AWS SES
    60             // Check if HTML content type is specified in headers
    61             $is_html = false;
    62             if ( ! empty( $headers ) ) {
    63                 foreach ( $headers as $header ) {
    64                     if ( stripos( $header, 'Content-Type: text/html' ) !== false ) {
    65                         $is_html = true;
    66                         break;
    67                     }
    68                 }
    69             }
    70 
    71             // Ensure message is a string
    72             $message_text = is_array( $message ) ? json_encode( $message ) : (string) $message;
    73 
    74             $email_params = array(
    75                 'Source'      => $config['fromEmail'],
    76                 'Destination' => array(
    77                     'ToAddresses' => is_array( $to ) ? $to : array( $to ),
    78                 ),
    79                 'Message'     => array(
    80                     'Subject' => array(
    81                         'Data'    => $subject,
    82                         'Charset' => 'UTF-8',
    83                     ),
    84                     'Body'    => array(
    85                         'Html' => array(
    86                             'Data'    => $is_html ? $message_text : $message_text,
    87                             'Charset' => 'UTF-8',
    88                         ),
    89                         'Text' => array(
    90                             'Data'    => $message_text,
    91                             'Charset' => 'UTF-8',
    92                         ),
    93                     ),
    94                 ),
    95             );
    96 
    97             // Send the email using AWS SES
    98             $result      = $ses_client->sendEmail( $email_params );
    99             $msg         = $result->get( 'MessageId' );
    100             $metadata    = $result->get( '@metadata' );
    101             $status_code = $metadata['statusCode'];
    102             if ( $msg && 200 === $status_code ) {
     108            if ( empty( $this->provider_config ) ) {
     109                $this->provider_config = get_option( TRIGGER_EMAIL_CONFIG, array() )['ses'] ?? array();
     110            }
     111
     112            // if ( empty( $provider_config ) || ! isset( $provider_config['accessKeyId'] ) || ! isset( $provider_config['secretAccessKey'] ) ) {
     113            // return $this->json_response( __( 'AWS SES configuration is missing', 'trigger' ), null, 400 );
     114            // }
     115
     116            $message_body_format = 'Message.Body.Html.Data';
     117            if ( $is_html ) {
     118                $message_body_format = 'Message.Body.Html.Data';
     119            } else {
     120                $message_body_format = 'Message.Body.Text.Data';
     121            }
     122
     123            if ( is_array( $to ) ) {
     124                $to = $to[0];
     125            }
     126
     127            $params = array(
     128                'Action'                           => 'SendEmail',
     129                'Source'                           => $this->provider_config['fromEmail'] ?? '',
     130                'Destination.ToAddresses.member.1' => $to,
     131                'Message.Subject.Data'             => $subject,
     132                $message_body_format               => $message,
     133                'Version'                          => '2010-12-01',
     134            );
     135
     136            $body = $this->make_request( $params );
     137
     138            if ( strpos( $body, '<SendEmailResult' ) !== false ) {
    103139                return true;
    104140            }
    105141
    106142            return false;
    107         } catch ( AwsException $e ) {
     143        } catch ( Exception $e ) {
    108144            // error_log( 'AWS SES Error: ' . $e->getMessage() );
    109145            // Check if this is an email verification error
     
    123159     * @return array{success: bool, message: string} Result with success status and message
    124160     */
    125     public function verify_email_address( $email_address, $config = array() ) {
    126         if ( empty( $email_address ) || ! is_email( $email_address ) ) {
    127             return $this->json_response( __( 'Invalid email address', 'trigger' ), null, 400 );
    128         }
    129 
    130         // If no config is provided, get from options
    131         if ( empty( $config ) ) {
    132             $config = get_option( TRIGGER_DEFAULT_EMAIL_PROVIDER, array() );
    133         }
    134 
    135         if ( empty( $config ) || ! isset( $config['accessKeyId'] ) || ! isset( $config['secretAccessKey'] ) ) {
    136             return $this->json_response( __( 'AWS SES configuration is missing', 'trigger' ), null, 400 );
    137         }
    138 
     161    public function verify_email_address( $email_address, $config = array() ) {  // phpcs:ignore
    139162        try {
    140             // Create SES client
    141             $ses_client = new SesClient(
    142                 array(
    143                     'version'     => 'latest',
    144                     'region'      => $config['region'] ?? 'us-east-1',
    145                     'credentials' => array(
    146                         'key'    => $config['accessKeyId'],
    147                         'secret' => $config['secretAccessKey'],
    148                     ),
    149                 )
    150             );
    151 
    152             // Send verification email
    153             $result = $ses_client->verifyEmailIdentity(
    154                 array(
    155                     'EmailAddress' => $email_address,
    156                 )
    157             );
    158 
    159             $metadata    = $result->get( '@metadata' );
    160             $status_code = $metadata['statusCode'];
    161             if ( 200 === $status_code ) {
     163            $params = array(
     164                'Action'       => 'VerifyEmailIdentity',
     165                'EmailAddress' => $email_address,
     166                'Version'      => '2010-12-01',
     167            );
     168
     169            $body = $this->make_request( $params );
     170
     171            if ( strpos( $body, '<VerifyEmailIdentityResult' ) !== false ) {
    162172                return $this->json_response(
    163173                    sprintf(
     
    172182
    173183            return $this->json_response( __( 'Failed to verify email address', 'trigger' ), null, 400 );
    174         } catch ( AwsException $e ) {
     184        } catch ( Exception $e ) {
     185            // error_log( 'AWS SES Error: '. $e->getMessage() );
     186            // Check if this is an email verification error
    175187            return $this->json_response( __( 'Failed to verify email address, please provide valid email address', 'trigger' ), null, 400 );
    176188        }
     
    185197     */
    186198    public function get_verified_emails( $config = array() ) {
    187         // If no config is provided, get from options
    188199        if ( empty( $config ) ) {
    189200            $config = get_option( TRIGGER_DEFAULT_EMAIL_PROVIDER, array() );
     
    198209
    199210        try {
    200             // Create SES client
    201             $ses_client = new SesClient(
    202                 array(
    203                     'version'     => 'latest',
    204                     'region'      => $config['region'] ?? 'us-east-1',
    205                     'credentials' => array(
    206                         'key'    => $config['accessKeyId'],
    207                         'secret' => $config['secretAccessKey'],
    208                     ),
    209                 )
    210             );
    211 
    212             // Get list of verified email identities
    213             $result = $ses_client->listIdentities(
    214                 array(
    215                     'IdentityType' => 'EmailAddress',
    216                 )
    217             );
    218 
    219             $identities = $result->get( 'Identities' );
    220 
    221             // Get verification status for each identity
     211
     212            $params = array(
     213                'Action'       => 'ListIdentities',
     214                'IdentityType' => 'EmailAddress',
     215                'MaxItems'     => '100',
     216                'Version'      => '2010-12-01',
     217
     218            );
     219
     220            $body = $this->make_request( $params );
     221
     222            if ( isset( $body['error'] ) ) {
     223                return array(
     224                    'success' => false,
     225                    'message' => __( 'Failed to retrieve verified email addresses', 'trigger' ),
     226                );
     227            }
     228
     229            // Parse XML response to get email addresses
     230            $xml             = simplexml_load_string( $body );
    222231            $verified_emails = array();
    223             if ( ! empty( $identities ) ) {
    224                 $result = $ses_client->getIdentityVerificationAttributes(
    225                     array(
    226                         'Identities' => $identities,
    227                     )
     232
     233            // Get list of emails first
     234            // phpcs:ignore WordPress.NamingConventions.ValidVariableName.UsedPropertyNotSnakeCase
     235            if ( $xml && isset( $xml->ListIdentitiesResult->Identities->member ) ) {
     236                // Get list of emails first
     237                $emails = array();
     238                foreach ( $xml->ListIdentitiesResult->Identities->member as $email ) { // phpcs:ignore
     239                    $emails[] = (string) $email;
     240                }
     241
     242                // Now get verification status for these emails
     243                $params = array(
     244                    'Action'  => 'GetIdentityVerificationAttributes',
     245                    'Version' => '2010-12-01',
    228246                );
    229247
    230                 $attributes = $result->get( 'VerificationAttributes' );
    231                 foreach ( $attributes as $email => $attribute ) {
    232                     $verified_emails[] = array(
    233                         'email'  => $email,
    234                         'status' => $attribute['VerificationStatus'],
    235                     );
     248                // Add emails to parameters
     249                foreach ( $emails as $index => $email ) {
     250                    $params[ 'Identities.member.' . ( $index + 1 ) ] = $email;
     251                }
     252
     253                $verification_response = $this->make_request( $params );
     254                $verification_xml      = simplexml_load_string( $verification_response );
     255
     256                if ( $verification_xml && isset( $verification_xml->GetIdentityVerificationAttributesResult->VerificationAttributes ) ) { // phpcs:ignore
     257                    foreach ( $verification_xml->GetIdentityVerificationAttributesResult->VerificationAttributes->entry as $entry ) { // phpcs:ignore
     258                        $email  = (string) $entry->key;
     259                        $status = (string) $entry->value->VerificationStatus;
     260
     261                        $verified_emails[] = array(
     262                            'email'  => $email,
     263                            'status' => $status,
     264                        );
     265                    }
    236266                }
    237267            }
     
    242272                'data'    => $verified_emails,
    243273            );
    244         } catch ( AwsException $e ) {
     274        } catch ( Exception $e ) {
    245275            return array(
    246276                'success' => false,
     
    251281
    252282    /**
    253      * Verify SES configuration
    254      *
    255      * @param array $config AWS SES configuration.
    256      *
    257      * @return bool|string True on success, error message on failure
    258      */
    259     public function verify_ses_config( $config ) {
    260         if ( empty( $config ) || ! isset( $config['accessKeyId'] ) || ! isset( $config['secretAccessKey'] ) ) {
    261             return $this->json_response( __( 'AWS SES configuration is missing', 'trigger' ), null, 400 );
    262         }
    263 
    264         try {
    265             $ses_client = new SesClient(
    266                 array(
    267                     'version'     => 'latest',
    268                     'region'      => $config['region'] ?? 'us-east-1',
    269                     'credentials' => array(
    270                         'key'    => $config['accessKeyId'],
    271                         'secret' => $config['secretAccessKey'],
    272                     ),
    273                 )
    274             );
    275 
    276             return true;
    277         } catch ( AwsException $e ) {
    278             return $this->json_response( esc_html( $e->getMessage() ), null, 400 );
    279         }
     283     * Calculate AWS signature for request authentication
     284     *
     285     * @param string $date_stamp The date stamp in YYYYMMDD format.
     286     * @param string $string_to_sign The string to be signed.
     287     * @return string The calculated signature.
     288     */
     289    private function get_signature( $date_stamp, $string_to_sign ) {
     290        $secret_key = 'AWS4' . $this->secret_key;
     291        $date       = hash_hmac( 'sha256', $date_stamp, $secret_key, true );
     292        $region     = hash_hmac( 'sha256', $this->region, $date, true );
     293        $service    = hash_hmac( 'sha256', $this->service, $region, true );
     294        $signing    = hash_hmac( 'sha256', 'aws4_request', $service, true );
     295        return hash_hmac( 'sha256', $string_to_sign, $signing );
     296    }
     297
     298    /**
     299     * Make a request to AWS SES API
     300     *
     301     * @param array $params The request parameters.
     302     * @return mixed The response from the API.
     303     */
     304    private function make_request( $params ) {
     305        $query_string = http_build_query( $params, '', '&', PHP_QUERY_RFC3986 );
     306        $amz_date     = gmdate( 'Ymd\THis\Z' );
     307        $date_stamp   = gmdate( 'Ymd' );
     308        $payload_hash = hash( 'sha256', $query_string );
     309
     310        $canonical_request = implode(
     311            "\n",
     312            array(
     313                'POST',
     314                '/',
     315                '',
     316                "content-type:application/x-www-form-urlencoded\nhost:{$this->host}\nx-amz-date:$amz_date\n",
     317                'content-type;host;x-amz-date',
     318                $payload_hash,
     319            )
     320        );
     321
     322        $credential_scope = "$date_stamp/{$this->region}/{$this->service}/aws4_request";
     323        $string_to_sign   = implode(
     324            "\n",
     325            array(
     326                'AWS4-HMAC-SHA256',
     327                $amz_date,
     328                $credential_scope,
     329                hash( 'sha256', $canonical_request ),
     330            )
     331        );
     332
     333        $signature            = $this->get_signature( $date_stamp, $string_to_sign );
     334        $authorization_header = "AWS4-HMAC-SHA256 Credential={$this->access_key}/$credential_scope, SignedHeaders=content-type;host;x-amz-date, Signature=$signature";
     335
     336        $headers = array(
     337            'Content-Type'  => 'application/x-www-form-urlencoded',
     338            'X-Amz-Date'    => $amz_date,
     339            'Authorization' => $authorization_header,
     340        );
     341
     342        $response = wp_remote_post(
     343            $this->endpoint,
     344            array(
     345                'headers' => $headers,
     346                'body'    => $query_string,
     347            )
     348        );
     349
     350        if ( is_wp_error( $response ) ) {
     351            return array( 'error' => $response->get_error_message() );
     352        }
     353
     354        return wp_remote_retrieve_body( $response );
    280355    }
    281356}
  • trigger/trunk/inc/TriggerGlobals.php

    r3285526 r3290002  
    3434        return false;
    3535    }
    36 
    3736    return $default_provider;
    3837}
     38
     39/**
     40 * Get plugin data
     41 *
     42 * @return array
     43 */
     44function trigger_get_plugin_data() {
     45    define( 'TRIGGER_PLUGIN_INFO', Trigger::plugin_data() );
     46    return Trigger::plugin_data();
     47}
     48
     49trigger_get_plugin_data();
    3950
    4051/**
     
    110121     * @param string|string[] $attachments Optional. Paths to files to attach.
    111122     * @return bool Whether the email was sent successfully.
     123     * @throws PHPMailer\PHPMailer\Exception When there are issues sending the email.
    112124     */
    113125    function wp_mail( $to, $subject, $message, $headers = '', $attachments = array() ) {
     
    191203            require_once ABSPATH . WPINC . '/PHPMailer/SMTP.php';
    192204            require_once ABSPATH . WPINC . '/PHPMailer/Exception.php';
    193             $phpmailer = new PHPMailer\PHPMailer\PHPMailer( true );
     205            $phpmailer = new PHPMailer\PHPMailer\PHPMailer( true ); // phpcs:ignore WordPress.WP.GlobalVariablesOverride.Prohibited
    194206
    195207            $phpmailer::$validator = static function ( $email ) {
     
    488500                $headers    = array_merge( $headers, array( 'Content-Type: text/html' ) );
    489501                $ses_mailer = new SesMailer();
    490                 $send       = $ses_mailer->send_email( $to, $subject, $message, $headers, $attachments );
     502                $send       = $ses_mailer->send_email( $to, $subject, $message, $headers, $attachments, false );
    491503                if ( false === $send ) {
    492504                    throw new PHPMailer\PHPMailer\Exception( 'Failed to send email using SES' );
  • trigger/trunk/languages/trigger.pot

    r3285526 r3290002  
    33msgid ""
    44msgstr ""
    5 "Project-Id-Version: Trigger 1.0.0\n"
     5"Project-Id-Version: Trigger SMTP, Mail Logs, Deliver Mails 1.0.1\n"
    66"Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/trigger\n"
    77"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
     
    1010"Content-Type: text/plain; charset=UTF-8\n"
    1111"Content-Transfer-Encoding: 8bit\n"
    12 "POT-Creation-Date: 2025-04-30T07:17:23+00:00\n"
     12"POT-Creation-Date: 2025-05-08T15:37:39+00:00\n"
    1313"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
    1414"X-Generator: WP-CLI 2.11.0\n"
     
    1717#. Plugin Name of the plugin
    1818#: triggermail.php
     19msgid "Trigger SMTP, Mail Logs, Deliver Mails"
     20msgstr ""
     21
     22#. Plugin URI of the plugin
     23#: triggermail.php
     24msgid "https://wptriggermail.com/"
     25msgstr ""
     26
     27#. Description of the plugin
     28#: triggermail.php
     29msgid "Trigger for deliver your site email & manage email logs."
     30msgstr ""
     31
     32#. Author of the plugin
     33#: triggermail.php
     34msgid "nurwp"
     35msgstr ""
     36
    1937#: inc/Admin/Menu/MainMenu.php:66
    2038#: inc/Admin/Menu/MainMenu.php:75
    2139msgid "Trigger"
    22 msgstr ""
    23 
    24 #. Plugin URI of the plugin
    25 #: triggermail.php
    26 msgid "https://wptriggermail.com/"
    27 msgstr ""
    28 
    29 #. Description of the plugin
    30 #: triggermail.php
    31 msgid "Trigger for deliver your site email & manage email logs."
    32 msgstr ""
    33 
    34 #. Author of the plugin
    35 #: triggermail.php
    36 msgid "nurwp"
    3740msgstr ""
    3841
     
    97100msgstr ""
    98101
    99 #: inc/Controllers/Provider/aws/SesMailer.php:44
    100 #: inc/Controllers/Provider/aws/SesMailer.php:136
    101 #: inc/Controllers/Provider/aws/SesMailer.php:195
    102 #: inc/Controllers/Provider/aws/SesMailer.php:261
     102#. translators: %s: Email address that was verified
     103#: inc/Controllers/Provider/aws/SesMailer.php:175
     104#: inc/Controllers/Provider/aws/SesMailerAA.php:162
     105msgid "Verification email sent to %s. Please check your inbox and follow the instructions to verify your email address."
     106msgstr ""
     107
     108#: inc/Controllers/Provider/aws/SesMailer.php:183
     109#: inc/Controllers/Provider/aws/SesMailerAA.php:170
     110msgid "Failed to verify email address"
     111msgstr ""
     112
     113#: inc/Controllers/Provider/aws/SesMailer.php:187
     114#: inc/Controllers/Provider/aws/SesMailerAA.php:172
     115msgid "Failed to verify email address, please provide valid email address"
     116msgstr ""
     117
     118#: inc/Controllers/Provider/aws/SesMailer.php:206
     119#: inc/Controllers/Provider/aws/SesMailerAA.php:44
     120#: inc/Controllers/Provider/aws/SesMailerAA.php:133
     121#: inc/Controllers/Provider/aws/SesMailerAA.php:192
     122#: inc/Controllers/Provider/aws/SesMailerAA.php:258
    103123msgid "AWS SES configuration is missing"
    104124msgstr ""
    105125
    106 #: inc/Controllers/Provider/aws/SesMailer.php:127
     126#: inc/Controllers/Provider/aws/SesMailer.php:225
     127#: inc/Controllers/Provider/aws/SesMailer.php:277
     128#: inc/Controllers/Provider/aws/SesMailerAA.php:244
     129msgid "Failed to retrieve verified email addresses"
     130msgstr ""
     131
     132#: inc/Controllers/Provider/aws/SesMailer.php:271
     133#: inc/Controllers/Provider/aws/SesMailerAA.php:238
     134msgid "Verified email addresses retrieved successfully"
     135msgstr ""
     136
     137#: inc/Controllers/Provider/aws/SesMailerAA.php:124
    107138msgid "Invalid email address"
    108 msgstr ""
    109 
    110 #. translators: %s: Email address that was verified
    111 #: inc/Controllers/Provider/aws/SesMailer.php:165
    112 msgid "Verification email sent to %s. Please check your inbox and follow the instructions to verify your email address."
    113 msgstr ""
    114 
    115 #: inc/Controllers/Provider/aws/SesMailer.php:173
    116 msgid "Failed to verify email address"
    117 msgstr ""
    118 
    119 #: inc/Controllers/Provider/aws/SesMailer.php:175
    120 msgid "Failed to verify email address, please provide valid email address"
    121 msgstr ""
    122 
    123 #: inc/Controllers/Provider/aws/SesMailer.php:241
    124 msgid "Verified email addresses retrieved successfully"
    125 msgstr ""
    126 
    127 #: inc/Controllers/Provider/aws/SesMailer.php:247
    128 msgid "Failed to retrieve verified email addresses"
    129139msgstr ""
    130140
     
    234244msgstr ""
    235245
    236 #: inc/TriggerGlobals.php:53
     246#: inc/TriggerGlobals.php:64
    237247msgid "Access denied! Please login to access this feature."
    238248msgstr ""
    239249
    240 #: inc/TriggerGlobals.php:71
     250#: inc/TriggerGlobals.php:82
    241251msgid "Invalid security token! Please refresh the page and try again."
    242252msgstr ""
    243253
    244 #: inc/TriggerGlobals.php:79
     254#: inc/TriggerGlobals.php:90
    245255msgid "Verification successful."
    246256msgstr ""
  • trigger/trunk/readme.txt

    r3285526 r3290002  
    55Tested up to: 6.8
    66Requires PHP: 7.4
    7 Stable tag: 1.0.0
     7Stable tag: 1.0.1
    88License: GPLv3 or later
    99License URI: https://www.gnu.org/licenses/gpl-3.0.html
  • trigger/trunk/triggermail.php

    r3287932 r3290002  
    22/**
    33 * Plugin Name: Trigger SMTP, Mail Logs, Deliver Mails
    4  * Version: 1.0.0
     4 * Version: 1.0.1
    55 * Requires at least: 5.3
    66 * Requires PHP: 7.4
     
    1717use Trigger\Init;
    1818use Trigger\Database\Migration;
    19 use Trigger\Frontend\Pages\PageManager;
    20 
    2119
    2220if ( ! class_exists( 'Trigger' ) ) {
  • trigger/trunk/vendor/autoload.php

    r3285526 r3290002  
    2020require_once __DIR__ . '/composer/autoload_real.php';
    2121
    22 return ComposerAutoloaderInit9692dff78349772716291ed778c512fa::getLoader();
     22return ComposerAutoloaderInit2b0ec1eb3a471364a0b026b40a3bdeba::getLoader();
  • trigger/trunk/vendor/composer/autoload_classmap.php

    r3285526 r3290002  
    77
    88return array(
    9     'AWS\\CRT\\Auth\\AwsCredentials' => $vendorDir . '/aws/aws-crt-php/src/AWS/CRT/Auth/AwsCredentials.php',
    10     'AWS\\CRT\\Auth\\CredentialsProvider' => $vendorDir . '/aws/aws-crt-php/src/AWS/CRT/Auth/CredentialsProvider.php',
    11     'AWS\\CRT\\Auth\\Signable' => $vendorDir . '/aws/aws-crt-php/src/AWS/CRT/Auth/Signable.php',
    12     'AWS\\CRT\\Auth\\SignatureType' => $vendorDir . '/aws/aws-crt-php/src/AWS/CRT/Auth/SignatureType.php',
    13     'AWS\\CRT\\Auth\\SignedBodyHeaderType' => $vendorDir . '/aws/aws-crt-php/src/AWS/CRT/Auth/SignedBodyHeaderType.php',
    14     'AWS\\CRT\\Auth\\Signing' => $vendorDir . '/aws/aws-crt-php/src/AWS/CRT/Auth/Signing.php',
    15     'AWS\\CRT\\Auth\\SigningAlgorithm' => $vendorDir . '/aws/aws-crt-php/src/AWS/CRT/Auth/SigningAlgorithm.php',
    16     'AWS\\CRT\\Auth\\SigningConfigAWS' => $vendorDir . '/aws/aws-crt-php/src/AWS/CRT/Auth/SigningConfigAWS.php',
    17     'AWS\\CRT\\Auth\\SigningResult' => $vendorDir . '/aws/aws-crt-php/src/AWS/CRT/Auth/SigningResult.php',
    18     'AWS\\CRT\\Auth\\StaticCredentialsProvider' => $vendorDir . '/aws/aws-crt-php/src/AWS/CRT/Auth/StaticCredentialsProvider.php',
    19     'AWS\\CRT\\CRT' => $vendorDir . '/aws/aws-crt-php/src/AWS/CRT/CRT.php',
    20     'AWS\\CRT\\HTTP\\Headers' => $vendorDir . '/aws/aws-crt-php/src/AWS/CRT/HTTP/Headers.php',
    21     'AWS\\CRT\\HTTP\\Message' => $vendorDir . '/aws/aws-crt-php/src/AWS/CRT/HTTP/Message.php',
    22     'AWS\\CRT\\HTTP\\Request' => $vendorDir . '/aws/aws-crt-php/src/AWS/CRT/HTTP/Request.php',
    23     'AWS\\CRT\\HTTP\\Response' => $vendorDir . '/aws/aws-crt-php/src/AWS/CRT/HTTP/Response.php',
    24     'AWS\\CRT\\IO\\EventLoopGroup' => $vendorDir . '/aws/aws-crt-php/src/AWS/CRT/IO/EventLoopGroup.php',
    25     'AWS\\CRT\\IO\\InputStream' => $vendorDir . '/aws/aws-crt-php/src/AWS/CRT/IO/InputStream.php',
    26     'AWS\\CRT\\Internal\\Encoding' => $vendorDir . '/aws/aws-crt-php/src/AWS/CRT/Internal/Encoding.php',
    27     'AWS\\CRT\\Internal\\Extension' => $vendorDir . '/aws/aws-crt-php/src/AWS/CRT/Internal/Extension.php',
    28     'AWS\\CRT\\Log' => $vendorDir . '/aws/aws-crt-php/src/AWS/CRT/Log.php',
    29     'AWS\\CRT\\NativeResource' => $vendorDir . '/aws/aws-crt-php/src/AWS/CRT/NativeResource.php',
    30     'AWS\\CRT\\OptionValue' => $vendorDir . '/aws/aws-crt-php/src/AWS/CRT/Options.php',
    31     'AWS\\CRT\\Options' => $vendorDir . '/aws/aws-crt-php/src/AWS/CRT/Options.php',
    329    'Composer\\InstalledVersions' => $vendorDir . '/composer/InstalledVersions.php',
    3310);
  • trigger/trunk/vendor/composer/autoload_files.php

    r3285526 r3290002  
    77
    88return array(
    9     '7b11c4dc42b3b3023073cb14e519683c' => $vendorDir . '/ralouphie/getallheaders/src/getallheaders.php',
    10     '6e3fae29631ef280660b3cdad06f25a8' => $vendorDir . '/symfony/deprecation-contracts/function.php',
    11     '0e6d7bf4a5811bfa5cf40c5ccd6fae6a' => $vendorDir . '/symfony/polyfill-mbstring/bootstrap.php',
    12     '37a3dc5111fe8f707ab4c132ef1dbc62' => $vendorDir . '/guzzlehttp/guzzle/src/functions_include.php',
    13     'b067bc7112e384b61c701452d53a14a8' => $vendorDir . '/mtdowling/jmespath.php/src/JmesPath.php',
    14     '8a9dc1de0ca7e01f3e08231539562f61' => $vendorDir . '/aws/aws-sdk-php/src/functions.php',
    159    '91f371b3d06890ec0aa8914ea8cf1bd9' => $baseDir . '/inc/TriggerGlobals.php',
    1610);
  • trigger/trunk/vendor/composer/autoload_psr4.php

    r3285526 r3290002  
    88return array(
    99    'Trigger\\' => array($baseDir . '/inc'),
    10     'Symfony\\Polyfill\\Mbstring\\' => array($vendorDir . '/symfony/polyfill-mbstring'),
    11     'Psr\\Http\\Message\\' => array($vendorDir . '/psr/http-factory/src', $vendorDir . '/psr/http-message/src'),
    12     'Psr\\Http\\Client\\' => array($vendorDir . '/psr/http-client/src'),
    13     'JmesPath\\' => array($vendorDir . '/mtdowling/jmespath.php/src'),
    14     'GuzzleHttp\\Psr7\\' => array($vendorDir . '/guzzlehttp/psr7/src'),
    15     'GuzzleHttp\\Promise\\' => array($vendorDir . '/guzzlehttp/promises/src'),
    16     'GuzzleHttp\\' => array($vendorDir . '/guzzlehttp/guzzle/src'),
    17     'Aws\\' => array($vendorDir . '/aws/aws-sdk-php/src'),
    1810);
  • trigger/trunk/vendor/composer/autoload_real.php

    r3285526 r3290002  
    33// autoload_real.php @generated by Composer
    44
    5 class ComposerAutoloaderInit9692dff78349772716291ed778c512fa
     5class ComposerAutoloaderInit2b0ec1eb3a471364a0b026b40a3bdeba
    66{
    77    private static $loader;
     
    2525        require __DIR__ . '/platform_check.php';
    2626
    27         spl_autoload_register(array('ComposerAutoloaderInit9692dff78349772716291ed778c512fa', 'loadClassLoader'), true, true);
     27        spl_autoload_register(array('ComposerAutoloaderInit2b0ec1eb3a471364a0b026b40a3bdeba', 'loadClassLoader'), true, true);
    2828        self::$loader = $loader = new \Composer\Autoload\ClassLoader(\dirname(__DIR__));
    29         spl_autoload_unregister(array('ComposerAutoloaderInit9692dff78349772716291ed778c512fa', 'loadClassLoader'));
     29        spl_autoload_unregister(array('ComposerAutoloaderInit2b0ec1eb3a471364a0b026b40a3bdeba', 'loadClassLoader'));
    3030
    3131        require __DIR__ . '/autoload_static.php';
    32         call_user_func(\Composer\Autoload\ComposerStaticInit9692dff78349772716291ed778c512fa::getInitializer($loader));
     32        call_user_func(\Composer\Autoload\ComposerStaticInit2b0ec1eb3a471364a0b026b40a3bdeba::getInitializer($loader));
    3333
    3434        $loader->register(true);
    3535
    36         $filesToLoad = \Composer\Autoload\ComposerStaticInit9692dff78349772716291ed778c512fa::$files;
     36        $filesToLoad = \Composer\Autoload\ComposerStaticInit2b0ec1eb3a471364a0b026b40a3bdeba::$files;
    3737        $requireFile = \Closure::bind(static function ($fileIdentifier, $file) {
    3838            if (empty($GLOBALS['__composer_autoload_files'][$fileIdentifier])) {
  • trigger/trunk/vendor/composer/autoload_static.php

    r3285526 r3290002  
    55namespace Composer\Autoload;
    66
    7 class ComposerStaticInit9692dff78349772716291ed778c512fa
     7class ComposerStaticInit2b0ec1eb3a471364a0b026b40a3bdeba
    88{
    99    public static $files = array (
    10         '7b11c4dc42b3b3023073cb14e519683c' => __DIR__ . '/..' . '/ralouphie/getallheaders/src/getallheaders.php',
    11         '6e3fae29631ef280660b3cdad06f25a8' => __DIR__ . '/..' . '/symfony/deprecation-contracts/function.php',
    12         '0e6d7bf4a5811bfa5cf40c5ccd6fae6a' => __DIR__ . '/..' . '/symfony/polyfill-mbstring/bootstrap.php',
    13         '37a3dc5111fe8f707ab4c132ef1dbc62' => __DIR__ . '/..' . '/guzzlehttp/guzzle/src/functions_include.php',
    14         'b067bc7112e384b61c701452d53a14a8' => __DIR__ . '/..' . '/mtdowling/jmespath.php/src/JmesPath.php',
    15         '8a9dc1de0ca7e01f3e08231539562f61' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/functions.php',
    1610        '91f371b3d06890ec0aa8914ea8cf1bd9' => __DIR__ . '/../..' . '/inc/TriggerGlobals.php',
    1711    );
     
    2216            'Trigger\\' => 8,
    2317        ),
    24         'S' =>
    25         array (
    26             'Symfony\\Polyfill\\Mbstring\\' => 26,
    27         ),
    28         'P' =>
    29         array (
    30             'Psr\\Http\\Message\\' => 17,
    31             'Psr\\Http\\Client\\' => 16,
    32         ),
    33         'J' =>
    34         array (
    35             'JmesPath\\' => 9,
    36         ),
    37         'G' =>
    38         array (
    39             'GuzzleHttp\\Psr7\\' => 16,
    40             'GuzzleHttp\\Promise\\' => 19,
    41             'GuzzleHttp\\' => 11,
    42         ),
    43         'A' =>
    44         array (
    45             'Aws\\' => 4,
    46         ),
    4718    );
    4819
     
    5223            0 => __DIR__ . '/../..' . '/inc',
    5324        ),
    54         'Symfony\\Polyfill\\Mbstring\\' =>
    55         array (
    56             0 => __DIR__ . '/..' . '/symfony/polyfill-mbstring',
    57         ),
    58         'Psr\\Http\\Message\\' =>
    59         array (
    60             0 => __DIR__ . '/..' . '/psr/http-factory/src',
    61             1 => __DIR__ . '/..' . '/psr/http-message/src',
    62         ),
    63         'Psr\\Http\\Client\\' =>
    64         array (
    65             0 => __DIR__ . '/..' . '/psr/http-client/src',
    66         ),
    67         'JmesPath\\' =>
    68         array (
    69             0 => __DIR__ . '/..' . '/mtdowling/jmespath.php/src',
    70         ),
    71         'GuzzleHttp\\Psr7\\' =>
    72         array (
    73             0 => __DIR__ . '/..' . '/guzzlehttp/psr7/src',
    74         ),
    75         'GuzzleHttp\\Promise\\' =>
    76         array (
    77             0 => __DIR__ . '/..' . '/guzzlehttp/promises/src',
    78         ),
    79         'GuzzleHttp\\' =>
    80         array (
    81             0 => __DIR__ . '/..' . '/guzzlehttp/guzzle/src',
    82         ),
    83         'Aws\\' =>
    84         array (
    85             0 => __DIR__ . '/..' . '/aws/aws-sdk-php/src',
    86         ),
    8725    );
    8826
    8927    public static $classMap = array (
    90         'AWS\\CRT\\Auth\\AwsCredentials' => __DIR__ . '/..' . '/aws/aws-crt-php/src/AWS/CRT/Auth/AwsCredentials.php',
    91         'AWS\\CRT\\Auth\\CredentialsProvider' => __DIR__ . '/..' . '/aws/aws-crt-php/src/AWS/CRT/Auth/CredentialsProvider.php',
    92         'AWS\\CRT\\Auth\\Signable' => __DIR__ . '/..' . '/aws/aws-crt-php/src/AWS/CRT/Auth/Signable.php',
    93         'AWS\\CRT\\Auth\\SignatureType' => __DIR__ . '/..' . '/aws/aws-crt-php/src/AWS/CRT/Auth/SignatureType.php',
    94         'AWS\\CRT\\Auth\\SignedBodyHeaderType' => __DIR__ . '/..' . '/aws/aws-crt-php/src/AWS/CRT/Auth/SignedBodyHeaderType.php',
    95         'AWS\\CRT\\Auth\\Signing' => __DIR__ . '/..' . '/aws/aws-crt-php/src/AWS/CRT/Auth/Signing.php',
    96         'AWS\\CRT\\Auth\\SigningAlgorithm' => __DIR__ . '/..' . '/aws/aws-crt-php/src/AWS/CRT/Auth/SigningAlgorithm.php',
    97         'AWS\\CRT\\Auth\\SigningConfigAWS' => __DIR__ . '/..' . '/aws/aws-crt-php/src/AWS/CRT/Auth/SigningConfigAWS.php',
    98         'AWS\\CRT\\Auth\\SigningResult' => __DIR__ . '/..' . '/aws/aws-crt-php/src/AWS/CRT/Auth/SigningResult.php',
    99         'AWS\\CRT\\Auth\\StaticCredentialsProvider' => __DIR__ . '/..' . '/aws/aws-crt-php/src/AWS/CRT/Auth/StaticCredentialsProvider.php',
    100         'AWS\\CRT\\CRT' => __DIR__ . '/..' . '/aws/aws-crt-php/src/AWS/CRT/CRT.php',
    101         'AWS\\CRT\\HTTP\\Headers' => __DIR__ . '/..' . '/aws/aws-crt-php/src/AWS/CRT/HTTP/Headers.php',
    102         'AWS\\CRT\\HTTP\\Message' => __DIR__ . '/..' . '/aws/aws-crt-php/src/AWS/CRT/HTTP/Message.php',
    103         'AWS\\CRT\\HTTP\\Request' => __DIR__ . '/..' . '/aws/aws-crt-php/src/AWS/CRT/HTTP/Request.php',
    104         'AWS\\CRT\\HTTP\\Response' => __DIR__ . '/..' . '/aws/aws-crt-php/src/AWS/CRT/HTTP/Response.php',
    105         'AWS\\CRT\\IO\\EventLoopGroup' => __DIR__ . '/..' . '/aws/aws-crt-php/src/AWS/CRT/IO/EventLoopGroup.php',
    106         'AWS\\CRT\\IO\\InputStream' => __DIR__ . '/..' . '/aws/aws-crt-php/src/AWS/CRT/IO/InputStream.php',
    107         'AWS\\CRT\\Internal\\Encoding' => __DIR__ . '/..' . '/aws/aws-crt-php/src/AWS/CRT/Internal/Encoding.php',
    108         'AWS\\CRT\\Internal\\Extension' => __DIR__ . '/..' . '/aws/aws-crt-php/src/AWS/CRT/Internal/Extension.php',
    109         'AWS\\CRT\\Log' => __DIR__ . '/..' . '/aws/aws-crt-php/src/AWS/CRT/Log.php',
    110         'AWS\\CRT\\NativeResource' => __DIR__ . '/..' . '/aws/aws-crt-php/src/AWS/CRT/NativeResource.php',
    111         'AWS\\CRT\\OptionValue' => __DIR__ . '/..' . '/aws/aws-crt-php/src/AWS/CRT/Options.php',
    112         'AWS\\CRT\\Options' => __DIR__ . '/..' . '/aws/aws-crt-php/src/AWS/CRT/Options.php',
    11328        'Composer\\InstalledVersions' => __DIR__ . '/..' . '/composer/InstalledVersions.php',
    11429    );
     
    11732    {
    11833        return \Closure::bind(function () use ($loader) {
    119             $loader->prefixLengthsPsr4 = ComposerStaticInit9692dff78349772716291ed778c512fa::$prefixLengthsPsr4;
    120             $loader->prefixDirsPsr4 = ComposerStaticInit9692dff78349772716291ed778c512fa::$prefixDirsPsr4;
    121             $loader->classMap = ComposerStaticInit9692dff78349772716291ed778c512fa::$classMap;
     34            $loader->prefixLengthsPsr4 = ComposerStaticInit2b0ec1eb3a471364a0b026b40a3bdeba::$prefixLengthsPsr4;
     35            $loader->prefixDirsPsr4 = ComposerStaticInit2b0ec1eb3a471364a0b026b40a3bdeba::$prefixDirsPsr4;
     36            $loader->classMap = ComposerStaticInit2b0ec1eb3a471364a0b026b40a3bdeba::$classMap;
    12237
    12338        }, null, ClassLoader::class);
  • trigger/trunk/vendor/composer/installed.json

    r3285526 r3290002  
    11{
    22    "packages": [
    3         {
    4             "name": "aws/aws-crt-php",
    5             "version": "v1.2.7",
    6             "version_normalized": "1.2.7.0",
    7             "source": {
    8                 "type": "git",
    9                 "url": "https://github.com/awslabs/aws-crt-php.git",
    10                 "reference": "d71d9906c7bb63a28295447ba12e74723bd3730e"
    11             },
    12             "dist": {
    13                 "type": "zip",
    14                 "url": "https://api.github.com/repos/awslabs/aws-crt-php/zipball/d71d9906c7bb63a28295447ba12e74723bd3730e",
    15                 "reference": "d71d9906c7bb63a28295447ba12e74723bd3730e",
    16                 "shasum": ""
    17             },
    18             "require": {
    19                 "php": ">=5.5"
    20             },
    21             "require-dev": {
    22                 "phpunit/phpunit": "^4.8.35||^5.6.3||^9.5",
    23                 "yoast/phpunit-polyfills": "^1.0"
    24             },
    25             "suggest": {
    26                 "ext-awscrt": "Make sure you install awscrt native extension to use any of the functionality."
    27             },
    28             "time": "2024-10-18T22:15:13+00:00",
    29             "type": "library",
    30             "installation-source": "dist",
    31             "autoload": {
    32                 "classmap": [
    33                     "src/"
    34                 ]
    35             },
    36             "notification-url": "https://packagist.org/downloads/",
    37             "license": [
    38                 "Apache-2.0"
    39             ],
    40             "authors": [
    41                 {
    42                     "name": "AWS SDK Common Runtime Team",
    43                     "email": "[email protected]"
    44                 }
    45             ],
    46             "description": "AWS Common Runtime for PHP",
    47             "homepage": "https://github.com/awslabs/aws-crt-php",
    48             "keywords": [
    49                 "amazon",
    50                 "aws",
    51                 "crt",
    52                 "sdk"
    53             ],
    54             "support": {
    55                 "issues": "https://github.com/awslabs/aws-crt-php/issues",
    56                 "source": "https://github.com/awslabs/aws-crt-php/tree/v1.2.7"
    57             },
    58             "install-path": "../aws/aws-crt-php"
    59         },
    60         {
    61             "name": "aws/aws-sdk-php",
    62             "version": "3.343.0",
    63             "version_normalized": "3.343.0.0",
    64             "source": {
    65                 "type": "git",
    66                 "url": "https://github.com/aws/aws-sdk-php.git",
    67                 "reference": "8750298282f7f6f3fc65e43ae37a64bfc055100a"
    68             },
    69             "dist": {
    70                 "type": "zip",
    71                 "url": "https://api.github.com/repos/aws/aws-sdk-php/zipball/8750298282f7f6f3fc65e43ae37a64bfc055100a",
    72                 "reference": "8750298282f7f6f3fc65e43ae37a64bfc055100a",
    73                 "shasum": ""
    74             },
    75             "require": {
    76                 "aws/aws-crt-php": "^1.2.3",
    77                 "ext-json": "*",
    78                 "ext-pcre": "*",
    79                 "ext-simplexml": "*",
    80                 "guzzlehttp/guzzle": "^7.4.5",
    81                 "guzzlehttp/promises": "^2.0",
    82                 "guzzlehttp/psr7": "^2.4.5",
    83                 "mtdowling/jmespath.php": "^2.8.0",
    84                 "php": ">=8.1",
    85                 "psr/http-message": "^2.0"
    86             },
    87             "require-dev": {
    88                 "andrewsville/php-token-reflection": "^1.4",
    89                 "aws/aws-php-sns-message-validator": "~1.0",
    90                 "behat/behat": "~3.0",
    91                 "composer/composer": "^2.7.8",
    92                 "dms/phpunit-arraysubset-asserts": "^0.4.0",
    93                 "doctrine/cache": "~1.4",
    94                 "ext-dom": "*",
    95                 "ext-openssl": "*",
    96                 "ext-pcntl": "*",
    97                 "ext-sockets": "*",
    98                 "phpunit/phpunit": "^5.6.3 || ^8.5 || ^9.5",
    99                 "psr/cache": "^2.0 || ^3.0",
    100                 "psr/simple-cache": "^2.0 || ^3.0",
    101                 "sebastian/comparator": "^1.2.3 || ^4.0 || ^5.0",
    102                 "symfony/filesystem": "^v6.4.0 || ^v7.1.0",
    103                 "yoast/phpunit-polyfills": "^2.0"
    104             },
    105             "suggest": {
    106                 "aws/aws-php-sns-message-validator": "To validate incoming SNS notifications",
    107                 "doctrine/cache": "To use the DoctrineCacheAdapter",
    108                 "ext-curl": "To send requests using cURL",
    109                 "ext-openssl": "Allows working with CloudFront private distributions and verifying received SNS messages",
    110                 "ext-sockets": "To use client-side monitoring"
    111             },
    112             "time": "2025-04-29T18:04:08+00:00",
    113             "type": "library",
    114             "extra": {
    115                 "branch-alias": {
    116                     "dev-master": "3.0-dev"
    117                 }
    118             },
    119             "installation-source": "dist",
    120             "autoload": {
    121                 "files": [
    122                     "src/functions.php"
    123                 ],
    124                 "psr-4": {
    125                     "Aws\\": "src/"
    126                 },
    127                 "exclude-from-classmap": [
    128                     "src/data/"
    129                 ]
    130             },
    131             "notification-url": "https://packagist.org/downloads/",
    132             "license": [
    133                 "Apache-2.0"
    134             ],
    135             "authors": [
    136                 {
    137                     "name": "Amazon Web Services",
    138                     "homepage": "http://aws.amazon.com"
    139                 }
    140             ],
    141             "description": "AWS SDK for PHP - Use Amazon Web Services in your PHP project",
    142             "homepage": "http://aws.amazon.com/sdkforphp",
    143             "keywords": [
    144                 "amazon",
    145                 "aws",
    146                 "cloud",
    147                 "dynamodb",
    148                 "ec2",
    149                 "glacier",
    150                 "s3",
    151                 "sdk"
    152             ],
    153             "support": {
    154                 "forum": "https://github.com/aws/aws-sdk-php/discussions",
    155                 "issues": "https://github.com/aws/aws-sdk-php/issues",
    156                 "source": "https://github.com/aws/aws-sdk-php/tree/3.343.0"
    157             },
    158             "install-path": "../aws/aws-sdk-php"
    159         },
    160         {
    161             "name": "guzzlehttp/guzzle",
    162             "version": "7.9.3",
    163             "version_normalized": "7.9.3.0",
    164             "source": {
    165                 "type": "git",
    166                 "url": "https://github.com/guzzle/guzzle.git",
    167                 "reference": "7b2f29fe81dc4da0ca0ea7d42107a0845946ea77"
    168             },
    169             "dist": {
    170                 "type": "zip",
    171                 "url": "https://api.github.com/repos/guzzle/guzzle/zipball/7b2f29fe81dc4da0ca0ea7d42107a0845946ea77",
    172                 "reference": "7b2f29fe81dc4da0ca0ea7d42107a0845946ea77",
    173                 "shasum": ""
    174             },
    175             "require": {
    176                 "ext-json": "*",
    177                 "guzzlehttp/promises": "^1.5.3 || ^2.0.3",
    178                 "guzzlehttp/psr7": "^2.7.0",
    179                 "php": "^7.2.5 || ^8.0",
    180                 "psr/http-client": "^1.0",
    181                 "symfony/deprecation-contracts": "^2.2 || ^3.0"
    182             },
    183             "provide": {
    184                 "psr/http-client-implementation": "1.0"
    185             },
    186             "require-dev": {
    187                 "bamarni/composer-bin-plugin": "^1.8.2",
    188                 "ext-curl": "*",
    189                 "guzzle/client-integration-tests": "3.0.2",
    190                 "php-http/message-factory": "^1.1",
    191                 "phpunit/phpunit": "^8.5.39 || ^9.6.20",
    192                 "psr/log": "^1.1 || ^2.0 || ^3.0"
    193             },
    194             "suggest": {
    195                 "ext-curl": "Required for CURL handler support",
    196                 "ext-intl": "Required for Internationalized Domain Name (IDN) support",
    197                 "psr/log": "Required for using the Log middleware"
    198             },
    199             "time": "2025-03-27T13:37:11+00:00",
    200             "type": "library",
    201             "extra": {
    202                 "bamarni-bin": {
    203                     "bin-links": true,
    204                     "forward-command": false
    205                 }
    206             },
    207             "installation-source": "dist",
    208             "autoload": {
    209                 "files": [
    210                     "src/functions_include.php"
    211                 ],
    212                 "psr-4": {
    213                     "GuzzleHttp\\": "src/"
    214                 }
    215             },
    216             "notification-url": "https://packagist.org/downloads/",
    217             "license": [
    218                 "MIT"
    219             ],
    220             "authors": [
    221                 {
    222                     "name": "Graham Campbell",
    223                     "email": "[email protected]",
    224                     "homepage": "https://github.com/GrahamCampbell"
    225                 },
    226                 {
    227                     "name": "Michael Dowling",
    228                     "email": "[email protected]",
    229                     "homepage": "https://github.com/mtdowling"
    230                 },
    231                 {
    232                     "name": "Jeremy Lindblom",
    233                     "email": "[email protected]",
    234                     "homepage": "https://github.com/jeremeamia"
    235                 },
    236                 {
    237                     "name": "George Mponos",
    238                     "email": "[email protected]",
    239                     "homepage": "https://github.com/gmponos"
    240                 },
    241                 {
    242                     "name": "Tobias Nyholm",
    243                     "email": "[email protected]",
    244                     "homepage": "https://github.com/Nyholm"
    245                 },
    246                 {
    247                     "name": "Márk Sági-Kazár",
    248                     "email": "[email protected]",
    249                     "homepage": "https://github.com/sagikazarmark"
    250                 },
    251                 {
    252                     "name": "Tobias Schultze",
    253                     "email": "[email protected]",
    254                     "homepage": "https://github.com/Tobion"
    255                 }
    256             ],
    257             "description": "Guzzle is a PHP HTTP client library",
    258             "keywords": [
    259                 "client",
    260                 "curl",
    261                 "framework",
    262                 "http",
    263                 "http client",
    264                 "psr-18",
    265                 "psr-7",
    266                 "rest",
    267                 "web service"
    268             ],
    269             "support": {
    270                 "issues": "https://github.com/guzzle/guzzle/issues",
    271                 "source": "https://github.com/guzzle/guzzle/tree/7.9.3"
    272             },
    273             "funding": [
    274                 {
    275                     "url": "https://github.com/GrahamCampbell",
    276                     "type": "github"
    277                 },
    278                 {
    279                     "url": "https://github.com/Nyholm",
    280                     "type": "github"
    281                 },
    282                 {
    283                     "url": "https://tidelift.com/funding/github/packagist/guzzlehttp/guzzle",
    284                     "type": "tidelift"
    285                 }
    286             ],
    287             "install-path": "../guzzlehttp/guzzle"
    288         },
    289         {
    290             "name": "guzzlehttp/promises",
    291             "version": "2.2.0",
    292             "version_normalized": "2.2.0.0",
    293             "source": {
    294                 "type": "git",
    295                 "url": "https://github.com/guzzle/promises.git",
    296                 "reference": "7c69f28996b0a6920945dd20b3857e499d9ca96c"
    297             },
    298             "dist": {
    299                 "type": "zip",
    300                 "url": "https://api.github.com/repos/guzzle/promises/zipball/7c69f28996b0a6920945dd20b3857e499d9ca96c",
    301                 "reference": "7c69f28996b0a6920945dd20b3857e499d9ca96c",
    302                 "shasum": ""
    303             },
    304             "require": {
    305                 "php": "^7.2.5 || ^8.0"
    306             },
    307             "require-dev": {
    308                 "bamarni/composer-bin-plugin": "^1.8.2",
    309                 "phpunit/phpunit": "^8.5.39 || ^9.6.20"
    310             },
    311             "time": "2025-03-27T13:27:01+00:00",
    312             "type": "library",
    313             "extra": {
    314                 "bamarni-bin": {
    315                     "bin-links": true,
    316                     "forward-command": false
    317                 }
    318             },
    319             "installation-source": "dist",
    320             "autoload": {
    321                 "psr-4": {
    322                     "GuzzleHttp\\Promise\\": "src/"
    323                 }
    324             },
    325             "notification-url": "https://packagist.org/downloads/",
    326             "license": [
    327                 "MIT"
    328             ],
    329             "authors": [
    330                 {
    331                     "name": "Graham Campbell",
    332                     "email": "[email protected]",
    333                     "homepage": "https://github.com/GrahamCampbell"
    334                 },
    335                 {
    336                     "name": "Michael Dowling",
    337                     "email": "[email protected]",
    338                     "homepage": "https://github.com/mtdowling"
    339                 },
    340                 {
    341                     "name": "Tobias Nyholm",
    342                     "email": "[email protected]",
    343                     "homepage": "https://github.com/Nyholm"
    344                 },
    345                 {
    346                     "name": "Tobias Schultze",
    347                     "email": "[email protected]",
    348                     "homepage": "https://github.com/Tobion"
    349                 }
    350             ],
    351             "description": "Guzzle promises library",
    352             "keywords": [
    353                 "promise"
    354             ],
    355             "support": {
    356                 "issues": "https://github.com/guzzle/promises/issues",
    357                 "source": "https://github.com/guzzle/promises/tree/2.2.0"
    358             },
    359             "funding": [
    360                 {
    361                     "url": "https://github.com/GrahamCampbell",
    362                     "type": "github"
    363                 },
    364                 {
    365                     "url": "https://github.com/Nyholm",
    366                     "type": "github"
    367                 },
    368                 {
    369                     "url": "https://tidelift.com/funding/github/packagist/guzzlehttp/promises",
    370                     "type": "tidelift"
    371                 }
    372             ],
    373             "install-path": "../guzzlehttp/promises"
    374         },
    375         {
    376             "name": "guzzlehttp/psr7",
    377             "version": "2.7.1",
    378             "version_normalized": "2.7.1.0",
    379             "source": {
    380                 "type": "git",
    381                 "url": "https://github.com/guzzle/psr7.git",
    382                 "reference": "c2270caaabe631b3b44c85f99e5a04bbb8060d16"
    383             },
    384             "dist": {
    385                 "type": "zip",
    386                 "url": "https://api.github.com/repos/guzzle/psr7/zipball/c2270caaabe631b3b44c85f99e5a04bbb8060d16",
    387                 "reference": "c2270caaabe631b3b44c85f99e5a04bbb8060d16",
    388                 "shasum": ""
    389             },
    390             "require": {
    391                 "php": "^7.2.5 || ^8.0",
    392                 "psr/http-factory": "^1.0",
    393                 "psr/http-message": "^1.1 || ^2.0",
    394                 "ralouphie/getallheaders": "^3.0"
    395             },
    396             "provide": {
    397                 "psr/http-factory-implementation": "1.0",
    398                 "psr/http-message-implementation": "1.0"
    399             },
    400             "require-dev": {
    401                 "bamarni/composer-bin-plugin": "^1.8.2",
    402                 "http-interop/http-factory-tests": "0.9.0",
    403                 "phpunit/phpunit": "^8.5.39 || ^9.6.20"
    404             },
    405             "suggest": {
    406                 "laminas/laminas-httphandlerrunner": "Emit PSR-7 responses"
    407             },
    408             "time": "2025-03-27T12:30:47+00:00",
    409             "type": "library",
    410             "extra": {
    411                 "bamarni-bin": {
    412                     "bin-links": true,
    413                     "forward-command": false
    414                 }
    415             },
    416             "installation-source": "dist",
    417             "autoload": {
    418                 "psr-4": {
    419                     "GuzzleHttp\\Psr7\\": "src/"
    420                 }
    421             },
    422             "notification-url": "https://packagist.org/downloads/",
    423             "license": [
    424                 "MIT"
    425             ],
    426             "authors": [
    427                 {
    428                     "name": "Graham Campbell",
    429                     "email": "[email protected]",
    430                     "homepage": "https://github.com/GrahamCampbell"
    431                 },
    432                 {
    433                     "name": "Michael Dowling",
    434                     "email": "[email protected]",
    435                     "homepage": "https://github.com/mtdowling"
    436                 },
    437                 {
    438                     "name": "George Mponos",
    439                     "email": "[email protected]",
    440                     "homepage": "https://github.com/gmponos"
    441                 },
    442                 {
    443                     "name": "Tobias Nyholm",
    444                     "email": "[email protected]",
    445                     "homepage": "https://github.com/Nyholm"
    446                 },
    447                 {
    448                     "name": "Márk Sági-Kazár",
    449                     "email": "[email protected]",
    450                     "homepage": "https://github.com/sagikazarmark"
    451                 },
    452                 {
    453                     "name": "Tobias Schultze",
    454                     "email": "[email protected]",
    455                     "homepage": "https://github.com/Tobion"
    456                 },
    457                 {
    458                     "name": "Márk Sági-Kazár",
    459                     "email": "[email protected]",
    460                     "homepage": "https://sagikazarmark.hu"
    461                 }
    462             ],
    463             "description": "PSR-7 message implementation that also provides common utility methods",
    464             "keywords": [
    465                 "http",
    466                 "message",
    467                 "psr-7",
    468                 "request",
    469                 "response",
    470                 "stream",
    471                 "uri",
    472                 "url"
    473             ],
    474             "support": {
    475                 "issues": "https://github.com/guzzle/psr7/issues",
    476                 "source": "https://github.com/guzzle/psr7/tree/2.7.1"
    477             },
    478             "funding": [
    479                 {
    480                     "url": "https://github.com/GrahamCampbell",
    481                     "type": "github"
    482                 },
    483                 {
    484                     "url": "https://github.com/Nyholm",
    485                     "type": "github"
    486                 },
    487                 {
    488                     "url": "https://tidelift.com/funding/github/packagist/guzzlehttp/psr7",
    489                     "type": "tidelift"
    490                 }
    491             ],
    492             "install-path": "../guzzlehttp/psr7"
    493         },
    494         {
    495             "name": "mtdowling/jmespath.php",
    496             "version": "2.8.0",
    497             "version_normalized": "2.8.0.0",
    498             "source": {
    499                 "type": "git",
    500                 "url": "https://github.com/jmespath/jmespath.php.git",
    501                 "reference": "a2a865e05d5f420b50cc2f85bb78d565db12a6bc"
    502             },
    503             "dist": {
    504                 "type": "zip",
    505                 "url": "https://api.github.com/repos/jmespath/jmespath.php/zipball/a2a865e05d5f420b50cc2f85bb78d565db12a6bc",
    506                 "reference": "a2a865e05d5f420b50cc2f85bb78d565db12a6bc",
    507                 "shasum": ""
    508             },
    509             "require": {
    510                 "php": "^7.2.5 || ^8.0",
    511                 "symfony/polyfill-mbstring": "^1.17"
    512             },
    513             "require-dev": {
    514                 "composer/xdebug-handler": "^3.0.3",
    515                 "phpunit/phpunit": "^8.5.33"
    516             },
    517             "time": "2024-09-04T18:46:31+00:00",
    518             "bin": [
    519                 "bin/jp.php"
    520             ],
    521             "type": "library",
    522             "extra": {
    523                 "branch-alias": {
    524                     "dev-master": "2.8-dev"
    525                 }
    526             },
    527             "installation-source": "dist",
    528             "autoload": {
    529                 "files": [
    530                     "src/JmesPath.php"
    531                 ],
    532                 "psr-4": {
    533                     "JmesPath\\": "src/"
    534                 }
    535             },
    536             "notification-url": "https://packagist.org/downloads/",
    537             "license": [
    538                 "MIT"
    539             ],
    540             "authors": [
    541                 {
    542                     "name": "Graham Campbell",
    543                     "email": "[email protected]",
    544                     "homepage": "https://github.com/GrahamCampbell"
    545                 },
    546                 {
    547                     "name": "Michael Dowling",
    548                     "email": "[email protected]",
    549                     "homepage": "https://github.com/mtdowling"
    550                 }
    551             ],
    552             "description": "Declaratively specify how to extract elements from a JSON document",
    553             "keywords": [
    554                 "json",
    555                 "jsonpath"
    556             ],
    557             "support": {
    558                 "issues": "https://github.com/jmespath/jmespath.php/issues",
    559                 "source": "https://github.com/jmespath/jmespath.php/tree/2.8.0"
    560             },
    561             "install-path": "../mtdowling/jmespath.php"
    562         },
    563         {
    564             "name": "psr/http-client",
    565             "version": "1.0.3",
    566             "version_normalized": "1.0.3.0",
    567             "source": {
    568                 "type": "git",
    569                 "url": "https://github.com/php-fig/http-client.git",
    570                 "reference": "bb5906edc1c324c9a05aa0873d40117941e5fa90"
    571             },
    572             "dist": {
    573                 "type": "zip",
    574                 "url": "https://api.github.com/repos/php-fig/http-client/zipball/bb5906edc1c324c9a05aa0873d40117941e5fa90",
    575                 "reference": "bb5906edc1c324c9a05aa0873d40117941e5fa90",
    576                 "shasum": ""
    577             },
    578             "require": {
    579                 "php": "^7.0 || ^8.0",
    580                 "psr/http-message": "^1.0 || ^2.0"
    581             },
    582             "time": "2023-09-23T14:17:50+00:00",
    583             "type": "library",
    584             "extra": {
    585                 "branch-alias": {
    586                     "dev-master": "1.0.x-dev"
    587                 }
    588             },
    589             "installation-source": "dist",
    590             "autoload": {
    591                 "psr-4": {
    592                     "Psr\\Http\\Client\\": "src/"
    593                 }
    594             },
    595             "notification-url": "https://packagist.org/downloads/",
    596             "license": [
    597                 "MIT"
    598             ],
    599             "authors": [
    600                 {
    601                     "name": "PHP-FIG",
    602                     "homepage": "https://www.php-fig.org/"
    603                 }
    604             ],
    605             "description": "Common interface for HTTP clients",
    606             "homepage": "https://github.com/php-fig/http-client",
    607             "keywords": [
    608                 "http",
    609                 "http-client",
    610                 "psr",
    611                 "psr-18"
    612             ],
    613             "support": {
    614                 "source": "https://github.com/php-fig/http-client"
    615             },
    616             "install-path": "../psr/http-client"
    617         },
    618         {
    619             "name": "psr/http-factory",
    620             "version": "1.1.0",
    621             "version_normalized": "1.1.0.0",
    622             "source": {
    623                 "type": "git",
    624                 "url": "https://github.com/php-fig/http-factory.git",
    625                 "reference": "2b4765fddfe3b508ac62f829e852b1501d3f6e8a"
    626             },
    627             "dist": {
    628                 "type": "zip",
    629                 "url": "https://api.github.com/repos/php-fig/http-factory/zipball/2b4765fddfe3b508ac62f829e852b1501d3f6e8a",
    630                 "reference": "2b4765fddfe3b508ac62f829e852b1501d3f6e8a",
    631                 "shasum": ""
    632             },
    633             "require": {
    634                 "php": ">=7.1",
    635                 "psr/http-message": "^1.0 || ^2.0"
    636             },
    637             "time": "2024-04-15T12:06:14+00:00",
    638             "type": "library",
    639             "extra": {
    640                 "branch-alias": {
    641                     "dev-master": "1.0.x-dev"
    642                 }
    643             },
    644             "installation-source": "dist",
    645             "autoload": {
    646                 "psr-4": {
    647                     "Psr\\Http\\Message\\": "src/"
    648                 }
    649             },
    650             "notification-url": "https://packagist.org/downloads/",
    651             "license": [
    652                 "MIT"
    653             ],
    654             "authors": [
    655                 {
    656                     "name": "PHP-FIG",
    657                     "homepage": "https://www.php-fig.org/"
    658                 }
    659             ],
    660             "description": "PSR-17: Common interfaces for PSR-7 HTTP message factories",
    661             "keywords": [
    662                 "factory",
    663                 "http",
    664                 "message",
    665                 "psr",
    666                 "psr-17",
    667                 "psr-7",
    668                 "request",
    669                 "response"
    670             ],
    671             "support": {
    672                 "source": "https://github.com/php-fig/http-factory"
    673             },
    674             "install-path": "../psr/http-factory"
    675         },
    676         {
    677             "name": "psr/http-message",
    678             "version": "2.0",
    679             "version_normalized": "2.0.0.0",
    680             "source": {
    681                 "type": "git",
    682                 "url": "https://github.com/php-fig/http-message.git",
    683                 "reference": "402d35bcb92c70c026d1a6a9883f06b2ead23d71"
    684             },
    685             "dist": {
    686                 "type": "zip",
    687                 "url": "https://api.github.com/repos/php-fig/http-message/zipball/402d35bcb92c70c026d1a6a9883f06b2ead23d71",
    688                 "reference": "402d35bcb92c70c026d1a6a9883f06b2ead23d71",
    689                 "shasum": ""
    690             },
    691             "require": {
    692                 "php": "^7.2 || ^8.0"
    693             },
    694             "time": "2023-04-04T09:54:51+00:00",
    695             "type": "library",
    696             "extra": {
    697                 "branch-alias": {
    698                     "dev-master": "2.0.x-dev"
    699                 }
    700             },
    701             "installation-source": "dist",
    702             "autoload": {
    703                 "psr-4": {
    704                     "Psr\\Http\\Message\\": "src/"
    705                 }
    706             },
    707             "notification-url": "https://packagist.org/downloads/",
    708             "license": [
    709                 "MIT"
    710             ],
    711             "authors": [
    712                 {
    713                     "name": "PHP-FIG",
    714                     "homepage": "https://www.php-fig.org/"
    715                 }
    716             ],
    717             "description": "Common interface for HTTP messages",
    718             "homepage": "https://github.com/php-fig/http-message",
    719             "keywords": [
    720                 "http",
    721                 "http-message",
    722                 "psr",
    723                 "psr-7",
    724                 "request",
    725                 "response"
    726             ],
    727             "support": {
    728                 "source": "https://github.com/php-fig/http-message/tree/2.0"
    729             },
    730             "install-path": "../psr/http-message"
    731         },
    7323        {
    7334            "name": "ralouphie/getallheaders",
     
    77647            },
    77748            "install-path": "../ralouphie/getallheaders"
    778         },
    779         {
    780             "name": "symfony/deprecation-contracts",
    781             "version": "v3.5.1",
    782             "version_normalized": "3.5.1.0",
    783             "source": {
    784                 "type": "git",
    785                 "url": "https://github.com/symfony/deprecation-contracts.git",
    786                 "reference": "74c71c939a79f7d5bf3c1ce9f5ea37ba0114c6f6"
    787             },
    788             "dist": {
    789                 "type": "zip",
    790                 "url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/74c71c939a79f7d5bf3c1ce9f5ea37ba0114c6f6",
    791                 "reference": "74c71c939a79f7d5bf3c1ce9f5ea37ba0114c6f6",
    792                 "shasum": ""
    793             },
    794             "require": {
    795                 "php": ">=8.1"
    796             },
    797             "time": "2024-09-25T14:20:29+00:00",
    798             "type": "library",
    799             "extra": {
    800                 "thanks": {
    801                     "url": "https://github.com/symfony/contracts",
    802                     "name": "symfony/contracts"
    803                 },
    804                 "branch-alias": {
    805                     "dev-main": "3.5-dev"
    806                 }
    807             },
    808             "installation-source": "dist",
    809             "autoload": {
    810                 "files": [
    811                     "function.php"
    812                 ]
    813             },
    814             "notification-url": "https://packagist.org/downloads/",
    815             "license": [
    816                 "MIT"
    817             ],
    818             "authors": [
    819                 {
    820                     "name": "Nicolas Grekas",
    821                     "email": "[email protected]"
    822                 },
    823                 {
    824                     "name": "Symfony Community",
    825                     "homepage": "https://symfony.com/contributors"
    826                 }
    827             ],
    828             "description": "A generic function and convention to trigger deprecation notices",
    829             "homepage": "https://symfony.com",
    830             "support": {
    831                 "source": "https://github.com/symfony/deprecation-contracts/tree/v3.5.1"
    832             },
    833             "funding": [
    834                 {
    835                     "url": "https://symfony.com/sponsor",
    836                     "type": "custom"
    837                 },
    838                 {
    839                     "url": "https://github.com/fabpot",
    840                     "type": "github"
    841                 },
    842                 {
    843                     "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
    844                     "type": "tidelift"
    845                 }
    846             ],
    847             "install-path": "../symfony/deprecation-contracts"
    848         },
    849         {
    850             "name": "symfony/polyfill-mbstring",
    851             "version": "v1.31.0",
    852             "version_normalized": "1.31.0.0",
    853             "source": {
    854                 "type": "git",
    855                 "url": "https://github.com/symfony/polyfill-mbstring.git",
    856                 "reference": "85181ba99b2345b0ef10ce42ecac37612d9fd341"
    857             },
    858             "dist": {
    859                 "type": "zip",
    860                 "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/85181ba99b2345b0ef10ce42ecac37612d9fd341",
    861                 "reference": "85181ba99b2345b0ef10ce42ecac37612d9fd341",
    862                 "shasum": ""
    863             },
    864             "require": {
    865                 "php": ">=7.2"
    866             },
    867             "provide": {
    868                 "ext-mbstring": "*"
    869             },
    870             "suggest": {
    871                 "ext-mbstring": "For best performance"
    872             },
    873             "time": "2024-09-09T11:45:10+00:00",
    874             "type": "library",
    875             "extra": {
    876                 "thanks": {
    877                     "url": "https://github.com/symfony/polyfill",
    878                     "name": "symfony/polyfill"
    879                 }
    880             },
    881             "installation-source": "dist",
    882             "autoload": {
    883                 "files": [
    884                     "bootstrap.php"
    885                 ],
    886                 "psr-4": {
    887                     "Symfony\\Polyfill\\Mbstring\\": ""
    888                 }
    889             },
    890             "notification-url": "https://packagist.org/downloads/",
    891             "license": [
    892                 "MIT"
    893             ],
    894             "authors": [
    895                 {
    896                     "name": "Nicolas Grekas",
    897                     "email": "[email protected]"
    898                 },
    899                 {
    900                     "name": "Symfony Community",
    901                     "homepage": "https://symfony.com/contributors"
    902                 }
    903             ],
    904             "description": "Symfony polyfill for the Mbstring extension",
    905             "homepage": "https://symfony.com",
    906             "keywords": [
    907                 "compatibility",
    908                 "mbstring",
    909                 "polyfill",
    910                 "portable",
    911                 "shim"
    912             ],
    913             "support": {
    914                 "source": "https://github.com/symfony/polyfill-mbstring/tree/v1.31.0"
    915             },
    916             "funding": [
    917                 {
    918                     "url": "https://symfony.com/sponsor",
    919                     "type": "custom"
    920                 },
    921                 {
    922                     "url": "https://github.com/fabpot",
    923                     "type": "github"
    924                 },
    925                 {
    926                     "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
    927                     "type": "tidelift"
    928                 }
    929             ],
    930             "install-path": "../symfony/polyfill-mbstring"
    93149        }
    93250    ],
  • trigger/trunk/vendor/composer/installed.php

    r3285526 r3290002  
    1111    ),
    1212    'versions' => array(
    13         'aws/aws-crt-php' => array(
    14             'pretty_version' => 'v1.2.7',
    15             'version' => '1.2.7.0',
    16             'reference' => 'd71d9906c7bb63a28295447ba12e74723bd3730e',
    17             'type' => 'library',
    18             'install_path' => __DIR__ . '/../aws/aws-crt-php',
    19             'aliases' => array(),
    20             'dev_requirement' => false,
    21         ),
    22         'aws/aws-sdk-php' => array(
    23             'pretty_version' => '3.343.0',
    24             'version' => '3.343.0.0',
    25             'reference' => '8750298282f7f6f3fc65e43ae37a64bfc055100a',
    26             'type' => 'library',
    27             'install_path' => __DIR__ . '/../aws/aws-sdk-php',
    28             'aliases' => array(),
    29             'dev_requirement' => false,
    30         ),
    31         'guzzlehttp/guzzle' => array(
    32             'pretty_version' => '7.9.3',
    33             'version' => '7.9.3.0',
    34             'reference' => '7b2f29fe81dc4da0ca0ea7d42107a0845946ea77',
    35             'type' => 'library',
    36             'install_path' => __DIR__ . '/../guzzlehttp/guzzle',
    37             'aliases' => array(),
    38             'dev_requirement' => false,
    39         ),
    40         'guzzlehttp/promises' => array(
    41             'pretty_version' => '2.2.0',
    42             'version' => '2.2.0.0',
    43             'reference' => '7c69f28996b0a6920945dd20b3857e499d9ca96c',
    44             'type' => 'library',
    45             'install_path' => __DIR__ . '/../guzzlehttp/promises',
    46             'aliases' => array(),
    47             'dev_requirement' => false,
    48         ),
    49         'guzzlehttp/psr7' => array(
    50             'pretty_version' => '2.7.1',
    51             'version' => '2.7.1.0',
    52             'reference' => 'c2270caaabe631b3b44c85f99e5a04bbb8060d16',
    53             'type' => 'library',
    54             'install_path' => __DIR__ . '/../guzzlehttp/psr7',
    55             'aliases' => array(),
    56             'dev_requirement' => false,
    57         ),
    58         'mtdowling/jmespath.php' => array(
    59             'pretty_version' => '2.8.0',
    60             'version' => '2.8.0.0',
    61             'reference' => 'a2a865e05d5f420b50cc2f85bb78d565db12a6bc',
    62             'type' => 'library',
    63             'install_path' => __DIR__ . '/../mtdowling/jmespath.php',
    64             'aliases' => array(),
    65             'dev_requirement' => false,
    66         ),
    67         'psr/http-client' => array(
    68             'pretty_version' => '1.0.3',
    69             'version' => '1.0.3.0',
    70             'reference' => 'bb5906edc1c324c9a05aa0873d40117941e5fa90',
    71             'type' => 'library',
    72             'install_path' => __DIR__ . '/../psr/http-client',
    73             'aliases' => array(),
    74             'dev_requirement' => false,
    75         ),
    76         'psr/http-client-implementation' => array(
    77             'dev_requirement' => false,
    78             'provided' => array(
    79                 0 => '1.0',
    80             ),
    81         ),
    82         'psr/http-factory' => array(
    83             'pretty_version' => '1.1.0',
    84             'version' => '1.1.0.0',
    85             'reference' => '2b4765fddfe3b508ac62f829e852b1501d3f6e8a',
    86             'type' => 'library',
    87             'install_path' => __DIR__ . '/../psr/http-factory',
    88             'aliases' => array(),
    89             'dev_requirement' => false,
    90         ),
    91         'psr/http-factory-implementation' => array(
    92             'dev_requirement' => false,
    93             'provided' => array(
    94                 0 => '1.0',
    95             ),
    96         ),
    97         'psr/http-message' => array(
    98             'pretty_version' => '2.0',
    99             'version' => '2.0.0.0',
    100             'reference' => '402d35bcb92c70c026d1a6a9883f06b2ead23d71',
    101             'type' => 'library',
    102             'install_path' => __DIR__ . '/../psr/http-message',
    103             'aliases' => array(),
    104             'dev_requirement' => false,
    105         ),
    106         'psr/http-message-implementation' => array(
    107             'dev_requirement' => false,
    108             'provided' => array(
    109                 0 => '1.0',
    110             ),
    111         ),
    11213        'ralouphie/getallheaders' => array(
    11314            'pretty_version' => '3.0.3',
     
    11617            'type' => 'library',
    11718            'install_path' => __DIR__ . '/../ralouphie/getallheaders',
    118             'aliases' => array(),
    119             'dev_requirement' => false,
    120         ),
    121         'symfony/deprecation-contracts' => array(
    122             'pretty_version' => 'v3.5.1',
    123             'version' => '3.5.1.0',
    124             'reference' => '74c71c939a79f7d5bf3c1ce9f5ea37ba0114c6f6',
    125             'type' => 'library',
    126             'install_path' => __DIR__ . '/../symfony/deprecation-contracts',
    127             'aliases' => array(),
    128             'dev_requirement' => false,
    129         ),
    130         'symfony/polyfill-mbstring' => array(
    131             'pretty_version' => 'v1.31.0',
    132             'version' => '1.31.0.0',
    133             'reference' => '85181ba99b2345b0ef10ce42ecac37612d9fd341',
    134             'type' => 'library',
    135             'install_path' => __DIR__ . '/../symfony/polyfill-mbstring',
    13619            'aliases' => array(),
    13720            'dev_requirement' => false,
  • trigger/trunk/vendor/composer/platform_check.php

    r3285526 r3290002  
    55$issues = array();
    66
    7 if (!(PHP_VERSION_ID >= 80100)) {
    8     $issues[] = 'Your Composer dependencies require a PHP version ">= 8.1.0". You are running ' . PHP_VERSION . '.';
     7if (!(PHP_VERSION_ID >= 70400)) {
     8    $issues[] = 'Your Composer dependencies require a PHP version ">= 7.4.0". You are running ' . PHP_VERSION . '.';
    99}
    1010
Note: See TracChangeset for help on using the changeset viewer.