Export.php
1.6 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
<?php
namespace Wpae\Scheduling;
class Export
{
public function trigger($export)
{
$export->set(array(
'triggered' => 1,
'exported' => 0,
'last_activity' => date('Y-m-d H:i:s')
))->update();
}
/**
* @param $export
* @return array
*/
public function process($export)
{
// trigger update child exports with correct WHERE & JOIN filters
if (!empty($export->options['cpt']) and class_exists('WooCommerce') and in_array('shop_order', $export->options['cpt']) and empty($export->parent_id)) {
$queue_exports = \XmlExportWooCommerceOrder::prepare_child_exports($export, true);
if (empty($queue_exports)) {
delete_option('wp_all_export_queue_' . $export->id);
} else {
update_option('wp_all_export_queue_' . $export->id, $queue_exports);
}
}
// remove child export from queue
if (!empty($export->parent_id)) {
$queue_exports = get_option('wp_all_export_queue_' . $export->parent_id);
if (!empty($queue_exports)) {
foreach ($queue_exports as $key => $queue_export) {
if ($queue_export == $export->id) {
unset($queue_exports[$key]);
}
}
}
if (empty($queue_exports)) {
delete_option('wp_all_export_queue_' . $export->parent_id);
} else {
update_option('wp_all_export_queue_' . $export->parent_id, $queue_exports);
}
}
}
}