Files
2026-04-28 15:13:50 +02:00

151 lines
4.8 KiB
PHP

<?php
/**
* The public-facing functionality of the plugin.
*
* @link https://example.com
* @since 1.0.0
*
* @package Polkurier
* @subpackage Polkurier/public
*/
/**
* The public-facing functionality of the plugin.
*
* Defines the plugin name, version, and two examples hooks for how to
* enqueue the public-facing stylesheet and JavaScript.
*
* @package Polkurier
* @subpackage Polkurier/public
* @author Polkurier <test@example.com>
*/
class Polkurier_Public
{
/**
* The ID of this plugin.
*
* @since 1.0.0
* @access private
* @var string $plugin_name The ID of this plugin.
*/
private $plugin_name;
/**
* The version of this plugin.
*
* @since 1.0.0
* @access private
* @var string $version The current version of this plugin.
*/
private $version;
/**
* Initialize the class and set its properties.
*
* @since 1.0.0
* @param string $plugin_name The name of the plugin.
* @param string $version The version of this plugin.
*/
public function __construct($plugin_name, $version)
{
$this->plugin_name = $plugin_name;
$this->version = $version;
}
/**
* Register the stylesheets for the public-facing side of the site.
*
* @since 1.0.0
*/
public function enqueue_styles()
{
/**
* This function is provided for demonstration purposes only.
*
* An instance of this class should be passed to the run() function
* defined in Polkurier_Loader as all of the hooks are defined
* in that particular class.
*
* The Polkurier_Loader will then create the relationship
* between the defined hooks and the functions defined in this
* class.
*/
// wp_enqueue_style($this->plugin_name, plugin_dir_url(__FILE__) . 'css/polkurier-public.css', array(), $this->version, 'all');
}
/**
* Register the JavaScript for the public-facing side of the site.
*
* @since 1.0.0
*/
public function enqueue_scripts()
{
/**
* This function is provided for demonstration purposes only.
*
* An instance of this class should be passed to the run() function
* defined in Polkurier_Loader as all of the hooks are defined
* in that particular class.
*
* The Polkurier_Loader will then create the relationship
* between the defined hooks and the functions defined in this
* class.
*/
// wp_enqueue_script($this->plugin_name, plugin_dir_url(__FILE__) . 'js/polkurier-public.śjs', array('jquery'), $this->version, false);
}
public function register_shipping_method()
{
require_once plugin_dir_path(__FILE__) . '../includes/WC_Polkurier_Shipping_Method.php';
$methods['polkurier_method'] = 'WC_Polkurier_Shipping_Method';
return $methods;
}
public function create_polkurier_order($order)
{
$polkurier_package_id = $_REQUEST["shipping_method"][0];
$current_date = gmdate('Y-m-d\TH:i:s.u\Z');
$price = $order->get_shipping_total();
$receiver = array(
'companyName' => $order->get_shipping_company(),
'name' => $order->get_shipping_first_name(),
'surname' => $order->get_shipping_last_name(),
'street' => $order->get_shipping_address_1(),
'number' => $order->get_shipping_address_2(),
'city' => $order->get_shipping_city(),
'zipCode' => $order->get_shipping_postcode(),
'phoneNumber' => $order->get_billing_phone(),
);
$sender = array(
'companyName' => get_option('polkurier_sender_company'),
'name' => get_option('polkurier_sender_name'),
'surname' => get_option('polkurier_sender_surname'),
'street' => get_option('polkurier_sender_street'),
'number' => get_option('polkurier_sender_number'),
'city' => get_option('polkurier_sender_city'),
'zipCode' => get_option('polkurier_sender_zipcode'),
'phoneNumber' => get_option('polkurier_phone_number'),
);
$payFromBalance = get_option('polkurier_use_polkurier_balance');
$params = array(
'postDate' => $current_date,
'receiveDate' => $current_date,
'size' => $order->get_shipping_method(),
'sender' => $sender,
'receiver' => $receiver,
'payFromBalance' => $payFromBalance,
'setting' => $polkurier_package_id,
);
require_once plugin_dir_path(__FILE__) . '../includes/PolkurierAPI.php';
$api = new PolkurierAPI(get_option('polkurier_apikey'));
$api->createPackage($params);
}
}