/** * 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 replaceCartTemplate($product_id = 0, $category_id = 0, $accessory_id = 0, $relproduct_id = 0, $data_add = "", $isChilds = false, $userfieldArr = array(), $totalatt = 0, $totalAccessory = 0, $count_no_user_field = 0, $module_id = 0, $giftcard_id = 0) { $user_id = 0; $redconfig = new Redconfiguration(); $extraField = new extraField(); $stockroomhelper = new rsstockroomhelper(); $product_quantity = JRequest::getVar('product_quantity'); $Itemid = JRequest::getInt('Itemid'); $user = JFactory::getUser(); JPluginHelper::importPlugin('redshop_product'); $dispatcher = JDispatcher::getInstance(); if ($user_id == 0) { $user_id = $user->id; } $field_section = 12; if ($relproduct_id != 0) { $product_id = $relproduct_id; } elseif ($giftcard_id != 0) { $product_id = $giftcard_id; } if ($giftcard_id != 0) { $product = $this->getGiftcardData($giftcard_id); $field_section = 13; } else { $product = $this->getProductById($product_id); } $taxexempt_addtocart = $this->taxexempt_addtocart($user_id, 1); $cart_template = $this->getAddtoCartTemplate($data_add); if (count($cart_template) <= 0 && $data_add != "") { $cart_template = new stdclass(); $cart_template->template_name = ""; $cart_template->template_desc = ""; } if ($data_add == "" && count($cart_template) <= 0) { $cart_template = new stdclass(); $cart_template->template_name = "notemplate"; $cart_template->template_desc = "<div>{addtocart_image_aslink}</div>"; $data_add = "{form_addtocart:{$cart_template->template_name}}"; } $layout = JRequest::getVar('layout'); $cart = $this->_session->get('cart'); $isAjax = 0; $preprefix = ""; $preselected_attrib_img = ""; if ($layout == "viewajaxdetail") { $isAjax = 1; $preprefix = "ajax_"; } $prefix = $preprefix . "prd_"; if ($accessory_id != 0) { $prefix = $preprefix . "acc_"; } elseif ($relproduct_id != 0) { $prefix = $preprefix . "rel_"; } if (!empty($module_id)) { $prefix = $prefix . $module_id . "_"; } $totrequiredatt = ""; $totrequiredprop = ''; if ($giftcard_id != 0) { $product_price = $product->giftcard_price; $product_price_novat = 0; $product_old_price = 0; $isStockExists = true; $max_quantity = 0; $min_quantity = 0; } else { // IF PRODUCT CHILD IS EXISTS THEN DONT SHOW PRODUCT ATTRIBUTES if ($isChilds) { $data_add = str_replace("{form_addtocart:{$cart_template->template_name}}", "", $data_add); return $data_add; } elseif ($this->isProductDateRange($userfieldArr, $product_id)) { // New type custome field - Selection based on selected conditions $data_add = str_replace("{form_addtocart:{$cart_template->template_name}}", JText::_('COM_REDSHOP_PRODUCT_DATE_FIELD_EXPIRED'), $data_add); return $data_add; } elseif ($product->not_for_sale) { $data_add = str_replace("{form_addtocart:{$cart_template->template_name}}", '', $data_add); return $data_add; } elseif (!$taxexempt_addtocart) { $data_add = str_replace("{form_addtocart:{$cart_template->template_name}}", '', $data_add); return $data_add; } elseif (!SHOW_PRICE) { $data_add = str_replace("{form_addtocart:{$cart_template->template_name}}", '', $data_add); return $data_add; } elseif ($product->expired == 1) { $data_add = str_replace("{form_addtocart:{$cart_template->template_name}}", PRODUCT_EXPIRE_TEXT, $data_add); return $data_add; } // Get stock for Product $isStockExists = $stockroomhelper->isStockExists($product_id); $isPreorderStockExists = ''; if ($totalatt > 0 && !$isStockExists) { $property = $this->getAttibuteProperty(0, 0, $product_id); for ($att_j = 0; $att_j < count($property); $att_j++) { $isSubpropertyStock = false; $sub_property = $this->getAttibuteSubProperty(0, $property[$att_j]->property_id); for ($sub_j = 0; $sub_j < count($sub_property); $sub_j++) { $isSubpropertyStock = $stockroomhelper->isStockExists($sub_property[$sub_j]->subattribute_color_id, 'subproperty'); if ($isSubpropertyStock) { $isStockExists = $isSubpropertyStock; break; } } if ($isSubpropertyStock) { break; } else { $isPropertystock = $stockroomhelper->isStockExists($property[$att_j]->property_id, "property"); if ($isPropertystock) { $isStockExists = $isPropertystock; break; } } } } $qunselect = $this->GetDefaultQuantity($product_id, $data_add); $productArr = $this->getProductNetPrice($product_id, $user_id, $qunselect, $data_add); $product_price = $productArr['product_price'] * $qunselect; $product_price_novat = $productArr['product_price_novat'] * $qunselect; $product_old_price = $productArr['product_old_price'] * $qunselect; if ($product->not_for_sale) { $product_price = 0; } $max_quantity = $product->max_order_product_quantity; $min_quantity = $product->min_order_product_quantity; } $stockdisplay = false; $preorderdisplay = false; $cartdisplay = false; $display_text = JText::_('COM_REDSHOP_PRODUCT_OUTOFSTOCK_MESSAGE'); if (!$isStockExists) { // Check if preorder is set to yes than add pre order button $product_preorder = $product->preorder; if ($product_preorder == "global" && ALLOW_PRE_ORDER || $product_preorder == "yes" || $product_preorder == "" && ALLOW_PRE_ORDER) { // Get preorder stock for Product $isPreorderStockExists = $stockroomhelper->isPreorderStockExists($product_id); if ($totalatt > 0 && !$isPreorderStockExists) { $property = $this->getAttibuteProperty(0, 0, $product_id); for ($att_j = 0; $att_j < count($property); $att_j++) { $isSubpropertyStock = false; $sub_property = $this->getAttibuteSubProperty(0, $property[$att_j]->property_id); for ($sub_j = 0; $sub_j < count($sub_property); $sub_j++) { $isSubpropertyStock = $stockroomhelper->isPreorderStockExists($sub_property[$sub_j]->subattribute_color_id, 'subproperty'); if ($isSubpropertyStock) { $isPreorderStockExists = $isSubpropertyStock; break; } } if ($isSubpropertyStock) { break; } else { $isPropertystock = $stockroomhelper->isPreorderStockExists($property[$att_j]->property_id, "property"); if ($isPropertystock) { $isPreorderStockExists = $isPropertystock; break; } } } } // Check preorder stock if (!$isPreorderStockExists) { $preorder_stock_flag = true; $stockdisplay = true; $add_cart_flag = true; $display_text = JText::_('COM_REDSHOP_PREORDER_PRODUCT_OUTOFSTOCK_MESSAGE'); } else { //$pre_order_value = 1; $preorderdisplay = true; $add_cart_flag = true; $p_availability_date = ""; if ($product->product_availability_date != "") { $p_availability_date = $redconfig->convertDateFormat($product->product_availability_date); } } } else { $stockdisplay = true; $add_cart_flag = true; } } else { $cartdisplay = true; $add_cart_flag = true; } $p_availability_date = ""; $ADD_OR_PRE_LBL = JText::_('COM_REDSHOP_PRE_ORDER'); $ADD_OR_PRE_TOOLTIP = str_replace("{availability_date}", $p_availability_date, ALLOW_PRE_ORDER_MESSAGE); $ADD_OR_PRE_BTN = PRE_ORDER_IMAGE; $tooltip = DEFAULT_QUOTATION_MODE ? JText::_('COM_REDSHOP_REQUEST_A_QUOTE_TOOLTIP') : JText::_('COM_REDSHOP_ADD_TO_CART_TOOLTIP'); $ADD_OR_LBL = DEFAULT_QUOTATION_MODE ? JText::_('COM_REDSHOP_REQUEST_A_QUOTE') : JText::_('COM_REDSHOP_ADD_TO_CART'); $ADD_CART_IMAGE = DEFAULT_QUOTATION_MODE ? REQUESTQUOTE_IMAGE : ADDTOCART_IMAGE; $ADD_CART_BACKGROUND = DEFAULT_QUOTATION_MODE ? REQUESTQUOTE_BACKGROUND : ADDTOCART_BACKGROUND; $ADD_OR_TOOLTIP = ""; if ($totalatt > 0) { $attributes_set = array(); if ($product->attribute_set_id > 0) { $attributes_set = $this->getProductAttribute(0, $product->attribute_set_id, 0, 1, 1); } $requiredattribute = $this->getProductAttribute($product_id, 0, 0, 1, 1); $requiredattribute = array_merge($requiredattribute, $attributes_set); for ($i = 0; $i < count($requiredattribute); $i++) { $totrequiredatt .= JText::_('COM_REDSHOP_ATTRIBUTE_IS_REQUIRED') . " " . urldecode($requiredattribute[$i]->attribute_name) . "\n"; } $requiredproperty = $this->getAttibuteProperty(0, 0, $product_id, 0, 1); for ($y = 0; $y < count($requiredproperty); $y++) { $totrequiredprop .= JText::_('COM_REDSHOP_SUBATTRIBUTE_IS_REQUIRED') . " " . urldecode($requiredproperty[$y]->property_name) . "\n"; } } $stockId = $prefix . $product_id; if ($add_cart_flag) { if ($giftcard_id == 0 && $category_id == 0) { $category_id = $this->getCategoryProduct($product_id); } $addtocartFormName = 'addtocart_' . $prefix . $product_id; //$category_id $cartform = "<form name='" . $addtocartFormName . "' id='" . $addtocartFormName . "' class='addtocart_formclass' action='" . JRoute::_('index.php') . "' method='post'>"; $cartform .= $cart_template->template_desc; if (count($userfieldArr) > 0) { $product_userhiddenfileds = '<table>'; $idx = 0; if (isset($cart['idx'])) { $idx = (int) $cart['idx']; } $cart_id = ''; for ($j = 0; $j < $idx; $j++) { if ($giftcard_id != 0) { if ($cart[$j]['giftcard_id'] == $product_id) { $cart_id = $j; } } else { if ($cart[$j]['product_id'] == $product_id) { $cart_id = $j; } } } for ($ui = 0; $ui < count($userfieldArr); $ui++) { $result_arr = $extraField->list_all_user_fields($userfieldArr[$ui], $field_section, "hidden", $cart_id, $isAjax, $product_id); $product_userhiddenfileds .= $result_arr[1]; } $product_userhiddenfileds .= '</table>'; $cartform .= $product_userhiddenfileds; } //Start Hidden attribute image in cart $attributes = $this->getProductAttribute($product_id); if (count($attributes) > 0) { $selectedpropertyId = 0; $selectedsubpropertyId = 0; for ($a = 0; $a < count($attributes); $a++) { $selectedId = array(); $property = $this->getAttibuteProperty(0, $attributes[$a]->attribute_id); if ($attributes[$a]->text != "" && count($property) > 0) { for ($i = 0; $i < count($property); $i++) { if ($property[$i]->setdefault_selected) { $selectedId[] = $property[$i]->property_id; } } if (count($selectedId) > 0) { $selectedpropertyId = $selectedId[count($selectedId) - 1]; $subproperty = $this->getAttibuteSubProperty(0, $selectedpropertyId); $selectedId = array(); for ($sp = 0; $sp < count($subproperty); $sp++) { if ($subproperty[$sp]->setdefault_selected) { $selectedId[] = $subproperty[$sp]->subattribute_color_id; } } if (count($selectedId) > 0) { $selectedsubpropertyId = $selectedId[count($selectedId) - 1]; } } } } $preselected_attrib_img = $this->get_hidden_attribute_cartimage($product_id, $selectedpropertyId, $selectedsubpropertyId); } //End $cartform .= "\r\n\t\t\t\t<input type='hidden' name='preorder_product_stock' id='preorder_product_stock" . $product_id . "' value='" . $isPreorderStockExists . "'>\r\n\t\t <input type='hidden' name='product_stock' id='product_stock" . $product_id . "' value='" . $isStockExists . "'>\r\n\t\t\t\t<input type='hidden' name='product_preorder' id='product_preorder" . $product_id . "' value='" . $product->preorder . "'>\r\n\t\t\t\t<input type='hidden' name='product_id' id='product_id' value='" . $product_id . "'>\r\n\t\t\t\t<input type='hidden' name='category_id' value='" . $category_id . "'>\r\n\t\t\t\t<input type='hidden' name='view' value='cart'>\r\n\t\t\t\t<input type='hidden' name='task' value='add'>\r\n\t\t\t\t<input type='hidden' name='option' value='com_redshop'>\r\n\t\t\t\t<input type='hidden' name='Itemid' id='Itemid' value='" . $Itemid . "'>\r\n\t\t\t\t<input type='hidden' name='sel_wrapper_id' id='sel_wrapper_id' value='0'>\r\n\r\n\t\t\t\t<input type='hidden' name='main_price' id='main_price" . $product_id . "' value='" . $product_price . "' />\r\n\t\t\t\t<input type='hidden' name='tmp_product_price' id='tmp_product_price' value='0'>\r\n\r\n\t\t\t\t<input type='hidden' name='product_old_price' id='product_old_price" . $product_id . "' value='" . $product_old_price . "' />\r\n\t\t\t\t<input type='hidden' name='tmp_product_old_price' id='tmp_product_old_price' value='0'>\r\n\r\n\t\t\t\t<input type='hidden' name='product_price_no_vat' id='product_price_no_vat" . $product_id . "' value='" . $product_price_novat . "' />\r\n\t\t\t\t<input type='hidden' name='productprice_notvat' id='productprice_notvat' value='0'>\r\n\r\n\t\t\t\t<input type='hidden' name='min_quantity' id='min_quantity' value='" . $min_quantity . "' requiredtext='" . JText::_('COM_REDSHOP_MINIMUM_QUANTITY_SHOULD_BE') . "'>\r\n\t\t\t\t<input type='hidden' name='max_quantity' id='max_quantity' value='" . $max_quantity . "' requiredtext='" . JText::_('COM_REDSHOP_MAXIMUM_QUANTITY_SHOULD_BE') . "'>\r\n\r\n\t\t\t\t<input type='hidden' name='accessory_data' id='accessory_data' value='0'>\r\n\t\t\t\t<input type='hidden' name='acc_attribute_data' id='acc_attribute_data' value='0'>\r\n\t\t\t\t<input type='hidden' name='acc_quantity_data' id='acc_quantity_data' value='0'>\r\n\t\t\t\t<input type='hidden' name='acc_property_data' id='acc_property_data' value='0'>\r\n\t\t\t\t<input type='hidden' name='acc_subproperty_data' id='acc_subproperty_data' value='0'>\r\n\t\t\t\t<input type='hidden' name='accessory_price' id='accessory_price' value='0'>\r\n\t\t\t\t<input type='hidden' name='accessory_price_withoutvat' id='accessory_price_withoutvat' value='0'>\r\n\r\n\t\t\t\t<input type='hidden' name='attribute_data' id='attribute_data' value='0'>\r\n\t\t\t\t<input type='hidden' name='property_data' id='property_data' value='0'>\r\n\t\t\t\t<input type='hidden' name='subproperty_data' id='subproperty_data' value='0'>\r\n\t\t\t\t<input type='hidden' name='attribute_price' id='attribute_price' value='0'>\r\n\t\t\t\t<input type='hidden' name='requiedAttribute' id='requiedAttribute' value='' reattribute='" . $totrequiredatt . "'>\r\n\t\t\t\t<input type='hidden' name='requiedProperty' id='requiedProperty' value='' reproperty='" . $totrequiredprop . "'>\r\n\r\n\t\t\t\t<input type='hidden' name='calcHeight' id='hidden_calc_height' value='' />\r\n\t\t\t\t<input type='hidden' name='calcWidth' id='hidden_calc_width' value='' />\r\n\t\t\t\t<input type='hidden' name='calcDepth' id='hidden_calc_depth' value='' />\r\n\t\t\t\t<input type='hidden' name='calcRadius' id='hidden_calc_radius' value='' >\r\n\t\t\t\t<input type='hidden' name='calcUnit' id='hidden_calc_unit' value='' />\r\n\t\t\t\t<input type='hidden' name='pdcextraid' id='hidden_calc_extraid' value='' />\r\n\t\t\t\t<input type='hidden' name='hidden_attribute_cartimage' id='hidden_attribute_cartimage" . $product_id . "' value='" . $preselected_attrib_img . "' />"; if ($giftcard_id != 0) { $cartform .= "<input type='hidden' name='giftcard_id' id= 'giftcard_id' value='" . $giftcard_id . "'>\r\n\t\t\t\t\t\t\t<input type='hidden' name='reciver_email' id='reciver_email' value='" . @$cart['reciver_email'] . "'>\r\n\t\t\t\t\t\t\t<input type='hidden' name='reciver_name' id='reciver_name' value='" . @$cart['reciver_name'] . "'>"; if ($product->customer_amount == 1) { $cartform .= "<input type='hidden' name='customer_amount' id='customer_amount' value='" . @$cart['customer_amount'] . "'>"; } } else { if ($product->product_type == "subscription") { $sub_id = JRequest::getInt('subscription_id', 0); $cartform .= "<input type='hidden' name='subscription_id' id='hidden_subscription_id' value='" . $sub_id . "' />"; $cartform .= "<input type='hidden' name='subscription_prize' id='hidden_subscription_prize' value='0' />"; } $ajaxdetail_templatedata = $this->getAjaxDetailboxTemplate($product); if (count($ajaxdetail_templatedata) > 0) { $ajax_cart_detail_temp_desc = $ajaxdetail_templatedata->template_desc; /* * attribute, accessory, userfield check for ajax detail template */ // make attribute count 0. if there is no tag in ajax detail template if (!strstr($ajax_cart_detail_temp_desc, "{attribute_template:")) { $totalatt = 0; } // make accessory count 0. if there is no tag in ajax detail template if (!strstr($ajax_cart_detail_temp_desc, "{accessory_template:")) { $totalAccessory = 0; } // make userfields 0.if there is no tag available in ajax detail template if (strstr($ajax_cart_detail_temp_desc, "{if product_userfield}")) { $ajax_extra_field1 = explode("{if product_userfield}", $ajax_cart_detail_temp_desc); $ajax_extra_field2 = explode("{product_userfield end if}", $ajax_extra_field1[1]); $ajax_extra_field_center = $ajax_extra_field2[0]; if (!strstr($ajax_extra_field_center, "{")) { $count_no_user_field = 0; } } else { $count_no_user_field = 0; } } } if ($product_quantity) { $quan = $product_quantity; } else { if ($giftcard_id != 0) { $quan = 1; } elseif ($product->min_order_product_quantity > 0) { $quan = $product->min_order_product_quantity; } else { $quan = 1; } } $addtocart_quantity = ''; if (strstr($cartform, "{addtocart_quantity}")) { $addtocart_quantity = "<span id='stockQuantity" . $stockId . "'><input type='text' name='quantity' id='quantity" . $product_id . "' value='" . $quan . "' maxlength='" . DEFAULT_QUANTITY . "' size='" . DEFAULT_QUANTITY . "' onchange='validateInputNumber(this.id);' onkeypress='return event.keyCode!=13'></span>"; $cartform = str_replace("{addtocart_quantity}", $addtocart_quantity, $cartform); $cartform = str_replace("{quantity_lbl}", JText::_('COM_REDSHOP_QUANTITY_LBL'), $cartform); } elseif (strstr($cartform, "{addtocart_quantity_increase_decrease}")) { $addtocart_quantity .= '<input type="text" id="quantity' . $product_id . '" name="quantity" size="1" value="' . $quan . '" onkeypress="return event.keyCode!=13"/>'; $addtocart_quantity .= '<input type="button" class="myupbutton" onClick="quantity' . $product_id . '.value = (+quantity' . $product_id . '.value+1)">'; $addtocart_quantity .= '<input type="button" class="mydownbutton" onClick="quantity' . $product_id . '.value = (quantity' . $product_id . '.value); var qty1 = quantity' . $product_id . '.value; if( !isNaN( qty1 ) && qty1 > 1 ) quantity' . $product_id . '.value--;return false;">'; $addtocart_quantity .= '<input type="hidden" name="product_id" value="' . $product_id . '"> <input type="hidden" name="cart_index" value="' . $i . '"> <input type="hidden" name="Itemid" value="' . $Itemid . '"> <input type="hidden" name="task" value="">'; $cartform = str_replace("{addtocart_quantity_increase_decrease}", $addtocart_quantity, $cartform); $cartform = str_replace("{quantity_lbl}", JText::_('COM_REDSHOP_QUANTITY_LBL'), $cartform); } elseif (strstr($cartform, "{addtocart_quantity_selectbox}")) { $addtocart_quantity = "<input type='hidden' name='quantity' id='quantity" . $product_id . "' value='" . $quan . "' maxlength='" . DEFAULT_QUANTITY . "' size='" . DEFAULT_QUANTITY . "'>"; if (DEFAULT_QUANTITY_SELECTBOX_VALUE != "" && $product->quantity_selectbox_value == '' || $product->quantity_selectbox_value != '') { $selectbox_value = $product->quantity_selectbox_value ? $product->quantity_selectbox_value : DEFAULT_QUANTITY_SELECTBOX_VALUE; $quaboxarr = explode(",", $selectbox_value); $quaboxarr = array_merge(array(), array_unique($quaboxarr)); sort($quaboxarr); $qselect = "<select name='quantity' id='quantity" . $product_id . "' OnChange='calculateTotalPrice(" . $product_id . "," . $relproduct_id . ");'>"; for ($q = 0; $q < count($quaboxarr); $q++) { if (intVal($quaboxarr[$q]) && intVal($quaboxarr[$q]) != 0) { $quantityselect = $quan == intval($quaboxarr[$q]) ? "selected" : ""; $qselect .= "<option value='" . intVal($quaboxarr[$q]) . "' " . $quantityselect . ">" . intVal($quaboxarr[$q]) . "</option>"; } } $qselect .= "</select>"; $addtocart_quantity = "<span id='stockQuantity" . $stockId . "'>" . $qselect . "</span>"; } $cartform = str_replace("{addtocart_quantity_selectbox}", $addtocart_quantity, $cartform); $cartform = str_replace("{quantity_lbl}", JText::_('COM_REDSHOP_QUANTITY_LBL'), $cartform); } else { $cartform .= "<input type='hidden' name='quantity' id='quantity" . $product_id . "' value='" . $quan . "' maxlength='" . DEFAULT_QUANTITY . "' size='" . DEFAULT_QUANTITY . "'>"; } $stockstyle = ''; $cartstyle = ''; $preorderstyle = ''; if ($preorderdisplay) { $stockstyle = 'style="display:none"'; $cartstyle = 'style="display:none"'; $preorderstyle = ''; if (USE_AS_CATALOG) { $preorderstyle = 'style="display:none"'; } } if ($stockdisplay) { $stockstyle = ''; if (USE_AS_CATALOG) { $stockstyle = 'style="display:none"'; } $cartstyle = 'style="display:none"'; $preorderstyle = 'style="display:none"'; } if ($cartdisplay) { $stockstyle = 'style="display:none"'; $cartstyle = ''; $preorderstyle = 'style="display:none"'; if (USE_AS_CATALOG) { $cartstyle = 'style="display:none"'; } } $cartTag = ''; $cartIcon = ''; $cartTitle = ' title="' . $ADD_OR_TOOLTIP . '" '; // Trigger event which hepls us to add new JS functions to the Add To Cart button onclick $addToCartClickJS = $dispatcher->trigger('onAddToCartClickJS', array($product, $cart)); if (!empty($addToCartClickJS)) { $addToCartClickJS = implode('', $addToCartClickJS); } else { $addToCartClickJS = ""; } if ($giftcard_id) { $onclick = ' onclick="' . $addToCartClickJS . 'if(validateEmail()){if(displayAddtocartForm(\'' . $addtocartFormName . '\',\'' . $product_id . '\',\'' . $relproduct_id . '\',\'' . $giftcard_id . '\', \'user_fields_form\')){checkAddtocartValidation(\'' . $addtocartFormName . '\',\'' . $product_id . '\',\'' . $relproduct_id . '\',\'' . $giftcard_id . '\', \'user_fields_form\',\'' . $totalatt . '\',\'' . $totalAccessory . '\',\'' . $count_no_user_field . '\');}}" '; } else { $onclick = ' onclick="' . $addToCartClickJS . 'if(displayAddtocartForm(\'' . $addtocartFormName . '\',\'' . $product_id . '\',\'' . $relproduct_id . '\',\'' . $giftcard_id . '\', \'user_fields_form\')){checkAddtocartValidation(\'' . $addtocartFormName . '\',\'' . $product_id . '\',\'' . $relproduct_id . '\',\'' . $giftcard_id . '\', \'user_fields_form\',\'' . $totalatt . '\',\'' . $totalAccessory . '\',\'' . $count_no_user_field . '\');}" '; } $class = ''; $title = ''; if (strstr($cartform, "{addtocart_tooltip}")) { $class = 'class="editlinktip hasTip"'; $title = ' title="' . $tooltip . '" '; $cartform = str_replace("{addtocart_tooltip}", "", $cartform); } if (strstr($cartform, "{addtocart_button}")) { $cartTag = "{addtocart_button}"; if (AJAX_CART_BOX != 1) { $cartIcon = '<span id="pdaddtocart' . $stockId . '" ' . $class . ' ' . $title . ' ' . $cartstyle . '><input type="button" ' . $onclick . $cartTitle . ' name="addtocart_button" value="' . $ADD_OR_LBL . '" /></span>'; } else { $cartIcon = '<a class="ajaxcartcolorbox' . $product_id . '" href="javascript:;" ' . $onclick . ' ><span id="pdaddtocart' . $stockId . '" ' . $class . ' ' . $title . ' ' . $cartstyle . '><input type="button" ' . $cartTitle . ' name="addtocart_button" value="' . $ADD_OR_LBL . '" /></span></a>'; } } if (strstr($cartform, "{addtocart_link}")) { $cartTag = "{addtocart_link}"; if (AJAX_CART_BOX != 1) { $cartIcon = '<span ' . $class . ' ' . $title . ' ' . $cartstyle . ' id="pdaddtocart' . $stockId . '" ' . $onclick . $cartTitle . ' style="cursor: pointer;">' . $ADD_OR_LBL . '</span>'; } else { $cartIcon = '<a class="ajaxcartcolorbox' . $product_id . '" href="javascript:;" ' . $onclick . ' ><span ' . $class . ' ' . $title . ' ' . $cartstyle . ' id="pdaddtocart' . $stockId . '" ' . $cartTitle . ' style="cursor: pointer;">' . $ADD_OR_LBL . '</span></a>'; } } if (strstr($cartform, "{addtocart_image_aslink}")) { $cartTag = "{addtocart_image_aslink}"; if (AJAX_CART_BOX != 1) { if (is_file(REDSHOP_FRONT_IMAGES_RELPATH . $ADD_CART_IMAGE)) { $cartIcon = '<span ' . $class . ' ' . $title . ' ' . $cartstyle . ' id="pdaddtocart' . $stockId . '"><img ' . $onclick . $cartTitle . ' alt="' . $ADD_OR_LBL . '" style="cursor: pointer;" src="' . REDSHOP_FRONT_IMAGES_ABSPATH . $ADD_CART_IMAGE . '" /></span>'; } else { $cartIcon = '<a class="ajaxcartcolorbox' . $product_id . '" href="javascript:;" ' . $onclick . ' ><span ' . $class . ' ' . $title . ' ' . $cartstyle . ' id="pdaddtocart' . $stockId . '" ' . $cartTitle . ' style="cursor: pointer;">' . $ADD_OR_LBL . '</span></a>'; } } else { if (is_file(REDSHOP_FRONT_IMAGES_RELPATH . $ADD_CART_IMAGE)) { $cartIcon = '<a class="ajaxcartcolorbox' . $product_id . '" href="javascript:;" ' . $onclick . ' ><span ' . $class . ' ' . $title . ' ' . $cartstyle . ' id="pdaddtocart' . $stockId . '"><img ' . $cartTitle . ' alt="' . $ADD_OR_LBL . '" style="cursor: pointer;" src="' . REDSHOP_FRONT_IMAGES_ABSPATH . $ADD_CART_IMAGE . '" /></span></a>'; } else { $cartIcon = '<a class="ajaxcartcolorbox' . $product_id . '" href="javascript:;" ' . $onclick . ' ><span ' . $class . ' ' . $title . ' ' . $cartstyle . ' id="pdaddtocart' . $stockId . '" ' . $cartTitle . ' style="cursor: pointer;">' . $ADD_OR_LBL . '</span></a>'; } } } if (strstr($cartform, "{addtocart_image}")) { $cartTag = "{addtocart_image}"; if (AJAX_CART_BOX != 1) { if (is_file(REDSHOP_FRONT_IMAGES_RELPATH . $ADD_CART_BACKGROUND)) { $cartIcon = '<span ' . $class . ' ' . $title . ' ' . $cartstyle . ' id="pdaddtocart' . $stockId . '"><div ' . $onclick . $cartTitle . ' align="center" style="cursor:pointer;background:url(' . REDSHOP_FRONT_IMAGES_ABSPATH . $ADD_CART_BACKGROUND . ');background-position:bottom;background-repeat:no-repeat;">' . $ADD_OR_LBL . '</div></span>'; } else { $cartIcon = '<a class="ajaxcartcolorbox' . $product_id . '" href="javascript:;" ' . $onclick . ' ><span ' . $class . ' ' . $title . ' ' . $cartstyle . ' id="pdaddtocart' . $stockId . '" ' . $cartTitle . ' style="cursor: pointer;">' . $ADD_OR_LBL . '</span></a>'; } } else { if (is_file(REDSHOP_FRONT_IMAGES_RELPATH . $ADD_CART_BACKGROUND)) { $cartIcon = '<a class="ajaxcartcolorbox' . $product_id . '" href="javascript:;" ' . $onclick . ' ><span ' . $class . ' ' . $title . ' ' . $cartstyle . ' id="pdaddtocart' . $stockId . '"><div ' . $cartTitle . ' align="center" style="cursor:pointer;background:url(' . REDSHOP_FRONT_IMAGES_ABSPATH . $ADD_CART_BACKGROUND . ');background-position:bottom;background-repeat:no-repeat;">' . $ADD_OR_LBL . '</div></span></a>'; } else { $cartIcon = '<a class="ajaxcartcolorbox' . $product_id . '" href="javascript:;" ' . $onclick . ' ><span ' . $class . ' ' . $title . ' ' . $cartstyle . ' id="pdaddtocart' . $stockId . '" ' . $cartTitle . ' style="cursor: pointer;">' . $ADD_OR_LBL . '</span></a>'; } } } // pre-Order if (is_file(REDSHOP_FRONT_IMAGES_RELPATH . $ADD_OR_PRE_BTN)) { $cartIconPreorder = '<span id="preordercart' . $stockId . '" ' . $preorderstyle . '><img ' . $onclick . $cartTitle . ' alt="' . $ADD_OR_PRE_LBL . '" style="cursor: pointer;" src="' . REDSHOP_FRONT_IMAGES_ABSPATH . $ADD_OR_PRE_BTN . '" /></span>'; } else { $cartIconPreorder = '<span id="preordercart' . $stockId . '" ' . $preorderstyle . '><a href="javascript:;" ' . $onclick . '>' . JTEXT::_('COM_REDSHOP_PREORDER_BTN') . '</a></span>'; } $cartform = str_replace($cartTag, '<span id="stockaddtocart' . $stockId . '" ' . $stockstyle . ' class="stock_addtocart">' . $display_text . '</span>' . $cartIconPreorder . $cartIcon, $cartform); $cartform .= "</form>"; $data_add = str_replace("{form_addtocart:{$cart_template->template_name}}", $cartform, $data_add); } return $data_add; }
public function replacePaymentTemplate($template_desc = "", $payment_method_id = 0, $is_company = 0, $ean_number = 0) { $ccdata = $this->_session->get('ccdata'); $rsUserhelper = new rsUserhelper(); $url = JURI::base(); $user = JFactory::getUser(); $user_id = $user->id; $cc_list = array(); $cc_list['VISA'] = new stdClass(); $cc_list['VISA']->img = 'visa.jpg'; $cc_list['MC'] = new stdClass(); $cc_list['MC']->img = 'master.jpg'; $cc_list['amex'] = new stdClass(); $cc_list['amex']->img = 'blue.jpg'; $cc_list['maestro'] = new stdClass(); $cc_list['maestro']->img = 'mastero.jpg'; $cc_list['jcb'] = new stdClass(); $cc_list['jcb']->img = 'jcb.jpg'; $cc_list['diners'] = new stdClass(); $cc_list['diners']->img = 'dinnersclub.jpg'; $montharr = array(); $montharr[] = JHTML::_('select.option', '0', JText::_('COM_REDSHOP_MONTH')); $montharr[] = JHTML::_('select.option', '01', JText::_('COM_REDSHOP_JAN')); $montharr[] = JHTML::_('select.option', '02', JText::_('COM_REDSHOP_FEB')); $montharr[] = JHTML::_('select.option', '03', JText::_('COM_REDSHOP_MAR')); $montharr[] = JHTML::_('select.option', '04', JText::_('COM_REDSHOP_APR')); $montharr[] = JHTML::_('select.option', '05', JText::_('COM_REDSHOP_MAY')); $montharr[] = JHTML::_('select.option', '06', JText::_('COM_REDSHOP_JUN')); $montharr[] = JHTML::_('select.option', '07', JText::_('COM_REDSHOP_JUL')); $montharr[] = JHTML::_('select.option', '08', JText::_('COM_REDSHOP_AUG')); $montharr[] = JHTML::_('select.option', '09', JText::_('COM_REDSHOP_SEP')); $montharr[] = JHTML::_('select.option', '10', JText::_('COM_REDSHOP_OCT')); $montharr[] = JHTML::_('select.option', '11', JText::_('COM_REDSHOP_NOV')); $montharr[] = JHTML::_('select.option', '12', JText::_('COM_REDSHOP_DEC')); $paymentmethod = JPluginHelper::getPlugin('redshop_payment'); $template_desc = str_replace("{payment_heading}", JText::_('COM_REDSHOP_PAYMENT_METHOD'), $template_desc); if (strstr($template_desc, "{split_payment}")) { if (SPLITABLE_PAYMENT == 1) { $splitpayment = '<input type="checkbox" name="issplit" value="1">' . JText::_('COM_REDSHOP_SPLIT_PAYMENT') . '?'; $template_desc = str_replace("{split_payment}", $splitpayment, $template_desc); } else { $template_desc = str_replace("{split_payment}", "", $template_desc); } } if (strstr($template_desc, "{payment_loop_start}") && strstr($template_desc, "{payment_loop_end}")) { $template1 = explode("{payment_loop_start}", $template_desc); $template1 = explode("{payment_loop_end}", $template1[1]); $template_middle = $template1[0]; $shopperGroupId = $rsUserhelper->getShopperGroup($user_id); $payment_display = ""; $flag = false; for ($p = 0; $p < count($paymentmethod); $p++) { $cardinfo = ""; $display_payment = ""; $paymentFilePath = JPATH_SITE . '/plugins/redshop_payment/' . $paymentmethod[$p]->name . '/' . $paymentmethod[$p]->name . '.php'; if (file_exists($paymentFilePath)) { $paymentpath = JPATH_SITE . '/plugins/redshop_payment/' . $paymentmethod[$p]->name . '/' . $paymentmethod[$p]->name . '.php'; include_once $paymentpath; $paymentparams = new JRegistry($paymentmethod[$p]->params); $private_person = $paymentparams->get('private_person', ''); $business = $paymentparams->get('business', ''); $is_creditcard = $paymentparams->get('is_creditcard', 0); $shopper_group = $paymentparams->get('shopper_group_id'); if (!is_array($shopper_group)) { $shopper_groupArr = array(); $shopper_groupArr[0] = $shopper_group; if ($shopper_group == '') { $shopper_groupArr[0] = 0; } } else { $shopper_groupArr = $shopper_group; } if (in_array($shopperGroupId, $shopper_groupArr) || $shopper_groupArr[0] == 0) { if ($flag == false) { if (count($paymentmethod) > 0) { $payment_method_id = $paymentmethod[$p]->name; } } $checked = ''; if ($payment_method_id === $paymentmethod[$p]->name) { $checked = "checked"; } $payment_chcked_class = ''; if ($payment_method_id == $paymentmethod[$p]->name) { $payment_chcked_class = "paymentgtwchecked"; } $payment_radio_output = '<div id="' . $paymentmethod[$p]->name . '" class="' . $payment_chcked_class . '"><input type="radio" name="payment_method_id" id="' . $paymentmethod[$p]->name . $p . '" value="' . $paymentmethod[$p]->name . '" ' . $checked . ' onclick="javascript:onestepCheckoutProcess(this.name,\'\');" /><label for="' . $paymentmethod[$p]->name . $p . '">' . JText::_('PLG_' . strtoupper($paymentmethod[$p]->name)) . '</label></div>'; $is_subscription = false; if ($paymentmethod[$p]->name == 'rs_payment_eantransfer' || $paymentmethod[$p]->name == 'rs_payment_cashtransfer' || $paymentmethod[$p]->name == 'rs_payment_banktransfer' || $paymentmethod[$p]->name == "rs_payment_banktransfer2" || $paymentmethod[$p]->name == "rs_payment_banktransfer3" || $paymentmethod[$p]->name == "rs_payment_banktransfer4" || $paymentmethod[$p]->name == "rs_payment_banktransfer5") { if ($is_company == 0 && $private_person == 1) { $display_payment = $payment_radio_output; $flag = true; } else { if ($is_company == 1 && $business == 1 && ($paymentmethod[$p]->name != 'rs_payment_eantransfer' || $paymentmethod[$p]->name == 'rs_payment_eantransfer' && $ean_number == 1)) { $display_payment = $payment_radio_output; $flag = true; } } } elseif ($is_subscription) { $display_payment = '<input id="' . $paymentmethod[$p]->name . $p . '" type="radio" name="payment_method_id" value="' . $paymentmethod[$p]->name . '" ' . $checked . ' onclick="javascript:onestepCheckoutProcess(this.name);" />' . '<label for="' . $paymentmethod[$p]->name . $p . '">' . JText::_($paymentmethod[$p]->name) . '</label><br>'; $display_payment .= '<table><tr><td>' . JText::_('COM_REDSHOP_SUBSCRIPTION_PLAN') . '</td><td>' . $this->getSubscriptionPlans() . '<td></tr><table>'; } else { $display_payment = $payment_radio_output; $flag = true; } if ($is_creditcard) { $cardinfo = '<div id="divcardinfo_' . $paymentmethod[$p]->name . '">'; if ($checked != "" && ONESTEP_CHECKOUT_ENABLE) { $cardinfo .= $this->replaceCreditCardInformation($paymentmethod[$p]->name); } $cardinfo .= '</div>'; } } } $payment_display .= $template_middle; $payment_display = str_replace("{payment_method_name}", $display_payment, $payment_display); $payment_display = str_replace("{creditcard_information}", $cardinfo, $payment_display); } $template_desc = str_replace("{payment_loop_start}", "", $template_desc); $template_desc = str_replace("{payment_loop_end}", "", $template_desc); $template_desc = str_replace($template_middle, $payment_display, $template_desc); } $extrafield_total = ''; if (strstr($template_desc, "{payment_extrafields}")) { $extraField = new extraField(); $paymentparams_new = new JRegistry($paymentmethod[0]->params); $extrafield_payment = $paymentparams_new->get('extrafield_payment'); $extrafield_total = ''; $extrafield_hidden = ''; if (count($extrafield_payment) > 0) { for ($ui = 0; $ui < count($extrafield_payment); $ui++) { $product_userfileds = $extraField->list_all_user_fields($extrafield_payment[$ui], 18, '', 0, 0, 0); $extrafield_total .= $product_userfileds[0] . " " . $product_userfileds[1] . "<br>"; $extrafield_hidden .= "<input type='hidden' name='extrafields[]' value='" . $extrafield_payment[$ui] . "'>"; } $template_desc = str_replace("{payment_extrafields}", "<div id='extrafield_payment'>" . $extrafield_total . $extrafield_hidden . "</div>", $template_desc); } else { $template_desc = str_replace("{payment_extrafields}", "<div id='extrafield_payment'></div>", $template_desc); } } if (count($paymentmethod) == 1 && $is_creditcard == "0" && $extrafield_total == "") { $template_desc = "<div style='display:none;'>" . $template_desc . "</div>"; } return $template_desc; }
break; } $count_no_user_field = 0; // Counting accessory $accessorylist = $producthelper->getProductAccessory(0, $product->product_id); $totacc = count($accessorylist); $prddata_add .= $template_product; // Product User Field Start $hidden_userfield = ""; $returnArr = $producthelper->getProductUserfieldFromTemplate($prddata_add); $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, $product->product_id); $ufield .= $product_userfileds[1]; if ($product_userfileds[1] != "") { $count_no_user_field++; } $prddata_add = str_replace('{' . $userfieldArr[$ui] . '_lbl}', $product_userfileds[0], $prddata_add); $prddata_add = str_replace('{' . $userfieldArr[$ui] . '}', $product_userfileds[1], $prddata_add); } $product_userfileds_form = "<form method='post' action='' id='user_fields_form_" . $product->product_id . "' name='user_fields_form_" . $product->product_id . "'>"; if ($ufield != "") { $prddata_add = str_replace("{if product_userfield}", $product_userfileds_form, $prddata_add); $prddata_add = str_replace("{product_userfield end if}", "</form>", $prddata_add); } else { $prddata_add = str_replace("{if product_userfield}", "", $prddata_add); $prddata_add = str_replace("{product_userfield end if}", "", $prddata_add); }
/** * Display shipping extra field * * @return void */ public function displayshippingextrafield() { ob_clean(); $shipping_rate_id = JRequest::getCmd('shipping_rate_id', ''); $shippingmethod = $this->_order_functions->getShippingMethodInfo($shipping_rate_id); $shippingparams = new JRegistry($shippingmethod[0]->params); $extrafield_shipping = $shippingparams->get('extrafield_shipping', ''); $extraField = new extraField(); $extrafield_total = ""; if (count($extrafield_shipping) > 0) { for ($ui = 0; $ui < count($extrafield_shipping); $ui++) { if ($extrafield_shipping[$ui] != "") { $product_userfileds = $extraField->list_all_user_fields($extrafield_shipping[$ui], 19, '', 0, 0, 0); $extrafield_total .= $product_userfileds[0] . " " . $product_userfileds[1] . "<br>"; $extrafield_hidden .= "<input type='hidden' name='extrafields[]' value='" . $extrafield_shipping[$ui] . "'>"; } } echo $extrafield_total . $extrafield_hidden; die; } }
$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]['giftcard_id'] == $gid) { $cart_id = $j; } } for ($ui = 0; $ui < count($userfieldArr); $ui++) { if (!$idx) { $cart_id = ""; } $product_userfileds = $extraField->list_all_user_fields($userfieldArr[$ui], 13, '', $cart_id, 0, $gid); $ufield .= $product_userfileds[1]; if ($product_userfileds[1] != "") { $count_no_user_field++; } $template = str_replace('{' . $userfieldArr[$ui] . '_lbl}', $product_userfileds[0], $template); $template = str_replace('{' . $userfieldArr[$ui] . '}', $product_userfileds[1], $template); } $product_userfileds_form = "<form method='post' action='' id='user_fields_form' name='user_fields_form'>"; if ($ufield != "") { $template = str_replace("{if giftcard_userfield}", $product_userfileds_form, $template); $template = str_replace("{giftcard_userfield end if}", "</form>", $template); } else { $template = str_replace("{if giftcard_userfield}", "", $template); $template = str_replace("{giftcard_userfield end if}", "", $template); }
$cart = $this->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'] == $this->data->product_id) { $cart_id = $j; } } for ($ui = 0; $ui < count($userfieldArr); $ui++) { if (!$idx) { $cart_id = ""; } $product_userfileds = $extraField->list_all_user_fields($userfieldArr[$ui], 12, '', $cart_id, 1, $this->data->product_id); $ufield .= $product_userfileds[0]; if ($product_userfileds[0] != "") { $count_no_user_field++; } if ($nextrafield <= 0) { $data_add = str_replace('{' . $userfieldArr[$ui] . '_lbl}', '', $data_add); $data_add = str_replace('{' . $userfieldArr[$ui] . '}', '', $data_add); } else { if ($extrafieldNames) { $extrafieldName = @explode(',', $extrafieldNames); if (!in_array($userfieldArr[$ui], $extrafieldName)) { $data_add = str_replace('{' . $userfieldArr[$ui] . '_lbl}', '', $data_add); $data_add = str_replace('{' . $userfieldArr[$ui] . '}', '', $data_add); } else { $data_add = str_replace('{' . $userfieldArr[$ui] . '_lbl}', $product_userfileds[0], $data_add);
$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 = ""; } $product_userfileds_final = $wishlistuserfielddata[$ui]->userfielddata; 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++; } $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);
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 "); } }