get_results($wpdb->prepare("SELECT `category`, `category_slug` FROM `{$wpdb->prefix}syscom_products` WHERE `category_slug` = '%s' LIMIT 1", $slug), OBJECT);
// if category exists
if ($category_info != FALSE) {
// get first returned
$category_info = $category_info[0];
}
// check if could br product
$product_info = $wpdb->get_results($wpdb->prepare("SELECT `code`, `title`, `description`, `price`, `product_slug`, `category_slug` FROM `{$wpdb->prefix}syscom_products` WHERE `product_slug` = '%s' LIMIT 1", $slug), OBJECT);
// if product exists
if ($product_info != FALSE) {
// get first returned
$product_info = $product_info[0];
}
}
// start products page container
echo '
';
// get list of categories
$result = $wpdb->get_results("SELECT `category` AS `title`, `category_slug` FROM `{$wpdb->prefix}syscom_products` GROUP BY `category` ORDER BY `category` ASC", OBJECT_K);
// start list
echo '
';
// if some
if ($wpdb->num_rows > 0) {
// loop
foreach ($result as $category) {
// display
echo '- category_slug == $category_info->category_slug) || ($product_info != FALSE && $category->category_slug == $product_info->category_slug)) {
// add class
echo ' class="selected"';
}
echo '>' . htmlspecialchars($category->title) . '
';
}
}
// if viewing category or product
if ($category_info != FALSE || ($category_info == FALSE && $product_info != FALSE)) {
// add option to view all
echo '- All Products
';
}
// end list
echo '
';
// if product
if ($product_info != FALSE) {
// start product container
echo '
';
// check if file exists
if (file_exists(IMAGE_ROOT . $product_info->product_slug . '.jpg')) {
$image_path = IMAGE_DIR . $product_info->product_slug . '.jpg';
} else {
$image_path = IMAGE_DIR . 'no-image.jpg';
}
// show image
echo '
';
// start product description container
echo '
';
// display product name
echo '
' . htmlspecialchars($product_info->title) . '
';
// display price if more than 0
if ($product_info->price > 0) {
echo '
From
£' . number_format($product_info->price, 2) . ' (excl. VAT)
';
}
// display spec header
echo '
Product Specification
';
// display spec
echo '
' . nl2br(htmlspecialchars($product_info->description)) . '
';
// check if spec exists
if (file_exists(SPEC_ROOT . $product_info->product_slug . '.pdf')) {
// work out path
$spec_path = SPEC_DIR . $product_info->product_slug . '.pdf';
// display additional info header
echo '
Additional Information
';
echo '
File |
Size |
Download |
' . htmlspecialchars($product_info->title) . ' Data Sheet |
' . byteFormat(filesize(SPEC_ROOT . $product_info->product_slug . '.pdf'), NULL, 0) . ' |
PDF |
';
}
// end product description container
echo '
';
// end product container
echo '
';
} else {
// else must be product listing
// start products list container
echo '
';
// check if filtering to specific category
if ($category_info != FALSE) {
$result = $wpdb->get_results($wpdb->prepare("SELECT `code`, `title`, `product_slug` FROM `{$wpdb->prefix}syscom_products` WHERE `category_slug` = '%s' ORDER BY `title` ASC", $slug));
} else {
// else get all
$result = $wpdb->get_results("SELECT `code`, `title`, `product_slug` FROM `{$wpdb->prefix}syscom_products` ORDER BY `title` ASC", OBJECT_K);
}
// check if any results
if ($wpdb->num_rows > 0) {
// start list
echo '
';
} else {
// none found
echo '
No products found.
';
}
// end products list container
echo '
';
}
// end products page container
echo '
';
get_footer();