Projekt

Obecné

Profil

« Předchozí | Další » 

Revize 74a7dbca

Přidáno uživatelem Michal Kliment před více než 9 roky(ů)

Merge from SVN branch 1.2.

Zobrazit rozdíly:

application/models/fee.php
/*
* This file is part of open source system FreenetIS
* and it is release under GPLv3 licence.
*
*
* More info about licence can be found:
* http://www.gnu.org/licenses/gpl-3.0.html
*
*
* More info about project can be found:
* http://www.freenetis.org/
*
*
*/
/**
* Defines fees
*
*
* @package Model
*
*
* @property integer $id
* @property boolean $readonly
* @property double $fee
......
*/
class Fee_Model extends ORM
{
/** special type constants */
const MEMBERSHIP_INTERRUPT = 1;
protected $belongs_to = array('type' => 'enum_type');
protected $has_many = array('members_fees');
// special type constants
const MEMBERSHIP_INTERRUPT = 1;
/** Fee-free regular member */
const FEE_FREE_REGULAR_MEMBER = 2;
/** Non-member */
const NON_MEMBER = 3;
/** Honorary member */
const HONORARY_MEMBER = 4;
/**
* Special types name.
*
* @var array
*/
public static $SPECIAL_TYPE_NAMES = array
(
self::MEMBERSHIP_INTERRUPT => 'Membership interrupt',
self::FEE_FREE_REGULAR_MEMBER => 'Fee-free regular member',
self::NON_MEMBER => 'Non-member',
self::HONORARY_MEMBER => 'Honorary member'
);
/**
* Gets all special type names.
*
* @param boolean $translate Translate? [optional]
* @return special type names
*/
public static function get_special_type_names($translate = TRUE)
{
if ($translate)
{
return array_map('__', self::$SPECIAL_TYPE_NAMES);
}
return self::$SPECIAL_TYPE_NAMES;
}
/**
* Gets special type name.
*
* @param integer $stype constant
* @param boolean $translate Translate? [optional]
* @return special type name of null on unknown constant
*/
public static function get_special_type_name($stype, $translate = TRUE)
{
if (array_key_exists($stype, self::$SPECIAL_TYPE_NAMES))
{
if ($translate)
{
return __(self::$SPECIAL_TYPE_NAMES[$stype]);
}
return self::$SPECIAL_TYPE_NAMES[$stype];
}
return NULL;
}
/**
* Returns all fees with translated type names
*
......
{
$order_by_direction = 'asc';
}
if ($limit_results !== NULL &&
is_numeric($limit_results))
{
$limit = "LIMIT ". intval($limit_from) . ", " . intval($limit_results);
}
return $this->db->query("
SELECT fees.id, fees.readonly, fees.special_type_id, fees.type_id,
fees.fee, fees.from, fees.to, fees.name,
......
/**
* Funkce vrací poplatek typu $type, který byl platný k datu $datetime
*
*
* @author Tomas Dulik
* @param $datetime datum a čas, SQL typ DATETIME
* @param $type - textový typ z tabulky enum_types, např. "transfer fee"
......
return 0;
}
/**
* Returns regular member fee name of member in date
*
......
return NULL;
}
/**
* Gets transfer fee by date
*
*
* @author Michal Kliment
* @param string $date
* @return integer
* @return integer
*/
public function get_transfer_fee_by_date($date)
{

Také k dispozici: Unified diff