$this->log('osProducts() - Getting products from');
$order_product_query = $this->db->query("SELECT * FROM " . DB_PREFIX . "order_product WHERE order_id = '".(int)$order_id."'");
$response = array();
foreach ($order_product_query->rows as $order_product) {
$product_query = $this->db->query("SELECT * FROM " . DB_PREFIX . "product WHERE `product_id` = '".(int)$order_product['product_id']."' LIMIT 1");
if (isset($product_query->row['has_option']) && ($product_query->row['has_option'] == 1)) {
$product_option_query = $this->db->query("
SELECT `oo`.`product_option_value_id`
FROM `" . DB_PREFIX . "order_option` `oo`
LEFT JOIN `" . DB_PREFIX . "product_option_value` `pov` ON (`pov`.`product_option_value_id` = `oo`.`product_option_value_id`)
LEFT JOIN `" . DB_PREFIX . "option` `o` ON (`o`.`option_id` = `pov`.`option_id`)
WHERE `oo`.`order_product_id` = '" . (int)$order_product['order_product_id'] . "'
AND `oo`.`order_id` = '" . (int)$order_id . "'
AND ((`o`.`type` = 'radio') OR (`o`.`type` = 'select') OR (`o`.`type` = 'image'))
ORDER BY `oo`.`order_option_id`
ASC");
if ($product_option_query->num_rows != 0) {
$product_options = array();
foreach ($product_option_query->rows as $product_option_row) {
$product_options[] = $product_option_row['product_option_value_id'];
}
$var = implode(':', $product_options);
$response[] = array('pid' => $order_product['product_id'], 'qty' => $order_product['quantity'], 'var' => $var);
}
} else {
$response[] = array('pid' => $order_product['product_id'], 'qty' => $order_product['quantity'], 'var' => null);
}
}
return $response;