Descripción: Se ha realizado una refactorización mayor del sistema de notificaciones y generación de comprobantes para eliminar dependencias legacy (Imagick/FTP) y modernizar la arquitectura. 🚀 Nuevas Características (Features) Microservicio PDF (pdf-cropper): Nuevo servicio en Python (FastAPI + Poppler) desplegado en Docker (Puerto 8050) para la conversión de PDF a Imagen. Reemplaza la librería Imagick de PHP, aislando el procesamiento pesado fuera del plugin. Modo Full: Garantiza la conversión del PDF completo respetando su relación de aspecto original (sin recortes ni "square crop"). Overlay de Texto: Capacidad nativa en el backend para sobreescribir texto dinámicamente (ej. cambiar "Tarjeta de crédito Stripe" por "OXXO Pay") basado en parámetros. Integración S3 / MinIO: Implementación de MinioStorageService . Los comprobantes (JPG) y Vouchers OXXO se suben automáticamente a MinIO en lugar de usar FTP. Generación de URLs públicas seguras. 🧹 Mantenimiento y Limpieza (Chores/Refactor) Limpieza Automática (Cleanup): Se implementó lógica para eliminar archivos temporales locales (PDFs descargados, JPGs generados) inmediatamente después de una subida exitosa a MinIO. Aplica tanto para comprobantes de pago como para Vouchers OXXO. Refactor ClientCallBellAPI : Eliminación de código muerto relacionado con FTP de WordPress. Implementación de cliente HTTP Guzzle para comunicación con pdf-cropper. Cache Busting: Se añade Timestamp al nombre de archivo (_time()) para evitar caché agresivo en WhatsApp/Navegadores. Detección de Método: Lógica preliminar para detectar "OXXO" o "Transferencia" en notas de pago y aplicar Overlay. Docker Infraestructura: Actualización de docker-compose.yml para incluir pdf-cropper. Instalación de fuentes (fonts-dejavu-core) para renderizado correcto de texto. 🐛 Correcciones (Bug Fixes) Fix Recorte de Imagen: Se eliminó la restricción de relación de aspecto 1:1 (cuadrado) que cortaba headers y footers en documentos rectangulares. Standardización de Notas: Actualización de AbstractStripeOperationsFacade para incluir explícitamente "OXXO" o "Transferencia" en las notas de pago de UCRM (preparación para lógica de plantillas).
270 lines
11 KiB
PHP
Executable File
270 lines
11 KiB
PHP
Executable File
<?php
|
|
|
|
// autoload_static.php @generated by Composer
|
|
|
|
namespace Composer\Autoload;
|
|
|
|
class ComposerStaticInitd6442a7ec79f2f43fc97d16bdcdd18ee
|
|
{
|
|
public static $files = array (
|
|
'7b11c4dc42b3b3023073cb14e519683c' => __DIR__ . '/..' . '/ralouphie/getallheaders/src/getallheaders.php',
|
|
'6e3fae29631ef280660b3cdad06f25a8' => __DIR__ . '/..' . '/symfony/deprecation-contracts/function.php',
|
|
'37a3dc5111fe8f707ab4c132ef1dbc62' => __DIR__ . '/..' . '/guzzlehttp/guzzle/src/functions_include.php',
|
|
'0e6d7bf4a5811bfa5cf40c5ccd6fae6a' => __DIR__ . '/..' . '/symfony/polyfill-mbstring/bootstrap.php',
|
|
'320cde22f66dd4f5d3fd621d3e88b98f' => __DIR__ . '/..' . '/symfony/polyfill-ctype/bootstrap.php',
|
|
'1f87db08236948d07391152dccb70f04' => __DIR__ . '/..' . '/google/apiclient-services/autoload.php',
|
|
'b067bc7112e384b61c701452d53a14a8' => __DIR__ . '/..' . '/mtdowling/jmespath.php/src/JmesPath.php',
|
|
'decc78cc4436b1292c6c0d151b19445c' => __DIR__ . '/..' . '/phpseclib/phpseclib/phpseclib/bootstrap.php',
|
|
'8a9dc1de0ca7e01f3e08231539562f61' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/functions.php',
|
|
'a8d3953fd9959404dd22d3dfcd0a79f0' => __DIR__ . '/..' . '/google/apiclient/src/aliases.php',
|
|
'b33e3d135e5d9e47d845c576147bda89' => __DIR__ . '/..' . '/php-di/php-di/src/functions.php',
|
|
);
|
|
|
|
public static $prefixLengthsPsr4 = array (
|
|
'p' =>
|
|
array (
|
|
'phpseclib3\\' => 11,
|
|
),
|
|
'U' =>
|
|
array (
|
|
'Ubnt\\' => 5,
|
|
),
|
|
'T' =>
|
|
array (
|
|
'Twilio\\' => 7,
|
|
),
|
|
'S' =>
|
|
array (
|
|
'Symfony\\Polyfill\\Mbstring\\' => 26,
|
|
'Symfony\\Polyfill\\Ctype\\' => 23,
|
|
'Symfony\\Component\\Filesystem\\' => 29,
|
|
'Stripe\\' => 7,
|
|
'SmsNotifier\\' => 12,
|
|
),
|
|
'P' =>
|
|
array (
|
|
'Psr\\Log\\' => 8,
|
|
'Psr\\Http\\Message\\' => 17,
|
|
'Psr\\Http\\Client\\' => 16,
|
|
'Psr\\Container\\' => 14,
|
|
'Psr\\Cache\\' => 10,
|
|
'ParagonIE\\ConstantTime\\' => 23,
|
|
),
|
|
'M' =>
|
|
array (
|
|
'Monolog\\' => 8,
|
|
),
|
|
'L' =>
|
|
array (
|
|
'Laravel\\SerializableClosure\\' => 28,
|
|
),
|
|
'K' =>
|
|
array (
|
|
'Katzgrau\\KLogger\\' => 17,
|
|
),
|
|
'J' =>
|
|
array (
|
|
'JmesPath\\' => 9,
|
|
),
|
|
'I' =>
|
|
array (
|
|
'Invoker\\' => 8,
|
|
),
|
|
'G' =>
|
|
array (
|
|
'GuzzleHttp\\Psr7\\' => 16,
|
|
'GuzzleHttp\\Promise\\' => 19,
|
|
'GuzzleHttp\\' => 11,
|
|
'Google\\Service\\' => 15,
|
|
'Google\\Auth\\' => 12,
|
|
'Google\\' => 7,
|
|
),
|
|
'F' =>
|
|
array (
|
|
'Firebase\\JWT\\' => 13,
|
|
),
|
|
'D' =>
|
|
array (
|
|
'DI\\' => 3,
|
|
),
|
|
'A' =>
|
|
array (
|
|
'Aws\\' => 4,
|
|
),
|
|
);
|
|
|
|
public static $prefixDirsPsr4 = array (
|
|
'phpseclib3\\' =>
|
|
array (
|
|
0 => __DIR__ . '/..' . '/phpseclib/phpseclib/phpseclib',
|
|
),
|
|
'Ubnt\\' =>
|
|
array (
|
|
0 => __DIR__ . '/..' . '/ubnt/ucrm-plugin-sdk/src',
|
|
),
|
|
'Twilio\\' =>
|
|
array (
|
|
0 => __DIR__ . '/..' . '/twilio/sdk/src/Twilio',
|
|
),
|
|
'Symfony\\Polyfill\\Mbstring\\' =>
|
|
array (
|
|
0 => __DIR__ . '/..' . '/symfony/polyfill-mbstring',
|
|
),
|
|
'Symfony\\Polyfill\\Ctype\\' =>
|
|
array (
|
|
0 => __DIR__ . '/..' . '/symfony/polyfill-ctype',
|
|
),
|
|
'Symfony\\Component\\Filesystem\\' =>
|
|
array (
|
|
0 => __DIR__ . '/..' . '/symfony/filesystem',
|
|
),
|
|
'Stripe\\' =>
|
|
array (
|
|
0 => __DIR__ . '/..' . '/stripe/stripe-php/lib',
|
|
),
|
|
'SmsNotifier\\' =>
|
|
array (
|
|
0 => __DIR__ . '/../..' . '/src',
|
|
),
|
|
'Psr\\Log\\' =>
|
|
array (
|
|
0 => __DIR__ . '/..' . '/psr/log/Psr/Log',
|
|
),
|
|
'Psr\\Http\\Message\\' =>
|
|
array (
|
|
0 => __DIR__ . '/..' . '/psr/http-factory/src',
|
|
1 => __DIR__ . '/..' . '/psr/http-message/src',
|
|
),
|
|
'Psr\\Http\\Client\\' =>
|
|
array (
|
|
0 => __DIR__ . '/..' . '/psr/http-client/src',
|
|
),
|
|
'Psr\\Container\\' =>
|
|
array (
|
|
0 => __DIR__ . '/..' . '/psr/container/src',
|
|
),
|
|
'Psr\\Cache\\' =>
|
|
array (
|
|
0 => __DIR__ . '/..' . '/psr/cache/src',
|
|
),
|
|
'ParagonIE\\ConstantTime\\' =>
|
|
array (
|
|
0 => __DIR__ . '/..' . '/paragonie/constant_time_encoding/src',
|
|
),
|
|
'Monolog\\' =>
|
|
array (
|
|
0 => __DIR__ . '/..' . '/monolog/monolog/src/Monolog',
|
|
),
|
|
'Laravel\\SerializableClosure\\' =>
|
|
array (
|
|
0 => __DIR__ . '/..' . '/laravel/serializable-closure/src',
|
|
),
|
|
'Katzgrau\\KLogger\\' =>
|
|
array (
|
|
0 => __DIR__ . '/..' . '/katzgrau/klogger/src',
|
|
),
|
|
'JmesPath\\' =>
|
|
array (
|
|
0 => __DIR__ . '/..' . '/mtdowling/jmespath.php/src',
|
|
),
|
|
'Invoker\\' =>
|
|
array (
|
|
0 => __DIR__ . '/..' . '/php-di/invoker/src',
|
|
),
|
|
'GuzzleHttp\\Psr7\\' =>
|
|
array (
|
|
0 => __DIR__ . '/..' . '/guzzlehttp/psr7/src',
|
|
),
|
|
'GuzzleHttp\\Promise\\' =>
|
|
array (
|
|
0 => __DIR__ . '/..' . '/guzzlehttp/promises/src',
|
|
),
|
|
'GuzzleHttp\\' =>
|
|
array (
|
|
0 => __DIR__ . '/..' . '/guzzlehttp/guzzle/src',
|
|
),
|
|
'Google\\Service\\' =>
|
|
array (
|
|
0 => __DIR__ . '/..' . '/google/apiclient-services/src',
|
|
),
|
|
'Google\\Auth\\' =>
|
|
array (
|
|
0 => __DIR__ . '/..' . '/google/auth/src',
|
|
),
|
|
'Google\\' =>
|
|
array (
|
|
0 => __DIR__ . '/..' . '/google/apiclient/src',
|
|
),
|
|
'Firebase\\JWT\\' =>
|
|
array (
|
|
0 => __DIR__ . '/..' . '/firebase/php-jwt/src',
|
|
),
|
|
'DI\\' =>
|
|
array (
|
|
0 => __DIR__ . '/..' . '/php-di/php-di/src',
|
|
),
|
|
'Aws\\' =>
|
|
array (
|
|
0 => __DIR__ . '/..' . '/aws/aws-sdk-php/src',
|
|
),
|
|
);
|
|
|
|
public static $classMap = array (
|
|
'AWS\\CRT\\Auth\\AwsCredentials' => __DIR__ . '/..' . '/aws/aws-crt-php/src/AWS/CRT/Auth/AwsCredentials.php',
|
|
'AWS\\CRT\\Auth\\CredentialsProvider' => __DIR__ . '/..' . '/aws/aws-crt-php/src/AWS/CRT/Auth/CredentialsProvider.php',
|
|
'AWS\\CRT\\Auth\\Signable' => __DIR__ . '/..' . '/aws/aws-crt-php/src/AWS/CRT/Auth/Signable.php',
|
|
'AWS\\CRT\\Auth\\SignatureType' => __DIR__ . '/..' . '/aws/aws-crt-php/src/AWS/CRT/Auth/SignatureType.php',
|
|
'AWS\\CRT\\Auth\\SignedBodyHeaderType' => __DIR__ . '/..' . '/aws/aws-crt-php/src/AWS/CRT/Auth/SignedBodyHeaderType.php',
|
|
'AWS\\CRT\\Auth\\Signing' => __DIR__ . '/..' . '/aws/aws-crt-php/src/AWS/CRT/Auth/Signing.php',
|
|
'AWS\\CRT\\Auth\\SigningAlgorithm' => __DIR__ . '/..' . '/aws/aws-crt-php/src/AWS/CRT/Auth/SigningAlgorithm.php',
|
|
'AWS\\CRT\\Auth\\SigningConfigAWS' => __DIR__ . '/..' . '/aws/aws-crt-php/src/AWS/CRT/Auth/SigningConfigAWS.php',
|
|
'AWS\\CRT\\Auth\\SigningResult' => __DIR__ . '/..' . '/aws/aws-crt-php/src/AWS/CRT/Auth/SigningResult.php',
|
|
'AWS\\CRT\\Auth\\StaticCredentialsProvider' => __DIR__ . '/..' . '/aws/aws-crt-php/src/AWS/CRT/Auth/StaticCredentialsProvider.php',
|
|
'AWS\\CRT\\CRT' => __DIR__ . '/..' . '/aws/aws-crt-php/src/AWS/CRT/CRT.php',
|
|
'AWS\\CRT\\HTTP\\Headers' => __DIR__ . '/..' . '/aws/aws-crt-php/src/AWS/CRT/HTTP/Headers.php',
|
|
'AWS\\CRT\\HTTP\\Message' => __DIR__ . '/..' . '/aws/aws-crt-php/src/AWS/CRT/HTTP/Message.php',
|
|
'AWS\\CRT\\HTTP\\Request' => __DIR__ . '/..' . '/aws/aws-crt-php/src/AWS/CRT/HTTP/Request.php',
|
|
'AWS\\CRT\\HTTP\\Response' => __DIR__ . '/..' . '/aws/aws-crt-php/src/AWS/CRT/HTTP/Response.php',
|
|
'AWS\\CRT\\IO\\EventLoopGroup' => __DIR__ . '/..' . '/aws/aws-crt-php/src/AWS/CRT/IO/EventLoopGroup.php',
|
|
'AWS\\CRT\\IO\\InputStream' => __DIR__ . '/..' . '/aws/aws-crt-php/src/AWS/CRT/IO/InputStream.php',
|
|
'AWS\\CRT\\Internal\\Encoding' => __DIR__ . '/..' . '/aws/aws-crt-php/src/AWS/CRT/Internal/Encoding.php',
|
|
'AWS\\CRT\\Internal\\Extension' => __DIR__ . '/..' . '/aws/aws-crt-php/src/AWS/CRT/Internal/Extension.php',
|
|
'AWS\\CRT\\Log' => __DIR__ . '/..' . '/aws/aws-crt-php/src/AWS/CRT/Log.php',
|
|
'AWS\\CRT\\NativeResource' => __DIR__ . '/..' . '/aws/aws-crt-php/src/AWS/CRT/NativeResource.php',
|
|
'AWS\\CRT\\OptionValue' => __DIR__ . '/..' . '/aws/aws-crt-php/src/AWS/CRT/Options.php',
|
|
'AWS\\CRT\\Options' => __DIR__ . '/..' . '/aws/aws-crt-php/src/AWS/CRT/Options.php',
|
|
'Composer\\InstalledVersions' => __DIR__ . '/..' . '/composer/InstalledVersions.php',
|
|
'Google_AccessToken_Revoke' => __DIR__ . '/..' . '/google/apiclient/src/aliases.php',
|
|
'Google_AccessToken_Verify' => __DIR__ . '/..' . '/google/apiclient/src/aliases.php',
|
|
'Google_AuthHandler_AuthHandlerFactory' => __DIR__ . '/..' . '/google/apiclient/src/aliases.php',
|
|
'Google_AuthHandler_Guzzle6AuthHandler' => __DIR__ . '/..' . '/google/apiclient/src/aliases.php',
|
|
'Google_AuthHandler_Guzzle7AuthHandler' => __DIR__ . '/..' . '/google/apiclient/src/aliases.php',
|
|
'Google_Client' => __DIR__ . '/..' . '/google/apiclient/src/aliases.php',
|
|
'Google_Collection' => __DIR__ . '/..' . '/google/apiclient/src/aliases.php',
|
|
'Google_Exception' => __DIR__ . '/..' . '/google/apiclient/src/aliases.php',
|
|
'Google_Http_Batch' => __DIR__ . '/..' . '/google/apiclient/src/aliases.php',
|
|
'Google_Http_MediaFileUpload' => __DIR__ . '/..' . '/google/apiclient/src/aliases.php',
|
|
'Google_Http_REST' => __DIR__ . '/..' . '/google/apiclient/src/aliases.php',
|
|
'Google_Model' => __DIR__ . '/..' . '/google/apiclient/src/aliases.php',
|
|
'Google_Service' => __DIR__ . '/..' . '/google/apiclient/src/aliases.php',
|
|
'Google_Service_Exception' => __DIR__ . '/..' . '/google/apiclient/src/aliases.php',
|
|
'Google_Service_Resource' => __DIR__ . '/..' . '/google/apiclient/src/aliases.php',
|
|
'Google_Task_Composer' => __DIR__ . '/..' . '/google/apiclient/src/aliases.php',
|
|
'Google_Task_Exception' => __DIR__ . '/..' . '/google/apiclient/src/aliases.php',
|
|
'Google_Task_Retryable' => __DIR__ . '/..' . '/google/apiclient/src/aliases.php',
|
|
'Google_Task_Runner' => __DIR__ . '/..' . '/google/apiclient/src/aliases.php',
|
|
'Google_Utils_UriTemplate' => __DIR__ . '/..' . '/google/apiclient/src/aliases.php',
|
|
'Katzgrau\\KLogger\\Logger' => __DIR__ . '/..' . '/katzgrau/klogger/src/Logger.php',
|
|
);
|
|
|
|
public static function getInitializer(ClassLoader $loader)
|
|
{
|
|
return \Closure::bind(function () use ($loader) {
|
|
$loader->prefixLengthsPsr4 = ComposerStaticInitd6442a7ec79f2f43fc97d16bdcdd18ee::$prefixLengthsPsr4;
|
|
$loader->prefixDirsPsr4 = ComposerStaticInitd6442a7ec79f2f43fc97d16bdcdd18ee::$prefixDirsPsr4;
|
|
$loader->classMap = ComposerStaticInitd6442a7ec79f2f43fc97d16bdcdd18ee::$classMap;
|
|
|
|
}, null, ClassLoader::class);
|
|
}
|
|
}
|