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); }
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; } }
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; }