/** * Load the attributes for export * * @return void */ private function loadAttributes() { $producthelper = new producthelper(); $db = JFactory::getDbo(); $query = "SELECT * FROM `#__redshop_product` ORDER BY product_id asc "; $this->_db->setQuery($query); $cur = $this->_db->loadObjectList(); $ret = null; if (count($cur) > 0) { $redhelper = new redhelper(); $isrecrm = false; if ($redhelper->isredCRM()) { $isrecrm = true; } for ($i = 0; $i < count($cur); $i++) { if ($i == 0) { echo '"product_number","attribute_name","attribute_ordering","allow_multiple_selection","hide_attribute_price","attribute_required","display_type","property_name","property_stock"'; if ($isrecrm) { echo ',"property_stock_placement"'; } echo ',"property_ordering","property_virtual_number","setdefault_selected","setdisplay_type","oprand","property_price","property_image","property_main_image","subattribute_color_name","subattribute_stock"'; if ($isrecrm) { echo ',"subattribute_stock_placement"'; } echo ',"subattribute_color_ordering","subattribute_setdefault_selected","subattribute_color_title","subattribute_virtual_number","subattribute_color_oprand","required_sub_attribute","subattribute_color_price","subattribute_color_image","delete"'; echo "\r\n"; } // Added attribute of products $attribute = $producthelper->getProductAttribute($cur[$i]->product_id); $attr = array(); for ($att = 0; $att < count($attribute); $att++) { if ($attribute[$att]->attribute_name != "") { echo '"' . $cur[$i]->product_number . '","' . $attribute[$att]->attribute_name . '","' . $attribute[$att]->ordering . '","' . $attribute[$att]->allow_multiple_selection . '","' . $attribute[$att]->hide_attribute_price . '","' . $attribute[$att]->attribute_required . '","' . $attribute[$att]->display_type . '"'; if ($isrecrm) { echo ',,'; } echo ',,,,,,,,,,,,,,,,"0"'; echo "\r\n"; $att_property = $producthelper->getAttibuteProperty(0, $attribute[$att]->attribute_id); for ($prop = 0; $prop < count($att_property); $prop++) { $property_image = ""; $property_main_image = ""; $main_attribute_stock = ""; $sel_arrtibute_stock = "select * from `#__redshop_product_attribute_stockroom_xref` where section_id='" . $att_property[$prop]->property_id . "'"; $this->_db->setQuery($sel_arrtibute_stock); $fetch_arrtibute_stock = $this->_db->loadObjectList(); for ($h = 0; $h < count($fetch_arrtibute_stock); $h++) { $main_attribute_stock .= $fetch_arrtibute_stock[$h]->stockroom_id . ":" . $fetch_arrtibute_stock[$h]->quantity . "#"; } if ($att_property[$prop]->property_image != "") { $property_image = REDSHOP_FRONT_IMAGES_ABSPATH . 'product_attributes/' . $att_property[$prop]->property_image; } if ($att_property[$prop]->property_main_image != "") { $property_main_image = REDSHOP_FRONT_IMAGES_ABSPATH . 'property/' . $att_property[$prop]->property_main_image; } echo '"' . $cur[$i]->product_number . '","' . $attribute[$att]->attribute_name . '",,,,,,"' . $att_property[$prop]->property_name . '","' . $main_attribute_stock . '"'; if ($isrecrm) { $main_attribute_stock_placement = ""; // Initialiase variables. $query = $this->_db->getQuery(true); // Prepare query. $query->select('stock_placement'); $query->from('#__redcrm_attribute_stock_placement'); $query->where('section = "property"'); $query->where('section_id = "' . $att_property[$prop]->property_id . '"'); // Inject the query and load the result. $this->_db->setQuery($query); $main_attribute_stock_placement = $this->_db->loadResult(); echo ',"' . $main_attribute_stock_placement . '"'; } echo ',"' . $att_property[$prop]->ordering . '","' . $att_property[$prop]->property_number . '","' . $att_property[$prop]->setdefault_selected . '","' . $att_property[$prop]->setdisplay_type . '","' . $att_property[$prop]->oprand . '","' . $att_property[$prop]->property_price . '","' . $property_image . '","' . $property_main_image . '"'; if ($isrecrm) { echo ','; } echo ',,,,,,,,,"0"'; echo "\n"; $subatt_property = $producthelper->getAttibuteSubProperty(0, $att_property[$prop]->property_id); for ($subprop = 0; $subprop < count($subatt_property); $subprop++) { $subattribute_color_image = ""; $main_attribute_stock_sub = ""; $sel_arrtibute_stock_sub = "select * from `#__redshop_product_attribute_stockroom_xref` where section_id='" . $subatt_property[$subprop]->subattribute_color_id . "'"; $this->_db->setQuery($sel_arrtibute_stock_sub); $fetch_arrtibute_stock_sub = $this->_db->loadObjectList(); for ($b = 0; $b < count($fetch_arrtibute_stock_sub); $b++) { $main_attribute_stock_sub .= $fetch_arrtibute_stock_sub[$b]->stockroom_id . ":" . $fetch_arrtibute_stock_sub[$b]->quantity . "#"; } if ($subatt_property[$subprop]->subattribute_color_image != "") { $subattribute_color_image = REDSHOP_FRONT_IMAGES_ABSPATH . 'subcolor/' . $subatt_property[$subprop]->subattribute_color_image; } echo '"' . $cur[$i]->product_number . '","' . $attribute[$att]->attribute_name . '",,,,,,"' . $att_property[$prop]->property_name . '"'; if ($isrecrm) { echo ','; } echo ',,,,,,,,,,"' . $subatt_property[$subprop]->subattribute_color_name . '","' . $main_attribute_stock_sub . '"'; if ($isrecrm) { $main_attribute_stock_sub_placement = ""; // Initialiase variables. $query = $this->_db->getQuery(true); // Prepare query. $query->select('stock_placement'); $query->from('#__redcrm_attribute_stock_placement'); $query->where('section = "subproperty"'); $query->where('section_id = "' . $subatt_property[$subprop]->subattribute_color_id . '"'); // Inject the query and load the result. $this->_db->setQuery($query); $main_attribute_stock_sub_placement = $this->_db->loadResult(); echo ',"' . $main_attribute_stock_sub_placement . '"'; } echo ',"' . $subatt_property[$subprop]->ordering . '","' . $subatt_property[$subprop]->setdefault_selected . '","' . $subatt_property[$subprop]->subattribute_color_title . '","' . $subatt_property[$subprop]->subattribute_color_number . '","' . $subatt_property[$subprop]->oprand . '","' . $att_property[$prop]->setrequire_selected . '","' . $subatt_property[$subprop]->subattribute_color_price . '","' . $subattribute_color_image . '","0"'; echo "\n"; } } } } } } }
public function replaceSubPropertyData($product_id = 0, $accessory_id = 0, $attribute_id = 0, $property_id = 0, $user_id, $uniqueid = "") { $producthelper = new producthelper(); $subproperty = array(); if ($property_id != 0 && $attribute_id != 0) { $attributes = $producthelper->getProductAttribute(0, 0, $attribute_id); $attributes = $attributes[0]; $subproperty = $producthelper->getAttibuteSubProperty(0, $property_id); } if ($accessory_id != 0) { $prefix = $uniqueid . "acc_"; } else { $prefix = $uniqueid . "prd_"; } $attributelist = ""; if (count($subproperty) > 0) { $commonid = $prefix . $product_id . '_' . $accessory_id . '_' . $attribute_id . '_' . $property_id; $subpropertyid = 'subproperty_id_' . $commonid; for ($i = 0; $i < count($subproperty); $i++) { $attributes_subproperty_vat = 0; if ($subproperty[$i]->subattribute_color_price > 0) { $attributes_subproperty_vat = $producthelper->getProducttax($product_id, $subproperty[$i]->subattribute_color_price); $subproperty[$i]->subattribute_color_price += $attributes_subproperty_vat; $subproperty[$i]->text = urldecode($subproperty[$i]->subattribute_color_name) . " (" . $subproperty[$i]->oprand . $producthelper->getProductFormattedPrice($subproperty[$i]->subattribute_color_price) . ")"; } else { $subproperty[$i]->text = urldecode($subproperty[$i]->subattribute_color_name); } $attributelist .= '<input type="hidden" id="' . $subpropertyid . '_oprand' . $subproperty[$i]->value . '" value="' . $subproperty[$i]->oprand . '" />'; $attributelist .= '<input type="hidden" id="' . $subpropertyid . '_protax' . $subproperty[$i]->value . '" value="' . $attributes_subproperty_vat . '" />'; $attributelist .= '<input type="hidden" id="' . $subpropertyid . '_proprice' . $subproperty[$i]->value . '" value="' . $subproperty[$i]->subattribute_color_price . '" />'; } $tmp_array = array(); $tmp_array[0]->value = 0; $tmp_array[0]->text = JText::_('COM_REDSHOP_SELECT') . " " . urldecode($subproperty[0]->property_name); $new_subproperty = array_merge($tmp_array, $subproperty); $chklist = ""; if ($attributes->allow_multiple_selection) { for ($chk = 0; $chk < count($subproperty); $chk++) { $chklist .= "<br /><input type='checkbox' value='" . $subproperty[$chk]->value . "' name='" . $subpropertyid . "[]' id='" . $subpropertyid . "' class='inputbox' onchange='javascript:calculateOfflineTotalPrice(\"" . $uniqueid . "\");' /> " . $subproperty[$chk]->text; } } else { $chklist = JHTML::_('select.genericlist', $new_subproperty, $subpropertyid . '[]', ' id="' . $subpropertyid . '" class="inputbox" size="1" onchange="javascript:calculateOfflineTotalPrice(\'' . $uniqueid . '\');" ', 'value', 'text', ''); } $lists['subproperty_id'] = $chklist; $attributelist .= "<tr><td>" . urldecode($subproperty[0]->property_name) . " : " . $lists['subproperty_id']; } return $attributelist; }
/** * Generate product search output */ public function onRSProductSearch() { if (count($this->search) > 0) { $app = JFactory::getApplication(); require_once JPATH_COMPONENT . '/helpers/product.php'; require_once JPATH_COMPONENT . '/helpers/pagination.php'; require_once JPATH_COMPONENT . '/helpers/extra_field.php'; require_once JPATH_COMPONENT_ADMINISTRATOR . '/helpers/text_library.php'; $dispatcher = JDispatcher::getInstance(); $redTemplate = new Redtemplate(); $Redconfiguration = new Redconfiguration(); $producthelper = new producthelper(); $extraField = new extraField(); $texts = new text_library(); $stockroomhelper = new rsstockroomhelper(); $Itemid = JRequest::getInt('Itemid'); $search_type = JRequest::getCmd('search_type'); $cid = JRequest::getInt('category_id'); $manisrch = $this->search; $manufacture_id = $manisrch[0]->manufacturer_id; $templateid = JRequest::getInt('templateid'); // Cmd removes space between to words $keyword = JRequest::getWord('keyword'); $layout = JRequest::getCmd('layout', 'default'); $db = JFactory::getDbo(); $query = 'SELECT category_name' . ' FROM #__redshop_category ' . 'WHERE category_id=' . JRequest::getInt('cid'); $db->setQuery($query); $cat_name = null; if ($catname_array = $db->loadObjectList()) { $cat_name = $catname_array[0]->category_name; } $session = JFactory::getSession(); $model = $this->getModel('search'); $limit = $this->limit; $limitstart = JRequest::getInt('limitstart', 0); $total = $model->_total; JHTML::_('behavior.tooltip'); JHTMLBehavior::modal(); $url = JURI::base(); if ($this->params->get('page_title') != "") { $pagetitle = $this->params->get('page_title'); } else { $pagetitle = JText::_('COM_REDSHOP_SEARCH'); } if ($this->params->get('show_page_heading', 1)) { echo '<h1 class="componentheading' . $this->escape($this->params->get('pageclass_sfx')) . '">'; echo $pagetitle; echo '</h1>'; } echo '<div style="clear:both"></div>'; $category_tmpl = ""; if (count($this->templatedata) > 0 && $this->templatedata[0]->template_desc != "") { $template_desc = $this->templatedata[0]->template_desc; } else { $template_desc = "<div class=\"category_print\">{print}</div>\r\n<div style=\"clear: both;\"></div>\r\n<div class=\"category_main_description\">{category_main_description}</div>\r\n<p>{if subcats} {category_loop_start}</p>\r\n<div id=\"categories\">\r\n<div style=\"float: left; width: 200px;\">\r\n<div class=\"category_image\">{category_thumb_image}</div>\r\n<div class=\"category_description\">\r\n<h2 class=\"category_title\">{category_name}</h2>\r\n{category_description}</div>\r\n</div>\r\n</div>\r\n<p>{category_loop_end} {subcats end if}</p>\r\n<div style=\"clear: both;\"></div>\r\n<div id=\"category_header\">\r\n<div class=\"category_order_by\">{order_by}</div>\r\n</div>\r\n<div class=\"category_box_wrapper\">{product_loop_start}\r\n<div class=\"category_box_outside\">\r\n<div class=\"category_box_inside\">\r\n<div class=\"category_product_image\">{product_thumb_image}</div>\r\n<div class=\"category_product_title\">\r\n<h3>{product_name}</h3>\r\n</div>\r\n<div class=\"category_product_price\">{product_price}</div>\r\n<div class=\"category_product_readmore\">{read_more}</div>\r\n<div>{product_rating_summary}</div>\r\n<div class=\"category_product_addtocart\">{form_addtocart:add_to_cart1}</div>\r\n</div>\r\n</div>\r\n{product_loop_end}\r\n<div class=\"category_product_bottom\" style=\"clear: both;\"></div>\r\n</div>\r\n<div class=\"category_pagination\">{pagination}</div>"; } if (strstr($template_desc, "{product_display_limit}")) { $endlimit = $model->getProductPerPage(); $limit = JRequest::getInt('limit', $endlimit, '', 'int'); } $template_org = $template_desc; $template_d1 = explode("{category_loop_start}", $template_org); if (count($template_d1) > 1) { $template_d2 = explode("{category_loop_end}", $template_d1[1]); if (count($template_d2) > 0) { $category_tmpl = $template_d2[0]; } } $template_org = str_replace($category_tmpl, "", $template_org); $template_org = str_replace("{category_loop_start}", "", $template_org); $template_org = str_replace("{category_loop_end}", "", $template_org); $print = JRequest::getInt('print'); $p_url = @explode('?', $_SERVER['REQUEST_URI']); $print_tag = ''; if ($print) { $print_tag = "<a onclick='window.print();' title='" . JText::_('COM_REDSHOP_PRINT_LBL') . "' ><img src=" . JSYSTEM_IMAGES_PATH . "printButton.png alt='" . JText::_('COM_REDSHOP_PRINT_LBL') . "' title='" . JText::_('COM_REDSHOP_PRINT_LBL') . "' /></a>"; } else { $print_url = $url . "index.php?option=com_redshop&view=search&print=1&tmpl=component"; $print_tag = "<a href='#' onclick='window.open(\"{$print_url}\",\"mywindow\",\"scrollbars=1\",\"location=1\")' title='" . JText::_('COM_REDSHOP_PRINT_LBL') . "' ><img src=" . JSYSTEM_IMAGES_PATH . "printButton.png alt='" . JText::_('COM_REDSHOP_PRINT_LBL') . "' title='" . JText::_('COM_REDSHOP_PRINT_LBL') . "' /></a>"; } $template_org = str_replace("{total_product}", count($this->search), $template_org); $template_org = str_replace("{total_product_lbl}", JText::_('COM_REDSHOP_TOTAL_PRODUCT'), $template_org); if (strstr($template_org, "{compare_product_div}")) { $compare_product_div = ""; if (PRODUCT_COMPARISON_TYPE != "") { $comparediv = $producthelper->makeCompareProductDiv(); $compareUrl = JRoute::_('index.php?option=com_redshop&view=product&layout=compare&Itemid=' . $Itemid); $compare_product_div = "<form name='frmCompare' method='post' action='" . $compareUrl . "' >"; $compare_product_div .= "<a href='javascript:compare();' >" . JText::_('COM_REDSHOP_COMPARE') . "</a>"; $compare_product_div .= "<div id='divCompareProduct'>" . $comparediv . "</div>"; $compare_product_div .= "</form>"; } $template_org = str_replace("{compare_product_div}", $compare_product_div, $template_org); } // Skip html if nosubcategory if (strstr($template_org, "{if subcats}")) { $template_d1 = explode("{if subcats}", $template_org); $template_d2 = explode("{subcats end if}", $template_d1[1]); $template_org = $template_d1[0] . $template_d2[1]; } // End skip html if nosubcategory $template_org = str_replace("{print}", $print_tag, $template_org); $template_org = str_replace("{product_price_slider}", '', $template_org); $template_org = str_replace("{filter_by}", '', $template_org); $template_org = str_replace("{template_selector_category_lbl}", '', $template_org); $template_org = str_replace("{template_selector_category}", '', $template_org); $template_org = str_replace("{category_main_description}", '', $template_org); $template_org = str_replace("{category_main_name}", $cat_name, $template_org); $template_org = str_replace("{category_description}", '', $template_org); $template_org = str_replace("{category_short_desc}", '', $template_org); $template_org = str_replace("{category_name}", '', $template_org); $template_org = str_replace("{if subcats}", '', $template_org); $template_org = str_replace("{subcats end if}", '', $template_org); $template_org = str_replace("{category_main_thumb_image_3}", '', $template_org); $template_org = str_replace("{category_main_short_desc}", '', $template_org); $template_org = str_replace("{category_main_thumb_image_2}", '', $template_org); $template_org = str_replace("{category_main_thumb_image_1}", '', $template_org); $template_org = str_replace("{category_main_thumb_image}", '', $template_org); $template_org = str_replace("{attribute_price_without_vat}", '', $template_org); $template_org = str_replace("{redproductfinderfilter_formstart}", '', $template_org); $template_org = str_replace("{redproductfinderfilter:rp_myfilter}", '', $template_org); $template_org = str_replace("{redproductfinderfilter_formend}", '', $template_org); // Replace redproductfilder filter tag if (strstr($template_org, "{redproductfinderfilter:")) { $redProductFinerHelper = JPATH_SITE . "/components/com_redproductfinder/helpers/redproductfinder_helper.php"; if (file_exists($redProductFinerHelper)) { include_once $redProductFinerHelper; $redproductfinder_helper = new redproductfinder_helper(); $hdnFields = array('texpricemin' => '0', 'texpricemax' => '0', 'manufacturer_id' => $filter_by, 'category_template' => $templateid); $hide_filter_flag = false; if ($this->_id) { $prodctofcat = $producthelper->getProductCategory($this->_id); if (empty($prodctofcat)) { $hide_filter_flag = true; } } $template_org = $redproductfinder_helper->replaceProductfinder_tag($template_org, $hdnFields, $hide_filter_flag); } } // Replace redproductfilder filter tag end here $template_d1 = explode("{product_loop_start}", $template_org); $template_d2 = explode("{product_loop_end}", $template_d1[1]); $template_tmp_desc = $template_d2[0]; $template_desc = $template_d2[0]; // Order By $order_by = ""; $orderby_form = "<form name='orderby_form' action='' method='post' >"; $orderby_form .= $this->lists['order_select']; $orderby_form .= "<input type='hidden' name='view' value='search'>\n\t\t\t<input type='hidden' name='layout' value='{$layout}'>\n\t\t\t<input type='hidden' name='keyword' value='{$keyword}'>\n\t\t\t<input type='hidden' name='category_id' value='{$cid}'>\n\t\t\t<input type='hidden' name='manufacture_id' value='{$manufacture_id}'>\n\t\t\t<input type='hidden' name='templateid' value='{$templateid}'></form>"; if (strstr($template_desc, '{order_by}')) { $order_by = $orderby_form; } $extraFieldName = $extraField->getSectionFieldNameArray(1, 1, 1); $attribute_template = $producthelper->getAttributeTemplate($template_desc); $total_product = $model->_total; $endlimit = $this->limit; $start = JRequest::getInt('limitstart', 0, '', 'int'); if (strstr($template_org, "{pagination}")) { if (strstr($template_org, "{product_display_limit}")) { $endlimit = JRequest::getInt('limit', $endlimit, '', 'int'); } } else { $endlimit = $model->getData(); } if ($endlimit == 0) { $final_endlimit = $total_product; } else { $final_endlimit = $endlimit; } $tagarray = $texts->getTextLibraryTagArray(); $data = ""; $count_no_user_field = 0; for ($i = 0; $i < count($this->search); $i++) { $data_add = ""; $thum_image = ""; $pname = $Redconfiguration->maxchar($this->search[$i]->product_name, CATEGORY_PRODUCT_TITLE_MAX_CHARS, CATEGORY_PRODUCT_TITLE_END_SUFFIX); if ($search_type == 'product_number') { $product_number = str_ireplace($keyword, "<b class='search_hightlight'>" . $keyword . "</b>", $this->search[$i]->product_number); $pro_s_desc = $this->search[$i]->product_s_desc; $pro_desc = $this->search[$i]->product_desc; } else { $product_number = $this->search[$i]->product_number; $pro_s_desc = $this->search[$i]->product_s_desc; $pro_desc = $this->search[$i]->product_desc; if (!in_array($keyword, $tagarray)) { $pname = str_ireplace($keyword, "<b class='search_hightlight'>" . $keyword . "</b>", $pname); $pro_s_desc = str_ireplace($keyword, "<b class='search_hightlight'>" . $keyword . "</b>", $pro_s_desc); $pro_desc = str_ireplace($keyword, "<b class='search_hightlight'>" . $keyword . "</b>", $pro_desc); } } $pro_s_desc = $Redconfiguration->maxchar($pro_s_desc, CATEGORY_PRODUCT_DESC_MAX_CHARS, CATEGORY_PRODUCT_DESC_END_SUFFIX); $link = JRoute::_('index.php?option=com_redshop&view=product&pid=' . $this->search[$i]->product_id . '&Itemid=' . $Itemid); if (strstr($template_desc, '{product_name}')) { $pname = "<a href='" . $link . "'>" . $pname . "</a>"; $data_add = str_replace("{product_name}", $pname, $template_desc); } if (strstr($template_desc, '{product_name_nolink}')) { $data_add = str_replace("{product_name_nolink}", $pname, $template_desc); } $readmore = "<a href='" . $link . "'>" . JText::_('COM_REDSHOP_READ_MORE') . "</a>"; $data_add = str_replace("{read_more}", $readmore, $data_add); $data_add = str_replace("{read_more_link}", $link, $data_add); // RedSHOP Product Plugin JPluginHelper::importPlugin('redshop_product'); $results = $dispatcher->trigger('onPrepareProduct', array(&$data_add, &$params, $this->search[$i])); // End if (strstr($data_add, "{product_delivery_time}")) { $product_delivery_time = $producthelper->getProductMinDeliveryTime($this->search[$i]->product_id); if ($product_delivery_time != "") { $data_add = str_replace("{delivery_time_lbl}", JText::_('DELIVERY_TIME'), $data_add); $data_add = str_replace("{product_delivery_time}", $product_delivery_time, $data_add); } else { $data_add = str_replace("{delivery_time_lbl}", "", $data_add); $data_add = str_replace("{product_delivery_time}", "", $data_add); } } // Product Review/Rating // Fetching reviews $final_avgreview_data = $producthelper->getProductRating($this->search[$i]->product_id); // Attribute ajax chage $data_add = str_replace("{product_rating_summary}", $final_avgreview_data, $data_add); $data_add = $producthelper->getJcommentEditor($this->search[$i], $data_add); $data_add = $producthelper->getExtraSectionTag($extraFieldName, $this->search[$i]->product_id, "1", $data_add, 1); $data_add = str_replace("{product_s_desc}", $pro_s_desc, $data_add); $data_add = str_replace("{product_desc}", $pro_desc, $data_add); $data_add = str_replace("{product_id_lbl}", JText::_('COM_REDSHOP_PRODUCT_ID_LBL'), $data_add); $data_add = str_replace("{product_id}", $this->search[$i]->product_id, $data_add); $data_add = str_replace("{product_number_lbl}", JText::_('COM_REDSHOP_PRODUCT_NUMBER_LBL'), $data_add); $data_add = str_replace("{product_number}", $product_number, $data_add); /** * related Product List in Lightbox * Tag Format = {related_product_lightbox:<related_product_name>[:width][:height]} */ if (strstr($data_add, '{related_product_lightbox:')) { $related_product = $producthelper->getRelatedProduct($this->search[$i]->product_id); $rtlnone = explode("{related_product_lightbox:", $data_add); $rtlntwo = explode("}", $rtlnone[1]); $rtlnthree = explode(":", $rtlntwo[0]); $rtln = $rtlnthree[0]; $rtlnfwidth = isset($rtlnthree[1]) ? $rtlnthree[1] : "900"; $rtlnwidthtag = isset($rtlnthree[1]) ? ":" . $rtlnthree[1] : ""; $rtlnfheight = isset($rtlnthree[2]) ? $rtlnthree[2] : "600"; $rtlnheighttag = isset($rtlnthree[2]) ? ":" . $rtlnthree[2] : ""; $rtlntag = "{related_product_lightbox:{$rtln}{$rtlnwidthtag}{$rtlnheighttag}}"; if (count($related_product) > 0) { $linktortln = JUri::root() . "index.php?option=com_redshop&view=product&pid=" . $this->search[$i]->product_id . "&tmpl=component&template=" . $rtln . "&for=rtln"; $rtlna = '<a class="modal" href="' . $linktortln . '" rel="{handler:\'iframe\',size:{x:' . $rtlnfwidth . ',y:' . $rtlnfheight . '}}" >' . JText::_('COM_REDSHOP_RELATED_PRODUCT_LIST_IN_LIGHTBOX') . '</a>'; } else { $rtlna = ""; } $data_add = str_replace($rtlntag, $rtlna, $data_add); } $data_add = $producthelper->replaceVatinfo($data_add); /************************************ * Conditional tag * if product on discount : Yes * {if product_on_sale} This product is on sale {product_on_sale end if} // OUTPUT : This product is on sale * NO : // OUTPUT : Display blank ************************************/ $data_add = $producthelper->getProductOnSaleComment($this->search[$i], $data_add); $data_add = $stockroomhelper->replaceStockroomAmountDetail($data_add, $this->search[$i]->product_id); if (strstr($data_add, "{product_thumb_image_3}")) { $cimg_tag = '{product_thumb_image_3}'; $ch_thumb = CATEGORY_PRODUCT_THUMB_HEIGHT_3; $cw_thumb = CATEGORY_PRODUCT_THUMB_WIDTH_3; } elseif (strstr($data_add, "{product_thumb_image_2}")) { $cimg_tag = '{product_thumb_image_2}'; $ch_thumb = CATEGORY_PRODUCT_THUMB_HEIGHT_2; $cw_thumb = CATEGORY_PRODUCT_THUMB_WIDTH_2; } elseif (strstr($data_add, "{product_thumb_image_1}")) { $cimg_tag = '{product_thumb_image_1}'; $ch_thumb = CATEGORY_PRODUCT_THUMB_HEIGHT; $cw_thumb = CATEGORY_PRODUCT_THUMB_WIDTH; } else { $cimg_tag = '{product_thumb_image}'; $ch_thumb = CATEGORY_PRODUCT_THUMB_HEIGHT; $cw_thumb = CATEGORY_PRODUCT_THUMB_WIDTH; } $hidden_thumb_image = "<input type='hidden' name='prd_main_imgwidth' id='prd_main_imgwidth' value='" . $cw_thumb . "'><input type='hidden' name='prd_main_imgheight' id='prd_main_imgheight' value='" . $ch_thumb . "'>"; $thum_image = $producthelper->getProductImage($this->search[$i]->product_id, $link, $cw_thumb, $ch_thumb); $data_add = str_replace($cimg_tag, $thum_image . $hidden_thumb_image, $data_add); // More documents if (strstr($data_add, "{more_documents}")) { $media_documents = $producthelper->getAdditionMediaImage($this->search[$i]->product_id, "product", "document"); $more_doc = ''; for ($m = 0; $m < count($media_documents); $m++) { $alttext = $producthelper->getAltText("product", $media_documents[$m]->section_id, "", $media_documents[$m]->media_id, "document"); if (!$alttext) { $alttext = $media_documents[$m]->media_name; } if (is_file(REDSHOP_FRONT_DOCUMENT_RELPATH . "product/" . $media_documents[$m]->media_name)) { $downlink = JUri::root() . 'index.php?tmpl=component&option=com_redshop&view=product&pid=' . $this->search[$i]->product_id . '&task=downloadDocument&fname=' . $media_documents[$m]->media_name . '&Itemid=' . $Itemid; $more_doc .= "<div><a href='" . $downlink . "' title='" . $alttext . "'>"; $more_doc .= $alttext; $more_doc .= "</a></div>"; } } $data_add = str_replace("{more_documents}", "<span id='additional_docs" . $this->search[$i]->product_id . "'>" . $more_doc . "</span>", $data_add); } // More documents end /************************************************ user fields*******************************************************/ $hidden_userfield = ""; $returnArr = $producthelper->getProductUserfieldFromTemplate($data_add); $template_userfield = $returnArr[0]; $userfieldArr = $returnArr[1]; $count_no_user_field = 0; if ($template_userfield != "") { $ufield = ""; for ($ui = 0; $ui < count($userfieldArr); $ui++) { $product_userfileds = $extraField->list_all_user_fields($userfieldArr[$ui], 12, '', '', 0, $this->search[$i]->product_id); $ufield .= $product_userfileds[1]; if ($product_userfileds[1] != "") { $count_no_user_field++; } $data_add = str_replace('{' . $userfieldArr[$ui] . '_lbl}', $product_userfileds[0], $data_add); $data_add = str_replace('{' . $userfieldArr[$ui] . '}', $product_userfileds[1], $data_add); } $product_userfileds_form = "<form method='post' action='' id='user_fields_form_" . $this->search[$i]->product_id . "' name='user_fields_form_" . $this->search[$i]->product_id . "'>"; if ($ufield != "") { $data_add = str_replace("{if product_userfield}", $product_userfileds_form, $data_add); $data_add = str_replace("{product_userfield end if}", "</form>", $data_add); } else { $data_add = str_replace("{if product_userfield}", "", $data_add); $data_add = str_replace("{product_userfield end if}", "", $data_add); } } elseif (AJAX_CART_BOX) { $ajax_detail_template_desc = ""; $ajax_detail_template = $producthelper->getAjaxDetailboxTemplate($this->search[$i]); if (count($ajax_detail_template) > 0) { $ajax_detail_template_desc = $ajax_detail_template->template_desc; } $returnArr = $producthelper->getProductUserfieldFromTemplate($ajax_detail_template_desc); $template_userfield = $returnArr[0]; $userfieldArr = $returnArr[1]; if ($template_userfield != "") { $ufield = ""; for ($ui = 0; $ui < count($userfieldArr); $ui++) { $product_userfileds = $extraField->list_all_user_fields($userfieldArr[$ui], 12, '', '', 0, $this->search[$i]->product_id); $ufield .= $product_userfileds[1]; if ($product_userfileds[1] != "") { $count_no_user_field++; } $template_userfield = str_replace('{' . $userfieldArr[$ui] . '_lbl}', $product_userfileds[0], $template_userfield); $template_userfield = str_replace('{' . $userfieldArr[$ui] . '}', $product_userfileds[1], $template_userfield); } if ($ufield != "") { $hidden_userfield = "<div style='display:none;'><form method='post' action='' id='user_fields_form_" . $this->search[$i]->product_id . "' name='user_fields_form_" . $this->search[$i]->product_id . "'>" . $template_userfield . "</form></div>"; } } } $data_add = $data_add . $hidden_userfield; /*************** end user fields ***************/ // ProductFinderDatepicker Extra Field Start $fieldArray = $extraField->getSectionFieldList(17, 0, 0); $data_add = $producthelper->getProductFinderDatepickerValue($data_add, $this->search[$i]->product_id, $fieldArray); // ProductFinderDatepicker Extra Field End /* * manufacturer data */ $manufacturer_id = $this->search[$i]->manufacturer_id; if ($manufacturer_id != 0) { $manufacturer_data = $producthelper->getSection("manufacturer", $manufacturer_id); $manufacturer_link_href = JRoute::_('index.php?option=com_redshop&view=manufacturers&layout=detail&mid=' . $manufacturer_id . '&Itemid=' . $Itemid); $manufacturer_name = ""; if (count($manufacturer_data) > 0) { $manufacturer_name = $manufacturer_data->manufacturer_name; } $manufacturer_link = '<a href="' . $manufacturer_link_href . '" title="' . $manufacturer_name . '">' . $manufacturer_name . '</a>'; if (strstr($data_add, "{manufacturer_link}")) { $data_add = str_replace("{manufacturer_name}", "", $data_add); } else { $data_add = str_replace("{manufacturer_name}", $manufacturer_name, $data_add); } $data_add = str_replace("{manufacturer_link}", $manufacturer_link, $data_add); } else { $data_add = str_replace("{manufacturer_link}", "", $data_add); $data_add = str_replace("{manufacturer_name}", "", $data_add); } // End // Replace wishlistbutton $data_add = $producthelper->replaceWishlistButton($this->search[$i]->product_id, $data_add); // Replace compare product button $data_add = $producthelper->replaceCompareProductsButton($this->search[$i]->product_id, 0, $data_add); // Checking for child products $childproduct = $producthelper->getChildProduct($this->search[$i]->product_id); if (count($childproduct) > 0) { $isChilds = true; $attributes = array(); } else { $isChilds = false; // Get attributes $attributes_set = array(); if ($this->search[$i]->attribute_set_id > 0) { $attributes_set = $producthelper->getProductAttribute(0, $this->search[$i]->attribute_set_id, 0, 1); } $attributes = $producthelper->getProductAttribute($this->search[$i]->product_id); $attributes = array_merge($attributes, $attributes_set); } // Product attribute Start $totalatt = count($attributes); // Check product for not for sale $data_add = $producthelper->getProductNotForSaleComment($this->search[$i], $data_add, $attributes); $data_add = $producthelper->replaceProductInStock($this->search[$i]->product_id, $data_add, $attributes, $attribute_template); $data_add = $producthelper->replaceAttributeData($this->search[$i]->product_id, 0, 0, $attributes, $data_add, $attribute_template, $isChilds); // Cart Template $data_add = $producthelper->replaceCartTemplate($this->search[$i]->product_id, 0, 0, 0, $data_add, $isChilds, $userfieldArr, $totalatt, 0, $count_no_user_field, ""); $data .= $data_add; } $app = JFactory::getApplication(); $router = $app->getRouter(); $getorderby = JRequest::getVar('order_by', DEFAULT_PRODUCT_ORDERING_METHOD); $vars = array('option' => 'com_redshop', 'view' => 'search', 'layout' => $layout, 'keyword' => $keyword, 'manufacture_id' => $manufacture_id, 'order_by' => $getorderby, 'category_id' => $cid, 'Itemid' => $Itemid, 'limit' => $limit); $router->setVars($vars); unset($vars); if (strstr($template_org, "{pagination}")) { $pagination = new redPagination($total_product, $start, $endlimit); $slidertag = $pagination->getPagesLinks(); if (strstr($template_org, "{product_display_limit}")) { $slidertag = "<form action='' method='post'><input type='hidden' name='keyword' value='{$keyword}'>\n\t\t\t<input type='hidden' name='category_id' value='{$cid}'>\n\t\t\t<input type='hidden' name='manufacture_id' value='{$manufacture_id}'>\n\t\t\t<input type='hidden' name='templateid' value='{$templateid}'> " . $pagination->getListFooter() . "</form>"; $template_org = str_replace("{product_display_limit}", $slidertag, $template_org); $template_org = str_replace("{pagination}", '', $template_org); } $template_org = str_replace("{pagination}", $slidertag, $template_org); } $template_org = str_replace("{product_display_limit}", "", $template_org); if (strstr($template_org, "perpagelimit:")) { $perpage = explode('{perpagelimit:', $template_org); $perpage = explode('}', $perpage[1]); $template_org = str_replace("{perpagelimit:" . intval($perpage[0]) . "}", "", $template_org); } $template_org = str_replace("{order_by}", $orderby_form, $template_org); $template_org = str_replace("{order_by_lbl}", JText::_('COM_REDSHOP_SELECT_ORDER_BY'), $template_org); $template_org = str_replace("{filter_by_lbl}", JText::_('COM_REDSHOP_SELECT_FILTER_BY'), $template_org); $template_org = str_replace("{attribute_price_with_vat}", "", $template_org); $template_org = str_replace("{attribute_price_without_vat}", "", $template_org); $template_org = str_replace("{product_loop_start}", "", $template_org); $template_org = str_replace("{product_loop_end}", "", $template_org); $template_org = str_replace($template_tmp_desc, $data, $template_org); $template_org = str_replace("{with_vat}", "", $template_org); $template_org = str_replace("{without_vat}", "", $template_org); $template_org = $redTemplate->parseredSHOPplugin($template_org); $template_org = $texts->replace_texts($template_org); eval("?>" . $template_org . "<?php "); } else { echo "<br><h3>" . JText::_('COM_REDSHOP_MSG_SORRY_NO_RESULT_FOUND') . "</h3>"; } }
public function getProductItemInfo($product_id = 0, $quantity = 1, $unique_id = "", $user_id = 0, $newproduct_price = 0) { $producthelper = new producthelper(); $wrapperlist = ""; $accessorylist = ""; $attributelist = ""; $productuserfield = ""; $product_price = 0; $product_price_excl_vat = 0; $producttax = 0; if ($product_id) { $productInfo = $producthelper->getProductById($product_id); if ($newproduct_price != 0) { $product_price_excl_vat = $newproduct_price; $producttax = $producthelper->getProductTax($product_id, $newproduct_price, $user_id); } else { $productArr = $producthelper->getProductNetPrice($product_id, $user_id, $quantity); $product_price_excl_vat = $productArr['productPrice']; $producttax = $productArr['productVat']; // Attribute start $attributes_set = array(); if ($productInfo->attribute_set_id > 0) { $attributes_set = $producthelper->getProductAttribute(0, $productInfo->attribute_set_id, 0, 1); } $attributes = $producthelper->getProductAttribute($product_id); $attributes = array_merge($attributes, $attributes_set); $attributelist = $this->replaceAttributeData($product_id, 0, $attributes, $user_id, $unique_id); // Accessory start $accessory = $producthelper->getProductAccessory(0, $product_id); $accessorylist = $this->replaceAccessoryData($product_id, $accessory, $user_id, $unique_id); // Wrapper selection box generate $wrapperlist = $this->replaceWrapperData($product_id, $user_id, $unique_id); $productuserfield = $this->replaceUserfield($product_id, $productInfo->product_template, $unique_id); } } $product_price = $product_price_excl_vat + $producttax; $total_price = $product_price * $quantity; $totaltax = $producttax * $quantity; $displayrespoce = ""; $displayrespoce .= "<div id='product_price_excl_vat'>" . $product_price_excl_vat . "</div>"; $displayrespoce .= "<div id='product_tax'>" . $producttax . "</div>"; $displayrespoce .= "<div id='product_price'>" . $product_price . "</div>"; $displayrespoce .= "<div id='total_price'>" . $total_price . "</div>"; $displayrespoce .= "<div id='total_tax'>" . $totaltax . "</div>"; $displayrespoce .= "<div id='attblock'><table>" . $attributelist . "</table></div>"; $displayrespoce .= "<div id='productuserfield'><table>" . $productuserfield . "</table></div>"; $displayrespoce .= "<div id='accessoryblock'><table>" . $accessorylist . "</table></div>"; $displayrespoce .= "<div id='noteblock'>" . $wrapperlist . "</div>"; return $displayrespoce; }
$slide_params = json_decode($slide->params); $product_item = modRedSliderHelper::getProductItem($slide_params); $product_image = $slide_params->product_image; if ($product_item->product_full_image) { $product_image = JURI::base(true) . '/components/com_redshop/assets/images/product/' . $product_item->product_full_image; } $product_template = $slide->template_description; $product_template = str_replace("{product_image}", '<img src="' . $product_image . '">', $product_template); $product_template = str_replace("{product_name}", $product_item->product_name, $product_template); $product_template = str_replace("{product_description}", $product_item->product_s_desc, $product_template); $product_template = str_replace("{product_price}", $product_item->product_price, $product_template); $product_template = str_replace("{product_quantity}", "<input class=\"product-quantity\" type=\"number\" value=\"1\" style=\"width:30px\">", $product_template); $product_template = str_replace("{addtocart_button}", "<input class=\"addtocart-button\" type=\"submit\" value=\"Add to cart\" style=\"width:100px\">", $product_template); require_once JPATH_SITE . '/components/com_redshop/helpers/helper.php'; $product_helper = new producthelper(); $attribute_list = $product_helper->getProductAttribute($product_item->product_id); $product_attribute_html = ""; foreach ($attribute_list as $attribute) { $attribute_properties = $product_helper->getAttibuteProperty(0, $attribute->attribute_id); $select_row = new stdClass(); $select_row->value = "0"; $select_row->text = "Select " . $attribute->text; $attribute_properties = array_merge(array(0 => $select_row), $attribute_properties); $product_attribute_html .= "<div>" . JHtml::_('select.genericlist', $attribute_properties, '', 'class="product-attribute" name="product-attribute" style="width:100px"') . "</div>"; } $product_template = str_replace("{product_attribute}", $product_attribute_html, $product_template); ?> <li> <div class="content"> <img src="<?php
// Replace compare product button. $prddata_add = $producthelper->replaceCompareProductsButton($product->product_id, $this->catid, $prddata_add); if (strstr($prddata_add, "{stockroom_detail}")) { $prddata_add = $stockroomhelper->replaceStockroomAmountDetail($prddata_add, $product->product_id); } // Checking for child products. $childproduct = $producthelper->getChildProduct($product->product_id); if (count($childproduct) > 0) { $isChilds = true; $attributes = array(); } else { $isChilds = false; // Get attributes. $attributes_set = array(); if ($product->attribute_set_id > 0) { $attributes_set = $producthelper->getProductAttribute(0, $product->attribute_set_id, 0, 1); } $attributes = $producthelper->getProductAttribute($product->product_id); $attributes = array_merge($attributes, $attributes_set); } // Product attribute - Start. $totalatt = count($attributes); // Check product for not for sale. $prddata_add = $producthelper->getProductNotForSaleComment($product, $prddata_add, $attributes); $prddata_add = $producthelper->replaceProductInStock($product->product_id, $prddata_add, $attributes, $attribute_template); $prddata_add = $producthelper->replaceAttributeData($product->product_id, 0, 0, $attributes, $prddata_add, $attribute_template, $isChilds); // Get cart tempalte. $prddata_add = $producthelper->replaceCartTemplate($product->product_id, $this->catid, 0, 0, $prddata_add, $isChilds, $userfieldArr, $totalatt, $totacc, $count_no_user_field); } $data_add = str_replace("{product_loop_start}", "", $data_add); $data_add = str_replace("{product_loop_end}", "", $data_add);
public function getTotalProperty($productId) { $producthelper = new producthelper(); // Collect Attributes $attribute = $producthelper->getProductAttribute($productId); $attributeId = $attribute[0]->value; // Collect Property $property = $producthelper->getAttibuteProperty(0, $attributeId, $productId); return count($property); }
public function gbasefeed($data) { $producthelper = new producthelper(); $stockroomhelper = new rsstockroomhelper(); $shippinghelper = new shipping(); $unpublished_data = $data['unpublished_data']; $cid = $data['cid']; $url = JURI::root(); $currency = new CurrencyHelper(); $product_img_url = $url . 'components/com_redshop/assets/images/product/'; $file_path = JPATH_COMPONENT_SITE . "/assets/document/gbase"; $file_name = $file_path . "/product.xml"; if (count($cid)) { $cids = implode(',', $cid); if ($unpublished_data == 1) { $query = "SELECT p.*,m.manufacturer_name FROM " . $this->_table_prefix . "product AS p " . " LEFT JOIN " . $this->_table_prefix . "manufacturer AS m" . " ON p.manufacturer_id = m.manufacturer_id" . " WHERE p.product_id IN (" . $cids . ")"; } else { $query = "SELECT p.*,m.manufacturer_name FROM " . $this->_table_prefix . "product AS p " . " LEFT JOIN " . $this->_table_prefix . "manufacturer AS m" . " ON p.manufacturer_id = m.manufacturer_id" . " WHERE p.product_id IN (" . $cids . ") and p.published =1"; } $this->_db->setQuery($query); $rs = $this->_db->loadObjectlist(); // For shipping information $shippingArr = $shippinghelper->getShopperGroupDefaultShipping(); $default_shipping = 0.0; $shipping_rate = $currency->convert(number_format($shippingArr['shipping_rate'], PRICE_DECIMAL, PRICE_SEPERATOR, THOUSAND_SEPERATOR), '', CURRENCY_CODE); $default_shipping = count($shippingArr) > 0 ? $shipping_rate : number_format($default_shipping, PRICE_DECIMAL, PRICE_SEPERATOR, THOUSAND_SEPERATOR); $default_shipping_country = DEFAULT_SHIPPING_COUNTRY; $xml_code = '<?xml version="1.0" encoding="UTF-8" '; $xml_code .= '<rss version ="2.0" xmlns:g="http://base.google.com/ns/1.0" xmlns:c="http://base.google.com/cns/1.0">'; $xml_code .= "<channel>"; for ($i = 0; $i < count($rs); $i++) { // For additional images $additional_images = $producthelper->getAdditionMediaImage($rs[$i]->product_id, $section = "product", $mediaType = "images"); $add_image = ""; for ($ad = 0; $ad < 10; $ad++) { if (trim($additional_images[$ad]->product_full_image) != trim($additional_images[$ad]->media_name) && trim($additional_images[$ad]->media_name) != "") { $add_image .= "<g:additional_image_link>" . $product_img_url . htmlspecialchars($additional_images[$ad]->media_name, ENT_NOQUOTES, "UTF-8") . "</g:additional_image_link>"; } } // For getting product Category $category_name = $producthelper->getCategoryNameByProductId($rs[$i]->product_id); if (USE_STOCKROOM == 1) { // For c**t attributes $attributes_set = array(); if ($rs[$i]->attribute_set_id > 0) { $attributes_set = $producthelper->getProductAttribute(0, $rs[$i]->attribute_set_id, 0, 1); } $attributes = $producthelper->getProductAttribute($rs[$i]->product_id); $attributes = array_merge($attributes, $attributes_set); $totalatt = count($attributes); // Get stock details $isStockExists = $stockroomhelper->isStockExists($rs[$i]->product_id); if ($totalatt > 0 && !$isStockExists) { $isStockExists = $stockroomhelper->isAttributeStockExists($product_id); } $isPreorderStockExists = $stockroomhelper->isPreorderStockExists($product_id); if ($totalatt > 0 && !$isPreorderStockExists) { $isPreorderStockExists = $stockroomhelper->isAttributePreorderStockExists($product_id); } if (!$isStockExists) { $product_preorder = $rs[$i]->preorder; if ($product_preorder == "global" && ALLOW_PRE_ORDER || $product_preorder == "yes" || $product_preorder == "" && ALLOW_PRE_ORDER) { if (!$isPreorderStockExists) { $product_status = JText::_('COM_REDSHOP_OUT_OF_STOCK'); } else { $product_status = JText::_('COM_REDSHOP_PREORDER'); } } else { $product_status = JText::_('COM_REDSHOP_OUT_OF_STOCK'); } } else { $product_status = JText::_('COM_REDSHOP_AVAILABLE_FOR_ORDER'); } } else { $product_status = JText::_('COM_REDSHOP_AVAILABLE_FOR_ORDER'); } $product_on_sale = 0; if ($rs[$i]->product_on_sale == 1 && ($rs[$i]->discount_stratdate == 0 && $rs[$i]->discount_enddate == 0 || $rs[$i]->discount_stratdate <= time() && $rs[$i]->discount_enddate >= time())) { $product_on_sale = 1; } // For price and vat settings $product_price = $rs[$i]->product_price; $discount_price = $rs[$i]->discount_price; $sale_price = $product_on_sale == 1 ? $discount_price : $product_price; $price_vat = $producthelper->getGoogleVatRates($rs[$i]->product_id, $product_price, USE_TAX_EXEMPT); $sale_price_vat = $producthelper->getGoogleVatRates($rs[$i]->product_id, $sale_price, USE_TAX_EXEMPT); if (DEFAULT_VAT_COUNTRY != "USA") { $product_price = $rs[$i]->product_price + $price_vat; $sale_price = $sale_price + $sale_price_vat; } $product_price = $currency->convert(number_format($product_price, PRICE_DECIMAL, PRICE_SEPERATOR, THOUSAND_SEPERATOR), '', CURRENCY_CODE); $discount_price = $currency->convert(number_format($discount_price, PRICE_DECIMAL, PRICE_SEPERATOR, THOUSAND_SEPERATOR), '', CURRENCY_CODE); $sale_price = $currency->convert(number_format($sale_price, PRICE_DECIMAL, PRICE_SEPERATOR, THOUSAND_SEPERATOR), '', CURRENCY_CODE); $price_vat = $currency->convert(number_format($price_vat, PRICE_DECIMAL, PRICE_SEPERATOR, THOUSAND_SEPERATOR), '', CURRENCY_CODE); $product_url = $url . "index.php?option=com_redshop&view=product&pid=" . $rs[$i]->product_id; $xml_code .= "\n<item>"; $xml_code .= "\n<g:id>" . htmlspecialchars($rs[$i]->product_id, ENT_NOQUOTES, "UTF-8") . "</g:id>"; $xml_code .= "\n<title>" . htmlspecialchars($rs[$i]->product_name, ENT_NOQUOTES, "UTF-8") . "</title>"; $xml_code .= "\n<description>'" . htmlspecialchars($rs[$i]->product_s_desc, ENT_NOQUOTES, "UTF-8") . "'</description>"; $xml_code .= "\n<g:product_type>'" . htmlspecialchars($category_name, ENT_NOQUOTES, "UTF-8") . "'</g:product_type>"; $xml_code .= "\n<link>" . htmlspecialchars($product_url, ENT_NOQUOTES, "UTF-8") . "</link>"; $xml_code .= "\n<g:image_link>" . $product_img_url . htmlspecialchars($rs[$i]->product_full_image, ENT_NOQUOTES, "UTF-8") . "</g:image_link>"; $xml_code .= "\n<g:brand>" . htmlspecialchars($rs[$i]->manufacturer_name, ENT_NOQUOTES, "UTF-8") . "</g:brand>"; $xml_code .= "\n<g:condition>New</g:condition>"; $xml_code .= "\n<g:availability>" . $product_status . "</g:availability>"; $xml_code .= "\n<g:price>" . $product_price . " " . CURRENCY_CODE . "</g:price>"; $xml_code .= "\n<g:sale_price>" . $sale_price . " " . CURRENCY_CODE . "</g:sale_price>"; if ($product_on_sale == 1) { $discount_start_date = date("c", $rs[$i]->discount_stratdate); $discount_end_date = date("c", $rs[$i]->discount_enddate); $xml_code .= "\n<g:sale_price_effective_date>" . $discount_start_date . "/" . $discount_end_date . "</g:sale_price_effective_date>"; } $xml_code .= "\n<g:mpn>" . htmlspecialchars($rs[$i]->product_number, ENT_NOQUOTES, "UTF-8") . "</g:mpn>"; if (DEFAULT_VAT_COUNTRY == "USA" || DEFAULT_VAT_COUNTRY == "GBR") { $xml_code .= "\n<g:delivery>\r\n\t\t\t\t\t\t<g:country>" . DEFAULT_SHIPPING_COUNTRY . "</g:country>\r\n\t\t\t\t\t <g:price>" . $default_shipping . " " . CURRENCY_CODE . "</g:price>\r\n\t\t\t\t\t</g:delivery>"; if ($rs[$i]->weight != 0) { $xml_code .= "\n<g:delivery_weight>" . $rs[$i]->weight . " " . DEFAULT_WEIGHT_UNIT . "</g:delivery_weight>"; } } else { $xml_code .= "\n<g:shipping>\r\n\t\t\t\t\t\t<g:country>" . DEFAULT_SHIPPING_COUNTRY . "</g:country>\r\n\t\t\t\t\t <g:price>" . $default_shipping . " " . CURRENCY_CODE . "</g:price>\r\n\t\t\t\t\t</g:shipping>"; if ($rs[$i]->weight != 0) { $xml_code .= "\n<g:shipping_weight>" . $rs[$i]->weight . " " . DEFAULT_WEIGHT_UNIT . "</g:shipping_weight>"; } } if (DEFAULT_VAT_COUNTRY == "USA") { $xml_code .= "\n<g:tax>\r\n\t\t\t\t\t\t\t\t <g:country>US</g:country>\r\n\t\t\t\t\t\t\t\t <g:rate>" . $price_vat . "</g:rate>\r\n\t\t\t\t\t\t\t </g:tax>"; } $xml_code .= "\n" . $add_image; $xml_code .= "\n</item>"; } $xml_code .= '</channel>'; $xml_code .= '</rss>'; $fp = fopen($file_name, "w"); fwrite($fp, $xml_code); fclose($fp); if (!file_exists($file_name)) { return false; } else { return true; } } return false; }
/** * Function delete_attibute. * * @param int $product_id attribute_id * @param int $attribute_id property_id * @param int $attribute_set_id attribute_set_id * * @return void */ public function delete_attibute($product_id, $attribute_id, $attribute_set_id) { $producthelper = new producthelper(); if (empty($attribute_set_id) && empty($product_id)) { exit; } if ($attribute_id) { $attributes = array(); $attributes[0] = new stdClass(); $attributes[0]->attribute_id = $attribute_id; } else { if ($product_id) { $attributes = $producthelper->getProductAttribute($product_id); } else { $attributes = $producthelper->getProductAttribute(0, $attribute_set_id); } } if ($product_id) { $and = "`product_id`='" . $product_id . "'"; } else { $and = "`attribute_set_id`='" . $attribute_set_id . "'"; } for ($i = 0; $i < count($attributes); $i++) { $query = "DELETE FROM `" . $this->table_prefix . "product_attribute`\r\n\t\t\t\t\t WHERE " . $and . " and `attribute_id` = '" . $attributes[$i]->attribute_id . "' "; $this->_db->setQuery($query); if ($this->_db->query()) { $this->delete_prop($attributes[$i]->attribute_id, 0); } } exit; }
$product_name = "<a href='" . $link . "'>" . $manufacturer_products[$i]->product_name . "</a>"; $cart_mdata = str_replace("{product_name}", $product_name, $cart_mdata); $cart_mdata = $producthelper->getProductOnSaleComment($manufacturer_products[$i], $cart_mdata); $cart_mdata = $producthelper->getProductNotForSaleComment($manufacturer_products[$i], $cart_mdata); $cart_mdata = $producthelper->getSpecialProductComment($manufacturer_products[$i], $cart_mdata); $product_id = $manufacturer_products[$i]->product_id; $childproduct = $producthelper->getChildProduct($product_id); if (count($childproduct) > 0) { $isChilds = true; $attributes = array(); } else { $isChilds = false; // Get attributes $attributes_set = array(); if ($manufacturer_products[$i]->attribute_set_id > 0) { $attributes_set = $producthelper->getProductAttribute(0, $manufacturer_products[$i]->attribute_set_id, 0, 1); } $attributes = $producthelper->getProductAttribute($product_id); $attributes = array_merge($attributes, $attributes_set); } /////////////////////////////////// Product attribute Start ///////////////////////////////// $totalatt = count($attributes); // Check product for not for sale $cart_mdata = $producthelper->getExtraSectionTag($extraFieldName, $product_id, "1", $cart_mdata, 1); $attribute_template = $producthelper->getAttributeTemplate($cart_mdata); $cart_mdata = $producthelper->replaceProductInStock($product_id, $cart_mdata, $attributes, $attribute_template); $cart_mdata = $producthelper->replaceAttributeData($product_id, 0, 0, $attributes, $cart_mdata, $attribute_template, $isChilds, 0, $totalatt); // Get cart tempalte $cart_mdata = $producthelper->replaceCartTemplate($product_id, 0, 0, 0, $cart_mdata, $isChilds); $cart_mdata = str_replace("{product_id_lbl}", JText::_('COM_REDSHOP_PRODUCT_ID_LBL'), $cart_mdata); $cart_mdata = str_replace("{product_id}", $manufacturer_products[$i]->product_id, $cart_mdata);
$related_template_data = str_replace("{relproduct_price_saving_lbl}", '', $related_template_data); $related_template_data = str_replace("{relproduct_price_saving}", '', $related_template_data); $related_template_data = str_replace("{relproduct_price}", '', $related_template_data); } // End Show Price $relmorelinkhref = JRoute::_('index.php?option=com_redshop&view=product&pid=' . $related_product[$r]->product_id . '&cid=' . $related_product[$r]->cat_in_sefurl . '&Itemid=' . $this->itemId); $relmorelink = 'javascript:window.parent.SqueezeBox.close();window.parent.location.href="' . $relmorelinkhref . '"'; $rmore = "<a href='" . $relmorelink . "' title='" . $related_product[$r]->product_name . "'>" . JText::_('COM_REDSHOP_READ_MORE') . "</a>"; $related_template_data = str_replace("{read_more}", $rmore, $related_template_data); $related_template_data = str_replace("{read_more_link}", $relmorelink, $related_template_data); /* * related product Required Attribute start * this will parse only Required Attributes */ $relid = $related_product[$r]->product_id; $attributes_set = array(); if ($related_product[$r]->attribute_set_id > 0) { $attributes_set = $producthelper->getProductAttribute(0, $related_product[$r]->attribute_set_id); } $attributes = $producthelper->getProductAttribute($relid); $attributes = array_merge($attributes, $attributes_set); $related_template_data = $producthelper->replaceAttributeData($related_product[$r]->mainproduct_id, 0, $related_product[$r]->product_id, $attributes, $related_template_data, $attribute_template); $related_template_data = $producthelper->replaceCartTemplate($related_product[$r]->mainproduct_id, $this->data->category_id, 0, $related_product[$r]->product_id, $related_template_data, false, 0, count($attributes), 0, 0); $related_template_data = $producthelper->replaceCompareProductsButton($related_product[$r]->product_id, $this->data->category_id, $related_template_data, 1); $related_template_data = $producthelper->replaceProductInStock($related_product[$r]->product_id, $related_template_data); $related_template_data = $producthelper->replaceAttributePriceList($related_product[$r]->product_id, $related_template_data); $related_template_data = $producthelper->getProductFinderDatepickerValue($related_template_data, $related_product[$r]->product_id, $fieldArray); } $reltemplate = $tempdata_div_start . $related_template_data . $tempdata_div_end; } echo eval("?>" . $reltemplate . "<?php ");
public function attribute_empty() { $database = JFactory::getDbo(); $producthelper = new producthelper(); if ($this->_id) { $attributes = $producthelper->getProductAttribute(0, $this->_id); for ($i = 0; $i < count($attributes); $i++) { $query = "DELETE FROM `" . $this->_table_prefix . "product_attribute` WHERE `attribute_id` = " . $attributes[$i]->attribute_id; $database->setQuery($query); if ($database->query()) { $property = $producthelper->getAttibuteProperty(0, $attributes[$i]->attribute_id); for ($j = 0; $j < count($property); $j++) { $query = "DELETE FROM `" . $this->_table_prefix . "product_attribute_property` WHERE `property_id` = " . $property[$j]->property_id; $database->setQuery($query); if ($database->query()) { $query = "DELETE FROM `" . $this->_table_prefix . "product_subattribute_color` WHERE `subattribute_id` = " . $property[$j]->property_id; $database->setQuery($query); $database->query(); } } } } } return true; }
$data_add = str_replace("{product_userfield end if}", "", $data_add); } } else { $count_no_user_field = 0; } $childproduct = $producthelper->getChildProduct($this->data->product_id); if (count($childproduct) > 0 && PURCHASE_PARENT_WITH_CHILD == 0) { $isChilds = true; } else { $isChilds = false; } // Get attribute Template data // Product attribute Start $attributes_set = array(); if ($this->data->attribute_set_id > 0) { $attributes_set = $producthelper->getProductAttribute(0, $this->data->attribute_set_id, 0, 1); } $attribute_template = $producthelper->getAttributeTemplate($data_add); $attributes = $producthelper->getProductAttribute($this->data->product_id); $attributes = array_merge($attributes, $attributes_set); $totalatt = count($attributes); $data_add = $producthelper->replaceAttributeData($this->data->product_id, 0, $relatedprd_id, $attributes, $data_add, $attribute_template, $isChilds, $selectAtt); // Product attribute End // Product accessory Start ///////////////////////////////// $accessory = $producthelper->getProductAccessory(0, $this->data->product_id); $totalAccessory = count($accessory); $data_add = $producthelper->replaceAccessoryData($this->data->product_id, $relatedprd_id, $accessory, $data_add, $isChilds, $selectAcc); // Product accessory End ///////////////////////////////// // Cart $data_add = $producthelper->replaceCartTemplate($this->data->product_id, $this->data->category_id, 0, $relatedprd_id, $data_add, $isChilds, $userfieldArr, $totalatt, $totalAccessory, $count_no_user_field); $data_add = $data_add . "<input type='hidden' name='isAjaxBoxOpen' id='isAjaxBoxOpen' value='" . $layout . "' />";
function display_products($rows) { $url = JURI::base(); $extraField = new extraField(); $session = JFactory::getSession(); $producthelper = new producthelper(); $redhelper = new redhelper(); $config = new Redconfiguration(); $redTemplate = new Redtemplate(); $template = $redTemplate->getTemplate("wishlist_template"); if (count($template) <= 0) { for ($i = 0; $i < count($rows); $i++) { $row = $rows[$i]; $Itemid = $redhelper->getItemid($row->product_id); $link = JRoute::_('index.php?option=com_redshop&view=product&pid=' . $row->product_id . '&Itemid=' . $Itemid); $product_price = $producthelper->getProductPrice($row->product_id); $product_price_discount = $producthelper->getProductNetPrice($row->product_id); echo "<div id='wishlist_box'>"; if ($row->product_full_image) { echo $thum_image = "<div class='wishlist_left'><div class='mod_wishlist_product_image wishlist_image'>" . ($thum_image = $producthelper->getProductImage($row->product_id, $link, "85", "63") . "</div></div>"); } else { $maindefaultpath = REDSHOP_FRONT_IMAGES_ABSPATH . "product/" . PRODUCT_DEFAULT_IMAGE; echo $thum_image = "<div class='wishlist_left'><div class='mod_wishlist_product_image wishlist_image'><a href='" . $link . "'><img src='" . $maindefaultpath . "' height='85' width='63' /></a></div></div>"; } echo "<div class='wishlist_center'><div class='wishlist_title'><a href='" . $link . "'>" . $row->product_name . "</a></div><br>"; if (!$row->not_for_sale) { if ($row->product_on_sale && $product_price_discount > 0) { if ($product_price > $product_price_discount) { $s_price = $product_price - $product_price_discount; if ($this->show_discountpricelayout) { echo "<div id='mod_redoldprice' class='mod_redoldprice'><span style='text-decoration:line-through;'>" . $producthelper->getProductFormattedPrice($product_price) . "</span></div>"; $product_price = $product_price_discount; echo "<div id='mod_redmainprice' class='mod_redmainprice wishlist_price'>" . $producthelper->getProductFormattedPrice($product_price_discount) . "</div>"; echo "<div id='mod_redsavedprice' class='mod_redsavedprice'>" . JText::_('COM_REDSHOP_PRODCUT_PRICE_YOU_SAVED') . ' ' . $producthelper->getProductFormattedPrice($s_price) . "</div>"; } else { $product_price = $product_price_discount; echo "<div class='mod_redproducts_price wishlist_price'>" . $producthelper->getProductFormattedPrice($product_price) . "</div>"; } } else { echo "<div class='mod_redproducts_price wishlist_price'>" . $producthelper->getProductFormattedPrice($product_price) . "</div>"; } } else { echo "<div class='mod_redproducts_price wishlist_price'>" . $producthelper->getProductFormattedPrice($product_price) . "</div>"; } } echo "<br><div class='wishlist_readmore'><a href='" . $link . "'>" . JText::_('COM_REDSHOP_READ_MORE') . "</a></div> </div> "; $addtocartdata = $producthelper->replaceCartTemplate($row->product_id, 0, 0, $row->product_id); echo "<div class='wishlist_right'>" . $addtocartdata . "</div><br class='clear' /></div><br class='clear' />"; } } else { $ph_thumb = CATEGORY_PRODUCT_THUMB_HEIGHT; $pw_thumb = CATEGORY_PRODUCT_THUMB_WIDTH; $wishlist_data1 = $template[0]->template_desc; $mlink = JURI::root() . "index.php?option=com_redshop&view=account&layout=mywishlist&mail=1&tmpl=component&wishlist_id=" . $wishlist_id; $mail_link = '<a class="redcolorproductimg" href="' . $mlink . '" ><img src="' . REDSHOP_ADMIN_IMAGES_ABSPATH . 'mailcenter16.png" ></a>'; $wishlist_data1 = str_replace('{mail_link}', $mail_link, $wishlist_data1); $template_d1 = explode("{product_loop_start}", $wishlist_data1); $template_d2 = explode("{product_loop_end}", $template_d1[1]); $temp_template = ''; $extraFieldName = $extraField->getSectionFieldNameArray(1, 1, 1); for ($i = 0; $i < count($rows); $i++) { $row = $rows[$i]; $wishlist_data = $template_d2[0]; $Itemid = $redhelper->getItemid($rows[$i]->product_id); $link = JRoute::_('index.php?option=com_redshop&view=product&pid=' . $rows[$i]->product_id . '&Itemid=' . $Itemid); $product_price = $producthelper->getProductPrice($row->product_id); $product_price_discount = $producthelper->getProductNetPrice($row->product_id); if ($row->product_full_image) { $thum_image = $producthelper->getProductImage($row->product_id, $link, $pw_thumb, $ph_thumb); $wishlist_data = str_replace('{product_thumb_image}', $thum_image, $wishlist_data); } else { $maindefaultpath = RedShopHelperImages::getImagePath(PRODUCT_DEFAULT_IMAGE, '', 'thumb', 'product', $pw_thumb, $ph_thumb, USE_IMAGE_SIZE_SWAPPING); $thum_image = "<a href='" . $link . "'><img src='" . $maindefaultpath . "' /></a>"; $wishlist_data = str_replace('{product_thumb_image}', $thum_image, $wishlist_data); } $pname = "<a href='" . $link . "'>" . $row->product_name . "</a>"; $pnumber = $row->product_number; $pdesc = $row->product_s_desc; // Checking for child products start if (strstr($wishlist_data, "{child_products}")) { $parentproductid = $row->product_id; if ($this->data->product_parent_id != 0) { $parentproductid = $producthelper->getMainParentProduct($row->product_id); } $frmChild = ""; if ($parentproductid != 0) { $productInfo = $producthelper->getProductById($parentproductid); // Get child products $childproducts = $model->getAllChildProductArrayList(0, $parentproductid); if (count($childproducts) > 0) { $childproducts = array_merge(array($productInfo), $childproducts); $cld_name = array(); if (count($childproducts) > 0) { $parentid = 0; for ($c = 0; $c < count($childproducts); $c++) { if ($childproducts[$c]->product_parent_id == 0) { $level = ""; } else { if ($parentid != $childproducts[$c]->product_parent_id) { $level = $level; } } $parentid = $childproducts[$c]->product_parent_id; $childproducts[$c]->product_name = $level . $childproducts[$c]->product_name; } $cld_name = @array_merge($cld_name, $childproducts); } $selected = array($row->product_id); $lists['product_child_id'] = JHTML::_('select.genericlist', $cld_name, 'pid', 'class="inputbox" size="1" onchange="document.frmChild.submit();"', 'product_id', 'product_name', $selected); $frmChild .= "<form name='frmChild' method='get'>"; $frmChild .= JText::_('COM_REDSHOP_CHILD_PRODUCTS') . $lists['product_child_id']; $frmChild .= "<input type='hidden' name='Itemid' value='" . $Itemid . "'>"; $frmChild .= "<input type='hidden' name='cid' value='" . $row->category_id . "'>"; $frmChild .= "<input type='hidden' name='view' value='product'>"; $frmChild .= "<input type='hidden' name='option' value='com_redshop'>"; $frmChild .= "</form>"; } } $wishlist_data = str_replace("{child_products}", $frmChild, $wishlist_data); } $childproduct = $producthelper->getChildProduct($row->product_id); if (count($childproduct) > 0) { if (PURCHASE_PARENT_WITH_CHILD == 1) { $isChilds = false; $attributes_set = array(); if ($row->attribute_set_id > 0) { $attributes_set = $producthelper->getProductAttribute(0, $row->attribute_set_id, 0, 1); } $attributes = $producthelper->getProductAttribute($row->product_id); $attributes = array_merge($attributes, $wishlist_data); } else { $isChilds = true; $attributes = array(); } } else { $isChilds = false; $attributes_set = array(); if ($row->attribute_set_id > 0) { $attributes_set = $producthelper->getProductAttribute(0, $row->attribute_set_id, 0, 1); } $attributes = $producthelper->getProductAttribute($row->product_id); $attributes = array_merge($attributes, $attributes_set); } $attribute_template = $producthelper->getAttributeTemplate($wishlist_data); // Check product for not for sale $wishlist_data = $producthelper->getProductNotForSaleComment($row, $wishlist_data, $attributes); $wishlist_data = $producthelper->replaceProductInStock($row->product_id, $wishlist_data, $attributes, $attribute_template); /////////////////////////////////// Product attribute Start ///////////////////////////////// $totalatt = count($attributes); $wishlist_data = $producthelper->replaceAttributeData($row->product_id, 0, 0, $attributes, $wishlist_data, $attribute_template, $isChilds); /////////////////////////////////// Product attribute End // Checking for child products end///////////////////////////////// if (!$row->not_for_sale) { if ($row->product_on_sale && $product_price_discount > 0) { if ($product_price > $product_price_discount) { $s_price = $product_price - $product_price_discount; if ($this->show_discountpricelayout) { $mainproduct_price = $producthelper->getProductFormattedPrice($product_price); $product_price = $product_price_discount; $mainproduct_price = $producthelper->getProductFormattedPrice($product_price_discount); } else { $product_price = $product_price_discount; $mainproduct_price = $producthelper->getProductFormattedPrice($product_price); } } else { $mainproduct_price = $producthelper->getProductFormattedPrice($product_price); } } else { $mainproduct_price = $producthelper->getProductFormattedPrice($product_price); } $wishlist_data = str_replace('{product_price}', $mainproduct_price, $wishlist_data); } // Product User Field Start $count_no_user_field = 0; $returnArr = $producthelper->getProductUserfieldFromTemplate($wishlist_data); $template_userfield = $returnArr[0]; $userfieldArr = $returnArr[1]; if (strstr($wishlist_data, "{if product_userfield}") && strstr($wishlist_data, "{product_userfield end if}") && $template_userfield != "") { $ufield = ""; $cart = $session->get('cart'); if (isset($cart['idx'])) { $idx = (int) $cart['idx']; } $idx = 0; $cart_id = ''; for ($j = 0; $j < $idx; $j++) { if ($cart[$j]['product_id'] == $row->product_id) { $cart_id = $j; } } for ($ui = 0; $ui < count($userfieldArr); $ui++) { if (!$idx) { $cart_id = ""; } $mysesspro = "productuserfield_" . $ui; for ($check_i = 1; $check_i <= $_SESSION["no_of_prod"]; $check_i++) { if ($_SESSION['wish_' . $check_i]->product_id == $row->product_id) { $product_userfileds_final = $_SESSION['wish_' . $check_i]->{$mysesspro}; } } if ($product_userfileds_final != '') { $product_userfileds = $extraField->list_all_user_fields($userfieldArr[$ui], 12, '', '', 0, $row->product_id, $product_userfileds_final, 1); } else { $product_userfileds = $extraField->list_all_user_fields($userfieldArr[$ui], 12, '', $cart_id, 0, $row->product_id); } $ufield .= $product_userfileds[1]; // if ($product_userfileds[1] != "") { $count_no_user_field++; } if ($product_userfileds_final != '') { $wishlist_data = str_replace('{' . $userfieldArr[$ui] . '_lbl}', $product_userfileds[0], $wishlist_data); $wishlist_data = str_replace('{' . $userfieldArr[$ui] . '}', $product_userfileds[1], $wishlist_data); } else { $wishlist_data = str_replace('{' . $userfieldArr[$ui] . '_lbl}', $product_userfileds[0], $wishlist_data); $wishlist_data = str_replace('{' . $userfieldArr[$ui] . '}', $product_userfileds[1], $wishlist_data); } } $product_userfileds_form = "<form method='post' action='' id='user_fields_form' name='user_fields_form'>"; if ($ufield != "") { $wishlist_data = str_replace("{if product_userfield}", $product_userfileds_form, $wishlist_data); $wishlist_data = str_replace("{product_userfield end if}", "</form>", $wishlist_data); } else { $wishlist_data = str_replace("{if product_userfield}", "", $wishlist_data); $wishlist_data = str_replace("{product_userfield end if}", "", $wishlist_data); } } // Product User Field End /////////////////////////////////// Product accessory Start ///////////////////////////////// $accessory = $producthelper->getProductAccessory(0, $row->product_id); $totalAccessory = count($accessory); $wishlist_data = $producthelper->replaceAccessoryData($row->product_id, 0, $accessory, $wishlist_data, $isChilds); /////////////////////////////////// Product accessory End ///////////////////////////////// $wishlist_data = str_replace('{product_name}', $pname, $wishlist_data); $wishlist_data = str_replace('{product_number}', $pnumber, $wishlist_data); $wishlist_data = str_replace('{product_s_desc}', $pdesc, $wishlist_data); $wishlist_data = $producthelper->getExtraSectionTag($extraFieldName, $row->product_id, "1", $wishlist_data, 1); $wishlist_data = $producthelper->replaceCartTemplate($row->product_id, $row->category_id, 0, 0, $wishlist_data, $isChilds, $userfieldArr, $totalatt, $totalAccessory, $count_no_user_field); $rmore = "<a href='" . $link . "' title='" . $row->product_name . "'>" . JText::_('COM_REDSHOP_READ_MORE') . "</a>"; $wishlist_data = str_replace("{read_more}", $rmore, $wishlist_data); $wishlist_data = str_replace("{read_more_link}", $link, $wishlist_data); $wishlist_data = str_replace("{product_loop_start}", '', $wishlist_data); $wishlist_data = str_replace("{product_loop_end}", '', $wishlist_data); $wishlist_data = str_replace("{back_link}", '', $wishlist_data); $wishlist_data = str_replace("{back_link}", '', $wishlist_data); $wishlist_data = str_replace("{mail_link}", '', $wishlist_data); $wishlist_data = str_replace("{if product_on_sale}", '', $wishlist_data); $wishlist_data = str_replace("{product_on_sale end if}", '', $wishlist_data); $wishlist_data = str_replace("<table></table>", '', $wishlist_data); $wishlist_data = str_replace("{all_cart}", '', $wishlist_data); $wishlist_data = str_replace("{if product_on_sale}", "", $wishlist_data); $wishlist_data = str_replace("{product_on_sale end if}", "", $wishlist_data); $regdellink = JRoute::_("index.php?mydel=1&view=wishlist&wishlist_id=" . $row->product_id . "&task=mysessdelwishlist"); $mainregdellink = "<div><a href=\"" . $regdellink . "\">" . JText::_('COM_REDSHOP_REMOVE_PRODUCT_FROM_WISHLIST') . "</a></div>"; $wishlist_data = str_replace('{remove_product_link}', $mainregdellink, $wishlist_data); $mainid .= $row->product_id . ","; $totattid .= $totalatt . ","; $totcount_no_user_field .= $count_no_user_field . ","; $temp_template .= $wishlist_data; } $my = "<form name='frm' method='POST' action=''>"; $my .= "<input type='hidden' name='product_id' id='product_id' value='" . $mainid . "' >\n\n\t\t\t<input type='hidden' name='totacc_id' id='totacc_id' value='" . $totattid . "' >\n\t\t\t<input type='hidden' name='totcount_no_user_field' id='totcount_no_user_field' value='" . $totcount_no_user_field . "' >\n\t\t\t<input type='button' name='submit' onclick='return productalladdprice();' value='" . JText::_('COM_REDSHOP_ADD_TO_CART') . "'>\n\t\t\t</form>"; $data = $template_d1[0] . $temp_template . $template_d2[1]; $data = str_replace('{back_link}', '', $data); $data = str_replace('{all_cart}', $my, $data); $data = $redTemplate->parseredSHOPplugin($data); echo eval("?>" . $data . "<?php "); } }
function getPreorderStockAmountwithReserve($section_id = 0, $section = "product", $stockroom_id = 0) { $quantity = 1; if (USE_STOCKROOM == 1) { $and = ""; $table = "product"; $db = JFactory::getDbo(); if ($section != "product") { $table = "product_attribute"; } if ($section_id != 0) { // Sanitize ids $section_id = explode(',', $section_id); JArrayHelper::toInteger($section_id); if ($section != "product") { $and = "AND x.section = " . $db->quote($section) . " AND x.section_id IN (" . implode(',', $section_id) . ") "; } else { $and = "AND x.product_id IN (" . implode(',', $section_id) . ") "; } } if ($stockroom_id != 0) { $and .= "AND x.stockroom_id = " . (int) $stockroom_id . " "; } $query = "SELECT SUM(x.preorder_stock) as preorder_stock, SUM(x.ordered_preorder) as ordered_preorder FROM " . $this->_table_prefix . $table . "_stockroom_xref AS x " . ", " . $this->_table_prefix . "stockroom AS s " . "WHERE s.stockroom_id=x.stockroom_id " . "AND x.quantity>=0 " . $and . "ORDER BY s.min_del_time "; $db->setQuery($query); $pre_order_stock = $db->loadObjectList(); if ($pre_order_stock[0]->ordered_preorder == $pre_order_stock[0]->preorder_stock || $pre_order_stock[0]->ordered_preorder > $pre_order_stock[0]->preorder_stock) { $quantity = 0; } else { $quantity = $pre_order_stock[0]->preorder_stock - $pre_order_stock[0]->ordered_preorder; } } else { $helper = new redhelper(); if ($helper->isredCRM()) { if (ENABLE_ITEM_TRACKING_SYSTEM && !ENABLE_ONE_STOCKROOM_MANAGEMENT) { // Include redSHOP product helper $producthelper = new producthelper(); // Supplier order helper object $crmSupplierOrderHelper = new crmSupplierOrderHelper(); $getstockdata = new stdClass(); $getstockdata->property_id = 0; $getstockdata->subproperty_id = 0; if ($section == "product") { $getstockdata->product_id = $section_id; } elseif ($section == "property") { $property = $producthelper->getAttibuteProperty($section_id); $attribute_id = $property[0]->attribute_id; $attribute = $producthelper->getProductAttribute(0, 0, $attribute_id); $product_id = $attribute[0]->product_id; $getstockdata->product_id = $product_id; $getstockdata->property_id = $section_id; } elseif ($section == "subproperty") { $subproperty = $producthelper->getAttibuteSubProperty($section_id); $property_id = $subproperty[0]->subattribute_id; $property = $producthelper->getAttibuteProperty($property_id); $attribute_id = $property[0]->attribute_id; $attribute = $producthelper->getProductAttribute(0, 0, $attribute_id); $product_id = $attribute[0]->product_id; $getstockdata->product_id = $product_id; $getstockdata->property_id = $property_id; $getstockdata->subproperty_id = $section_id; } $quantity = $crmSupplierOrderHelper->getSupplierStock($getstockdata); } } } return $quantity; }