<?php
use shop\Order;

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 );
}

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 = \front\factory\Settings::settings_details();

$order_id = $mdb -> get( 'pp_shop_orders', '*', [ 'AND' => [ 'status' => 6, 'trustmate_send' => 0 ] ] );
if ( is_array( $order_id ) and $order_id['id'] )
{
  $order = \front\factory\ShopOrder::order_details( $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\factory\ShopProduct::product_url( new \shop\Product( $product['product_id'] ) );?>',
                "image_url": "https://pomysloweprezenty.pl<?= \front\factory\ShopProduct::product_image( $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>
  <?
}