getTemplate().DS.'html'.DS.'hikashop_button.php'; if (file_exists($chromePath)){ require_once ($chromePath); $override = true; } } $this->override = $override; } function displayButton($name,$map,&$params,$url='',$ajax="",$options="",$max_quantity=0,$min_quantity=1,$classname='',$inc=true){ $config =& hikashop_config(); $button = $config->get('button_style','normal'); static $i=0; if($inc) $i++; if(!empty($ajax)){ $ajax = 'onclick="var field=document.getElementById(\'hikashop_product_quantity_field_'.$i.'\');'.$ajax.'" '; } if(!empty($classname) && substr($classname, 0, 1) != ' ') $classname = ' '.$classname; if($this->override && function_exists('hikashop_button_render')){ $html = hikashop_button_render($map,$name,$ajax,$options,$url,$classname); }else{ switch($button){ case 'rounded': //deprecated $params->set('main_div_name', 'hikashop_button_'.$i); $moduleHelper = hikashop_get('helper.module'); $moduleHelper->setCSS($params); $url = 'href="'.$url.'" '; $html='
'; break; case 'css': if(empty($url)) $url = '#'; $url = 'href="'.$url.'" '; $html= ''.$name.''; break; case 'normal': default: $type = 'submit'; if(in_array($map,array('new','refresh','wishlist'))){ $type = 'button'; } $app = JFactory::getApplication(); if($app->isAdmin()){ $class = 'btn'; }else{ $class = HK_GRID_BTN; } $html= ''; break; } } if($map=='add'){ $show_quantity_field=$config->get('show_quantity_field',0); if($params->get('show_quantity_field',0)=='-1')$params->set('show_quantity_field',$show_quantity_field); if($params->get('show_quantity_field',0)==1){ $max_quantity=(int)$max_quantity; $min_quantity=(int)$min_quantity; static $first = false; if(!$first && $map=='add'){ $first=true; $js = ' function hikashopQuantityChange(field,plus,max,min){ var fieldEl=document.getElementById(field); var current = fieldEl.value; current = parseInt(current); if(plus){ if(max==0 || current1 && current>min){ fieldEl.value=current-1; } } return false; } function hikashopCheckQuantityChange(field,max,min){ var fieldEl=document.getElementById(field); var current = fieldEl.value; current = parseInt(current); if(max && current>max){ fieldEl.value=max; alert(\''.JText::_('NOT_ENOUGH_STOCK',true).'\'); }else if(currentget('js'); if(!$setJS){ if (!HIKASHOP_PHP5) { $doc =& JFactory::getDocument(); }else{ $doc = JFactory::getDocument(); } $doc->addScriptDeclaration("\n"); }else{ echo ''; } } if($this->override && function_exists('hikashop_quantity_render')){ $html = hikashop_quantity_render($html,$i,$max_quantity,$min_quantity); }else{ $js = ''; $params->set('i',$i); $params->set('min_quantity',$min_quantity); $params->set('max_quantity',$max_quantity); $params->set('html',$html); $html = hikashop_getLayout('product', 'show_quantity', $params, $js); } }elseif($params->get('show_quantity_field',0)==0){ $html.=''; }elseif($params->get('show_quantity_field',0)==-1){ static $second = false; if(!$second){ $second=true; $js = ' function hikashopQuantityChange(field,plus,max,min){ var fieldEl=document.getElementById(field); var current = fieldEl.value; current = parseInt(current); if(plus){ if(max==0 || current1 && current>min){ fieldEl.value=current-1; } } return false; } '; $setJS=$params->get('js'); if(!$setJS){ $doc = JFactory::getDocument(); $doc->addScriptDeclaration("\n\n"); }else{ echo ''; } } $html = ''.$html; }elseif($params->get('show_quantity_field',0)==2){ } } return $html; } function cartCount($add=false){ static $carts = 0; if($add){ $carts=$carts+1; } return $carts; } function getJS($url,$needNotice=true){ static $first = true; if($first){ $config =& hikashop_config(); $redirect = $config->get('redirect_url_after_add_cart','stay_if_cart'); global $Itemid; $url_itemid=''; if(!empty($Itemid)){ $url_itemid='&Itemid='.$Itemid; } $baseUrl = hikashop_completeLink('product&task=updatecart',true,true); if(strpos($baseUrl,'?')!==false){ $baseUrl.='&'; }else{ $baseUrl.='?'; } if($redirect=='ask_user' || hikashop_loadUser() == null){ JHTML::_('behavior.modal'); if($needNotice && JRequest::getVar('tmpl','')!='component'){ if($this->override && function_exists('hikashop_popup_render')){ echo hikashop_popup_render(); }else{ $config =& hikashop_config(); $popupWidth = $config->get('add_to_cart_popup_width','480'); $popupHeight = $config->get('add_to_cart_popup_height','140'); echo '
'. ''. ''. '
'; } } if($this->override && function_exists('hikashop_popup_js_render')){ $js = hikashop_popup_js_render($url); }else{ $popupJs = ''; if($redirect == 'ask_user'){ $popupJs = ' if(cart_type == "wishlist"){ SqueezeBox.fromElement("hikashop_notice_wishlist_box_trigger_link",{parse: "rel"}); } else { SqueezeBox.fromElement("hikashop_notice_box_trigger_link",{parse: "rel"}); } '; } $addTo = JRequest::getString('add_to',''); if(!empty($addTo)) $addTo = '&addTo='.$addTo; $js = ' function hikashopModifyQuantity(id,obj,add,form,type,moduleid){ var d = document, cart_type="cart", addStr="", qty=1, e = null; if(type) cart_type = type; if(add) addStr = "&add=1"; if(moduleid === undefined) moduleid = 0; if(obj){ qty = parseInt(obj.value); }else if(document.getElementById("hikashop_product_quantity_field_"+id) && document.getElementById("hikashop_product_quantity_field_"+id).value){ qty = document.getElementById("hikashop_product_quantity_field_"+id).value; } if(form && document[form]){ var varform = document[form]; e = d.getElementById("hikashop_cart_type_"+id+"_"+moduleid); if(!e) e = d.getElementById("hikashop_cart_type_"+id); if(cart_type == "wishlist"){ if(e) e.value = "wishlist"; if(varform.cid) varform.cid.value = id; f = d.getElementById("type"); if(f) f.value = "wishlist"; }else{ if(e) e.value = "cart"; if(varform.cid) varform.cid.value = id; } if(varform.task) { varform.task.value = "updatecart"; } var input = document.createElement("input"); input.type = "hidden"; input.name = "from_form"; input.value = "true"; varform.appendChild(input); varform.submit(); }else{ if(qty){ '.$popupJs.' } var url = "'.$baseUrl.'from=module&product_id="+id+"&cart_type="+cart_type+"&hikashop_ajax=1&quantity="+qty+addStr+"'.$url_itemid.$addTo.'&return_url='.urlencode(base64_encode(urldecode($url))).'"; var completeFct = function(result) { var hikaModule = false; var checkmodule = false; if(result == "notLogged"){ // if the customer is not logged and use add to wishlist, display a popup for the notice SqueezeBox.fromElement("hikashop_notice_wishlist_box_trigger_link",{parse: "rel"}); }else if(result.indexOf("URL|") != "-1"){ // id the option is set to redirect, do the redirection result = result.replace("URL|",""); window.location = result; return false; }else if(result != ""){ // if the result is not empty check for the module checkmodule = true; } if(checkmodule){ if(cart_type != "wishlist") { hikaModule = window.document.getElementById("hikashop_cart_module"); }else{ hikaModule = window.document.getElementById("hikashop_wishlist_module"); } } if(hikaModule) hikaModule.innerHTML = result; if(window.jQuery && typeof(jQuery.noConflict) == "function" && !window.hkjQuery) { window.hkjQuery = jQuery.noConflict(); } if(window.hkjQuery && typeof(hkjQuery().chosen) == "function") { hkjQuery( ".tochosen:not(.chzn-done)" ).removeClass(\'chzn-done\').removeClass(\'tochosen\').chosen(); } }; try{ new Ajax(url, {method: "get", onComplete: completeFct}).request(); }catch(err){ new Request({url: url, method: "get", onComplete: completeFct}).send(); } } return false; } '; } }else{ if($this->override && function_exists('hikashop_cart_js_render')){ $js = hikashop_cart_js_render($url); }else{ $js=''; if($this->cartCount()!=1 && !empty($url)){ $js = 'window.location = \''.urldecode($url).'\';'; } $addTo = JRequest::getString('add_to',''); if(!empty($addTo)) $addTo = '&addTo='.$addTo; $app = JFactory::getApplication(); $js = ' function hikashopModifyQuantity(id,obj,add,form,type,moduleid){ var d = document, cart_type="cart", addStr="", qty=1, e = null; if(type) cart_type = type; if(add) addStr = "&add=1"; if(moduleid === undefined) moduleid = 0; if(obj){ qty = parseInt(obj.value); }else if(document.getElementById("hikashop_product_quantity_field_"+id) && document.getElementById("hikashop_product_quantity_field_"+id).value){ qty = document.getElementById("hikashop_product_quantity_field_"+id).value; } if(form && document[form]){ var varform = document[form]; e = d.getElementById("hikashop_cart_type_"+id+"_"+moduleid); if(!e) e = d.getElementById("hikashop_cart_type_"+id); if(cart_type == "wishlist"){ if(e) e.value = "wishlist"; f = d.getElementById("type"); if(f) f.value = "wishlist"; }else{ if(e) e.value = "cart"; } if(varform.task) { varform.task.value = "updatecart"; } var input = document.createElement("input"); input.type = "hidden"; input.name = "from_form"; input.value = "true"; varform.appendChild(input); varform.submit(); }else{ var url = "'.$baseUrl.'from=module&product_id="+id+"&cart_type="+cart_type+"&hikashop_ajax=1&quantity="+qty+addStr+"'.$url_itemid.$addTo.'&return_url='.urlencode(base64_encode(urldecode($url))).'"; var completeFct = function(result) { var hikaModule = false; var checkmodule = false; if(result == "notLogged"){ SqueezeBox.fromElement("hikashop_notice_wishlist_box_trigger_link",{parse: "rel"}); }else if(result.indexOf("URL|") != "-1"){ result = result.replace("URL|",""); window.location = result; return false; }else if(result != ""){ checkmodule = true; } if(checkmodule){ if(cart_type != "wishlist") { hikaModule = window.document.getElementById("hikashop_cart_module"); }else{ hikaModule = window.document.getElementById("hikashop_wishlist_module"); } } if(hikaModule) hikaModule.innerHTML = result; if(window.jQuery && typeof(jQuery.noConflict) == "function" && !window.hkjQuery) { window.hkjQuery = jQuery.noConflict(); } if(window.hkjQuery && typeof(hkjQuery().chosen) == "function") { hkjQuery( ".tochosen:not(.chzn-done)" ).removeClass(\'chzn-done\').removeClass(\'tochosen\').chosen(); } if(!hikaModule) { '.$js.' } }; try{ new Ajax(url, {method: "get", onComplete: completeFct}).request(); }catch(err){ new Request({url: url, method: "get", onComplete: completeFct}).send(); } } return false; } '; } if(!HIKASHOP_J30) JHTML::_('behavior.mootools'); else JHTML::_('behavior.framework'); } if (!HIKASHOP_PHP5) { $doc =& JFactory::getDocument(); }else{ $doc = JFactory::getDocument(); } $doc->addScriptDeclaration("\n\n"); $first = !$needNotice; return $js; } } }