<?php /** * @package E-Commerce WD * @author Web-Dorado * @copyright (C) 2014 Web-Dorado. All rights reserved. * @license GNU/GPLv3 http://www.gnu.org/licenses/gpl-3.0.html * * 2015.10.11 FT imageSlider display if count($images) > 1 **/ defined('_JEXEC') || die('Access Denied'); WDFHelper::add_css('css/' . WDFInput::get_controller() . '/' . $this->_layout . '_imagesviewer.css'); WDFHelper::add_script('js/' . WDFInput::get_controller() . '/' . $this->_layout . '_imagesviewer.js'); $theme = $this->theme; $product_row = $this->product_row; $images = WDFJson::decode($product_row->images); if ($product_row->label_thumb != '') { switch ($product_row->label_thumb_position) { case 0: $label_position_class = 'wd_align_tl'; break; case 1: $label_position_class = 'wd_align_tr'; break; case 2: $label_position_class = 'wd_align_bl'; break; case 3: $label_position_class = 'wd_align_br'; break; }
private function add_product_related_products($product_rows) { $db = JFactory::getDbo(); $query = $db->getQuery(true); for ($i = 0; $i < count($product_rows); $i++) { $product_row = $product_rows[$i]; $query->clear(); $query->select('T_PRODUCTS.id'); $query->select('T_PRODUCTS.name'); $query->select('T_PRODUCTS.images'); $query->from('#__ecommercewd_products AS T_PRODUCTS'); $query->where('T_PRODUCTS.category_id = ' . $product_row->category_id); $query->where('T_PRODUCTS.id <> ' . $product_row->id); $query->where('T_PRODUCTS.published = 1'); $query->order('RAND() LIMIT 0, 15'); $db->setQuery($query); $related_product_rows = $db->loadObjectList(); if ($db->getErrorNum()) { return false; } // add data foreach ($related_product_rows as $related_product_row) { // link $related_product_row->link = JRoute::_('index.php?option=com_' . WDFHelper::get_com_name() . '&controller=products&task=displayproduct&product_id=' . $related_product_row->id); // image $related_product_row->images = WDFJson::decode($related_product_row->images); $related_product_row->image = count($related_product_row->images) > 0 ? $related_product_row->images[0] : ''; } $product_row->related_products = $related_product_rows; } }
<!-- subcategory panel --> <div class="wd_shop_panel_product wd_shop_subcategory_container panel panel-default"> <div class="panel-body"> <a class="btn btn-link" href="<?php echo $subcategory->url; ?> " title="<?php echo $subcategory->name; ?> "> <!-- image --> <div class="wd_shop_subcategory_image_container wd_center_wrapper"> <?php $images = WDFJson::decode($subcategory->images); if (empty($images) == false) { ?> <div> <img src="<?php echo $images[0]; ?> " class="wd_align_center_block img-responsive" alt="<?php echo $subcategory->name; ?> "> </div> <?php } else {
private function get_category_products($category_id, $count) { $db = JFactory::getDbo(); $query = $db->getQuery(true); $query->select('id'); $query->select('name'); $query->select('images'); $query->from('#__ecommercewd_products'); $query->where('category_id = ' . $category_id); $query->where('published = 1'); $query->order('ordering ASC'); if ($count) { $db->setQuery($query, 0, $count); } else { $db->setQuery($query); } $rows = $db->loadObjectList(); if ($db->getErrorNum()) { return false; } // additional data foreach ($rows as $row) { // url $row->url = JRoute::_('index.php?option=com_' . WDFHelper::get_com_name() . '&controller=products&task=displayproduct&product_id=' . $row->id); // image $row->images = WDFJson::decode($row->images); $row->image = empty($row->images) == false ? $row->images[0] : ''; } return $rows; }
public function ajax_rate_product() { WDFInput::set('tmpl', 'component'); $model_options = WDFHelper::get_model('options'); $options = $model_options->get_options(); $db = JFactory::getDbo(); $query = $db->getQuery(true); $j_user = JFactory::getUser(); $product_id = WDFInput::get('product_id', 0, 'int'); $rating_data = WDFJson::decode(stripslashes(WDFInput::get('rating_data_json'))); $rating = (double) $rating_data->rating; // check privileges $can_rate = true; if ($options->feedback_enable_guest_feedback == 0 && WDFHelper::is_user_logged_in() == false) { $can_rate = false; $msg = WDFText::get('MSG_LOG_IN_TO_RATE'); } else { $query->clear(); $query->select('id'); $query->from('#__ecommercewd_ratings'); if (WDFHelper::is_user_logged_in() == true) { $query->where('j_user_id = ' . $j_user->id); } else { $query->where('user_ip_address = ' . $db->quote(WDFUtils::get_client_ip_address())); } $query->where('product_id = ' . $product_id); $db->setQuery($query); $rating_rows = $db->loadObjectList(); if ($db->getErrorNum()) { $can_rate = false; $msg = WDFText::get('MSG_FAILED_TO_RATE'); } if ($rating_rows != null && count($rating_rows) > 0) { $can_rate = false; $msg = WDFText::get('MSG_YOU_HAVE_ALREADY_RATED_THIS_PRODUCT'); } } if ($can_rate == true) { // save rating $query->clear(); $query->insert('#__ecommercewd_ratings (j_user_id, user_ip_address, product_id, rating,`date`)'); $query_values = array(); $query_values[] = $db->quote($j_user->id); $query_values[] = $db->quote(WDFUtils::get_client_ip_address()); $query_values[] = $db->quote($product_id); $query_values[] = $db->quote($rating); $query_values[] = 'NOW()'; $query->values(implode(',', $query_values)); $db->setQuery($query); $db->query(); if ($db->getErrorNum()) { $msg = WDFText::get('MSG_FAILED_TO_RATE'); } else { $msg = WDFText::get('MSG_SUCCESSFULLY_RATED'); } } // get average rating $query->clear(); $query->select('FORMAT(AVG(rating), 1)'); $query->from('#__ecommercewd_ratings'); $query->where('product_id = ' . $product_id); $db->setQuery($query); $average_rating = $db->loadResult(); if ($db->getErrorNum()) { $msg = $db->getErrorMsg(); } // return data $data = array(); $data['msg'] = $msg; $data['rating'] = $average_rating; echo WDFJson::encode($data); die; }