/** * Checks if coupon really exists on orders * * @param string $locator - locator id of coupon * @return bool * * @package Jigoshop * @subpackage Jigosgop Coupon Products * @since 0.1 * **/ function jigoshop_exists_order_coupon($locator = false) { global $wpdb; if (!$locator) { return; } $orders = $wpdb->get_results("SELECT post_id, meta_value FROM {$wpdb->postmeta} WHERE meta_key = 'order_items'"); if (!empty($orders)) { foreach ($orders as $order) { $order_id = $order->post_id; $order_items = maybe_unserialize($order->meta_value); foreach ($order_items as $row => $item) { $row++; if ($item['qty'] > 1) { for ($n = 1; $n < $item['qty'] + 1; $n++) { if ($locator == jigoshop_generate_locator($order_id, $item['id'], $row, $n)) { return true; } } } else { if ($locator == jigoshop_generate_locator($order_id, $item['id'], $row)) { return true; } } } } } return false; }
/** * prints locator column in body of table of product lists on order page * * @package Jigoshop * @subpackage Jigoshop Order Locator * @since 0.1 * **/ function jigoshop_locator_order_item_values($_product, $item = false) { global $post; if (!isset($post)) { $post = jigoshop_session::instance()->current_admin_order; } // dirty trick $row = jigoshop_session::instance()->current_admin_order_item_count += 1; echo '<td>' . PHP_EOL; if ($item && !empty($item)) { for ($n = 1; $n < $item['qty'] + 1; $n++) { $locator = jigoshop_generate_locator($post->ID, $item['id'], $row, $n); if (!empty($locator)) { echo "<code style=\"font-size: 13px; line-height:2em\">{$locator}</code><br>"; } } } else { $locator = jigoshop_generate_locator($post->ID, $_product->ID, $row); if (!empty($locator)) { echo "<code style=\"font-size: 13px; line-height:2em\">{$locator}</code><br>"; } } echo '</td>' . PHP_EOL; }