Files
shopPRO/cron-turstmate.php
Jacek Pyziak 69e78ca248 ver. 0.294: Remove all 12 legacy autoload/shop/ classes (~2363 lines)
Complete Domain-Driven Architecture migration:
- Phase 1-4: Transport, ProductSet, Coupon, Shop, Search, Basket,
  ProductCustomField, Category, ProductAttribute, Promotion
- Phase 5: Order (~562 lines) + Product (~952 lines)
- ~20 Product methods migrated to ProductRepository
- Apilo sync migrated to OrderAdminService
- Production hotfixes: stale Redis cache (prices 0.00), unqualified
  Product:: refs in LayoutEngine, object->array template conversion
- AttributeRepository::getAttributeValueById() Redis cache added

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-18 02:05:39 +01:00

98 lines
3.1 KiB
PHP

<?php
error_reporting( E_ALL ^ E_NOTICE ^ E_STRICT ^ E_WARNING ^ E_DEPRECATED );
function __autoload_my_classes( $classname )
{
$q = explode( '\\', $classname );
$c = array_pop( $q );
$f = 'autoload/' . implode( '/', $q ) . '/class.' . $c . '.php';
if ( file_exists( $f ) )
require_once( $f );
else
{
$f = 'autoload/' . implode( '/', $q ) . '/' . $c . '.php';
if ( file_exists( $f ) )
require_once( $f );
}
}
spl_autoload_register( '__autoload_my_classes' );
date_default_timezone_set( 'Europe/Warsaw' );
require_once 'config.php';
require_once 'libraries/medoo/medoo.php';
require_once 'libraries/phpmailer/class.phpmailer.php';
require_once 'libraries/phpmailer/class.smtp.php';
session_start();
if ( !isset( $_SESSION[ 'check' ] ) )
{
session_regenerate_id();
$_SESSION[ 'check' ] = true;
$_SESSION[ 'ip' ] = $_SERVER[ 'REMOTE_ADDR' ];
}
if ( $_SESSION[ 'ip' ] !== $_SERVER[ 'REMOTE_ADDR' ] )
{
session_destroy();
header( 'Location: /' );
exit;
}
$mdb = new medoo( [
'database_type' => 'mysql',
'database_name' => $database[ 'name' ],
'server' => $database[ 'host' ],
'username' => $database[ 'user' ],
'password' => $database[ 'password' ],
'charset' => 'utf8'
] );
if ( !$config['trustmate']['enabled'] )
{
echo 'TrustMate is not enabled.';
exit;
}
$settings = ( new \Domain\Settings\SettingsRepository( $mdb ) )->allSettings();
$order_id = $mdb -> get( 'pp_shop_orders', '*', [ 'AND' => [ 'status' => 6, 'trustmate_send' => 0 ] ] );
if ( is_array( $order_id ) and $order_id['id'] )
{
$order = ( new \Domain\Order\OrderRepository( $mdb ) )->orderDetailsFrontend( $order_id['id'] );
?>
<!DOCTYPE html>
<head>
<meta charset="utf-8">
<title>TrustMate Cron</title>
<script>
TRUST_MATE_USER_NAME = '<?= $order['client_name'];?>';
TRUST_MATE_USER_EMAIL = '<?= $order['client_email'];?>';
TRUST_MATE_ORDER_NUMBER = '<?= $order['id'];?>';
TRUST_MATE_COMPANY_UUID = '<?= $config['trustmate']['uid'];?>';
TRUSTMATE_PRODUCTS = [
<? foreach ( $order['products'] as $product ):?>
{
'local_id': <?= (int)$product['product_id'];?>,
'name': '<?= $product['name'];?>',
'product_url': 'https://pomysloweprezenty.pl<?= \front\Views\ShopProduct::productUrl( ( new \Domain\Product\ProductRepository( $mdb ) )->findCached( $product['product_id'], 'pl' ) );?>',
"image_url": "https://pomysloweprezenty.pl<?= ( new \Domain\Product\ProductRepository( $mdb ) )->getFirstImageCached( (int)$product['product_id'] );?>"
}<? if ( $product != end( $order['products'] ) ) echo ',';?>
<? endforeach;?>
];
</script>
<script type="text/javascript" src='https://trustmate.io/api/invitation/script'></script>
</script>
</head>
<body>
<h1>TrustMate Cron</h1>
<p>Wysłano zaproszenie do TrustMate dla zamówienia nr <?= $order['id'];?>.</p>
<?
$mdb -> update( 'pp_shop_orders', [ 'trustmate_send' => 1 ], [ 'id' => $order['id'] ] );
?>
</body>
</html>
<?
}