Files
carpseeds.pl/wp-content/plugins/woo-inpost/classes/admin/class-shipment-manager.php
2024-07-15 11:28:08 +02:00

109 lines
6.0 KiB
PHP

<?php
/**
* EasyPack Shipment Manager
*
* @author WPDesk
* @category Admin
* @package EasyPack/Admin
* @version 2.1.0
*/
if ( ! defined( 'ABSPATH' ) ) {
exit; // Exit if accessed directly
}
if ( ! class_exists( 'EasyPack_Shipment_Manager' ) ) :
/**
* EasyPack_Shipment_Manager
*/
class EasyPack_Shipment_Manager {
public static function init() {
add_action( 'admin_menu', array( __CLASS__, 'admin_menu' ) );
}
public static function admin_menu() {
global $menu;
$menu_pos = 56;
while ( isset( $menu[$menu_pos] ) ) {
$menu_pos++;
}
if ( EasyPack_API()->api_country() != '--' ) {
$icon_svg = 'data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIj8+Cjxzdmcgd2lkdGg9IjI0Ni45OTk5OTk5OTk5OTk5NyIgaGVpZ2h0PSIyMjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6c3ZnPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiA8Zz4KICA8dGl0bGU+TGF5ZXIgMTwvdGl0bGU+CiAgPGcgaWQ9InN2Z18xIiBzdHJva2U9Im51bGwiPgogICA8cGF0aCBpZD0ic3ZnXzciIGQ9Im0xMDEuNTYxMDQsMTEwLjY3NDkyYzAsMCAtMTEuNjQ2MzcsNC41MDMxIC0yNi4wMTU5LDQuNTAzMWMtMTQuMzY4MTQsMCAtMjYuMDE1OSwtNC41MDMxIC0yNi4wMTU5LC00LjUwMzFzMTEuNjQ3NzUsLTQuNTAwMzMgMjYuMDE1OSwtNC41MDAzM2MxNC4zNjk1MywwIDI2LjAxNTksNC41MDAzMyAyNi4wMTU5LDQuNTAwMzMiIGZpbGw9IiNGRkNDMDAiIHN0cm9rZT0ibnVsbCIvPgogICA8cGF0aCBpZD0ic3ZnXzgiIGQ9Im0xMzcuNTM0NjUsNDQuNDYwM2MwLDAgLTEwLjMyMDA2LC02Ljk0OTY1IC0xOC4zNTM5OSwtMTguNjI3ODNjLTguMDMzOTQsLTExLjY3NjggLTEwLjc0MDUsLTIzLjY1OTI0IC0xMC43NDA1LC0yMy42NTkyNHMxMC4zMTg2OCw2Ljk0ODI3IDE4LjM1Mzk5LDE4LjYyNTA3YzguMDMzOTQsMTEuNjc5NTYgMTAuNzQwNSwyMy42NjIwMSAxMC43NDA1LDIzLjY2MjAxIiBmaWxsPSIjRkZDQzAwIiBzdHJva2U9Im51bGwiLz4KICAgPHBhdGggaWQ9InN2Z185IiBkPSJtMTExLjE4NjgzLDczLjAzMjAxYzAsMCAtMTIuNDM4ODQsLTEuMzg1NzggLTI1LjEyNTI0LC03Ljk5OTM2Yy0xMi42ODY0LC02LjYxMjIgLTIwLjgxNDM4LC0xNS45NDc1NSAtMjAuODE0MzgsLTE1Ljk0NzU1czEyLjQzODg0LDEuMzg1NzggMjUuMTI1MjQsNy45OTkzNmMxMi42ODY0LDYuNjEyMiAyMC44MTQzOCwxNS45NDc1NSAyMC44MTQzOCwxNS45NDc1NSIgZmlsbD0iI0ZGQ0MwMCIgc3Ryb2tlPSJudWxsIi8+CiAgIDxwYXRoIGlkPSJzdmdfMTAiIGQ9Im0xMzUuNzU4ODYsMTMwLjc2ODc1YzcuNTI5MTMsLTIuMjg0NzQgMTMuOTA0ODMsLTUuNjE5MTkgMTMuOTA0ODMsLTUuNjE5MTlzLTE3LjczNTc5LC00LjkzMDQ1IC0xNi40MzU3NSwtMjMuNDU0NTVjNC4wNzI5OCwtMzAuMzk3MjkgMjguNjgzNzQsLTU0LjI2MTIyIDU5LjQ5NDU1LC01OC4xMDMyM2MtMy4yNjgwNiwtMC40NTA4NiAtNi42MDUyOCwtMC42ODczNiAtMTAuMDAxOTcsLTAuNjcyMTVjLTM4LjEwODk4LDAuMTY4NzMgLTY4Ljg2MzA5LDMwLjU5NTA2IC02OC42OTE2LDY3Ljk1NzIyYzAuMTcwMTEsMzcuMzYwNzcgMzEuMjA0OTcsNjcuNTEwNSA2OS4zMTI1Nyw2Ny4zNDMxNmMzLjE3ODE3LC0wLjAxMzgzIDYuMzAxMDIsLTAuMjU3MjQgOS4zNjMwMSwtMC42Nzc2OGMtMjcuMDQwNzEsLTMuMzc4NzEgLTQ5LjA1MDAyLC0yMi4wNzE1NCAtNTYuOTQ1NjUsLTQ2Ljc3MzU3bDAuMDAwMDEsLTAuMDAwMDF6IiBmaWxsPSIjRkZDQzAwIi8+CiAgIDxwYXRoIGlkPSJzdmdfMTEiIGQ9Im0xMzcuNTM0NjUsMTc2LjYzMjNjMCwwIC0xMC4zMjAwNiw2Ljk0OTY1IC0xOC4zNTM5OSwxOC42MjkyMWMtOC4wMzM5NCwxMS42NzU0MSAtMTAuNzQwNSwyMy42NjA2MiAtMTAuNzQwNSwyMy42NjA2MnMxMC4zMTg2OCwtNi45NDk2NSAxOC4zNTM5OSwtMTguNjI3ODNjOC4wMzM5NCwtMTEuNjc2OCAxMC43NDA1LC0yMy42NjIwMSAxMC43NDA1LC0yMy42NjIwMSIgZmlsbD0iI0ZGQ0MwMCIgc3Ryb2tlPSJudWxsIi8+CiAgIDxwYXRoIGlkPSJzdmdfMTIiIGQ9Im0xMTEuMTg2ODMsMTQ4LjA2MTk3YzAsMCAtMTIuNDM4ODQsMS4zODU3OCAtMjUuMTI1MjQsNy45OTkzNmMtMTIuNjg2NCw2LjYxMDgxIC0yMC44MTQzOCwxNS45NDYxNyAtMjAuODE0MzgsMTUuOTQ2MTdzMTIuNDM4ODQsLTEuMzg1NzggMjUuMTI1MjQsLTcuOTk3OThzMjAuODE0MzgsLTE1Ljk0NzU1IDIwLjgxNDM4LC0xNS45NDc1NSIgZmlsbD0iI0ZGQ0MwMCIgc3Ryb2tlPSJudWxsIi8+CiAgPC9nPgogPC9nPgo8L3N2Zz4=';
add_menu_page( __('InPost', EasyPack::$text_domain ), __('InPost', EasyPack::$text_domain ), 'manage_options', 'inpost', null, $icon_svg, $menu_pos );
add_submenu_page( 'inpost', __( 'Shipments', EasyPack::$text_domain ), __( 'Shipments', EasyPack::$text_domain ), 'manage_options', 'easypack_shipment', array( __CLASS__, 'easypack_shipment' ) );
if ( EasyPack_API()->api_country() == 'PL' ) {
add_submenu_page( 'inpost', __( 'Dispatch Orders', EasyPack::$text_domain ), __( 'Dispatch Orders', EasyPack::$text_domain ), 'manage_options', 'edit.php?post_type=dispatch_order' );
}
remove_submenu_page( 'inpost', 'inpost' );
}
}
public static function easypack_shipment() {
require_once('class-shipment-manager-list-table.php' );
$dispatch_points = EasyPack_API()->customer_dispatch_points_options();
$dispatch_point = get_option( 'easypack_default_dispatch_point' );
if ( EasyPack_API()->api_country() == 'PL' || EasyPack_API()->api_country() == 'GB' ) {
$send_methods = array(
'all' => __( 'All', EasyPack::$text_domain ),
'parcel_machine' => __( 'Parcel Locker', EasyPack::$text_domain ),
'courier' => __( 'Courier', EasyPack::$text_domain ),
);
}
else {
$send_methods = array(
'courier' => __( 'Courier', EasyPack::$text_domain ),
);
}
if ( isset( $_POST['easypack_create_manifest_input'] ) && $_POST['easypack_create_manifest_input'] == 1 ) {
try {
$dispatch_order_id = EasyPack_Dispatch_Orders()->create_dispatch_order( $_POST['easypack_dispatch_point'] );
$manifests = EasyPack_Dispatch_Orders()->create_manifest( $_POST['easypack_dispatch_point'], $dispatch_order_id );
$message = __('Created manifests ', EasyPack::$text_domain );
foreach ( $manifests as $manifest ) {
if ( $manifest['api'] == 'crossborder' ) {
$url = site_url( '?easypack_download=1&crossborder_manifest=' . $manifest['post_id'] );
}
else {
$url = site_url( '?easypack_download=1&easypack_manifest=' . $manifest['post_id'] );
}
$link = ' <a href="' . $url . '" target="blank" class="">' . $manifest['post_id'] . '</a>, ';
$message .= $link;
}
$message = trim( trim( $message ), ',' );
?>
<div class="updated">
<p><?php echo $message; ?></p>
</div>
<?php
}
catch ( Exception $e ) {
$class = "error";
$message = __( 'Error while creating manifest: ', EasyPack::$text_domain ) . $e->getMessage();
echo "<div class=\"$class\"> <p>$message</p></div>";
}
}
$send_method = 'courier';
if ( isset( $_GET['send_method'] ) ) {
$send_method = $_GET['send_method'];
}
$shipment_manager_list_table = new EasyPack_Shipment_Manager_List_Table( $send_method );
include( 'views/html-shipment-manager.php' );
}
}
endif;
EasyPack_Shipment_Manager::init();