Example #1
0
 public function save_product_review()
 {
     $app = JFactory::getApplication();
     $model_options = WDFHelper::get_model('options');
     $options = $model_options->get_options();
     // check is guest feedback enabled
     if ($options->feedback_enable_guest_feedback != 0 || WDFHelper::is_user_logged_in() == true) {
         $j_user = JFactory::getUser();
         $feedback_published = $options->feedback_publish_review_when_added == 1 ? 1 : 0;
         $product_id = WDFInput::get('product_id', 0, 'int');
         $feedback_user_name = $j_user ? $j_user->name : '';
         $feedback_sender_name = WDFInput::get('user_name');
         $feedback_text = JRequest::getVar('review_text', '', 'post', 'string', JREQUEST_ALLOWRAW);
         if ($feedback_sender_name == '' || $feedback_text == '') {
             $app->enqueueMessage(WDFText::get('MSG_FAILED_TO_SUBMIT_REVIEW'), 'error');
         } else {
             $row_feedback = WDFDb::get_table_instance('feedback');
             $row_feedback->j_user_id = $j_user->id;
             $row_feedback->user_ip_address = WDFUtils::get_client_ip_address();
             $row_feedback->user_name = $feedback_user_name;
             $row_feedback->sender_name = $feedback_sender_name;
             $row_feedback->product_id = $product_id;
             $row_feedback->date = date('Y-m-d H:i:s');
             $row_feedback->text = $feedback_text;
             $row_feedback->published = $feedback_published;
             if ($row_feedback->store() == false) {
                 $app->enqueueMessage(WDFText::get('MSG_FAILED_TO_SUBMIT_REVIEW'), 'error');
             } else {
                 $msg = $feedback_published == true ? WDFText::get('MSG_REVIEW_PUBLISHED') : WDFText::get('MSG_REVIEW_SUBMITTED');
                 $this->sent_review_notification_email($product_id);
                 $app->enqueueMessage($msg, 'message');
             }
         }
     }
     WDFHelper::redirect('products', 'displayproductreviews&product_id=' . $product_id);
 }
Example #2
0
 private function add_product_shipping_methods($product_rows)
 {
     $db = JFactory::getDbo();
     $query = $db->getQuery(true);
     $model_options = WDFHelper::get_model('options');
     $options = $model_options->get_options();
     $decimals = $options->option_show_decimals == 1 ? 2 : 0;
     $row_default_currency = WDFDb::get_row('currencies', $db->quoteName('default') . ' = 1');
     for ($i = 0; $i < count($product_rows); $i++) {
         $product_row = $product_rows[$i];
         $query->clear();
         $query->select('T_SHIPPING_METHODS.name');
         $query->select('T_SHIPPING_METHODS.description');
         $query->select('T_SHIPPING_METHODS.price');
         $query->select('T_SHIPPING_METHODS.free_shipping');
         $query->select('T_SHIPPING_METHODS.free_shipping_start_price');
         $query->from('#__ecommercewd_productshippingmethods AS T_PRODUCT_SHIPPING_METHODS');
         $query->leftJoin('#__ecommercewd_shippingmethods  AS T_SHIPPING_METHODS ON T_PRODUCT_SHIPPING_METHODS.shipping_method_id = T_SHIPPING_METHODS.id');
         $query->where('T_PRODUCT_SHIPPING_METHODS.product_id = ' . $product_row->id);
         $query->where('T_SHIPPING_METHODS.published = 1');
         $query->order('T_SHIPPING_METHODS.ordering ASC');
         $db->setQuery($query);
         $shipping_method_rows = $db->loadObjectList();
         if ($db->getErrorNum()) {
             return false;
         }
         // additional data
         foreach ($shipping_method_rows as $shipping_method_row) {
             // prices
             $shipping_method_row->price = $shipping_method_row->free_shipping == 1 ? 0 : $shipping_method_row->price;
             // number format and currency signs
             if ($shipping_method_row->price != 0) {
                 $shipping_method_row->price_text = number_format($shipping_method_row->price, $decimals);
                 if ($row_default_currency->sign_position == 0) {
                     $shipping_method_row->price_text = $row_default_currency->sign . $shipping_method_row->price_text;
                 } else {
                     $shipping_method_row->price_text = $shipping_method_row->price_text . $row_default_currency->sign;
                 }
             } else {
                 $shipping_method_row->price_text = WDFText::get('FREE_SHIPPING');
             }
         }
         $product_row->shipping_methods = $shipping_method_rows;
     }
 }
Example #3
0
 private function get_category_path_categories($category_id)
 {
     $path_categories = array();
     while ($category_id != 0) {
         $category_row = WDFDb::get_row_by_id('categories', $category_id);
         // additional data
         // is actiive
         $category_row->is_active = $category_row->published == 1 ? true : false;
         // url
         $category_row->url = JRoute::_('index.php?option=com_' . WDFHelper::get_com_name() . '&controller=categories&task=displaycategory&category_id=' . $category_row->id);
         array_unshift($path_categories, $category_row);
         $category_id = $category_row->parent_id;
     }
     $category_row = WDFDb::get_table_instance('categories');
     $category_row->id = 0;
     $category_row->is_active = true;
     $category_row->url = JRoute::_('index.php?option=com_' . WDFHelper::get_com_name() . '&controller=categories&task=displaycategory&category_id=0');
     $category_row->name = WDFText::get('ROOT_CATEGORY');
     $category_row->image = '';
     array_unshift($path_categories, $category_row);
     return $path_categories;
 }