コード例 #1
0
ファイル: categories.php プロジェクト: madcsaba/li-de
 public function get_row()
 {
     $db = JFactory::getDbo();
     if (WDFInput::get('type')) {
         $id = WDFInput::get('id');
     } else {
         $id = WDFInput::get('category_id', WDFParams::get('category_id', 0, 'int'));
     }
     $row = WDFDb::get_row('categories', array($db->quoteName('id') . ' = ' . $id, $db->quoteName('published') . ' = 1'));
     if ($row->id == 0) {
         $row->id = 0;
         $row->name = JText::_('root');
     }
     // additional data
     // path categories
     $row->path_categories = $this->get_category_path_categories($row->id);
     // info
     if (WDFInput::get('type')) {
         $row->show_info = WDFInput::get('show_info');
     } else {
         $row->show_info = WDFParams::get('show_info', 1);
     }
     // image
     if ($row->images != null) {
         $images = WDFJson::decode($row->images);
         $row->image = empty($images) == false ? $images[0] : '';
     } else {
         $row->image = '';
     }
     // subcategories
     if (WDFInput::get('type')) {
         $row->show_subcategories = WDFInput::get('show_subcategories');
     } else {
         $row->show_subcategories = WDFParams::get('show_subcategories', 1);
     }
     if (WDFInput::get('type')) {
         $row->subcategories_cols = WDFInput::get('number_columns');
     } else {
         $row->subcategories_cols = WDFParams::get('subcategories_cols', 1);
     }
     $subcategories = $this->get_category_subcategories($row->id);
     if ($subcategories === false) {
         WDFHelper::redirect('systempages', 'displayerror', '', 'code=2');
     }
     $row->subcategories = $subcategories;
     if (empty($row->subcategories) == true) {
         $row->show_subcategories = 0;
     }
     // category tree
     if (WDFInput::get('type')) {
         $row->show_tree = WDFInput::get('show_path');
     } else {
         $row->show_tree = WDFParams::get('show_tree', 1);
     }
     // products and count
     if (WDFInput::get('type')) {
         $row->show_products = WDFInput::get('show_products');
     } else {
         $row->show_products = WDFParams::get('show_products', 1);
     }
     if (WDFInput::get('type')) {
         $row->products_count = WDFInput::get('products_count');
     } else {
         $row->products_count = WDFParams::get('products_count');
     }
     $row->products = array();
     if ($row->show_products == 1) {
         $products = $this->get_category_products($row->id, $row->products_count);
         if ($products === false) {
             WDFHelper::redirect('systempages', 'displayerror', '', 'code=2');
         }
         $row->products = $products;
     }
     if (empty($row->products) == true) {
         $row->show_products = 0;
     }
     // url view products
     $row->url_view_products = JRoute::_('index.php?option=com_' . WDFHelper::get_com_name() . '&controller=products&task=displayproducts&search_category_id=' . $row->id);
     return $row;
 }
コード例 #2
0
ファイル: products.php プロジェクト: madcsaba/li-de
 private function add_product_rows_query_where_filter_tags(JDatabaseQuery $query)
 {
     $db = JFactory::getDbo();
     $model_options = WDFHelper::get_model('options');
     $options = $model_options->get_options();
     $filters_data = $this->get_filters_data();
     $module_filters = WDFInput::get('module_filters');
     if ($options->search_enable_search == 1 && $options->filter_tags == 1 || $module_filters == 1) {
         foreach ($filters_data['tags'] as $tag_name) {
             $query->where('T_PRODUCT_TAGS.tag_names LIKE ' . $db->quote('%,' . $tag_name . ',%'));
         }
     }
     return $query;
 }
コード例 #3
0
ファイル: products.php プロジェクト: madcsaba/li-de
 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;
 }