2010-11-29 22:41:08 +00:00
|
|
|
<?php defined('SYSPATH') or die('No direct access allowed.');
|
|
|
|
|
|
|
|
/**
|
|
|
|
* This is class renders Recurring Schedule Times on responses and forms.
|
|
|
|
*
|
|
|
|
* @package OSB
|
|
|
|
* @category Helpers
|
|
|
|
* @author Deon George
|
2013-03-19 22:35:19 +00:00
|
|
|
* @copyright (c) 2009-2013 Open Source Billing
|
|
|
|
* @license http://dev.osbill.net/license.html
|
2010-11-29 22:41:08 +00:00
|
|
|
*/
|
|
|
|
class StaticList_RecurSchedule extends StaticList {
|
|
|
|
protected function table() {
|
|
|
|
return array(
|
|
|
|
0=>_('Weekly'),
|
|
|
|
1=>_('Monthly'),
|
|
|
|
2=>_('Quarterly'),
|
|
|
|
3=>_('Semi-Annually'),
|
|
|
|
4=>_('Annually'),
|
|
|
|
5=>_('Two years'),
|
|
|
|
6=>_('Three Years')
|
|
|
|
);
|
|
|
|
}
|
|
|
|
|
|
|
|
public static function factory() {
|
|
|
|
return new StaticList_RecurSchedule;
|
|
|
|
}
|
|
|
|
|
|
|
|
public static function display($value) {
|
|
|
|
return static::_display($value);
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Renders the price display for a product
|
|
|
|
*
|
|
|
|
* @uses product
|
|
|
|
*/
|
2011-07-14 09:09:03 +00:00
|
|
|
public static function form($name,$product='',$default='',$addblank=FALSE) {
|
2010-11-29 22:41:08 +00:00
|
|
|
if (empty($product))
|
|
|
|
throw new Kohana_Exception('Product is a required field for :method',array(':method'=>__METHOD__));
|
|
|
|
|
|
|
|
$x = '';
|
|
|
|
$table = static::factory()->table();
|
|
|
|
|
|
|
|
foreach ($product->get_price_array() as $term => $price) {
|
2011-10-13 21:41:01 +00:00
|
|
|
$x[$term] = sprintf('%s %s',Currency::display(Tax::add($price['price_base'])),$table[$term]);
|
2010-11-29 22:41:08 +00:00
|
|
|
|
|
|
|
if ($price['price_setup'] > 0)
|
2011-10-13 21:41:01 +00:00
|
|
|
$x[$term] .= sprintf(' + %s %s',Currency::display(Tax::add($price['price_setup'])),_('Setup'));
|
2010-11-29 22:41:08 +00:00
|
|
|
}
|
|
|
|
|
2011-07-14 09:09:03 +00:00
|
|
|
return Form::select($name,$x,$default);
|
2010-11-29 22:41:08 +00:00
|
|
|
}
|
|
|
|
}
|
|
|
|
?>
|