Exemplo n.º 1
0
 /**
  * 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>";
     }
 }
Exemplo n.º 2
0
 public function getPaymentandShippingExtrafields($order, $section_id)
 {
     $extraField = new extraField();
     $row_data = $extraField->getSectionFieldList($section_id, 1);
     $resultArr = array();
     for ($j = 0; $j < count($row_data); $j++) {
         $main_result = $extraField->getSectionFieldDataList($row_data[$j]->field_id, $section_id, $order->order_id);
         if ($main_result->data_txt != "" && $row_data[$j]->field_show_in_front == 1) {
             $resultArr[] = $main_result->field_title . " : " . $main_result->data_txt;
         }
     }
     $resultstr = "";
     if (count($resultArr) > 0) {
         $resultstr = implode("<br/>", $resultArr);
     }
     return $resultstr;
 }
Exemplo n.º 3
0
 public function addtowishlist2session($data)
 {
     ob_clean();
     $extraField = new extraField();
     $section = 12;
     $row_data = $extraField->getSectionFieldList($section);
     for ($check_i = 1; $check_i <= $_SESSION["no_of_prod"]; $check_i++) {
         if ($_SESSION['wish_' . $check_i]->product_id == $data['product_id']) {
             if ($data['task'] != "") {
                 unset($_SESSION["no_of_prod"]);
             }
         }
     }
     $_SESSION["no_of_prod"] += 1;
     $no_prod_i = 'wish_' . $_SESSION["no_of_prod"];
     $_SESSION[$no_prod_i]->product_id = $data['product_id'];
     $_SESSION[$no_prod_i]->comment = isset($data['comment']) ? $data['comment'] : "";
     $_SESSION[$no_prod_i]->cdate = $data['cdate'];
     for ($k = 0; $k < count($row_data); $k++) {
         $myfield = "productuserfield_" . $k;
         $_SESSION[$no_prod_i]->{$myfield} = $data['productuserfield_' . $k];
     }
     return true;
 }
Exemplo n.º 4
0
 public function store($data)
 {
     $row = $this->getTable();
     if (!$row->bind($data)) {
         $this->setError($this->_db->getErrorMsg());
         return false;
     }
     if (!$row->store()) {
         $this->setError($this->_db->getErrorMsg());
         return false;
     } else {
         $db = JFactory::getDbo();
         $product_id = JRequest::getInt('product_id');
         if ($product_id) {
             $ins_query = "INSERT INTO " . $this->_table_prefix . "wishlist_product " . " SET wishlist_id=" . (int) $row->wishlist_id . ", product_id=" . (int) $product_id . ", cdate = " . $db->quote(time());
             $db->setQuery($ins_query);
             if ($db->Query()) {
                 return true;
             } else {
                 return false;
             }
         } elseif (!empty($_SESSION["no_of_prod"])) {
             ob_clean();
             $extraField = new extraField();
             $section = 12;
             $row_data = $extraField->getSectionFieldList($section);
             for ($si = 1; $si <= $_SESSION["no_of_prod"]; $si++) {
                 for ($k = 0; $k < count($row_data); $k++) {
                     $myfield = "productuserfield_" . $k;
                     if ($_SESSION['wish_' . $si]->{$myfield} != '') {
                         $myuserdata = $_SESSION['wish_' . $si]->{$myfield};
                         $ins_query = "INSERT INTO #__redshop_wishlist_userfielddata SET " . " wishlist_id = " . (int) $row->wishlist_id . " , product_id = " . (int) $_SESSION['wish_' . $si]->product_id . ", userfielddata = " . $db->quote($myuserdata);
                         $db->setQuery($ins_query);
                         $db->Query();
                     }
                 }
                 $ins_query = "INSERT INTO #__redshop_wishlist_product SET " . " wishlist_id = " . (int) $row->wishlist_id . ", product_id = " . (int) $_SESSION['wish_' . $si]->product_id . ", cdate = " . $db->quote($_SESSION['wish_' . $si]->cdate);
                 $db->setQuery($ins_query);
                 $db->Query();
                 unset($_SESSION['wish_' . $si]);
             }
             unset($_SESSION["no_of_prod"]);
         }
     }
     return true;
 }
Exemplo n.º 5
0
defined('_JEXEC') or die;
$producthelper = new producthelper();
$config = new Redconfiguration();
$related_product = $producthelper->getRelatedProduct($this->pid);
$template = $this->input->getString('template', '');
$relptemplate = $this->redTemplate->getTemplate("related_product", 0, $template);
$related_template = $relptemplate[0]->template_desc;
if (count($relptemplate) > 0) {
    $related_template_data = '';
    $product_start = explode("{related_product_start}", $related_template);
    $product_end = explode("{related_product_end}", $product_start[1]);
    $tempdata_div_start = $product_start[0];
    $tempdata_div_middle = $product_end[0];
    $tempdata_div_end = $product_end[1];
    $extra_field = new extraField();
    $fieldArray = $extra_field->getSectionFieldList(17, 0, 0);
    $attribute_template = $producthelper->getAttributeTemplate($tempdata_div_middle);
    /************************************************************ **********************************************/
    for ($r = 0; $r < count($related_product); $r++) {
        $related_template_data .= $tempdata_div_middle;
        $rlink = JRoute::_('index.php?option=com_redshop&view=product&pid=' . $related_product[$r]->product_id . '&Itemid=' . $this->itemId);
        if (strstr($related_template_data, "{relproduct_image_3}")) {
            $rpimg_tag = '{relproduct_image_3}';
            $rph_thumb = RELATED_PRODUCT_THUMB_HEIGHT_3;
            $rpw_thumb = RELATED_PRODUCT_THUMB_WIDTH_3;
        } elseif (strstr($related_template_data, "{relproduct_image_2}")) {
            $rpimg_tag = '{relproduct_image_2}';
            $rph_thumb = RELATED_PRODUCT_THUMB_HEIGHT_2;
            $rpw_thumb = RELATED_PRODUCT_THUMB_WIDTH_2;
        } elseif (strstr($related_template_data, "{relproduct_image_1}")) {
            $rpimg_tag = '{relproduct_image_1}';
Exemplo n.º 6
0
 public function sendQuotationMail($quotation_id, $status = 0)
 {
     $uri = JURI::getInstance();
     $url = $uri->root();
     $redconfig = new Redconfiguration();
     $producthelper = new producthelper();
     $extra_field = new extra_field();
     $quotationHelper = new quotationHelper();
     $config = JFactory::getConfig();
     $mailinfo = $this->getMailtemplate(0, "quotation_mail");
     $mailbcc = array();
     if (count($mailinfo) > 0) {
         $message = $mailinfo[0]->mail_body;
         $subject = $mailinfo[0]->mail_subject;
         if (trim($mailinfo[0]->mail_bcc) != "") {
             $mailbcc = explode(",", $mailinfo[0]->mail_bcc);
         }
     } else {
         return false;
     }
     $template_start = "";
     $template_end = "";
     $template_middle = "";
     $cart = '';
     $template_sdata = explode('{product_loop_start}', $message);
     $extraField = new extraField();
     $fieldArray = $extraField->getSectionFieldList(17, 0, 0);
     if (count($template_sdata) > 0) {
         $template_start = $template_sdata[0];
         if (count($template_sdata) > 1) {
             $template_edata = explode('{product_loop_end}', $template_sdata[1]);
             if (count($template_edata) > 1) {
                 $template_end = $template_edata[1];
             }
             if (count($template_edata) > 0) {
                 $template_middle = $template_edata[0];
             }
         }
     }
     $row = $quotationHelper->getQuotationDetail($quotation_id);
     if (count($row) <= 0) {
         return false;
     }
     $rowitem = $quotationHelper->getQuotationProduct($quotation_id);
     for ($i = 0; $i < count($rowitem); $i++) {
         $product_id = $rowitem[$i]->product_id;
         $product = $producthelper->getProductById($product_id);
         $product_name = "<div class='product_name'>" . $rowitem[$i]->product_name . "</div>";
         $product_total_price = "<div class='product_price'>" . $producthelper->getProductFormattedPrice($rowitem[$i]->product_price * $rowitem[$i]->product_quantity) . "</div>";
         $product_price = "<div class='product_price'>" . $producthelper->getProductFormattedPrice($rowitem[$i]->product_price) . "</div>";
         $product_price_excl_vat = "<div class='product_price'>" . $producthelper->getProductFormattedPrice($rowitem[$i]->product_excl_price) . "</div>";
         $product_quantity = '<div class="update_cart">' . $rowitem[$i]->product_quantity . '</div>';
         $product_total_price_excl_vat = "<div class='product_price'>" . $producthelper->getProductFormattedPrice($rowitem[$i]->product_excl_price * $rowitem[$i]->product_quantity) . "</div>";
         $cart_mdata = $template_middle;
         $wrapper_name = "";
         if ($rowitem[$i]->product_wrapperid) {
             $wrapper = $producthelper->getWrapper($product_id, $rowitem[$i]->product_wrapperid);
             if (count($wrapper) > 0) {
                 $wrapper_name = $wrapper[0]->wrapper_name;
             }
             $wrapper_name = JText::_('COM_REDSHOP_WRAPPER') . ": " . $wrapper_name;
         }
         $product_image_path = '';
         if ($product->product_full_image) {
             if (is_file(REDSHOP_FRONT_IMAGES_RELPATH . "product/" . $product->product_full_image)) {
                 $product_image_path = $product->product_full_image;
             } else {
                 if (is_file(REDSHOP_FRONT_IMAGES_RELPATH . "product/" . PRODUCT_DEFAULT_IMAGE)) {
                     $product_image_path = PRODUCT_DEFAULT_IMAGE;
                 }
             }
         } else {
             if (is_file(REDSHOP_FRONT_IMAGES_RELPATH . "product/" . PRODUCT_DEFAULT_IMAGE)) {
                 $product_image_path = PRODUCT_DEFAULT_IMAGE;
             }
         }
         if ($product_image_path) {
             $thumbUrl = RedShopHelperImages::getImagePath($product_image_path, '', 'thumb', 'product', CART_THUMB_WIDTH, CART_THUMB_HEIGHT, USE_IMAGE_SIZE_SWAPPING);
             $product_image = "<div  class='product_image'><img src='" . $thumbUrl . "'></div>";
         } else {
             $product_image = "<div  class='product_image'></div>";
         }
         $cart_mdata = str_replace("{product_name}", $product_name, $cart_mdata);
         $cart_mdata = str_replace("{product_s_desc}", $product->product_s_desc, $cart_mdata);
         $cart_mdata = str_replace("{product_thumb_image}", $product_image, $cart_mdata);
         $product_note = "<div class='product_note'>" . $wrapper_name . "</div>";
         $cart_mdata = str_replace("{product_wrapper}", $product_note, $cart_mdata);
         $product_userfields = $quotationHelper->displayQuotationUserfield($rowitem[$i]->quotation_item_id, 12);
         $cart_mdata = str_replace("{product_userfields}", $product_userfields, $cart_mdata);
         $cart_mdata = str_replace("{product_number_lbl}", JText::_('COM_REDSHOP_PRODUCT_NUMBER'), $cart_mdata);
         $cart_mdata = str_replace("{product_number}", $product->product_number, $cart_mdata);
         $cart_mdata = str_replace("{product_attribute}", $producthelper->makeAttributeQuotation($rowitem[$i]->quotation_item_id, 0, $rowitem[$i]->product_id, $row->quotation_status), $cart_mdata);
         $cart_mdata = str_replace("{product_accessory}", $producthelper->makeAccessoryQuotation($rowitem[$i]->quotation_item_id, $row->quotation_status), $cart_mdata);
         // ProductFinderDatepicker Extra Field Start
         $cart_mdata = $producthelper->getProductFinderDatepickerValue($cart_mdata, $product_id, $fieldArray);
         // ProductFinderDatepicker Extra Field End
         if ($row->quotation_status == 1 && !SHOW_QUOTATION_PRICE) {
             $cart_mdata = str_replace("{product_price_excl_vat}", "", $cart_mdata);
             $cart_mdata = str_replace("{product_price}", " ", $cart_mdata);
             $cart_mdata = str_replace("{product_total_price}", " ", $cart_mdata);
             $cart_mdata = str_replace("{product_subtotal_excl_vat}", " ", $cart_mdata);
         } else {
             $cart_mdata = str_replace("{product_price_excl_vat}", $product_price_excl_vat, $cart_mdata);
             $cart_mdata = str_replace("{product_price}", $product_price, $cart_mdata);
             $cart_mdata = str_replace("{product_total_price}", $product_total_price, $cart_mdata);
             $cart_mdata = str_replace("{product_subtotal_excl_vat}", $product_total_price_excl_vat, $cart_mdata);
         }
         $cart_mdata = str_replace("{product_quantity}", $product_quantity, $cart_mdata);
         $cart .= $cart_mdata;
     }
     $message = $template_start . $cart . $template_end;
     $search[] = "{quotation_note}";
     $replace[] = $row->quotation_note;
     $search[] = "{shopname}";
     $replace[] = SHOP_NAME;
     $search[] = "{quotation_id}";
     $replace[] = $row->quotation_id;
     $search[] = "{quotation_number}";
     $replace[] = $row->quotation_number;
     $search[] = "{quotation_date}";
     $replace[] = $redconfig->convertDateFormat($row->quotation_cdate);
     $search[] = "{quotation_status}";
     $replace[] = $quotationHelper->getQuotationStatusName($row->quotation_status);
     $billadd = '';
     if ($row->user_id != 0) {
         $message = $this->_carthelper->replaceBillingAddress($message, $row);
     } else {
         if ($row->quotation_email != "") {
             $billadd .= JText::_("COM_REDSHOP_EMAIL") . ' : ' . $row->quotation_email . '<br />';
         }
         $message = str_replace("{billing_address_information_lbl}", JText::_('COM_REDSHOP_BILLING_ADDRESS_INFORMATION_LBL'), $message);
         if (strstr($message, "{quotation_custom_field_list}")) {
             $billadd .= $extra_field->list_all_field_display(16, $row->user_info_id, 1, $row->quotation_email);
             $message = str_replace("{quotation_custom_field_list}", "", $message);
         } else {
             $message = $extra_field->list_all_field_display(16, $row->user_info_id, 1, $row->quotation_email, $message);
         }
     }
     $search[] = "{billing_address}";
     $replace[] = $billadd;
     $total_lbl = '';
     $subtotal_lbl = '';
     $vat_lbl = '';
     if ($row->quotation_status != 1 || $row->quotation_status == 1 && SHOW_QUOTATION_PRICE) {
         $total_lbl = JText::_('COM_REDSHOP_TOTAL_LBL');
         $subtotal_lbl = JText::_('COM_REDSHOP_QUOTATION_SUBTOTAL');
         $vat_lbl = JText::_('COM_REDSHOP_QUOTATION_VAT');
     }
     $message = str_replace('{total_lbl}', $total_lbl, $message);
     $message = str_replace('{quotation_subtotal_lbl}', $subtotal_lbl, $message);
     $message = str_replace('{quotation_vat_lbl}', $vat_lbl, $message);
     $message = $this->_carthelper->replaceLabel($message);
     $search[] = "{quotation_note}";
     $replace[] = $row->quotation_note;
     if ($row->quotation_status == 1 && !SHOW_QUOTATION_PRICE) {
         $quotation_subtotal = " ";
         $quotation_total = " ";
         $quotation_discount = " ";
         $quotation_vat = " ";
         $quotation_subtotal_excl_vat = "";
     } else {
         $tax = $row->quotation_tax;
         if (VAT_RATE_AFTER_DISCOUNT) {
             $Discountvat = VAT_RATE_AFTER_DISCOUNT * $row->quotation_discount / (1 + VAT_RATE_AFTER_DISCOUNT);
             $row->quotation_discount = $row->quotation_discount - $Discountvat;
             $tax = $tax - $Discountvat;
         }
         if (VAT_RATE_AFTER_DISCOUNT) {
             $sp_discount = $row->quotation_special_discount * ($row->quotation_subtotal + $row->quotation_tax) / 100;
             $Discountspvat = $sp_discount * VAT_RATE_AFTER_DISCOUNT / (1 + VAT_RATE_AFTER_DISCOUNT);
             $DiscountspWithotVat = $sp_discount - $Discountspvat;
             $row->quotation_discount = $row->quotation_discount + $DiscountspWithotVat;
             $tax = $tax - $Discountspvat;
         }
         $quotation_subtotal_excl_vat = $producthelper->getProductFormattedPrice($row->quotation_subtotal);
         $quotation_subtotal_minus_discount = $producthelper->getProductFormattedPrice($row->quotation_subtotal - $row->quotation_discount);
         $quotation_subtotal = $producthelper->getProductFormattedPrice($row->quotation_subtotal);
         $quotation_total = $producthelper->getProductFormattedPrice($row->quotation_total);
         $quotation_discount = $producthelper->getProductFormattedPrice($row->quotation_discount);
         $quotation_vat = $producthelper->getProductFormattedPrice($row->quotation_tax);
     }
     $search[] = "{quotation_subtotal}";
     $replace[] = $quotation_subtotal;
     $search[] = "{quotation_total}";
     $replace[] = $quotation_total;
     $search[] = "{quotation_subtotal_minus_discount}";
     $replace[] = $quotation_subtotal_minus_discount;
     $search[] = "{quotation_subtotal_excl_vat}";
     $replace[] = $quotation_subtotal_excl_vat;
     $search[] = "{quotation_discount}";
     $replace[] = $quotation_discount;
     $search[] = "{quotation_vat}";
     $replace[] = $quotation_vat;
     $quotationdetailurl = JURI::root() . 'index.php?option=com_redshop&view=quotation_detail&quoid=' . $quotation_id . '&encr=' . $row->quotation_encrkey;
     $search[] = "{quotation_detail_link}";
     $replace[] = "<a href='" . $quotationdetailurl . "'>" . JText::_("COM_REDSHOP_QUOTATION_DETAILS") . "</a>";
     $message = str_replace($search, $replace, $message);
     $message = $this->imginmail($message);
     $email = $row->quotation_email;
     // Set the e-mail parameters
     $from = $config->getValue('mailfrom');
     $fromname = $config->getValue('fromname');
     $body = $message;
     $subject = str_replace($search, $replace, $subject);
     // Send the e-mail
     if ($email != "") {
         $bcc = null;
         if (trim(ADMINISTRATOR_EMAIL) != '') {
             $bcc = explode(",", trim(ADMINISTRATOR_EMAIL));
         }
         $bcc = array_merge($bcc, $mailbcc);
         if (!JUtility::sendMail($from, $fromname, $email, $subject, $body, 1, null, $bcc)) {
             $this->setError('ERROR_SENDING_QUOTATION_MAIL');
         }
     }
     if ($status != 0) {
         $quotationHelper->updateQuotationStatus($quotation_id, $status);
     }
     return true;
 }
Exemplo n.º 7
0
 /**
  * Add to wishlist function
  *
  * @access public
  * @return void
  */
 public function addtowishlist()
 {
     ob_clean();
     $app = JFactory::getApplication();
     $extraField = new extraField();
     $section = 12;
     $row_data = $extraField->getSectionFieldList($section);
     // GetVariables
     $producthelper = new producthelper();
     $cid = JRequest::getInt('cid');
     $user = JFactory::getUser();
     $Itemid = JRequest::getVar('Itemid');
     $option = JRequest::getVar('option');
     $ajaxvar = JRequest::getVar('ajaxon');
     $mywid = JRequest::getVar('wid');
     if ($ajaxvar == 1 && ($mywid == 1 || $mywid == 2)) {
         $post = JRequest::get('post');
         $post['product_id'] = JRequest::getVar('product_id');
         $proname = $producthelper->getProductById($post['product_id']);
         $post['view'] = JRequest::getVar('view');
         $post['task'] = JRequest::getVar('task');
         for ($i = 0; $i < count($row_data); $i++) {
             $field_name = $row_data[$i]->field_name;
             $type = $row_data[$i]->field_type;
             if (isset($post[$row_data[$i]->field_name])) {
                 $data_txt = $post[$row_data[$i]->field_name];
             } else {
                 $data_txt = '';
             }
             $tmpstr = strpbrk($data_txt, '`');
             if ($tmpstr) {
                 $tmparray = explode('`', $data_txt);
                 $tmp = new stdClass();
                 $tmp = @array_merge($tmp, $tmparray);
                 if (is_array($tmparray)) {
                     $data_txt = implode(",", $tmparray);
                 }
             }
             $post['productuserfield_' . $i] = $data_txt;
         }
     } else {
         $post = JRequest::get('post');
         $proname = $producthelper->getProductById($post['product_id']);
         for ($i = 0; $i < count($row_data); $i++) {
             $field_name = $row_data[$i]->field_name;
             $type = $row_data[$i]->field_type;
             if (isset($post[$row_data[$i]->field_name])) {
                 $data_txt = $post[$row_data[$i]->field_name];
             } else {
                 $data_txt = '';
             }
             $tmpstr = strpbrk($data_txt, '`');
             if ($tmpstr) {
                 $tmparray = explode('`', $data_txt);
                 $tmp = new stdClass();
                 $tmp = @array_merge($tmp, $tmparray);
                 if (is_array($tmparray)) {
                     $data_txt = implode(",", $tmparray);
                 }
             }
             $post['productuserfield_' . $i] = $data_txt;
         }
     }
     $rurl = "";
     if (isset($post['rurl'])) {
         $rurl = base64_decode($post['rurl']);
     }
     // Initiallize variable
     $post['user_id'] = $user->id;
     $post['cdate'] = time();
     $model = $this->getModel('product');
     if ($user->id && $ajaxvar != '1') {
         if ($model->checkWishlist($post['product_id']) == null) {
             if ($model->addToWishlist($post)) {
                 $app->enqueueMessage(JText::_('COM_REDSHOP_WISHLIST_SAVE_SUCCESSFULLY'));
             } else {
                 $app->enqueueMessage(JText::_('COM_REDSHOP_ERROR_SAVING_WISHLIST'));
             }
         } else {
             $app->enqueueMessage(JText::_('COM_REDSHOP_ALLREADY_ADDED_TO_WISHLIST'));
         }
     } else {
         // User can store wishlist in session
         if ($model->addtowishlist2session($post)) {
             $app->enqueueMessage(JText::_('COM_REDSHOP_WISHLIST_SAVE_SUCCESSFULLY'));
         } else {
             $app->enqueueMessage(JText::_('COM_REDSHOP_ALLREADY_ADDED_TO_WISHLIST'));
         }
     }
     if ($ajaxvar == 1) {
         sleep(2);
         $getproductimage = $producthelper->getProductById($post['product_id']);
         $finalproductimgname = $getproductimage->product_full_image;
         if ($finalproductimgname != '') {
             $mainimg = "product/" . $finalproductimgname;
         } else {
             $mainimg = 'noimage.jpg';
         }
         echo "<span id='basketWrap' ><a href='index.php?view=wishlist&task=viewwishlist&option=com_redshop&Itemid=" . JRequest::getVar('Itemid') . "&pid=" . $post['product_id'] . "'><img src='" . REDSHOP_FRONT_IMAGES_ABSPATH . $mainimg . "' height='30' width='30'/></a></span>:-:" . $proname->product_name . "";
         exit;
     } elseif ($mywid == 1) {
         $this->setRedirect('index.php?option=' . $option . 'wishlist=1&view=login&Itemid=' . $Itemid);
     }
     if ($rurl != "") {
         $this->setRedirect($rurl);
     } else {
         $this->setRedirect('index.php?option=' . $option . '&view=product&pid=' . $post['product_id'] . '&cid=' . $cid . '&Itemid=' . $Itemid);
     }
 }