Example #1
0
 /**
  * @param JBCartValue $summa
  * @return JBCartValue
  */
 public function modify(JBCartValue $summa)
 {
     if ($this->isModify()) {
         if ($this->get('rate')) {
             $rate = $this->get('rate');
         } else {
             try {
                 $rate = $this->getRate();
             } catch (JBCartElementShippingException $e) {
                 $rate = $this->_order->val();
             }
         }
         $summa->add($rate);
     }
     return $summa;
 }
Example #2
0
 /**
  * @param JBCartValue                  $value
  * @param string|int|float|JBCartValue $mode
  * @param integer                      $round
  * @return bool
  */
 public function compare($value, $mode = '==', $round = self::ROUND_DEFAULT)
 {
     if (!$value instanceof JBCartValue) {
         $value = new JBCartValue($value);
     }
     $mode = in_array($mode, array('=', '==', '===')) ? '==' : $mode;
     $round = is_null($round) ? self::ROUND_DEFAULT : (int) $round;
     $val1 = round((double) $this->val($this->_currency), $round);
     $val2 = round((double) $value->val($this->_currency), $round);
     $this->_log("Compared \"{$this->dump()}\" {$mode} \"{$value->dump()}\" // {$val1}{$mode}{$val2}, r={$round}, ");
     if ($mode == '==') {
         return $val1 === $val2;
     } else {
         if ($mode == '!=' || $mode == '!==') {
             return $val1 !== $val2;
         } else {
             if ($mode == '<') {
                 return $val1 < $val2;
             } else {
                 if ($mode == '>') {
                     return $val1 > $val2;
                 } else {
                     if ($mode == '<=') {
                         return $val1 <= $val2;
                     } else {
                         if ($mode == '>=') {
                             return $val1 >= $val2;
                         }
                     }
                 }
             }
         }
     }
     $this->_error('Undefined compare mode: ' . $mode);
     return false;
 }
Example #3
0
 /**
  * @param JBCartValue $summa
  * @return JBCartValue
  */
 public function modify(JBCartValue $summa)
 {
     $rate = $this->getRate();
     $summa->add($rate);
     return $summa;
 }
Example #4
0
 /**
  * @param JBCartValue $summa
  * @return JBCartValue
  */
 public function modify(JBCartValue $summa)
 {
     if ($this->isModify()) {
         $rate = $this->get('rate') ? $this->get('rate') : $this->getRate();
         $summa->add($rate);
     }
     return $summa;
 }
Example #5
0
 /**
  * @param JBCartValue $value
  * @return JBCartValue
  */
 public function modify(JBCartValue $value)
 {
     return $value->add($this->getRate());
 }