" class="prov_tiki" lang="kota_tiki"><option value=""> - </option></select><span id="load_prov_tiki"></span></li><br> <li><label style="width:150px;"><?php echo lang('kota'); ?> :</label><select name="kota_tiki" class="kota_tiki"><option value=""> - </option></select><span id="load_kota_tiki"></span></li> </ul> </div> <br> <div class="wrap-ct"> <div class="head-title-member"> <h3>Detail Pembelian</h3> </div> <ul class="form" style="padding:15px;"> <? $kode_unik=get_rand(2,0); $cv3=convert_unit($tot_berat); // convert unit berat ke gr-->kg $total_berat_real = $cv3['hasil']; // dlm satuan kg, dlm satuan gr nya adl ($total_berat) $satuan_total_berat = $cv3['satuan']; $total_berat_perkalian = ceil(($tot_berat/1000)); // dlm satuan kg yg sdh di bulatkan ke atas $total_biaya_kirim = $total_berat_perkalian*$cust->regular; // total keseluruhan $tot=$tot_biaya+$kode_unik+$total_biaya_kirim; ?> <?php echo lang('tot_order'); ?> : Rp <?php echo currency($tot_biaya); ?> <br /> <?php echo lang('total_berat_barang');
/** * Provides the product weight or the variant weight range * * @api `shopp('product.weight')` * @since 1.2 * * @param string $result The output * @param array $options The options * - **convert**: `off` (on,off) Enable or disable converting from the product units to the display **unit** setting * - **max**: Only show the maximum weight * - **min**: Only show the minium weight * - **unit**: Set the unit * - **units**: `on` (on,off) Include the weight units label * @param ShoppProduct $O The working object * @return string The weight or weight range **/ public static function weight($result, $options, $O) { $defaults = array('convert' => false, 'max' => $O->max['weight'], 'min' => $O->min['weight'], 'units' => true); $options = array_merge($defaults, $options); extract($options); $unit = shopp_setting('weight_unit'); if (empty($O->prices)) { $O->load_data(array('prices')); } if (!isset($O->min['weight'])) { return false; } if ($convert !== false) { $min = convert_unit($min, $convert); $max = convert_unit($max, $convert); if (is_null($units)) { $units = true; } $unit = $convert; } $range = false; if ($min != $max) { $range = array($min, $max); sort($range); } $string = $min == $max ? round($min, 3) : round($range[0], 3) . " - " . round($range[1], 3); $string .= Shopp::str_true($units) ? " {$unit}" : ""; return $string; }
function tag ($property,$options=array()) { global $Ecart; $select_attrs = array('title','required','class','disabled','required','size','tabindex','accesskey'); $submit_attrs = array('title','class','value','disabled','tabindex','accesskey'); switch ($property) { case "link": case "url": return ecarturl(ECART_PRETTYURLS?$this->slug:array('ecart_pid'=>$this->id)); break; case "found": if (empty($this->id)) return false; $load = array('prices','images','specs','tags','categories'); if (isset($options['load'])) $load = explode(",",$options['load']); $this->load_data($load); return true; break; case "relevance": return (string)$this->score; break; case "id": return $this->id; break; case "name": return apply_filters('ecart_product_name',$this->name); break; case "slug": return $this->slug; break; case "summary": return apply_filters('ecart_product_summary',$this->summary); break; case "description": return apply_filters('ecart_product_description',$this->description); case "isfeatured": case "is-featured": return ($this->featured == "on"); break; case "price": case "saleprice": if (empty($this->prices)) $this->load_data(array('prices')); $defaults = array( 'taxes' => null, 'starting' => '' ); $options = array_merge($defaults,$options); extract($options); if (!is_null($taxes)) $taxes = value_is_true($taxes); $min = $this->min[$property]; $mintax = $this->min[$property.'_tax']; $max = $this->max[$property]; $maxtax = $this->max[$property.'_tax']; $taxrate = ecart_taxrate($taxes,$this->prices[0]->tax,$this); if ("saleprice" == $property) $pricetag = $this->prices[0]->promoprice; else $pricetag = $this->prices[0]->price; if (count($this->options) > 0) { $taxrate = ecart_taxrate($taxes,true,$this); $mintax = $mintax?$min*$taxrate:0; $maxtax = $maxtax?$max*$taxrate:0; if ($min == $max) return money($min+$mintax); else { if (!empty($starting)) return "$starting ".money($min+$mintax); return money($min+$mintax)." — ".money($max+$maxtax); } } else return money($pricetag+($pricetag*$taxrate)); break; case "taxrate": return ecart_taxrate(null,true,$this); break; case "weight": if(empty($this->prices)) $this->load_data(array('prices')); $defaults = array( 'unit' => $Ecart->Settings->get('weight_unit'), 'min' => $this->min['weight'], 'max' => $this->max['weight'], 'units' => true, 'convert' => false ); $options = array_merge($defaults,$options); extract($options); if(!isset($this->min['weight'])) return false; if ($convert !== false) { $min = convert_unit($min,$convert); $max = convert_unit($max,$convert); if (is_null($units)) $units = true; $unit = $convert; } $range = false; if ($min != $max) { $range = array($min,$max); sort($range); } $string = ($min == $max)?round($min,3):round($range[0],3)." - ".round($range[1],3); $string .= value_is_true($units) ? " $unit" : ""; return $string; break; case "onsale": if (empty($this->prices)) $this->load_data(array('prices')); if (empty($this->prices)) return false; return $this->onsale; break; case "has-savings": return ($this->onsale && $this->min['saved'] > 0); break; case "savings": if (empty($this->prices)) $this->load_data(array('prices')); if (!isset($options['taxes'])) $options['taxes'] = null; $taxrate = ecart_taxrate($options['taxes']); $range = false; if (!isset($options['show'])) $options['show'] = ''; if ($options['show'] == "%" || $options['show'] == "percent") { if ($this->options > 1) { if (round($this->min['savings']) != round($this->max['savings'])) { $range = array($this->min['savings'],$this->max['savings']); sort($range); } if (!$range) return percentage($this->min['savings'],array('precision' => 0)); // No price range else return percentage($range[0],array('precision' => 0))." — ".percentage($range[1],array('precision' => 0)); } else return percentage($this->max['savings'],array('precision' => 0)); } else { if ($this->options > 1) { if (round($this->min['saved']) != round($this->max['saved'])) { $range = array($this->min['saved'],$this->max['saved']); sort($range); } if (!$range) return money($this->min['saved']+($this->min['saved']*$taxrate)); // No price range else return money($range[0]+($range[0]*$taxrate))." — ".money($range[1]+($range[1]*$taxrate)); } else return money($this->max['saved']+($this->max['saved']*$taxrate)); } break; case "freeshipping": if (empty($this->prices)) $this->load_data(array('prices')); return $this->freeshipping; case "hasimages": case "has-images": if (empty($this->images)) $this->load_data(array('images')); return (!empty($this->images)); break; case "images": if (!$this->images) return false; if (!isset($this->_images_loop)) { reset($this->images); $this->_images_loop = true; } else next($this->images); if (current($this->images) !== false) return true; else { unset($this->_images_loop); return false; } break; case "coverimage": // Force select the first loaded image unset($options['id']); $options['index'] = 0; case "thumbnail": // deprecated case "image": if (empty($this->images)) $this->load_data(array('images')); if (!(count($this->images) > 0)) return ""; // Compatibility defaults $_size = 96; $_width = $Ecart->Settings->get('gallery_thumbnail_width'); $_height = $Ecart->Settings->get('gallery_thumbnail_height'); if (!$_width) $_width = $_size; if (!$_height) $_height = $_size; $defaults = array( 'img' => false, 'id' => false, 'index' => false, 'class' => '', 'width' => false, 'height' => false, 'size' => false, 'fit' => false, 'sharpen' => false, 'quality' => false, 'bg' => false, 'alt' => '', 'title' => '', 'zoom' => '', 'zoomfx' => 'ecart-zoom', 'property' => false ); $options = array_merge($defaults,$options); extract($options); // Select image by database id if ($id !== false) { for ($i = 0; $i < count($this->images); $i++) { if ($img->id == $id) { $img = $this->images[$i]; break; } } if (!$img) return ""; } // Select image by index position in the list if ($index !== false && isset($this->images[$index])) $img = $this->images[$index]; // Use the current image pointer by default if (!$img) $img = current($this->images); if ($size !== false) $width = $height = $size; if (!$width) $width = $_width; if (!$height) $height = $_height; $scale = $fit?array_search($fit,$img->_scaling):false; $sharpen = $sharpen?min($sharpen,$img->_sharpen):false; $quality = $quality?min($quality,$img->_quality):false; $fill = $bg?hexdec(ltrim($bg,'#')):false; list($width_a,$height_a) = array_values($img->scaled($width,$height,$scale)); if ($size == "original") { $width_a = $img->width; $height_a = $img->height; } if ($width_a === false) $width_a = $width; if ($height_a === false) $height_a = $height; $alt = esc_attr(empty($alt)?(empty($img->alt)?$img->name:$img->alt):$alt); $title = empty($title)?$img->title:$title; $titleattr = empty($title)?'':' title="'.esc_attr($title).'"'; $classes = empty($class)?'':' class="'.esc_attr($class).'"'; $src = ecarturl($img->id,'images'); if (ECART_PERMALINKS) $src = trailingslashit($src).$img->filename; if ($size != "original") $src = add_query_string($img->resizing($width,$height,$scale,$sharpen,$quality,$fill),$src); switch (strtolower($property)) { case "id": return $img->id; break; case "url": case "src": return $src; break; case "title": return $title; break; case "alt": return $alt; break; case "width": return $width_a; break; case "height": return $height_a; break; case "class": return $class; break; } $imgtag = '<img src="'.$src.'"'.$titleattr.' alt="'.$alt.'" width="'.$width_a.'" height="'.$height_a.'" '.$classes.' />'; if (value_is_true($zoom)) return '<a href="'.ecarturl($img->id,'images').'/'.$img->filename.'" class="'.$zoomfx.'" rel="product-'.$this->id.'">'.$imgtag.'</a>'; return $imgtag; break; case "gallery": if (empty($this->images)) $this->load_data(array('images')); if (empty($this->images)) return false; $styles = ''; $_size = 240; $_width = $Ecart->Settings->get('gallery_small_width'); $_height = $Ecart->Settings->get('gallery_small_height'); if (!$_width) $_width = $_size; if (!$_height) $_height = $_size; $defaults = array( // Layout settings 'margins' => 20, 'rowthumbs' => false, // 'thumbpos' => 'after', // Preview image settings 'p.size' => false, 'p.width' => false, 'p.height' => false, 'p.fit' => false, 'p.sharpen' => false, 'p.quality' => false, 'p.bg' => false, 'p.link' => true, 'rel' => '', // Thumbnail image settings 'thumbsize' => false, 'thumbwidth' => false, 'thumbheight' => false, 'thumbfit' => false, 'thumbsharpen' => false, 'thumbquality' => false, 'thumbbg' => false, // Effects settings 'zoomfx' => 'ecart-zoom', 'preview' => 'click', 'colorbox' => '{}' ); $optionset = array_merge($defaults,$options); // Translate dot names $options = array(); $keys = array_keys($optionset); foreach ($keys as $key) $options[str_replace('.','_',$key)] = $optionset[$key]; extract($options); if ($p_size > 0) $_width = $_height = $p_size; $width = $p_width > 0?$p_width:$_width; $height = $p_height > 0?$p_height:$_height; $preview_width = $width; $previews = '<ul class="previews">'; $firstPreview = true; // Find the max dimensions to use for the preview spacing image $maxwidth = $maxheight = 0; foreach ($this->images as $img) { $scale = $p_fit?false:array_search($p_fit,$img->_scaling); $scaled = $img->scaled($width,$height,$scale); $maxwidth = max($maxwidth,$scaled['width']); $maxheight = max($maxheight,$scaled['height']); } if ($maxwidth == 0) $maxwidth = $width; if ($maxheight == 0) $maxheight = $height; $p_link = value_is_true($p_link); foreach ($this->images as $img) { $scale = $p_fit?array_search($p_fit,$img->_scaling):false; $sharpen = $p_sharpen?min($p_sharpen,$img->_sharpen):false; $quality = $p_quality?min($p_quality,$img->_quality):false; $fill = $p_bg?hexdec(ltrim($p_bg,'#')):false; $scaled = $img->scaled($width,$height,$scale); if ($firstPreview) { // Adds "filler" image to reserve the dimensions in the DOM $href = ecarturl(ECART_PERMALINKS?trailingslashit('000'):'000','images'); $previews .= '<li id="preview-fill"'.(($firstPreview)?' class="fill"':'').'>'; $previews .= '<img src="'.add_query_string("$maxwidth,$maxheight",$href).'" alt=" " width="'.$maxwidth.'" height="'.$maxheight.'" />'; $previews .= '</li>'; } $title = !empty($img->title)?' title="'.esc_attr($img->title).'"':''; $alt = esc_attr(!empty($img->alt)?$img->alt:$img->filename); $previews .= '<li id="preview-'.$img->id.'"'.(($firstPreview)?' class="active"':'').'>'; $href = ecarturl(ECART_PERMALINKS?trailingslashit($img->id).$img->filename:$img->id,'images'); if ($p_link) $previews .= '<a href="'.$href.'" class="gallery product_'.$this->id.' '.$options['zoomfx'].'"'.(!empty($rel)?' rel="'.$rel.'"':'').'>'; // else $previews .= '<a name="preview-'.$img->id.'">'; // If links are turned off, leave the <a> so we don't break layout $previews .= '<img src="'.add_query_string($img->resizing($width,$height,$scale,$sharpen,$quality,$fill),ecarturl($img->id,'images')).'"'.$title.' alt="'.$alt.'" width="'.$scaled['width'].'" height="'.$scaled['height'].'" />'; if ($p_link) $previews .= '</a>'; $previews .= '</li>'; $firstPreview = false; } $previews .= '</ul>'; $thumbs = ""; $twidth = $preview_width+$margins; if (count($this->images) > 1) { $default_size = 64; $_thumbwidth = $Ecart->Settings->get('gallery_thumbnail_width'); $_thumbheight = $Ecart->Settings->get('gallery_thumbnail_height'); if (!$_thumbwidth) $_thumbwidth = $default_size; if (!$_thumbheight) $_thumbheight = $default_size; if ($thumbsize > 0) $thumbwidth = $thumbheight = $thumbsize; $width = $thumbwidth > 0?$thumbwidth:$_thumbwidth; $height = $thumbheight > 0?$thumbheight:$_thumbheight; $firstThumb = true; $thumbs = '<ul class="thumbnails">'; foreach ($this->images as $img) { $scale = $thumbfit?array_search($thumbfit,$img->_scaling):false; $sharpen = $thumbsharpen?min($thumbsharpen,$img->_sharpen):false; $quality = $thumbquality?min($thumbquality,$img->_quality):false; $fill = $thumbbg?hexdec(ltrim($thumbbg,'#')):false; $scaled = $img->scaled($width,$height,$scale); $title = !empty($img->title)?' title="'.esc_attr($img->title).'"':''; $alt = esc_attr(!empty($img->alt)?$img->alt:$img->name); $thumbs .= '<li id="thumbnail-'.$img->id.'" class="preview-'.$img->id.(($firstThumb)?' first':'').'">'; $thumbs .= '<img src="'.add_query_string($img->resizing($width,$height,$scale,$sharpen,$quality,$fill),ecarturl($img->id,'images')).'"'.$title.' alt="'.$alt.'" width="'.$scaled['width'].'" height="'.$scaled['height'].'" />'; $thumbs .= '</li>'."\n"; $firstThumb = false; } $thumbs .= '</ul>'; } if ($rowthumbs > 0) $twidth = ($width+$margins+2)*(int)$rowthumbs; $result = '<div id="gallery-'.$this->id.'" class="gallery">'.$previews.$thumbs.'</div>'; $script = "\t".'EcartGallery("#gallery-'.$this->id.'","'.$preview.'"'.($twidth?",$twidth":"").');'; add_storefrontjs($script); return $result; break; case "has-categories": if (empty($this->categories)) $this->load_data(array('categories')); if (count($this->categories) > 0) return true; else return false; break; case "categories": if (!isset($this->_categories_loop)) { reset($this->categories); $this->_categories_loop = true; } else next($this->categories); if (current($this->categories) !== false) return true; else { unset($this->_categories_loop); return false; } break; case "in-category": if (empty($this->categories)) $this->load_data(array('categories')); if (isset($options['id'])) $field = "id"; if (isset($options['name'])) $field = "name"; if (isset($options['slug'])) $field = "slug"; foreach ($this->categories as $category) if ($category->{$field} == $options[$field]) return true; return false; case "category": $category = current($this->categories); if (isset($options['show'])) { if ($options['show'] == "id") return $category->id; if ($options['show'] == "slug") return $category->slug; } return $category->name; break; case "hastags": case "has-tags": if (empty($this->tags)) $this->load_data(array('tags')); if (count($this->tags) > 0) return true; else return false; break; case "tags": if (!isset($this->_tags_loop)) { reset($this->tags); $this->_tags_loop = true; } else next($this->tags); if (current($this->tags) !== false) return true; else { unset($this->_tags_loop); return false; } break; case "tagged": if (empty($this->tags)) $this->load_data(array('tags')); if (isset($options['id'])) $field = "id"; if (isset($options['name'])) $field = "name"; foreach ($this->tags as $tag) if ($tag->{$field} == $options[$field]) return true; return false; case "tag": $tag = current($this->tags); if (isset($options['show'])) { if ($options['show'] == "id") return $tag->id; } return $tag->name; break; case "hasspecs": case "has-specs": if (empty($this->specs)) $this->load_data(array('specs')); if (count($this->specs) > 0) { $this->merge_specs(); return true; } else return false; break; case "specs": if (!isset($this->_specs_loop)) { reset($this->specs); $this->_specs_loop = true; } else next($this->specs); if (current($this->specs) !== false) return true; else { unset($this->_specs_loop); return false; } break; case "spec": $string = ""; $separator = ": "; $delimiter = ", "; if (isset($options['separator'])) $separator = $options['separator']; if (isset($options['delimiter'])) $separator = $options['delimiter']; $spec = current($this->specs); if (is_array($spec->value)) $spec->value = join($delimiter,$spec->value); if (isset($options['name']) && !empty($options['name']) && isset($this->specskey[$options['name']])) { $spec = $this->specskey[$options['name']]; if (is_array($spec)) { if (isset($options['index'])) { foreach ($spec as $index => $entry) if ($index+1 == $options['index']) $content = $entry->value; } else { foreach ($spec as $entry) $contents[] = $entry->value; $content = join($delimiter,$contents); } } else $content = $spec->value; $string = apply_filters('ecart_product_spec',$content); return $string; } if (isset($options['name']) && isset($options['content'])) $string = "{$spec->name}{$separator}".apply_filters('ecart_product_spec',$spec->value); elseif (isset($options['name'])) $string = $spec->name; elseif (isset($options['content'])) $string = apply_filters('ecart_product_spec',$spec->value); else $string = "{$spec->name}{$separator}".apply_filters('ecart_product_spec',$spec->value); return $string; break; case "has-variations": return ($this->variations == "on" && (!empty($this->options['v']) || !empty($this->options))); break; case "variations": $string = ""; if (!isset($options['mode'])) { if (!isset($this->_prices_loop)) { reset($this->prices); $this->_prices_loop = true; } else next($this->prices); $price = current($this->prices); if ($price && ($price->type == 'N/A' || $price->context != 'variation')) next($this->prices); if (current($this->prices) !== false) return true; else { unset($this->_prices_loop); return false; } return true; } if ($this->outofstock) return false; // Completely out of stock, hide menus if (!isset($options['taxes'])) $options['taxes'] = null; $defaults = array( 'defaults' => '', 'disabled' => 'show', 'pricetags' => 'show', 'before_menu' => '', 'after_menu' => '', 'label' => 'on', 'required' => __('You must select the options for this item before you can add it to your shopping cart.','Ecart') ); $options = array_merge($defaults,$options); if ($options['mode'] == "single") { if (!empty($options['before_menu'])) $string .= $options['before_menu']."\n"; if (value_is_true($options['label'])) $string .= '<label for="product-options'.$this->id.'">'. __('Options').': </label> '."\n"; $string .= '<select name="products['.$this->id.'][price]" id="product-options'.$this->id.'">'; if (!empty($options['defaults'])) $string .= '<option value="">'.$options['defaults'].'</option>'."\n"; foreach ($this->prices as $pricetag) { if ($pricetag->context != "variation") continue; if (!isset($options['taxes'])) $taxrate = ecart_taxrate(null,$pricetag->tax); else $taxrate = ecart_taxrate(value_is_true($options['taxes']),$pricetag->tax); $currently = ($pricetag->sale == "on")?$pricetag->promoprice:$pricetag->price; $disabled = ($pricetag->inventory == "on" && $pricetag->stock == 0)?' disabled="disabled"':''; $price = ' ('.money($currently).')'; if ($pricetag->type != "N/A") $string .= '<option value="'.$pricetag->id.'"'.$disabled.'>'.$pricetag->label.$price.'</option>'."\n"; } $string .= '</select>'; if (!empty($options['after_menu'])) $string .= $options['after_menu']."\n"; } else { if (!isset($this->options)) return; $menuoptions = $this->options; if (!empty($this->options['v'])) $menuoptions = $this->options['v']; $baseop = $Ecart->Settings->get('base_operations'); $precision = $baseop['currency']['format']['precision']; if (!isset($options['taxes'])) $taxrate = ecart_taxrate(null,true,$this); else $taxrate = ecart_taxrate(value_is_true($options['taxes']),true,$this); $pricekeys = array(); foreach ($this->pricekey as $key => $pricing) { $filter = array(''); $_ = new StdClass(); if ($pricing->type != "Donation") $_->p = ((isset($pricing->onsale) && $pricing->onsale == "on")? (float)$pricing->promoprice: (float)$pricing->price); $_->i = ($pricing->inventory == "on"); $_->s = ($pricing->inventory == "on")?$pricing->stock:false; $_->tax = ($pricing->tax == "on"); $_->t = $pricing->type; $pricekeys[$key] = $_; } ob_start(); ?><?php if (!empty($options['defaults'])): ?> sjss.opdef = true; <?php endif; ?> <?php if (!empty($options['required'])): ?> sjss.opreq = "<?php echo $options['required']; ?>"; <?php endif; ?> pricetags[<?php echo $this->id; ?>] = <?php echo json_encode($pricekeys); ?>; new ProductOptionsMenus('select<?php if (!empty($Ecart->Category->slug)) echo ".category-".$Ecart->Category->slug; ?>.product<?php echo $this->id; ?>.options',{<?php if ($options['disabled'] == "hide") echo "disabled:false,"; ?><?php if ($options['pricetags'] == "hide") echo "pricetags:false,"; ?><?php if (!empty($taxrate)) echo "taxrate:$taxrate,"?>prices:pricetags[<?php echo $this->id; ?>]}); <?php $script = ob_get_contents(); ob_end_clean(); add_storefrontjs($script); foreach ($menuoptions as $id => $menu) { if (!empty($options['before_menu'])) $string .= $options['before_menu']."\n"; if (value_is_true($options['label'])) $string .= '<label for="options-'.$menu['id'].'">'.$menu['name'].'</label> '."\n"; $category_class = isset($Ecart->Category->slug)?'category-'.$Ecart->Category->slug:''; $string .= '<select name="products['.$this->id.'][options][]" class="'.$category_class.' product'.$this->id.' options" id="options-'.$menu['id'].'">'; if (!empty($options['defaults'])) $string .= '<option value="">'.$options['defaults'].'</option>'."\n"; foreach ($menu['options'] as $key => $option) $string .= '<option value="'.$option['id'].'">'.$option['name'].'</option>'."\n"; $string .= '</select>'; } if (!empty($options['after_menu'])) $string .= $options['after_menu']."\n"; } return $string; break; case "variation": $variation = current($this->prices); if (!isset($options['taxes'])) $options['taxes'] = null; else $options['taxes'] = value_is_true($options['taxes']); $taxrate = ecart_taxrate($options['taxes'],$variation->tax,$this); $weightunit = (isset($options['units']) && !value_is_true($options['units']) ) ? false : $Ecart->Settings->get('weight_unit'); $string = ''; if (array_key_exists('id',$options)) $string .= $variation->id; if (array_key_exists('label',$options)) $string .= $variation->label; if (array_key_exists('type',$options)) $string .= $variation->type; if (array_key_exists('sku',$options)) $string .= $variation->sku; if (array_key_exists('price',$options)) $string .= money($variation->price+($variation->price*$taxrate)); if (array_key_exists('saleprice',$options)) { if (isset($options['promos']) && !value_is_true($options['promos'])) { $string .= money($variation->saleprice+($variation->saleprice*$taxrate)); } else $string .= money($variation->promoprice+($variation->promoprice*$taxrate)); } if (array_key_exists('stock',$options)) $string .= $variation->stock; if (array_key_exists('weight',$options)) $string .= round($variation->weight, 3) . ($weightunit ? " $weightunit" : false); if (array_key_exists('shipfee',$options)) $string .= money(floatvalue($variation->shipfee)); if (array_key_exists('sale',$options)) return ($variation->sale == "on"); if (array_key_exists('shipping',$options)) return ($variation->shipping == "on"); if (array_key_exists('tax',$options)) return ($variation->tax == "on"); if (array_key_exists('inventory',$options)) return ($variation->inventory == "on"); return $string; break; case "has-addons": return ($this->addons == "on" && !empty($this->options['a'])); break; break; case "addons": $string = ""; if (!isset($options['mode'])) { if (!$this->priceloop) { reset($this->prices); $this->priceloop = true; } else next($this->prices); $thisprice = current($this->prices); if ($thisprice && $thisprice->type == "N/A") next($this->prices); if ($thisprice && $thisprice->context != "addon") next($this->prices); if (current($this->prices) !== false) return true; else { $this->priceloop = false; return false; } return true; } if ($this->outofstock) return false; // Completely out of stock, hide menus if (!isset($options['taxes'])) $options['taxes'] = null; $defaults = array( 'defaults' => '', 'disabled' => 'show', 'before_menu' => '', 'after_menu' => '' ); $options = array_merge($defaults,$options); if (!isset($options['label'])) $options['label'] = "on"; if (!isset($options['required'])) $options['required'] = __('You must select the options for this item before you can add it to your shopping cart.','Ecart'); if ($options['mode'] == "single") { if (!empty($options['before_menu'])) $string .= $options['before_menu']."\n"; if (value_is_true($options['label'])) $string .= '<label for="product-options'.$this->id.'">'. __('Options').': </label> '."\n"; $string .= '<select name="products['.$this->id.'][price]" id="product-options'.$this->id.'">'; if (!empty($options['defaults'])) $string .= '<option value="">'.$options['defaults'].'</option>'."\n"; foreach ($this->prices as $pricetag) { if ($pricetag->context != "addon") continue; if (isset($options['taxes'])) $taxrate = ecart_taxrate(value_is_true($options['taxes']),$pricetag->tax,$this); else $taxrate = ecart_taxrate(null,$pricetag->tax,$this); $currently = ($pricetag->sale == "on")?$pricetag->promoprice:$pricetag->price; $disabled = ($pricetag->inventory == "on" && $pricetag->stock == 0)?' disabled="disabled"':''; $price = ' ('.money($currently).')'; if ($pricetag->type != "N/A") $string .= '<option value="'.$pricetag->id.'"'.$disabled.'>'.$pricetag->label.$price.'</option>'."\n"; } $string .= '</select>'; if (!empty($options['after_menu'])) $string .= $options['after_menu']."\n"; } else { if (!isset($this->options['a'])) return; $taxrate = ecart_taxrate($options['taxes'],true,$this); // Index addon prices by option $pricing = array(); foreach ($this->prices as $pricetag) { if ($pricetag->context != "addon") continue; $pricing[$pricetag->options] = $pricetag; } foreach ($this->options['a'] as $id => $menu) { if (!empty($options['before_menu'])) $string .= $options['before_menu']."\n"; if (value_is_true($options['label'])) $string .= '<label for="options-'.$menu['id'].'">'.$menu['name'].'</label> '."\n"; $category_class = isset($Ecart->Category->slug)?'category-'.$Ecart->Category->slug:''; $string .= '<select name="products['.$this->id.'][addons][]" class="'.$category_class.' product'.$this->id.' addons" id="addons-'.$menu['id'].'">'; if (!empty($options['defaults'])) $string .= '<option value="">'.$options['defaults'].'</option>'."\n"; foreach ($menu['options'] as $key => $option) { $pricetag = $pricing[$option['id']]; if (isset($options['taxes'])) $taxrate = ecart_taxrate(value_is_true($options['taxes']),$pricetag->tax,$this); else $taxrate = ecart_taxrate(null,$pricetag->tax,$this); $currently = ($pricetag->sale == "on")?$pricetag->promoprice:$pricetag->price; if ($taxrate > 0) $currently = $currently+($currently*$taxrate); $string .= '<option value="'.$option['id'].'">'.$option['name'].' (+'.money($currently).')</option>'."\n"; } $string .= '</select>'; } if (!empty($options['after_menu'])) $string .= $options['after_menu']."\n"; } return $string; break; case "donation": case "amount": case "quantity": if ($this->outofstock) return false; $inputs = array('text','menu'); $defaults = array( 'value' => 1, 'input' => 'text', // accepts text,menu 'labelpos' => 'before', 'label' => '', 'options' => '1-15,20,25,30,40,50,75,100', 'size' => 3 ); $options = array_merge($defaults,$options); $_options = $options; extract($options); unset($_options['label']); // Interferes with the text input value when passed to inputattrs() $labeling = '<label for="quantity-'.$this->id.'">'.$label.'</label>'; if (!isset($this->_prices_loop)) reset($this->prices); $variation = current($this->prices); $_ = array(); if ("before" == $labelpos) $_[] = $labeling; if ("menu" == $input) { if ($this->inventory && $this->max['stock'] == 0) return ""; if (strpos($options,",") !== false) $options = explode(",",$options); else $options = array($options); $qtys = array(); foreach ((array)$options as $v) { if (strpos($v,"-") !== false) { $v = explode("-",$v); if ($v[0] >= $v[1]) $qtys[] = $v[0]; else for ($i = $v[0]; $i < $v[1]+1; $i++) $qtys[] = $i; } else $qtys[] = $v; } $_[] = '<select name="products['.$this->id.'][quantity]" id="quantity-'.$this->id.'">'; foreach ($qtys as $qty) { $amount = $qty; $selection = (isset($this->quantity))?$this->quantity:1; if ($variation->type == "Donation" && $variation->donation['var'] == "on") { if ($variation->donation['min'] == "on" && $amount < $variation->price) continue; $amount = money($amount); $selection = $variation->price; } else { if ($this->inventory && $amount > $this->max['stock']) continue; } $selected = ($qty==$selection)?' selected="selected"':''; $_[] = '<option'.$selected.' value="'.$qty.'">'.$amount.'</option>'; } $_[] = '</select>'; } elseif (valid_input($input)) { if ($variation->type == "Donation" && $variation->donation['var'] == "on") { if ($variation->donation['min']) $_options['value'] = $variation->price; $_options['class'] .= " currency"; } $_[] = '<input type="'.$input.'" name="products['.$this->id.'][quantity]" id="quantity-'.$this->id.'"'.inputattrs($_options).' />'; } if ("after" == $labelpos) $_[] = $labeling; return join("\n",$_); break; case "input": if (!isset($options['type']) || ($options['type'] != "menu" && $options['type'] != "textarea" && !valid_input($options['type']))) $options['type'] = "text"; if (!isset($options['name'])) return ""; if ($options['type'] == "menu") { $result = '<select name="products['.$this->id.'][data]['.$options['name'].']" id="data-'.$options['name'].'-'.$this->id.'"'.inputattrs($options,$select_attrs).'>'; if (isset($options['options'])) $menuoptions = preg_split('/,(?=(?:[^\"]*\"[^\"]*\")*(?![^\"]*\"))/',$options['options']); if (is_array($menuoptions)) { foreach($menuoptions as $option) { $selected = ""; $option = trim($option,'"'); if (isset($options['default']) && $options['default'] == $option) $selected = ' selected="selected"'; $result .= '<option value="'.$option.'"'.$selected.'>'.$option.'</option>'; } } $result .= '</select>'; } elseif ($options['type'] == "textarea") { if (isset($options['cols'])) $cols = ' cols="'.$options['cols'].'"'; if (isset($options['rows'])) $rows = ' rows="'.$options['rows'].'"'; $result .= '<textarea name="products['.$this->id.'][data]['.$options['name'].']" id="data-'.$options['name'].'-'.$this->id.'"'.$cols.$rows.inputattrs($options).'>'.$options['value'].'</textarea>'; } else { $result = '<input type="'.$options['type'].'" name="products['.$this->id.'][data]['.$options['name'].']" id="data-'.$options['name'].'-'.$this->id.'"'.inputattrs($options).' />'; } return $result; break; case "outofstock": if ($this->outofstock) { $label = isset($options['label'])?$options['label']:$Ecart->Settings->get('outofstock_text'); $string = '<span class="outofstock">'.$label.'</span>'; return $string; } else return false; break; case "buynow": if (!isset($options['value'])) $options['value'] = __("Buy Now","Ecart"); case "addtocart": if (!isset($options['class'])) $options['class'] = "addtocart"; else $options['class'] .= " addtocart"; if (!isset($options['value'])) $options['value'] = __("Add to Cart","Ecart"); $string = ""; if ($this->outofstock) { $string .= '<span class="outofstock">'.$Ecart->Settings->get('outofstock_text').'</span>'; return $string; } if (isset($options['redirect']) && !isset($options['ajax'])) $string .= '<input type="hidden" name="redirect" value="'.$options['redirect'].'" />'; $string .= '<input type="hidden" name="products['.$this->id.'][product]" value="'.$this->id.'" />'; if (!empty($this->prices[0]) && $this->prices[0]->type != "N/A") $string .= '<input type="hidden" name="products['.$this->id.'][price]" value="'.$this->prices[0]->id.'" />'; if (!empty($Ecart->Category)) { if (ECART_PRETTYURLS) $string .= '<input type="hidden" name="products['.$this->id.'][category]" value="'.$Ecart->Category->uri.'" />'; else $string .= '<input type="hidden" name="products['.$this->id.'][category]" value="'.((!empty($Ecart->Category->id))?$Ecart->Category->id:$Ecart->Category->slug).'" />'; } $string .= '<input type="hidden" name="cart" value="add" />'; if (isset($options['ajax'])) { if ($options['ajax'] == "html") $options['class'] .= ' ajax-html'; else $options['class'] .= " ajax"; $string .= '<input type="hidden" name="ajax" value="true" />'; $string .= '<input type="button" name="addtocart" '.inputattrs($options).' />'; } else { $string .= '<input type="submit" name="addtocart" '.inputattrs($options).' />'; } return $string; } }
function rem_cekout($detail, $list, $hari_ke, $no, $max_day) { $config['mailtype'] = 'html'; $this->CI->email->initialize($config); $this->CI->email->from($this->from['mail'], $this->from['name']); $to = $detail->email; $nama = $detail->nama_panggilan; $harga = $detail->harga; $kode_unik = $detail->kode_unik; $biaya_kirim = $detail->biaya_kirim; $status = $detail->status_kirim; $tgl = $detail->tgl_transaksi; $noinv = $detail->kode_transaksi; $cv2 = convert_unit($detail->total_berat); // list barang $tot_biaya = 0; $tot_barang = 0; $br = ''; if ($list) { foreach ($list as $ck) { $theprice = $ck->harga; $jmlprice = $theprice * $ck->qty; $jmlberat = $ck->berat * $ck->qty; $cv = convert_unit($ck->berat); $cv3 = convert_unit($jmlberat); $br .= "Nama Barang : {$ck->nama_produk}" . $this->spr_html . "QTY : {$ck->qty}" . $this->spr_html . "Berat Barang : " . $cv['hasil'] . " " . $cv['satuan'] . $this->spr_html . "Total Berat Barang : " . $cv3['hasil'] . " " . $cv3['satuan'] . $this->spr_html . "Harga Satuan : Rp. " . currency($theprice) . $this->spr_html . "Total Harga : Rp. " . currency($jmlprice) . $this->spr_html . $this->spr_html; $tot_biaya += $jmlprice; $tot_barang += $ck->qty; } } $harga_total = $tot_biaya + $kode_unik + $biaya_kirim; if ($max_day == $no) { $note = 'Note: email ini adalah email tagihan terakhir, jika pada' . $this->spr_html . 'hari ini proses pembayaran masih belum dilengkapi, maka' . $this->spr_html . 'data pemesanan dari invoice no. ' . $noinv . ' akan kami' . $this->spr_html . 'hapus secara otomatis.'; } else { $note = 'Note: email ini adalah email tagihan ' . $hari_ke[$no] . ', jika dalam jangka' . $this->spr_html . 'waktu ' . ($max_day - $no) . ' hari kedepan proses pembayaran masih belum dilengkapi,' . $this->spr_html . 'maka data pemesanan dari invoice ' . $noinv . ' akan kami hapus' . $this->spr_html . 'secara otomatis.'; } $this->CI->email->to($to); $this->CI->email->subject('Pemberitahuan Tagihan akan invoice no. ' . $no); $msg = 'Kami informasikan bahwa ' . $nama . ' memiliki tagihan ' . $this->spr_html . 'invoice no. ' . $noinv . ' sebesar Rp. ' . currency($harga_total) . $this->spr_html . 'dengan rincian sebagai berikut :' . $this->spr_html . $this->spr_html . 'No Invoice : ' . $noinv . $this->spr_html . 'Tgl Check Out : ' . $tgl . $this->spr_html . 'Status : ' . lang('status_kirim_' . $status) . $this->spr_html . $this->spr_html . $br . 'Total Barang : ' . $tot_barang . $this->spr_html . 'Total Biaya : Rp. ' . currency($tot_biaya) . $this->spr_html . 'Total Berat Barang : ' . $cv2['hasil'] . ' ' . $cv2['satuan'] . $this->spr_html . 'Biaya Pengiriman : Rp. ' . currency($biaya_kirim) . $this->spr_html . 'Kode Unik Transfer : Rp. ' . $kode_unik . $this->spr_html . 'Total Biaya Transfer : Rp. ' . currency($harga_total) . $this->spr_html . $this->spr_html . 'Silahkan lengkapi proses pemesanan akan invoice' . $this->spr_html . 'no ' . $noinv . ' diatas dengan mengirimkan biaya tagihan' . $this->spr_html . 'ke salah satu no rekening dibawah ini :' . $this->spr_html . $this->spr_html . 'Nama Bank : Bank Central Asia (BCA)' . $this->spr_html . 'Cabang : KCU Garut' . $this->spr_html . 'No.Rek : 148 073 4498' . $this->spr_html . 'a/n : Ahmad Syarif. H' . $this->spr_html . $this->spr_html . 'Nama Bank : Bank Mandiri' . $this->spr_html . 'Cabang : KCU Garut' . $this->spr_html . 'No.Rek : 131 00 1169749 9' . $this->spr_html . 'a/n : Ahmad Syarif. H' . $this->spr_html . $this->spr_html . 'Setelah proses pembayaran dilakukan jangan lupa untuk' . $this->spr_html . 'melakukan konfirmasi dengan menggunakan salah satu' . $this->spr_html . 'metode dibawah ini :' . $this->spr_html . $this->spr_html . 'Mengirimkan SMS ke no : 0857 2303 6868' . $this->spr_html . 'atau' . $this->spr_html . 'Mengirimkan Email ke konfirmasi@kueibuhasan.com' . $this->spr_html . 'atau' . $this->spr_html . 'Menggunakan form konfirmasi dengan mengakses link dibawah ini :' . $this->spr_html . '<a href="' . site_url('home/konfirmasi') . '">Halaman Konfirmasi Pembayaran</a>' . $this->spr_html . $this->spr_html . 'Setelah kami menerima konfirmasi, maka pemesanan dari' . $this->spr_html . 'invoice ' . $noinv . ' akan segera kami proses.' . $this->spr_html . '<i><h5>' . $note . '</h5></i>'; $msg = $msg . $this->spr_html . $this->spr_html . $this->foot_html(); #echo $msg.'<br />------------<br /><br />';//break; $this->CI->email->message($msg); return $this->CI->email->send(); }
/** * Gets a converted size amount * * @author Jonathan Davis * @since 1.3 * * @param int $value The value to convert * @param string $size The size dimension being converted (the sizing method to use) * @return float The converted size amount **/ public function size($value = 0, $size = 'weight') { if (!isset($this->sizes[$size])) { return $value; } $dimension = convert_unit($value, $this->sizes[$size]['unit']); $method = "size{$size}"; if (method_exists($this, $method)) { $dimension = $this->{$method}($dimension); } else { $dimension = $this->sized($dimension, $size); } return $dimension; }
<div class="space_blog"> <div class="form_pendaftaran_mitra"> <div class="head"> Deskripsi Produk </div> <div class="form-input"> <ul> <li><b>Deskripsi Produk</b></li> <li><p><?php echo $detail['deskripsi']; ?> </p></li> <li><b><?php echo lang('berat'); ?> </b><p><? $cv=convert_unit($detail['berat']);echo $cv['hasil'].' '.$cv['satuan'];?></p></li> </ul> </div> </div> </div> <div class="space_blog" style="margin-top:40px"> </li> </ul> </div> <?php echo loadJs('jquery.funtion.global.js', false, true); ?> <script language="javascript"> $(function(){ $('#submit').click(function(){
function buildCheckoutRequest () { global $Ecart; $Cart = $this->Order->Cart; $_ = array('<?xml version="1.0" encoding="UTF-8"?>'); $_[] = '<checkout-shopping-cart xmlns="'.$this->urls['schema'].'">'; // Build the cart $_[] = '<shopping-cart>'; $_[] = '<items>'; foreach($Cart->contents as $i => $Item) { // if(ECART_DEBUG) new EcartError("Item $i: "._object_r($Item),'google_checkout_item_'.$i,ECART_DEBUG_ERR); $_[] = '<item>'; $_[] = '<item-name>'.htmlspecialchars($Item->name).htmlspecialchars((!empty($Item->option->label))?' ('.$Item->option->label.')':'').'</item-name>'; $_[] = '<item-description>'.htmlspecialchars($Item->description).'</item-description>'; if ($Item->type == 'Download') $_[] = '<digital-content><description>'. apply_filters('ecart_googlecheckout_download_instructions', __('You will receive an email with download instructions upon receipt of payment.','Ecart')). '</description>'. apply_filters('ecart_googlecheckout_download_delivery_markup', '<email-delivery>true</email-delivery>'). '</digital-content>'; // Shipped Item if ($Item->weight > 0) $_[] = '<item-weight unit="LB" value="'.number_format(convert_unit($Item->weight,'lb'),2,'.','').'" />'; $_[] = '<unit-price currency="'.$this->settings['currency'].'">'.number_format($Item->unitprice,$this->precision,'.','').'</unit-price>'; $_[] = '<quantity>'.$Item->quantity.'</quantity>'; if (!empty($Item->sku)) $_[] = '<merchant-item-id>'.$Item->sku.'</merchant-item-id>'; $_[] = '<merchant-private-item-data>'; $_[] = '<ecart-product-id>'.$Item->product.'</ecart-product-id>'; $_[] = '<ecart-price-id>'.$Item->option->id.'</ecart-price-id>'; if (is_array($Item->data) && count($Item->data) > 0) { $_[] = '<ecart-item-data-list>'; foreach ($Item->data AS $name => $data) { $_[] = '<ecart-item-data name="'.esc_attr($name).'">'.esc_attr($data).'</ecart-item-data>'; } $_[] = '</ecart-item-data-list>'; } $_[] = '</merchant-private-item-data>'; if ($this->settings['use_google_taxes'] != 'on' && is_array($this->settings['taxes'])) { // handle tax free or per item tax if ($Item->taxable === false) $_[] = '<tax-table-selector>non-taxable</tax-table-selector>'; elseif ($item_tax_table_selector = apply_filters('ecart_google_item_tax_table_selector', false, $Item) !== false) $_[] = $item_tax_table_selector; } $_[] = '</item>'; } // Include any discounts if ($Cart->Totals->discount > 0) { foreach($Cart->discounts as $promo) $discounts[] = $promo->name; $_[] = '<item>'; $_[] = '<item-name>Discounts</item-name>'; $_[] = '<item-description>'.join(", ",$discounts).'</item-description>'; $_[] = '<unit-price currency="'.$this->settings['currency'].'">'.number_format($Cart->Totals->discount*-1,$this->precision,'.','').'</unit-price>'; $_[] = '<quantity>1</quantity>'; $_[] = '</item>'; } $_[] = '</items>'; // Include notification that the order originated from Ecart $_[] = '<merchant-private-data>'; $_[] = '<shopping-session>'.$this->session.'</shopping-session>'; $_[] = '<shopping-cart-agent>'.ECART_GATEWAY_USERAGENT.'</shopping-cart-agent>'; $_[] = '<customer-ip>'.$_SERVER['REMOTE_ADDR'].'</customer-ip>'; if (is_array($this->Order->data) && count($this->Order->data) > 0) { $_[] = '<ecart-order-data-list>'; foreach ($this->Order->data AS $name => $data) { $_[] = '<ecart-order-data name="'.esc_attr($name).'">'.esc_attr($data).'</ecart-order-data>'; } $_[] = '</ecart-order-data-list>'; } $_[] = '</merchant-private-data>'; $_[] = '</shopping-cart>'; // Build the flow support request $_[] = '<checkout-flow-support>'; $_[] = '<merchant-checkout-flow-support>'; // Shipping Methods // Merchant Calculations $_[] = '<merchant-calculations>'; $_[] = '<merchant-calculations-url>'.$this->merchant_calc_url.'</merchant-calculations-url>'; $_[] = '</merchant-calculations>'; if ($this->settings['use_google_shipping'] != 'on' && $Cart->shipped()) { if ($Cart->freeshipping === true) { // handle free shipping case and ignore all shipping methods $free_shipping_text = $Ecart->Settings->get('free_shipping_text'); if (empty($free_shipping_text)) $free_shipping_text = __('Free Shipping!','Ecart'); $_[] = '<shipping-methods>'; $_[] = '<flat-rate-shipping name="'.$free_shipping_text.'">'; $_[] = '<price currency="'.$this->settings['currency'].'">0.00</price>'; $_[] = '<shipping-restrictions>'; $_[] = '<allowed-areas><world-area /></allowed-areas>'; $_[] = '</shipping-restrictions>'; $_[] = '</flat-rate-shipping>'; $_[] = '</shipping-methods>'; } elseif (!empty($Cart->shipping)) { $_[] = '<shipping-methods>'; foreach ($Cart->shipping as $i => $shipping) { $label = __('Shipping Option','Ecart').' '.($i+1); if (!empty($shipping->name)) $label = $shipping->name; $_[] = '<merchant-calculated-shipping name="'.$label.'">'; $_[] = '<price currency="'.$this->settings['currency'].'">'.number_format($shipping->amount,$this->precision,'.','').'</price>'; $_[] = '<shipping-restrictions>'; $_[] = '<allowed-areas><world-area /></allowed-areas>'; $_[] = '</shipping-restrictions>'; $_[] = '</merchant-calculated-shipping>'; } $_[] = '</shipping-methods>'; } } if ($this->settings['use_google_taxes'] != 'on' && is_array($this->settings['taxes'])) { $_[] = '<tax-tables>'; $_[] = '<alternate-tax-tables>'; $_[] = '<alternate-tax-table standalone="true" name="non-taxable">'; // Built-in non-taxable table $_[] = '<alternate-tax-rules>'; $_[] = '<alternate-tax-rule>'; $_[] = '<rate>'.number_format(0,4).'</rate><tax-area><world-area /></tax-area>'; $_[] = '</alternate-tax-rule>'; $_[] = '</alternate-tax-rules>'; $_[] = '</alternate-tax-table>'; if ($alternate_tax_tables_content = apply_filters('ecart_google_alternate_tax_tables_content', false) !== false) $_[] = $alternate_tax_tables_content; $_[] = '</alternate-tax-tables>'; $_[] = '<default-tax-table>'; $_[] = '<tax-rules>'; foreach ($this->settings['taxes'] as $tax) { $_[] = '<default-tax-rule>'; $_[] = '<shipping-taxed>'.($Ecart->Settings->get('tax_shipping') == 'on' ? 'true' : 'false').'</shipping-taxed>'; $_[] = '<rate>'.number_format($tax['rate']/100,4).'</rate>'; $_[] = '<tax-area>'; if ($tax['country'] == "US" && isset($tax['zone'])) { $_[] = '<us-state-area>'; $_[] = '<state>'.$tax['zone'].'</state>'; $_[] = '</us-state-area>'; } elseif ($tax['country'] == "*") { $_[] = '<world-area />'; } else { $_[] = '<postal-area>'; $_[] = '<country-code>'.$tax['country'].'</country-code>'; $_[] = '</postal-area>'; } $_[] = '</tax-area>'; $_[] = '</default-tax-rule>'; } $_[] = '</tax-rules>'; $_[] = '</default-tax-table>'; $_[] = '</tax-tables>'; } if (isset($_POST['analyticsdata'])) $_[] = '<analytics-data>'.$_POST['analyticsdata'].'</analytics-data>'; $_[] = '</merchant-checkout-flow-support>'; $_[] = '</checkout-flow-support>'; $_[] = '</checkout-shopping-cart>'; $request = join("\n", apply_filters('ecart_googlecheckout_build_request', $_)); if(ECART_DEBUG) new EcartError($request,'googlecheckout_build_request',ECART_DEBUG_ERR); return $request; }
?> </label>: <?php echo lang('cara_bayar_' . $cust->cara_bayar); ?> </li> <li><label><?php echo lang('tot_order'); ?> </label>: Rp <?php echo currency($tot_biaya); ?> </li> <li><label><?php echo lang('tot_berat_barang'); ?> </label>: <? $cv2=convert_unit($cust->total_berat);echo $cv2['hasil'].' '.$cv2['satuan'];?></li> <li><label><?php echo lang('biaya_kirim'); ?> </label>: Rp <?php echo currency($totbiayakirim); ?> </li> <li><label><?php echo lang('unik_code_trans'); ?> </label>: Rp <?php echo $kode_unik; ?> </li> </ul>