Changeset 3290002
- Timestamp:
- 05/08/2025 03:50:20 PM (10 months ago)
- Location:
- trigger
- Files:
-
- 2 added
- 32 edited
- 1 copied
-
tags/1.0.1 (copied) (copied from trigger/trunk)
-
tags/1.0.1/composer.json (modified) (1 diff)
-
tags/1.0.1/inc/Controllers/EmailLogController.php (modified) (1 diff)
-
tags/1.0.1/inc/Controllers/Provider/aws/SesMailer.php (modified) (9 diffs)
-
tags/1.0.1/inc/Controllers/Provider/aws/SesMailerAA.php (added)
-
tags/1.0.1/inc/TriggerGlobals.php (modified) (4 diffs)
-
tags/1.0.1/languages/trigger.pot (modified) (5 diffs)
-
tags/1.0.1/readme.txt (modified) (1 diff)
-
tags/1.0.1/triggermail.php (modified) (2 diffs)
-
tags/1.0.1/vendor/autoload.php (modified) (1 diff)
-
tags/1.0.1/vendor/composer/autoload_classmap.php (modified) (1 diff)
-
tags/1.0.1/vendor/composer/autoload_files.php (modified) (1 diff)
-
tags/1.0.1/vendor/composer/autoload_psr4.php (modified) (1 diff)
-
tags/1.0.1/vendor/composer/autoload_real.php (modified) (2 diffs)
-
tags/1.0.1/vendor/composer/autoload_static.php (modified) (4 diffs)
-
tags/1.0.1/vendor/composer/installed.json (modified) (2 diffs)
-
tags/1.0.1/vendor/composer/installed.php (modified) (2 diffs)
-
tags/1.0.1/vendor/composer/platform_check.php (modified) (1 diff)
-
trunk/composer.json (modified) (1 diff)
-
trunk/inc/Controllers/EmailLogController.php (modified) (1 diff)
-
trunk/inc/Controllers/Provider/aws/SesMailer.php (modified) (9 diffs)
-
trunk/inc/Controllers/Provider/aws/SesMailerAA.php (added)
-
trunk/inc/TriggerGlobals.php (modified) (4 diffs)
-
trunk/languages/trigger.pot (modified) (5 diffs)
-
trunk/readme.txt (modified) (1 diff)
-
trunk/triggermail.php (modified) (2 diffs)
-
trunk/vendor/autoload.php (modified) (1 diff)
-
trunk/vendor/composer/autoload_classmap.php (modified) (1 diff)
-
trunk/vendor/composer/autoload_files.php (modified) (1 diff)
-
trunk/vendor/composer/autoload_psr4.php (modified) (1 diff)
-
trunk/vendor/composer/autoload_real.php (modified) (2 diffs)
-
trunk/vendor/composer/autoload_static.php (modified) (4 diffs)
-
trunk/vendor/composer/installed.json (modified) (2 diffs)
-
trunk/vendor/composer/installed.php (modified) (2 diffs)
-
trunk/vendor/composer/platform_check.php (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
trigger/tags/1.0.1/composer.json
r3285526 r3290002 21 21 "minimum-stability": "stable", 22 22 "require": { 23 "php": ">=7.4", 24 "aws/aws-sdk-php": "^3.343", 25 "ralouphie/getallheaders": "^3.0" 23 "php": ">=7.4" 26 24 } 27 25 } -
trigger/tags/1.0.1/inc/Controllers/EmailLogController.php
r3285526 r3290002 276 276 if ( 'ses' === $provider ) { 277 277 $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 ); 279 279 280 280 // $sent = wp_mail( $data['sendTo'], $subject, $message, $headers ); -
trigger/tags/1.0.1/inc/Controllers/Provider/aws/SesMailer.php
r3285526 r3290002 11 11 namespace Trigger\Controllers\Provider\aws; 12 12 13 use Aws\Ses\SesClient;14 use Aws\Exception\AwsException;15 13 use Trigger\Traits\JsonResponse; 16 14 use Exception; … … 22 20 23 21 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 } 24 92 25 93 /** … … 31 99 * @param array $headers Email headers. 32 100 * @param array $config AWS SES configuration. 101 * @param bool $is_html Whether the message is in HTML format. 33 102 * 34 103 * @return bool|string True on success, error message on failure 35 104 */ 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 ) { 37 106 try { 38 107 // 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 ) { 103 139 return true; 104 140 } 105 141 106 142 return false; 107 } catch ( AwsException $e ) {143 } catch ( Exception $e ) { 108 144 // error_log( 'AWS SES Error: ' . $e->getMessage() ); 109 145 // Check if this is an email verification error … … 123 159 * @return array{success: bool, message: string} Result with success status and message 124 160 */ 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 139 162 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 ) { 162 172 return $this->json_response( 163 173 sprintf( … … 172 182 173 183 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 175 187 return $this->json_response( __( 'Failed to verify email address, please provide valid email address', 'trigger' ), null, 400 ); 176 188 } … … 185 197 */ 186 198 public function get_verified_emails( $config = array() ) { 187 // If no config is provided, get from options188 199 if ( empty( $config ) ) { 189 200 $config = get_option( TRIGGER_DEFAULT_EMAIL_PROVIDER, array() ); … … 198 209 199 210 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 ); 222 231 $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', 228 246 ); 229 247 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 } 236 266 } 237 267 } … … 242 272 'data' => $verified_emails, 243 273 ); 244 } catch ( AwsException $e ) {274 } catch ( Exception $e ) { 245 275 return array( 246 276 'success' => false, … … 251 281 252 282 /** 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 ); 280 355 } 281 356 } -
trigger/tags/1.0.1/inc/TriggerGlobals.php
r3285526 r3290002 34 34 return false; 35 35 } 36 37 36 return $default_provider; 38 37 } 38 39 /** 40 * Get plugin data 41 * 42 * @return array 43 */ 44 function trigger_get_plugin_data() { 45 define( 'TRIGGER_PLUGIN_INFO', Trigger::plugin_data() ); 46 return Trigger::plugin_data(); 47 } 48 49 trigger_get_plugin_data(); 39 50 40 51 /** … … 110 121 * @param string|string[] $attachments Optional. Paths to files to attach. 111 122 * @return bool Whether the email was sent successfully. 123 * @throws PHPMailer\PHPMailer\Exception When there are issues sending the email. 112 124 */ 113 125 function wp_mail( $to, $subject, $message, $headers = '', $attachments = array() ) { … … 191 203 require_once ABSPATH . WPINC . '/PHPMailer/SMTP.php'; 192 204 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 194 206 195 207 $phpmailer::$validator = static function ( $email ) { … … 488 500 $headers = array_merge( $headers, array( 'Content-Type: text/html' ) ); 489 501 $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 ); 491 503 if ( false === $send ) { 492 504 throw new PHPMailer\PHPMailer\Exception( 'Failed to send email using SES' ); -
trigger/tags/1.0.1/languages/trigger.pot
r3285526 r3290002 3 3 msgid "" 4 4 msgstr "" 5 "Project-Id-Version: Trigger 1.0.0\n"5 "Project-Id-Version: Trigger SMTP, Mail Logs, Deliver Mails 1.0.1\n" 6 6 "Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/trigger\n" 7 7 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" … … 10 10 "Content-Type: text/plain; charset=UTF-8\n" 11 11 "Content-Transfer-Encoding: 8bit\n" 12 "POT-Creation-Date: 2025-0 4-30T07:17:23+00:00\n"12 "POT-Creation-Date: 2025-05-08T15:37:39+00:00\n" 13 13 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" 14 14 "X-Generator: WP-CLI 2.11.0\n" … … 17 17 #. Plugin Name of the plugin 18 18 #: triggermail.php 19 msgid "Trigger SMTP, Mail Logs, Deliver Mails" 20 msgstr "" 21 22 #. Plugin URI of the plugin 23 #: triggermail.php 24 msgid "https://wptriggermail.com/" 25 msgstr "" 26 27 #. Description of the plugin 28 #: triggermail.php 29 msgid "Trigger for deliver your site email & manage email logs." 30 msgstr "" 31 32 #. Author of the plugin 33 #: triggermail.php 34 msgid "nurwp" 35 msgstr "" 36 19 37 #: inc/Admin/Menu/MainMenu.php:66 20 38 #: inc/Admin/Menu/MainMenu.php:75 21 39 msgid "Trigger" 22 msgstr ""23 24 #. Plugin URI of the plugin25 #: triggermail.php26 msgid "https://wptriggermail.com/"27 msgstr ""28 29 #. Description of the plugin30 #: triggermail.php31 msgid "Trigger for deliver your site email & manage email logs."32 msgstr ""33 34 #. Author of the plugin35 #: triggermail.php36 msgid "nurwp"37 40 msgstr "" 38 41 … … 97 100 msgstr "" 98 101 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 105 msgid "Verification email sent to %s. Please check your inbox and follow the instructions to verify your email address." 106 msgstr "" 107 108 #: inc/Controllers/Provider/aws/SesMailer.php:183 109 #: inc/Controllers/Provider/aws/SesMailerAA.php:170 110 msgid "Failed to verify email address" 111 msgstr "" 112 113 #: inc/Controllers/Provider/aws/SesMailer.php:187 114 #: inc/Controllers/Provider/aws/SesMailerAA.php:172 115 msgid "Failed to verify email address, please provide valid email address" 116 msgstr "" 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 103 123 msgid "AWS SES configuration is missing" 104 124 msgstr "" 105 125 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 129 msgid "Failed to retrieve verified email addresses" 130 msgstr "" 131 132 #: inc/Controllers/Provider/aws/SesMailer.php:271 133 #: inc/Controllers/Provider/aws/SesMailerAA.php:238 134 msgid "Verified email addresses retrieved successfully" 135 msgstr "" 136 137 #: inc/Controllers/Provider/aws/SesMailerAA.php:124 107 138 msgid "Invalid email address" 108 msgstr ""109 110 #. translators: %s: Email address that was verified111 #: inc/Controllers/Provider/aws/SesMailer.php:165112 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:173116 msgid "Failed to verify email address"117 msgstr ""118 119 #: inc/Controllers/Provider/aws/SesMailer.php:175120 msgid "Failed to verify email address, please provide valid email address"121 msgstr ""122 123 #: inc/Controllers/Provider/aws/SesMailer.php:241124 msgid "Verified email addresses retrieved successfully"125 msgstr ""126 127 #: inc/Controllers/Provider/aws/SesMailer.php:247128 msgid "Failed to retrieve verified email addresses"129 139 msgstr "" 130 140 … … 234 244 msgstr "" 235 245 236 #: inc/TriggerGlobals.php: 53246 #: inc/TriggerGlobals.php:64 237 247 msgid "Access denied! Please login to access this feature." 238 248 msgstr "" 239 249 240 #: inc/TriggerGlobals.php: 71250 #: inc/TriggerGlobals.php:82 241 251 msgid "Invalid security token! Please refresh the page and try again." 242 252 msgstr "" 243 253 244 #: inc/TriggerGlobals.php: 79254 #: inc/TriggerGlobals.php:90 245 255 msgid "Verification successful." 246 256 msgstr "" -
trigger/tags/1.0.1/readme.txt
r3285526 r3290002 5 5 Tested up to: 6.8 6 6 Requires PHP: 7.4 7 Stable tag: 1.0. 07 Stable tag: 1.0.1 8 8 License: GPLv3 or later 9 9 License URI: https://www.gnu.org/licenses/gpl-3.0.html -
trigger/tags/1.0.1/triggermail.php
r3287932 r3290002 2 2 /** 3 3 * Plugin Name: Trigger SMTP, Mail Logs, Deliver Mails 4 * Version: 1.0. 04 * Version: 1.0.1 5 5 * Requires at least: 5.3 6 6 * Requires PHP: 7.4 … … 17 17 use Trigger\Init; 18 18 use Trigger\Database\Migration; 19 use Trigger\Frontend\Pages\PageManager;20 21 19 22 20 if ( ! class_exists( 'Trigger' ) ) { -
trigger/tags/1.0.1/vendor/autoload.php
r3285526 r3290002 20 20 require_once __DIR__ . '/composer/autoload_real.php'; 21 21 22 return ComposerAutoloaderInit 9692dff78349772716291ed778c512fa::getLoader();22 return ComposerAutoloaderInit2b0ec1eb3a471364a0b026b40a3bdeba::getLoader(); -
trigger/tags/1.0.1/vendor/composer/autoload_classmap.php
r3285526 r3290002 7 7 8 8 return 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',32 9 'Composer\\InstalledVersions' => $vendorDir . '/composer/InstalledVersions.php', 33 10 ); -
trigger/tags/1.0.1/vendor/composer/autoload_files.php
r3285526 r3290002 7 7 8 8 return 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',15 9 '91f371b3d06890ec0aa8914ea8cf1bd9' => $baseDir . '/inc/TriggerGlobals.php', 16 10 ); -
trigger/tags/1.0.1/vendor/composer/autoload_psr4.php
r3285526 r3290002 8 8 return array( 9 9 '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'),18 10 ); -
trigger/tags/1.0.1/vendor/composer/autoload_real.php
r3285526 r3290002 3 3 // autoload_real.php @generated by Composer 4 4 5 class ComposerAutoloaderInit 9692dff78349772716291ed778c512fa5 class ComposerAutoloaderInit2b0ec1eb3a471364a0b026b40a3bdeba 6 6 { 7 7 private static $loader; … … 25 25 require __DIR__ . '/platform_check.php'; 26 26 27 spl_autoload_register(array('ComposerAutoloaderInit 9692dff78349772716291ed778c512fa', 'loadClassLoader'), true, true);27 spl_autoload_register(array('ComposerAutoloaderInit2b0ec1eb3a471364a0b026b40a3bdeba', 'loadClassLoader'), true, true); 28 28 self::$loader = $loader = new \Composer\Autoload\ClassLoader(\dirname(__DIR__)); 29 spl_autoload_unregister(array('ComposerAutoloaderInit 9692dff78349772716291ed778c512fa', 'loadClassLoader'));29 spl_autoload_unregister(array('ComposerAutoloaderInit2b0ec1eb3a471364a0b026b40a3bdeba', 'loadClassLoader')); 30 30 31 31 require __DIR__ . '/autoload_static.php'; 32 call_user_func(\Composer\Autoload\ComposerStaticInit 9692dff78349772716291ed778c512fa::getInitializer($loader));32 call_user_func(\Composer\Autoload\ComposerStaticInit2b0ec1eb3a471364a0b026b40a3bdeba::getInitializer($loader)); 33 33 34 34 $loader->register(true); 35 35 36 $filesToLoad = \Composer\Autoload\ComposerStaticInit 9692dff78349772716291ed778c512fa::$files;36 $filesToLoad = \Composer\Autoload\ComposerStaticInit2b0ec1eb3a471364a0b026b40a3bdeba::$files; 37 37 $requireFile = \Closure::bind(static function ($fileIdentifier, $file) { 38 38 if (empty($GLOBALS['__composer_autoload_files'][$fileIdentifier])) { -
trigger/tags/1.0.1/vendor/composer/autoload_static.php
r3285526 r3290002 5 5 namespace Composer\Autoload; 6 6 7 class ComposerStaticInit 9692dff78349772716291ed778c512fa7 class ComposerStaticInit2b0ec1eb3a471364a0b026b40a3bdeba 8 8 { 9 9 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',16 10 '91f371b3d06890ec0aa8914ea8cf1bd9' => __DIR__ . '/../..' . '/inc/TriggerGlobals.php', 17 11 ); … … 22 16 'Trigger\\' => 8, 23 17 ), 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 ),47 18 ); 48 19 … … 52 23 0 => __DIR__ . '/../..' . '/inc', 53 24 ), 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 ),87 25 ); 88 26 89 27 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',113 28 'Composer\\InstalledVersions' => __DIR__ . '/..' . '/composer/InstalledVersions.php', 114 29 ); … … 117 32 { 118 33 return \Closure::bind(function () use ($loader) { 119 $loader->prefixLengthsPsr4 = ComposerStaticInit 9692dff78349772716291ed778c512fa::$prefixLengthsPsr4;120 $loader->prefixDirsPsr4 = ComposerStaticInit 9692dff78349772716291ed778c512fa::$prefixDirsPsr4;121 $loader->classMap = ComposerStaticInit 9692dff78349772716291ed778c512fa::$classMap;34 $loader->prefixLengthsPsr4 = ComposerStaticInit2b0ec1eb3a471364a0b026b40a3bdeba::$prefixLengthsPsr4; 35 $loader->prefixDirsPsr4 = ComposerStaticInit2b0ec1eb3a471364a0b026b40a3bdeba::$prefixDirsPsr4; 36 $loader->classMap = ComposerStaticInit2b0ec1eb3a471364a0b026b40a3bdeba::$classMap; 122 37 123 38 }, null, ClassLoader::class); -
trigger/tags/1.0.1/vendor/composer/installed.json
r3285526 r3290002 1 1 { 2 2 "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": false205 }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": false317 }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": false414 }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 },732 3 { 733 4 "name": "ralouphie/getallheaders", … … 776 47 }, 777 48 "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"931 49 } 932 50 ], -
trigger/tags/1.0.1/vendor/composer/installed.php
r3285526 r3290002 11 11 ), 12 12 '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 ),112 13 'ralouphie/getallheaders' => array( 113 14 'pretty_version' => '3.0.3', … … 116 17 'type' => 'library', 117 18 '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',136 19 'aliases' => array(), 137 20 'dev_requirement' => false, -
trigger/tags/1.0.1/vendor/composer/platform_check.php
r3285526 r3290002 5 5 $issues = array(); 6 6 7 if (!(PHP_VERSION_ID >= 80100)) {8 $issues[] = 'Your Composer dependencies require a PHP version ">= 8.1.0". You are running ' . PHP_VERSION . '.';7 if (!(PHP_VERSION_ID >= 70400)) { 8 $issues[] = 'Your Composer dependencies require a PHP version ">= 7.4.0". You are running ' . PHP_VERSION . '.'; 9 9 } 10 10 -
trigger/trunk/composer.json
r3285526 r3290002 21 21 "minimum-stability": "stable", 22 22 "require": { 23 "php": ">=7.4", 24 "aws/aws-sdk-php": "^3.343", 25 "ralouphie/getallheaders": "^3.0" 23 "php": ">=7.4" 26 24 } 27 25 } -
trigger/trunk/inc/Controllers/EmailLogController.php
r3285526 r3290002 276 276 if ( 'ses' === $provider ) { 277 277 $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 ); 279 279 280 280 // $sent = wp_mail( $data['sendTo'], $subject, $message, $headers ); -
trigger/trunk/inc/Controllers/Provider/aws/SesMailer.php
r3285526 r3290002 11 11 namespace Trigger\Controllers\Provider\aws; 12 12 13 use Aws\Ses\SesClient;14 use Aws\Exception\AwsException;15 13 use Trigger\Traits\JsonResponse; 16 14 use Exception; … … 22 20 23 21 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 } 24 92 25 93 /** … … 31 99 * @param array $headers Email headers. 32 100 * @param array $config AWS SES configuration. 101 * @param bool $is_html Whether the message is in HTML format. 33 102 * 34 103 * @return bool|string True on success, error message on failure 35 104 */ 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 ) { 37 106 try { 38 107 // 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 ) { 103 139 return true; 104 140 } 105 141 106 142 return false; 107 } catch ( AwsException $e ) {143 } catch ( Exception $e ) { 108 144 // error_log( 'AWS SES Error: ' . $e->getMessage() ); 109 145 // Check if this is an email verification error … … 123 159 * @return array{success: bool, message: string} Result with success status and message 124 160 */ 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 139 162 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 ) { 162 172 return $this->json_response( 163 173 sprintf( … … 172 182 173 183 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 175 187 return $this->json_response( __( 'Failed to verify email address, please provide valid email address', 'trigger' ), null, 400 ); 176 188 } … … 185 197 */ 186 198 public function get_verified_emails( $config = array() ) { 187 // If no config is provided, get from options188 199 if ( empty( $config ) ) { 189 200 $config = get_option( TRIGGER_DEFAULT_EMAIL_PROVIDER, array() ); … … 198 209 199 210 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 ); 222 231 $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', 228 246 ); 229 247 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 } 236 266 } 237 267 } … … 242 272 'data' => $verified_emails, 243 273 ); 244 } catch ( AwsException $e ) {274 } catch ( Exception $e ) { 245 275 return array( 246 276 'success' => false, … … 251 281 252 282 /** 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 ); 280 355 } 281 356 } -
trigger/trunk/inc/TriggerGlobals.php
r3285526 r3290002 34 34 return false; 35 35 } 36 37 36 return $default_provider; 38 37 } 38 39 /** 40 * Get plugin data 41 * 42 * @return array 43 */ 44 function trigger_get_plugin_data() { 45 define( 'TRIGGER_PLUGIN_INFO', Trigger::plugin_data() ); 46 return Trigger::plugin_data(); 47 } 48 49 trigger_get_plugin_data(); 39 50 40 51 /** … … 110 121 * @param string|string[] $attachments Optional. Paths to files to attach. 111 122 * @return bool Whether the email was sent successfully. 123 * @throws PHPMailer\PHPMailer\Exception When there are issues sending the email. 112 124 */ 113 125 function wp_mail( $to, $subject, $message, $headers = '', $attachments = array() ) { … … 191 203 require_once ABSPATH . WPINC . '/PHPMailer/SMTP.php'; 192 204 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 194 206 195 207 $phpmailer::$validator = static function ( $email ) { … … 488 500 $headers = array_merge( $headers, array( 'Content-Type: text/html' ) ); 489 501 $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 ); 491 503 if ( false === $send ) { 492 504 throw new PHPMailer\PHPMailer\Exception( 'Failed to send email using SES' ); -
trigger/trunk/languages/trigger.pot
r3285526 r3290002 3 3 msgid "" 4 4 msgstr "" 5 "Project-Id-Version: Trigger 1.0.0\n"5 "Project-Id-Version: Trigger SMTP, Mail Logs, Deliver Mails 1.0.1\n" 6 6 "Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/trigger\n" 7 7 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" … … 10 10 "Content-Type: text/plain; charset=UTF-8\n" 11 11 "Content-Transfer-Encoding: 8bit\n" 12 "POT-Creation-Date: 2025-0 4-30T07:17:23+00:00\n"12 "POT-Creation-Date: 2025-05-08T15:37:39+00:00\n" 13 13 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" 14 14 "X-Generator: WP-CLI 2.11.0\n" … … 17 17 #. Plugin Name of the plugin 18 18 #: triggermail.php 19 msgid "Trigger SMTP, Mail Logs, Deliver Mails" 20 msgstr "" 21 22 #. Plugin URI of the plugin 23 #: triggermail.php 24 msgid "https://wptriggermail.com/" 25 msgstr "" 26 27 #. Description of the plugin 28 #: triggermail.php 29 msgid "Trigger for deliver your site email & manage email logs." 30 msgstr "" 31 32 #. Author of the plugin 33 #: triggermail.php 34 msgid "nurwp" 35 msgstr "" 36 19 37 #: inc/Admin/Menu/MainMenu.php:66 20 38 #: inc/Admin/Menu/MainMenu.php:75 21 39 msgid "Trigger" 22 msgstr ""23 24 #. Plugin URI of the plugin25 #: triggermail.php26 msgid "https://wptriggermail.com/"27 msgstr ""28 29 #. Description of the plugin30 #: triggermail.php31 msgid "Trigger for deliver your site email & manage email logs."32 msgstr ""33 34 #. Author of the plugin35 #: triggermail.php36 msgid "nurwp"37 40 msgstr "" 38 41 … … 97 100 msgstr "" 98 101 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 105 msgid "Verification email sent to %s. Please check your inbox and follow the instructions to verify your email address." 106 msgstr "" 107 108 #: inc/Controllers/Provider/aws/SesMailer.php:183 109 #: inc/Controllers/Provider/aws/SesMailerAA.php:170 110 msgid "Failed to verify email address" 111 msgstr "" 112 113 #: inc/Controllers/Provider/aws/SesMailer.php:187 114 #: inc/Controllers/Provider/aws/SesMailerAA.php:172 115 msgid "Failed to verify email address, please provide valid email address" 116 msgstr "" 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 103 123 msgid "AWS SES configuration is missing" 104 124 msgstr "" 105 125 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 129 msgid "Failed to retrieve verified email addresses" 130 msgstr "" 131 132 #: inc/Controllers/Provider/aws/SesMailer.php:271 133 #: inc/Controllers/Provider/aws/SesMailerAA.php:238 134 msgid "Verified email addresses retrieved successfully" 135 msgstr "" 136 137 #: inc/Controllers/Provider/aws/SesMailerAA.php:124 107 138 msgid "Invalid email address" 108 msgstr ""109 110 #. translators: %s: Email address that was verified111 #: inc/Controllers/Provider/aws/SesMailer.php:165112 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:173116 msgid "Failed to verify email address"117 msgstr ""118 119 #: inc/Controllers/Provider/aws/SesMailer.php:175120 msgid "Failed to verify email address, please provide valid email address"121 msgstr ""122 123 #: inc/Controllers/Provider/aws/SesMailer.php:241124 msgid "Verified email addresses retrieved successfully"125 msgstr ""126 127 #: inc/Controllers/Provider/aws/SesMailer.php:247128 msgid "Failed to retrieve verified email addresses"129 139 msgstr "" 130 140 … … 234 244 msgstr "" 235 245 236 #: inc/TriggerGlobals.php: 53246 #: inc/TriggerGlobals.php:64 237 247 msgid "Access denied! Please login to access this feature." 238 248 msgstr "" 239 249 240 #: inc/TriggerGlobals.php: 71250 #: inc/TriggerGlobals.php:82 241 251 msgid "Invalid security token! Please refresh the page and try again." 242 252 msgstr "" 243 253 244 #: inc/TriggerGlobals.php: 79254 #: inc/TriggerGlobals.php:90 245 255 msgid "Verification successful." 246 256 msgstr "" -
trigger/trunk/readme.txt
r3285526 r3290002 5 5 Tested up to: 6.8 6 6 Requires PHP: 7.4 7 Stable tag: 1.0. 07 Stable tag: 1.0.1 8 8 License: GPLv3 or later 9 9 License URI: https://www.gnu.org/licenses/gpl-3.0.html -
trigger/trunk/triggermail.php
r3287932 r3290002 2 2 /** 3 3 * Plugin Name: Trigger SMTP, Mail Logs, Deliver Mails 4 * Version: 1.0. 04 * Version: 1.0.1 5 5 * Requires at least: 5.3 6 6 * Requires PHP: 7.4 … … 17 17 use Trigger\Init; 18 18 use Trigger\Database\Migration; 19 use Trigger\Frontend\Pages\PageManager;20 21 19 22 20 if ( ! class_exists( 'Trigger' ) ) { -
trigger/trunk/vendor/autoload.php
r3285526 r3290002 20 20 require_once __DIR__ . '/composer/autoload_real.php'; 21 21 22 return ComposerAutoloaderInit 9692dff78349772716291ed778c512fa::getLoader();22 return ComposerAutoloaderInit2b0ec1eb3a471364a0b026b40a3bdeba::getLoader(); -
trigger/trunk/vendor/composer/autoload_classmap.php
r3285526 r3290002 7 7 8 8 return 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',32 9 'Composer\\InstalledVersions' => $vendorDir . '/composer/InstalledVersions.php', 33 10 ); -
trigger/trunk/vendor/composer/autoload_files.php
r3285526 r3290002 7 7 8 8 return 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',15 9 '91f371b3d06890ec0aa8914ea8cf1bd9' => $baseDir . '/inc/TriggerGlobals.php', 16 10 ); -
trigger/trunk/vendor/composer/autoload_psr4.php
r3285526 r3290002 8 8 return array( 9 9 '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'),18 10 ); -
trigger/trunk/vendor/composer/autoload_real.php
r3285526 r3290002 3 3 // autoload_real.php @generated by Composer 4 4 5 class ComposerAutoloaderInit 9692dff78349772716291ed778c512fa5 class ComposerAutoloaderInit2b0ec1eb3a471364a0b026b40a3bdeba 6 6 { 7 7 private static $loader; … … 25 25 require __DIR__ . '/platform_check.php'; 26 26 27 spl_autoload_register(array('ComposerAutoloaderInit 9692dff78349772716291ed778c512fa', 'loadClassLoader'), true, true);27 spl_autoload_register(array('ComposerAutoloaderInit2b0ec1eb3a471364a0b026b40a3bdeba', 'loadClassLoader'), true, true); 28 28 self::$loader = $loader = new \Composer\Autoload\ClassLoader(\dirname(__DIR__)); 29 spl_autoload_unregister(array('ComposerAutoloaderInit 9692dff78349772716291ed778c512fa', 'loadClassLoader'));29 spl_autoload_unregister(array('ComposerAutoloaderInit2b0ec1eb3a471364a0b026b40a3bdeba', 'loadClassLoader')); 30 30 31 31 require __DIR__ . '/autoload_static.php'; 32 call_user_func(\Composer\Autoload\ComposerStaticInit 9692dff78349772716291ed778c512fa::getInitializer($loader));32 call_user_func(\Composer\Autoload\ComposerStaticInit2b0ec1eb3a471364a0b026b40a3bdeba::getInitializer($loader)); 33 33 34 34 $loader->register(true); 35 35 36 $filesToLoad = \Composer\Autoload\ComposerStaticInit 9692dff78349772716291ed778c512fa::$files;36 $filesToLoad = \Composer\Autoload\ComposerStaticInit2b0ec1eb3a471364a0b026b40a3bdeba::$files; 37 37 $requireFile = \Closure::bind(static function ($fileIdentifier, $file) { 38 38 if (empty($GLOBALS['__composer_autoload_files'][$fileIdentifier])) { -
trigger/trunk/vendor/composer/autoload_static.php
r3285526 r3290002 5 5 namespace Composer\Autoload; 6 6 7 class ComposerStaticInit 9692dff78349772716291ed778c512fa7 class ComposerStaticInit2b0ec1eb3a471364a0b026b40a3bdeba 8 8 { 9 9 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',16 10 '91f371b3d06890ec0aa8914ea8cf1bd9' => __DIR__ . '/../..' . '/inc/TriggerGlobals.php', 17 11 ); … … 22 16 'Trigger\\' => 8, 23 17 ), 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 ),47 18 ); 48 19 … … 52 23 0 => __DIR__ . '/../..' . '/inc', 53 24 ), 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 ),87 25 ); 88 26 89 27 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',113 28 'Composer\\InstalledVersions' => __DIR__ . '/..' . '/composer/InstalledVersions.php', 114 29 ); … … 117 32 { 118 33 return \Closure::bind(function () use ($loader) { 119 $loader->prefixLengthsPsr4 = ComposerStaticInit 9692dff78349772716291ed778c512fa::$prefixLengthsPsr4;120 $loader->prefixDirsPsr4 = ComposerStaticInit 9692dff78349772716291ed778c512fa::$prefixDirsPsr4;121 $loader->classMap = ComposerStaticInit 9692dff78349772716291ed778c512fa::$classMap;34 $loader->prefixLengthsPsr4 = ComposerStaticInit2b0ec1eb3a471364a0b026b40a3bdeba::$prefixLengthsPsr4; 35 $loader->prefixDirsPsr4 = ComposerStaticInit2b0ec1eb3a471364a0b026b40a3bdeba::$prefixDirsPsr4; 36 $loader->classMap = ComposerStaticInit2b0ec1eb3a471364a0b026b40a3bdeba::$classMap; 122 37 123 38 }, null, ClassLoader::class); -
trigger/trunk/vendor/composer/installed.json
r3285526 r3290002 1 1 { 2 2 "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": false205 }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": false317 }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": false414 }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 },732 3 { 733 4 "name": "ralouphie/getallheaders", … … 776 47 }, 777 48 "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"931 49 } 932 50 ], -
trigger/trunk/vendor/composer/installed.php
r3285526 r3290002 11 11 ), 12 12 '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 ),112 13 'ralouphie/getallheaders' => array( 113 14 'pretty_version' => '3.0.3', … … 116 17 'type' => 'library', 117 18 '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',136 19 'aliases' => array(), 137 20 'dev_requirement' => false, -
trigger/trunk/vendor/composer/platform_check.php
r3285526 r3290002 5 5 $issues = array(); 6 6 7 if (!(PHP_VERSION_ID >= 80100)) {8 $issues[] = 'Your Composer dependencies require a PHP version ">= 8.1.0". You are running ' . PHP_VERSION . '.';7 if (!(PHP_VERSION_ID >= 70400)) { 8 $issues[] = 'Your Composer dependencies require a PHP version ">= 7.4.0". You are running ' . PHP_VERSION . '.'; 9 9 } 10 10
Note: See TracChangeset
for help on using the changeset viewer.