Spade
Mini Shell
| Directory:~$ /home/lmsyaran/public_html/j3/components/com_hikashop/views/product/tmpl/ |
| [Home] [System Details] [Kill Me] |
<?php
/**
* @package HikaShop for Joomla!
* @version 2.2.3
* @author hikashop.com
* @copyright (C) 2010-2013 HIKARI SOFTWARE. All rights reserved.
* @license GNU/GPLv3 http://www.gnu.org/licenses/gpl-3.0.html
*/
defined('_JEXEC') or die('Restricted access');
?><table class="hikashop_product_options_table">
<?php
$this->setLayout('listing_price');
$old_show_discount =
$this->params->get('show_discount');
$old_per_unit = $this->params->get('per_unit',1);
$this->params->set('show_discount',0);
$this->params->set('per_unit',0);
$this->params->set('from_module','1');
$i=0;
$js="var hikashop_options=Array();";
foreach($this->element->options as $optionElement){
?>
<tr>
<?php $this->values = array();
$value = 0;
$currency = hikashop_get('class.currency');
$map = 'hikashop_product_option['.$i.']';
$id = 'hikashop_product_option_'.$i;
if(empty($optionElement->variants)){
if(!$optionElement->product_published ||
(!$this->config->get('show_out_of_stock',1) &&
$optionElement->product_quantity==0)) continue;
$this->values[] = JHTML::_('select.option',
0,JText::_('HIKASHOP_NO'));
$text = JText::_('HIKASHOP_YES');
$this->row =& $optionElement;
if(!empty($optionElement->prices) &&
$this->params->get('show_price')){
$ok = 0;
$positive=1;
foreach($optionElement->prices as $k => $price){
if(empty($price->price_min_quantity)){
$ok = $k;
if($price->price_value<0) $positive=false;
break;
}
}
$this->row->prices = array($optionElement->prices[$k]);
$text.=' ( '.($positive?'+
':'').strip_tags($this->loadTemplate()).' )';
if($this->params->get('price_with_tax')){
$price = $optionElement->prices[$k]->price_value_with_tax;
}else{
$price = $optionElement->prices[$k]->price_value;
}
$js.="
hikashop_options[".(int)$optionElement->product_id."]=".(float)$price.";";
}
$this->values[] = JHTML::_('select.option',
$optionElement->product_id,$text);
}else{
$defaultValue=array();
if(isset($optionElement->characteristics) &&
is_array($optionElement->characteristics) &&
count($optionElement->characteristics)){
foreach($optionElement->characteristics as $char){
$defaultValue[]=$char->characteristic_id;
}
}
foreach($optionElement->variants as $variant){
if(!$variant->product_published ||
(!$this->config->get('show_out_of_stock',1) &&
empty($variant->product_quantity))) continue;
if($variant->product_sale_start>time()) continue;
if($variant->product_sale_end!='' &&
$variant->product_sale_end!='0' &&
$variant->product_sale_end<time()) continue;
if(empty($variant->variant_name)){
if(empty($variant->characteristics_text)){
$text = $variant->product_name;
}else{
$text = $variant->characteristics_text;
}
}else{
$text = $variant->variant_name;
}
$this->row =& $variant;
if(!empty($variant->prices) &&
$this->params->get('show_price')){
$ok = 0;
$positive=1;
foreach($variant->prices as $k => $price){
if(empty($price->price_min_quantity)){
$ok = $k;
if($price->price_value<0) $positive=false;
break;
}
}
$this->row->prices = array($variant->prices[$k]);
$text.=' ( '.($positive?'+
':'').strip_tags($this->loadTemplate()).' )';
if($this->params->get('price_with_tax')){
$price = $variant->prices[$k]->price_value_with_tax;
}else{
$price = $variant->prices[$k]->price_value;
}
$js.="
hikashop_options[".(int)$variant->product_id."]=".(float)$price.";";
}
if($defaultValue && isset($variant->characteristics)
&& is_array($variant->characteristics) &&
count($variant->characteristics)){
$default = true;
foreach($variant->characteristics as $char){
if(!in_array($char->characteristic_id,$defaultValue)){
$default = false;
}
}
if($default){
$value = $variant->product_id;
}
}
$this->values[] = JHTML::_('select.option',
$variant->product_id,$text);
}
}
if(!count($this->values)) continue;
$html = JHTML::_('select.genericlist', $this->values,
$map, 'class="inputbox" size="1"
onchange="hikashopChangeOption();"', 'value',
'text', (int)$value,$id );
if(!empty($optionElement->variants)){
$optionInfo =& $optionElement->main;
}else{
$optionInfo =& $optionElement;
}
$options='';
if(!empty($optionInfo->product_description) ||
!empty($optionInfo->product_url)){
$options='<img
src="'.HIKASHOP_IMAGES.'icons/icon-16-info.png"
alt="Information"/>';
$description = '';
if(!empty($optionInfo->product_description)){
$description =
$this->escape(strip_tags(JHTML::_('content.prepare',$optionInfo->product_description)));
$options='<span class="hikashop_option_info"
title="'.$description.'">'.$options.'</span>';
}
if(!empty($optionInfo->product_url)){
JHTML::_('behavior.modal');
if(empty($description)){
$description = $optionInfo->product_name;
}
$options='<a class="hikashop_option_info_link
modal" rel="{handler: \'iframe\', size: {x: 450, y:
480}}" title="'.$description.'"
href="'.$optionInfo->product_url.'">'.$options.'</a>';
}
}
$html='<span class="hikashop_option_name"
>'.$optionInfo->product_name.$options.'</span></td><td>'.$html;
?>
<td>
<?php echo $html; ?>
</td>
</tr>
<?php $i++;
}
global $Itemid;
$url_itemid='';
if(!empty($Itemid)){
$url_itemid='&Itemid='.$Itemid;
}
$baseUrl =
hikashop_completeLink('product&task=price',true,true);
if(strpos($baseUrl,'?')!==false){
$baseUrl.='&';
}else{
$baseUrl.='?';
}
$js = $js. "
function hikashopChangeOption(){
var j = 0;
total_option_price = 0;
while(true){
var option =
document.getElementById('hikashop_product_option_'+j);
if(!option){
break;
}
j++;
var option_price = hikashop_options[option.value];
if(option_price){
total_option_price+=option_price;
}
}
var arr = new Array();
arr = document.getElementsByName('hikashop_price_product');
for(var i = 0; i < arr.length; i++){
var obj =
document.getElementsByName('hikashop_price_product').item(i);
var id_price = 'hikashop_price_product_' + obj.value;
var id_price_with_options =
'hikashop_price_product_with_options_' + obj.value;
var price = document.getElementById(id_price);
var price_with_options =
document.getElementById(id_price_with_options);
if(price && price_with_options){
price_with_options.value = parseFloat(price.value) +
total_option_price;
}
}
hikashopRefreshOptionPrice();
}
function hikashopRefreshOptionPrice(){
var price_div =
document.getElementById('hikashop_product_id_main');
var inputs = price_div.getElementsByTagName('input');
if(inputs[0]){
var id_price_with_options =
'hikashop_price_product_with_options_' + inputs[0].value;
var price_with_options =
document.getElementById(id_price_with_options);
if(price_with_options){
try{
new
Ajax('".$baseUrl."price='+price_with_options.value+'".$url_itemid."',
{ method: 'get', onComplete: function(result) { var totalPrice =
window.document.getElementById('hikashop_product_price_with_options_main');
if(totalPrice) totalPrice.innerHTML = result;}}).request();
}catch(err){
new
Request({url:'".$baseUrl."price='+price_with_options.value+'".$url_itemid."',
method: 'get', onComplete: function(result) { var totalPrice =
window.document.getElementById('hikashop_product_price_with_options_main');
if(totalPrice) totalPrice.innerHTML = result;}}).send();
}
}
}
}
window.addEvent('domready', function() {
hikashopChangeOption(); });
";
if (!HIKASHOP_PHP5) {
$doc =& JFactory::getDocument();
}else{
$doc = JFactory::getDocument();
}
$doc->addScriptDeclaration("\n<!--\n".$js."\n//-->\n");
$this->params->set('show_discount',$old_show_discount);
$this->params->set('per_unit',$old_per_unit);
$this->params->set('from_module','');
?>
</table>