Compare commits
2 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| d5babe6cae | |||
| e7e757f0cd |
@@ -10,7 +10,7 @@ if ( ! defined( 'ABSPATH' ) ) {
|
|||||||
class Siti_Stock_Supplier_Exports {
|
class Siti_Stock_Supplier_Exports {
|
||||||
|
|
||||||
const CRON_HOOK = 'siti_stock_plugin_supplier_export';
|
const CRON_HOOK = 'siti_stock_plugin_supplier_export';
|
||||||
const SUPPLIER_META_KEY = '_wpbc_supplier';
|
const SUPPLIER_META_KEY = '_wpci_supplier';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @var Siti_Stock_Settings
|
* @var Siti_Stock_Settings
|
||||||
@@ -178,7 +178,6 @@ class Siti_Stock_Supplier_Exports {
|
|||||||
? $settings['supplier_exports']
|
? $settings['supplier_exports']
|
||||||
: array();
|
: array();
|
||||||
|
|
||||||
$configured = $this->ensure_defaults( $configured );
|
|
||||||
$configured = $this->ensure_distinct_meta_suppliers( $configured );
|
$configured = $this->ensure_distinct_meta_suppliers( $configured );
|
||||||
|
|
||||||
uasort(
|
uasort(
|
||||||
@@ -258,7 +257,7 @@ class Siti_Stock_Supplier_Exports {
|
|||||||
$body_lines[] = $csv;
|
$body_lines[] = $csv;
|
||||||
|
|
||||||
$headers = array( 'Content-Type: text/plain; charset=UTF-8' );
|
$headers = array( 'Content-Type: text/plain; charset=UTF-8' );
|
||||||
$sent = wp_mail( $admin_email, $subject, implode( "\n", $body_lines ), $headers );
|
$sent = wp_mail( $admin_email, $subject, implode( "\r\n", $body_lines ), $headers );
|
||||||
|
|
||||||
if ( ! $sent ) {
|
if ( ! $sent ) {
|
||||||
return new WP_Error( 'siti_stock_mail_failed', __( 'E-mail verzenden is mislukt.', 'siti-stock-plugin' ) );
|
return new WP_Error( 'siti_stock_mail_failed', __( 'E-mail verzenden is mislukt.', 'siti-stock-plugin' ) );
|
||||||
@@ -439,7 +438,7 @@ class Siti_Stock_Supplier_Exports {
|
|||||||
$lines[] = sprintf( '%s;%d', $sku, $quantity );
|
$lines[] = sprintf( '%s;%d', $sku, $quantity );
|
||||||
}
|
}
|
||||||
|
|
||||||
return implode( "\n", $lines );
|
return implode( "\r\n", $lines );
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -471,37 +470,6 @@ class Siti_Stock_Supplier_Exports {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* Ensure default suppliers exist in config.
|
|
||||||
*
|
|
||||||
* @param array<string,mixed> $configured Configured values.
|
|
||||||
* @return array<string,array<string,mixed>>
|
|
||||||
*/
|
|
||||||
private function ensure_defaults( array $configured ) {
|
|
||||||
foreach ( $this->get_default_suppliers() as $key => $data ) {
|
|
||||||
if ( isset( $configured[ $key ] ) ) {
|
|
||||||
if ( empty( $configured[ $key ]['supplier'] ) ) {
|
|
||||||
$configured[ $key ]['supplier'] = $data['label'];
|
|
||||||
}
|
|
||||||
$configured[ $key ]['time'] = $this->normalize_time(
|
|
||||||
isset( $configured[ $key ]['time'] ) ? $configured[ $key ]['time'] : $data['time']
|
|
||||||
);
|
|
||||||
if ( ! isset( $configured[ $key ]['enabled'] ) ) {
|
|
||||||
$configured[ $key ]['enabled'] = $data['enabled'];
|
|
||||||
}
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
|
|
||||||
$configured[ $key ] = array(
|
|
||||||
'supplier' => $data['label'],
|
|
||||||
'time' => $data['time'],
|
|
||||||
'enabled' => $data['enabled'],
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
return $configured;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Add entries for suppliers found in product meta.
|
* Add entries for suppliers found in product meta.
|
||||||
*
|
*
|
||||||
@@ -509,22 +477,21 @@ class Siti_Stock_Supplier_Exports {
|
|||||||
* @return array<string,mixed>
|
* @return array<string,mixed>
|
||||||
*/
|
*/
|
||||||
private function ensure_distinct_meta_suppliers( array $configured ) {
|
private function ensure_distinct_meta_suppliers( array $configured ) {
|
||||||
|
$result = array();
|
||||||
|
|
||||||
foreach ( $this->get_distinct_suppliers() as $supplier ) {
|
foreach ( $this->get_distinct_suppliers() as $supplier ) {
|
||||||
$key = $this->normalize_supplier_key( $supplier );
|
$key = $this->normalize_supplier_key( $supplier );
|
||||||
|
$existing = isset( $configured[ $key ] ) ? $configured[ $key ] : array();
|
||||||
if ( isset( $configured[ $key ] ) ) {
|
$result[ $key ] = array(
|
||||||
$configured[ $key ]['supplier'] = $supplier;
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
|
|
||||||
$configured[ $key ] = array(
|
|
||||||
'supplier' => $supplier,
|
'supplier' => $supplier,
|
||||||
'time' => $this->get_default_time_for_key( $key ),
|
'time' => $this->normalize_time(
|
||||||
'enabled' => $this->is_default_enabled( $key ),
|
isset( $existing['time'] ) ? $existing['time'] : $this->get_default_time_for_key( $key )
|
||||||
|
),
|
||||||
|
'enabled' => isset( $existing['enabled'] ) ? (bool) $existing['enabled'] : $this->is_default_enabled( $key ),
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
return $configured;
|
return $result;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
* Plugin Name: Siti Stock Plugin
|
* Plugin Name: Siti Stock Plugin
|
||||||
* Plugin URI: https://github.com/SitiWeb/siti-stock-plugin
|
* Plugin URI: https://github.com/SitiWeb/siti-stock-plugin
|
||||||
* Description: Synchroniseert WooCommerce voorraad met het externe Siti voorraadplatform.
|
* Description: Synchroniseert WooCommerce voorraad met het externe Siti voorraadplatform.
|
||||||
* Version: 1.2.4
|
* Version: 1.2.6
|
||||||
* Author: Siti Web
|
* Author: Siti Web
|
||||||
* Author URI: https://www.siti.nl
|
* Author URI: https://www.siti.nl
|
||||||
* Requires PHP: 8.1
|
* Requires PHP: 8.1
|
||||||
@@ -16,7 +16,7 @@ if ( ! defined( 'ABSPATH' ) ) {
|
|||||||
exit;
|
exit;
|
||||||
}
|
}
|
||||||
|
|
||||||
define( 'SITI_STOCK_PLUGIN_VERSION', '1.2.4' );
|
define( 'SITI_STOCK_PLUGIN_VERSION', '1.2.6' );
|
||||||
define( 'SITI_STOCK_PLUGIN_FILE', __FILE__ );
|
define( 'SITI_STOCK_PLUGIN_FILE', __FILE__ );
|
||||||
define( 'SITI_STOCK_PLUGIN_DIR', plugin_dir_path( __FILE__ ) );
|
define( 'SITI_STOCK_PLUGIN_DIR', plugin_dir_path( __FILE__ ) );
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user