| // | Developed by: Pierre-Luc Soucy | // +----------------------------------------------------------------------+ // | LICENSE: Ce programme a ete developpe par Crealabs pour le compte | // | de Coopoly. Coopoly detient une license d'utilisation et de | // | modification du programme, alors que Crealabs conserve le | // | droit de le modifier et de le redistribuer a d'autres | // | organismes, sous reserves du contrat signe entre les deux | // | parties le 18 mars 2008 et disponible aux sieges sociaux de | // | ces organismes. | // +----------------------------------------------------------------------+ // | For support concerning this program, contact | // | pierre-luc.soucy@polymtl.ca | // +----------------------------------------------------------------------+ $lang = isset($lang) ? $lang : 'fr'; require 'includes/db.php'; $db = crea_db::get_instance(); require 'includes/coo_api.php'; $coo_api = new coo_api($lang); $product_id = io::read_input('product_id'); $before_body_close = ''; $paper_book_preview_isbn = ''; if (!$product_id) { print $coo_api->_("Product ID missing"); exit; } //get product details $query = $db->query("SELECT titre, auteur, collection, produits.no_editeur, code_barre, parution, prix_non_membre, prix_membre, type_produit, stock, actif, nom_url, categorie, a_photo, description, IF(editeurs.nom is not null, editeurs.nom, produits.nom_editeur) as nom_editeur, ebook_format, drm_type, has_flipbook, produits.id as id_produit, produits.ebook_cover_url FROM produits LEFT JOIN editeurs ON editeurs.no_editeur=produits.no_editeur WHERE produits.id=:product_id", array(array('product_id', $product_id))); $result = $db->fetch_assoc_all($query); if (count($result) < 1) { print $coo_api->_('Invalid Product'); exit; } $product_details = $result[0]; extract($product_details); $url_prefix = ($lang == 'en') ? '/english' : ''; if ($_SERVER['REQUEST_URI'] != $url_prefix."/p-$product_id-$nom_url") { header("HTTP/1.1 301 Moved Permanently"); header("Location: $url_prefix/p-$product_id-$nom_url"); exit; } $vous_economisez = false; if (($prix_non_membre - $prix_membre) > 0.001) { $economie = $prix_non_membre - $prix_membre; $economie_pourcent = (1 - ($prix_membre/$prix_non_membre)) * 100; $vous_economisez = true; } $disponibilite = $coo_api->get_availability($stock, $type_produit, $ebook_format); //check for other formats if ($type_produit == 'LIV') { $check_field = 'related_book_isbn'; $use_field = 'source_book_isbn'; } else { $check_field = 'source_book_isbn'; $use_field = 'related_book_isbn'; } $query = $db->query("SELECT produits.ebook_format, produits.id, produits.nom_url, produits.type_produit, produits.code_barre, produits.has_flipbook FROM ebook_related_books, produits WHERE ebook_related_books.$check_field=:isbn AND produits.code_barre=ebook_related_books.$use_field AND produits.actif='oui' AND produits.valide='oui' ORDER BY type_produit, ebook_format", array(array('isbn', $code_barre))); $result = $db->fetch_assoc_all($query); $alternative_formats = array(); foreach ($result as $arr) { if ($type_produit == 'LIV' && $arr['type_produit'] == 'NUM' && $arr['has_flipbook'] == 'yes') { $paper_book_preview_isbn = $result[0]['code_barre']; } if ($arr['type_produit'] == 'NUM') { $format_name = $coo_api->ebook_formats[$arr['ebook_format']]; } else { $format_name = $lang == 'fr' ? 'imprimé' : 'print'; } $alternative_formats[] = ''.$format_name.''; } if ($type_produit == 'LIV') { if (count($alternative_formats) == 2) { $disponibilite .= '
'.sprintf($coo_api->_('Also available in %s and %s formats for immediate download'), $alternative_formats[0], $alternative_formats[1]); } else if (count($alternative_formats) == 1) { $disponibilite .= '
'.sprintf($coo_api->_('Also available in %s format for immediate download'), $alternative_formats[0]); } } else { if (count($alternative_formats) == 2) { $disponibilite .= '
'.sprintf($coo_api->_('Also available in %s and %s formats'), $alternative_formats[0], $alternative_formats[1]); } else if (count($alternative_formats) == 1) { $disponibilite .= '
'.sprintf($coo_api->_('Also available in %s format'), $alternative_formats[0]); } } if (($type_produit == 'NUM' && $has_flipbook == 'yes') || $paper_book_preview_isbn) { $before_body_close = ''; } $isbn_10 = ''; $isbn_13 = ''; if ($type_produit == 'LIV') { $isbn_13 = $coo_api->get_isbn_13($code_barre); $isbn_10 = $coo_api->get_isbn_10($code_barre); } else if ($type_produit == 'NUM') { $isbn_13 = $code_barre; } $paru_en = 0; if ($parution > '0000-00-00') { $paru_en = substr($parution, 0, 4); } $keyword_list = array(htmlspecialchars($titre), htmlspecialchars($auteur), htmlspecialchars($nom_editeur)); if ($isbn_10) { $keyword_list[] = $isbn_10; } if ($isbn_13) { $keyword_list[] = $isbn_13; } $max_content_width = ($a_photo == 'oui') ? 660 : 920; $parent_category_id = $db->get_quick_value('categories', 'id_parent', 'id', $categorie); //$show_larger_image = in_array($parent_category_id, $coo_api->categories_with_image_zoom); $show_larger_image = true; $meta_description = sprintf($coo_api->_('Buy %s at Coopoly, a cooperative bookstore located in Montreal. Shipping everywhere in Canada.'), htmlspecialchars($titre)); ob_start(); ?>