db = $db;
if($data) {
$this->data = $data;
if($this->data['el_pohon']) { //elektromotor nema objem
$this->data['objem'] = 0;
}
}
}
function set_particip($value) {
$this->data['particip'] = $value;
}
function set_particip_hp($value) {
$this->data['particip_hp'] = $value;
}
//realizuje vypocet POV
function calculate_pov() {
$this->comp_id = 15; //ID e-finance motor
$rhis->rate_id = $this->get_rate_for('Allianz');
$this->sazby = $this->get_zakladni_sazba();
$this->segmentace = $this->get_segmentation();
$this->use_PSLPOV();
$datumPrvniRegistrace = explode(".", $this->data['datumPrvniRegistrace']);
$this->car_age = $this->get_months_age($datumPrvniRegistrace);
$this->get_coefs();
// echo "
";
// var_export($this->sazby);
// var_export($this->discounts);
// echo "
";
}
function sazby2return() {
foreach ($this->sazby as $k=>$v) {
if($this->only_PSL) {
$this->sazby[$k]['icompanies_id'] = 16;
} else {
$this->sazby[$k]['icompanies_id'] = $this->comp_id;
}
$this->sazby[$k]['icompanies_limits_id'] = $v['limit'];
$this->sazby[$k]['spoluucast'] = $v['particip'];
$this->sazby[$k]['pripojisteni'] = $this->pripojisteni;
$this->sazby[$k]['return_coef'] = $this->map_all_perc_koef_POV($v['return_coef']);
$this->sazby[$k]['return_coef']['pr_tech_sleva_prirazka'] = $this->tech_sleva_prirazka;
}
if(count($this->sazby) == 1 && $this->data['remote_N1']) {
$this->sazby = array_pop($this->sazby);
}
}
//ziskani koeficientu slev
function get_coefs() {
$this->coefs = $temp = null;
//sleva za historicke vozidlo
$this->tech_sleva_prirazka = 100;
if($this->data['historicke_vozidlo'] == 2) { //se zvlastni SPZ
$temp['koef'] = (1 - ($this->segmentace['HV02'] / 100));
$this->tech_sleva_prirazka -= $this->segmentace['HV02'];
$temp['perc'] = $this->segmentace['HV02'];
$temp['perc_key'] = 'pr_hist';
$temp['text_vyp_pov'] = 'Sleva pro vozidla vyrobena do roku 1952 '.$this->segmentace['HV02'].'% ';
$this->coefs[] = $temp;
} elseif($this->data['historicke_vozidlo'] == 1) { // r.v. do roku 1952
$temp['koef'] = (1 - ($this->segmentace['HV01'] / 100));
$this->tech_sleva_prirazka -= $this->segmentace['HV01'];
$temp['perc'] = $this->segmentace['HV01'];
$temp['perc_key'] = 'pr_hist';
$temp['text_vyp_pov'] = 'Sleva pro vozidla vyrobena do roku 1952 '.$this->segmentace['HV01'].'% ';
$this->coefs[] = $temp;
}
//sleva za spoluucast
if($this->data['particip'] == 'S01') {
$temp['koef'] = (1 - ($this->segmentace['S01'] / 100));
$this->tech_sleva_prirazka -= $this->segmentace['S01'];
$temp['particip'] = '5.000 Kč';
$temp['perc'] = $this->segmentace['S01'];
$temp['perc_key'] = 'pr_spoluucast';
$temp['text_vyp_pov'] = 'Sleva za spoluúčast ve výšši 5.000 Kč '.$this->segmentace['S01'].'% ';
$this->coefs[] = $temp;
} elseif($this->data['particip'] == 'S02') {
$temp['koef'] = (1 - ($this->segmentace['S02'] / 100));
$this->tech_sleva_prirazka -= $this->segmentace['S02'];
$temp['particip'] = '10.000 Kč';
$temp['perc'] = $this->segmentace['S02'];
$temp['perc_key'] = 'pr_spoluucast';
$temp['text_vyp_pov'] = 'Sleva za spoluúčast ve výšši 10.000 Kč '.$this->segmentace['S02'].'% ';
$this->coefs[] = $temp;
}
//prirazka za pouziti vozidla
if($this->segmentace[$this->data['pouziti_vozidla']]) {
$temp['koef'] = (1 + ($this->segmentace[$this->data['pouziti_vozidla']] / 100));
$this->tech_sleva_prirazka += $this->segmentace[$this->data['pouziti_vozidla']];
$temp['perc'] = $this->segmentace[$this->data['pouziti_vozidla']];
$temp['perc_key'] = 'pr_riziko_provoz';
$temp['text_vyp_pov'] = 'Prirážka za použití vozidla '.$this->segmentace[$this->data['pouziti_vozidla']].'% ';
$this->coefs[] = $temp;
}
}
//-------------------
/*
* Plosni sleva na zakladni sazby
*/
function use_PSLPOV() {
if($this->segmentace['PSLPOV_a'] && $this->segmentace['PSLPOV'] > 0) {
foreach ($this->sazby as $k=>$v) {
$this->sazby[$k]['pojistne'] = $v['sazba'] * (1 - ($this->segmentace['PSLPOV'] / 100));
$this->sazby[$k]['text_vyp_pov'].= '
Plošní sleva '.$this->segmentace['PSLPOV'].'%: ';
$this->sazby[$k]['text_vyp_pov'].= $v['sazba'].' * '.(1 - ($this->segmentace['PSLPOV'] / 100)).' = '.$this->sazby[$k]['pojistne'];
}
}
}
//pouziti moznych slev
function use_coefs($sazba_key) {
foreach ($this->coefs as $k_coef=>$coef) {
//foreach ($this->sazby as $k=>$v) {
$v = $this->sazby[$sazba_key];
$this->sazby[$sazba_key]['return_coef'][$coef['perc_key']] = $coef['perc'];
$this->sazby[$sazba_key]['text_vyp_pov'].= '
'.$coef['text_vyp_pov'].': ';
$this->sazby[$sazba_key]['text_vyp_pov'].= $v['pojistne'].' * '.$coef['koef'];
$this->sazby[$sazba_key]['pojistne'] = $v['pojistne'] * $coef['koef'];
$this->sazby[$sazba_key]['text_vyp_pov'].= ' = '.$this->sazby[$sazba_key]['pojistne'];
if($coef['particip']) {
$this->sazby[$sazba_key]['particip'] = $coef['particip'];
}
//}
}
}
//-----------------
//nastavi lhutni platby a podobne
function prepare_sazby() {
if(isset($this->sazby[0])) {
foreach ($this->sazby as $k=>$v) {
$this->sazby[$k]['pojistne'] = ceil($this->sazby[$k]['pojistne']);
if($this->data['forma_platby'] == 'LP01' || !$this->data['forma_platby']) {
$this->sazby[$k]['lhutni_pojistne'] = $v['pojistne']; //rocni
} elseif($this->data['forma_platby'] == 'LP02') {
$this->sazby[$k]['lhutni_pojistne'] = ceil(($v['pojistne'] / 2)); //pololetni
} elseif($this->data['forma_platby'] == 'LP03') {
$this->sazby[$k]['lhutni_pojistne'] = ceil(($v['pojistne'] / 4)); //ctvrtletni
}
}
} else {
$this->sazby['pojistne'] = ceil($this->sazby['pojistne']);
if($this->data['forma_platby'] == 'LP01' || !$this->data['forma_platby']) {
$this->sazby['lhutni_pojistne'] = $this->sazby['pojistne']; //rocni
} elseif($this->data['forma_platby'] == 'LP02') {
$this->sazby['lhutni_pojistne'] = ceil(($this->sazby['pojistne'] / 2)); //pololetni
} elseif($this->data['forma_platby'] == 'LP03') {
$this->sazby['lhutni_pojistne'] = ceil(($this->sazby['pojistne'] / 4)); //ctvrtletni
}
}
}
//------------------------
/**
* Vrati koeficient bezeskodniho prubehu
* < 1 pro bonus, >1 pro malus
*
* @param array $rates pole segmentace
* @param string $bp vybrany bezeskodni prubeh(B0,B1,.., M1)
*/
public function getB_M($bp) {
$ret=1;
if(isset($this->segmentace[$bp])) {
if(preg_match("/^B/",$bp)) {
$bonus = $this->segmentace[$bp];
$ret=(1 - ($bonus/100));
} elseif(preg_match("/^M/",$bp)) {
$malus = $this->segmentace[$bp];
$ret=(1 + ($malus/100));
}
}
return $ret;
}
public function get_discount_B_M($bp) {
$koef_b_m = $this->getB_M($bp);
$temp = null;
if($koef_b_m < 1) { //bonus
$temp['koef'] = $koef_b_m;
$temp['text_vyp_pov'] = 'Sleva za bezeškodní průběh '.$this->segmentace[$bp].'%: ';
} elseif($koef_b_m > 1) { //bonus
$temp['koef'] = $koef_b_m;
$temp['text_vyp_pov'] = 'Prirážka za škodný průběh '.$this->segmentace[$bp].'%: ';
}
if($temp) {
$temp['key'] = 'BM';
$temp['perc'] = $this->segmentace[$bp];
}
return $temp;
}
//vrati BM pre HAV Allianz - ktera ma jiny bonus pro HAV a jiny pro POV
function get_discount_B_M_allianz_HAV($bp) {
if($bp == 'B0S') {
return false;
}
$sql = "SELECT value FROM `".DB_D."`.allianzBonus
WHERE name = '".$bp."' LIMIT 1";
$res = mysqli_query($this->db, $sql);
$row = mysqli_fetch_array($res);
$obchSlevy += $row['value'];
if($row['value'] > 0) {
$temp['koef'] = (1 - ($row['value']/100));
$temp['text_vyp'] = 'Sleva za bezeškodní průběh '.$row['value'].'%: ';
} elseif($row['value'] < 0) {
$row['value'] *= -1;
$temp['koef'] = (1 + ($row['value']/100));
$temp['text_vyp'] = 'Prirážka za škodný průběh '.$row['value'].'%: ';
}
$temp['perc'] = $row['value'];
$temp['key'] = 'BM';
return $temp;
}
//------------------
function get_rate_for($comp) {
$method = 'get_rate_for_'.$comp;
if(method_exists($this,$method)) {
return call_user_method($method,$this);
}
}
//vrati cislo sazebniku na zaklade PSC pro Allianz
function get_rate_for_Allianz() {
//var_export($this->data);
if($this->data['subjekt'] == 2) {
$ret = 101; /* podnikatel alebo pravnicka osoba, na regione NEZALEZI */
} else {
if($this->is_praha($this->data['psc'])) {
if( date('y-m-d') <= '2010-06-30' && strtotime($this->data['pocatek_date_sql']) < strtotime('2010-12-31')) {
$this->prazske_jaro = 0.85;
}
$ret = 102; //praha
} else if(($this->data['psc'] >= 25000 && $this->data['psc'] <= 25499) || // okolí Prahy - Praha východ, Praha západ
($this->data['psc'] >= 30100 && $this->data['psc'] <= 32699) ||
($this->data['psc'] >= 33200 && $this->data['psc'] <= 33399) ||
($this->data['psc'] >= 33441 && $this->data['psc'] <= 33699) || // -Plzeň + Plzeň-jih
($this->data['psc'] >= 37000 && $this->data['psc'] <= 37599) || // -České Budějovice
($this->data['psc'] >= 40002 && $this->data['psc'] <= 40399) || // -Ústí nad Labem
($this->data['psc'] >= 46001 && $this->data['psc'] <= 46312) || // -Liberec
($this->data['psc'] >= 50000 && $this->data['psc'] <= 50499) || // -Hradec Králové
($this->data['psc'] >= 60200 && $this->data['psc'] <= 66434) || // -Brno
($this->data['psc'] >= 70000 && $this->data['psc'] <= 72599) || // -Ostrava
($this->data['psc'] >= 77200 && $this->data['psc'] <= 78599) // -Olomouc
)
{ // Mesta nad 90 tis. ob.
$ret = 103;
if($this->data['psc'] >= 25000 && $this->data['psc'] <= 25499) {
if( date('y-m-d') <= '2010-06-30' && strtotime($this->data['pocatek_date_sql']) < strtotime('2010-12-31')) {
$this->prazske_jaro = 0.85;
}
}
} else {
$ret = 104;
}
}
return $ret;
}
// END = vrati cislo sazebniku na zaklade PSC pro Allianz
function get_limit_id_by_val($value) {
$value = explode("/",$value);
$sql = "SELECT id FROM ".DB.".gt_icompanies_limits
WHERE icompanies_id = ".$this->comp_id." AND health = ".$value[0]."
AND property = ".$value[1];
$res = mysqli_query($this->db, $sql);
$row = mysqli_fetch_array($res);
return $row['id'];
}
// function get_vehicle_number()
public function get_vehicle_number($valid_from = false,$valid_to=false) {
$this->data['objem'] = preg_replace("/,/",".",$this->data['objem']);
$this->data['hmotnost'] = preg_replace("/,/",".",$this->data['hmotnost']);
$this->data['vykon'] = preg_replace("/,/",".",$this->data['vykon']);
if($this->data['ostatni'] != 1) { //pokud nepojistujeme ostatni
if($this->data['hmotnost'] > 0) {
$hmotnost_query = "( weight_from <= ".$this->data['hmotnost']." || ISNULL(weight_from) ) &&
( weight_to >= ".$this->data['hmotnost']." || ISNULL(weight_to) ) &&";
} else {
$hmotnost_query="";
}
/* ak je druh vozidla "Trikolky nebo ctyrkolky", je potrebne zistit, do ktorej
hmotnostnej kategorie patri specifikovane vozidlo
*/
if($this->data['druhVozidla'] == "1100" && $this->data['hmotnost'] > 400)
{ /* hmotnost je vacsia ako 400 kg (kategoria nad 400 kg) */
$druhVozidla = 1150;
}
elseif($this->data['druhVozidla'] == "1100" && $this->data['hmotnost'] <= 400)
{ /* hmotnost neprasahuje 400 kg (kategoria do 400 kg vcetne) */
$druhVozidla = 1100;
}
elseif($this->data['druhVozidla'] == "1200" || $this->data['druhVozidla'] == "1000")
{
$hmotnost_query = "";
$druhVozidla = $this->data['druhVozidla'];
}
else
{ /* nie je potrebne menit @number druhu vozidla */
$druhVozidla = $this->data['druhVozidla'];
}
if($this->data['el_pohon'] == 1)
{
$plus_query = " && ci_rate_subcategories.electro = 1";
}
else
{
$plus_query = "";
}
$objem = $this->data['objem'];
$wh_valid=" (ci_ratesval.valid_from <= '".$valid_from."' AND ci_ratesval.valid_to >= '".$valid_to."') ";
$query = "SELECT ci_rate_subcategories.category, ci_rate_subcategories.number,
ci_rate_subcategories.name as subcategory_name,
ci_rate_categories.name as category_name
FROM `".DB."`.`ci_rate_categories`, `".DB."`.`ci_rate_subcategories`, `".DB."`.`ci_ratesval`
WHERE (
".(($plus_query == "") ? "
(
( cubature_from <= ".$objem." || ISNULL(cubature_from) ) &&
( cubature_to >= ".$objem." || ISNULL(cubature_to) ) &&
".$hmotnost_query."
( category = ".$druhVozidla.")
) && " : "( cubature_from = -1 && cubature_to = -1 ".$plus_query." ) && ")."
(
( ci_rate_subcategories.number = ci_ratesval.item_id &&
ci_ratesval.icompanies_id = ".$this->comp_id." &&
ci_ratesval.aval = 1 &&
".$wh_valid."
)
) &&
(
( ci_rate_categories.number = ".$druhVozidla." )
)
)
GROUP BY ci_rate_subcategories.number";
}
else
{ /* tato podmienka riesi vyber "Ostatni" */
/* @number druhov, ktorych @number sa dalej NECLENI v tabulke `ci_rate_subcategories` */
$categories = Array ( 1300, 1400, 1500, 1800, 1900, 2000, 2100, 2200, 2300 );
/* @number druhov, ktorych @number sa dalej CLENI v tabulke `ci_rate_subcategories` */
$subcategories = Array ( 1000, 1710, 1720, 2210, 2400);
$druh_vozu=$this->data['druhVozidla'];
$druh_cleneni=$this->data['druh_cleneni'];
if(in_array($druh_vozu, $categories))
{
$query = "SELECT number, name as category_name
FROM `".DB."`.`ci_rate_categories`
WHERE ( number = ".$druh_vozu." )";
}
elseif(in_array($druh_vozu, $subcategories))
{
$objem_sql=$hmotnost_sql=$cleneni_sql="";
if($this->data['objem']) {
$objem_sql=" ( cubature_from <= ".$this->data['objem']." || ISNULL(cubature_from) ) &&
( cubature_to >= ".$this->data['objem']." || ISNULL(cubature_to) ) && ";
}
if($this->data['hmotnost']) {
$hmotnost_sql=" ( weight_from <= ".$this->data['hmotnost']." || ISNULL(weight_from) ) &&
( weight_to >= ".$this->data['hmotnost']." || ISNULL(weight_to) ) && ";
}
if($druh_cleneni) {
$cleneni_sql = " AND ci_rate_subcategories.number='".$druh_cleneni."' ";
}
$query = "SELECT ci_rate_subcategories.category, ci_rate_subcategories.number,
ci_rate_subcategories.name as subcategory_name,
ci_rate_categories.name as category_name
FROM `".DB."`.`ci_rate_categories`, `".DB."`.`ci_rate_subcategories`, `".DB."`.`ci_ratesval`
WHERE ( (
".$objem_sql."
".$hmotnost_sql."
( category = ".$druh_vozu." )
".$cleneni_sql."
) &&
(
( ci_rate_subcategories.number = ci_ratesval.item_id &&
ci_ratesval.icompanies_id = ".$this->comp_id." &&
ci_ratesval.aval = 1
)
) &&
(
( ci_rate_categories.number = ".$druh_vozu." )
)
)
GROUP BY ci_rate_subcategories.number";
}
}
$exec = mysqli_query($this->db, $query);
$result = mysqli_fetch_array($exec);
return $result;
}
/*
* Vrati segmentaci
*/
public function get_segmentation() {
$pocatekPoj_sql=$this->check_is_valid_segmentation($this->data['pocatek_date_sql']);
$wh_valid="(ci_segmentation.valid_from <= '".$pocatekPoj_sql."' AND ci_segmentation.valid_to >= '".$pocatekPoj_sql."')";
$sql = "SELECT `data` FROM `".DB."`.`ci_segmentation`
WHERE (`icompanies_id` = ".$this->comp_id." && ".$wh_valid.")";
$res = mysqli_query($this->db, $sql);
$row = mysqli_fetch_array($res);
// obsahuje kompletnu segmentaciu podla kodov v manager.e-finance.eu //
return unserialize($row['data']);
}
//--------------------
/**
* kontroluje jestli existuje segmentace pre dane obdobi pocatku smlouvy
* pokud jeste neni naplnen, nebo se nemenil, zmeni $pocatekPoj_sql
* na posledni den validity danej pojistnej segemntace,
* zmeneni hodnoty nema vplyv na hodnotu pocatku pojisteni,
*
* @param date $pocatekPoj_sql datum puvodniho pocatku pojisteni
*/
public function check_is_valid_segmentation($pocatekPoj_sql) {
$sql = "SELECT `data` FROM `".DB."`.`ci_segmentation`
WHERE (`icompanies_id` = ".$this->comp_id."
AND ( ci_segmentation.valid_from <= '".$pocatekPoj_sql."' AND ci_segmentation.valid_to >= '".$pocatekPoj_sql."' )
)
LIMIT 1";
$res = mysqli_query($this->db, $sql);
$rows = mysqli_num_rows($res);
//pokial nic nenasiel, tak ziskame posledny zadany sadzobnik pojistovni
if($rows>0) {
return $pocatekPoj_sql;
} else {
$sql="SELECT ci_segmentation.valid_to
FROM `wpdb_pojisteni_com`.`ci_segmentation`
WHERE ( ci_segmentation.icompanies_id = ".$this->comp_id." )
ORDER BY ci_segmentation.valid_to DESC
LIMIT 1";
$res = mysqli_query($this->db, $sql);
$row = mysqli_fetch_array($res);
return $row['valid_to'];
}
}
//----------------------------------------
/*
* Vrati zakladni sazbu pro pojistovne
*/
public function get_zakladni_sazba() {
$pocatekPoj_sql = $this->check_is_valid_rate($this->data['pocatek_date_sql']);
$this->vehicle_values = $this->get_vehicle_number($pocatekPoj_sql,$pocatekPoj_sql);
$wh_valid="(ci_ratesval.valid_from <= '".$pocatekPoj_sql."' AND ci_ratesval.valid_to >= '".$pocatekPoj_sql."') && ";
if($this->rate_id != '') {
$add_reg = "&& ( ci_ratesval.rate_id = ".$this->rate_id." )";
} else {
$add_reg = "";
}
$add_limit = '';
if($this->limit_id) {
$add_limit = " AND ci_ratesval.limit_id = ".$this->limit_id;
}
$sql = "SELECT gt_icompanies_limits.id as icompanies_limits_id, gt_icompanies_limits.name as insurance_limit,
gt_icompanies_limits.health, gt_icompanies_limits.property,
ci_ratesval.value
FROM `".DB."`.`gt_icompanies_limits`, `".DB."`.`ci_ratesval`
WHERE (
( ci_ratesval.item_id = " . $this->vehicle_values['number'] . " ) &&
( ci_ratesval.icompanies_id = ".$this->comp_id." ) &&
".$wh_valid."
( gt_icompanies_limits.id = ci_ratesval.limit_id )
".$add_reg." ".$add_limit."
) " .
" GROUP BY icompanies_limits_id
ORDER BY gt_icompanies_limits.place ASC";
$res = mysqli_query($this->db, $sql);
$zakladni_sazba = Array();
while($sazba_r = mysqli_fetch_array($res))
{
if($sazba_r['value'] != 0)
{
$zakladni_sazba[] = Array( "limit" => $sazba_r['icompanies_limits_id'], "sazba" => $sazba_r['value'], "pojistne" => $sazba_r['value'] );
}
}
return $zakladni_sazba;
}
//--------------------------------------------
/**
* kontroluje jestli existuje sadzobnik pre dane obdobi pocatku smlouvy
* pokud jeste neni naplnen, nebo se nemenil, zmeni $pocatekPoj_sql
* na posledni den validity daneho pojistneho sazebniku,
*
* @param date $pocatekPoj datum puvodniho pocatku pojisteni
*/
public function check_is_valid_rate($pocatekPoj,$ret_valid_from = false) {
$sql="SELECT ci_ratesval.value,ci_ratesval.valid_to,ci_ratesval.valid_from
FROM `".DB."`.`ci_ratesval`
WHERE (
( ci_ratesval.icompanies_id = ".$this->comp_id." )
AND ( ci_ratesval.valid_from <= '".$pocatekPoj."' AND ci_ratesval.valid_to >= '".$pocatekPoj."' )
)
LIMIT 1";
$res = mysqli_query($this->db, $sql);
$rows = mysqli_num_rows($res);
//pokial nic nenasiel, tak ziskame posledny zadany sadzobnik pojistovni
if($rows>0) {
$row = mysqli_fetch_array($res);
if($ret_valid_from) return $row['valid_from'];
else return $row['valid_to'];
} else {
$sql="SELECT ci_ratesval.valid_to
FROM `".DB."`.`ci_ratesval`
WHERE ( ci_ratesval.icompanies_id = ".$this->comp_id." )
ORDER BY ci_ratesval.valid_to DESC
LIMIT 1";
$res = mysqli_query($this->db, $sql);
$row = mysqli_fetch_array($res);
if($ret_valid_from) return $row['valid_from'];
else return $row['valid_to'];
}
}
//----
function get_DP() {
}
public function is_praha($psc) {
return ($psc >= 10000 && $psc <= 19999);
}
public function get_months_age($datum) {
if(!is_array($datum)) {
if(preg_match("/-/",$datum)) {
$datum = explode("-",$datum);
} elseif(preg_match("/./",$datum)) {
$datum = explode(".",$datum);
}
}
$carAge = date("Y") - $datum[2];
$months = 0;
if(date("n") < $datum[1]) {
$carAge--;
$months += (12 - ($datum[1] - date("n")));
} else if(date("n") == $datum[1]) {
if(date("j") < $datum[0]) {
$months--;
} elseif(date("j") >= $datum[0]) {
$months++;
}
} else {
$months += (date("n") - $datum[1]);
if(date("j") > $datum[0]) {
$months++;
}
}
$months += ($carAge * 12);
return $months;
}
function get_age_from_date($date) {
if(!$date) return false;
if(!preg_match("/-/",$date) && preg_match("/./",$date)) {
$date = date("Y-m-d",strtotime($date));
}
list($year,$month,$day) = explode("-",$date);
$year_diff = date("Y") - $year;
$month_diff = date("m") - $month;
$day_diff = date("d") - $day;
if ($day_diff < 0 || $month_diff < 0) {
$year_diff--;
}
return $year_diff;
}
function GetNextDays($datecalc,$duedays) {
$i = 1;
while ($i <= $duedays) {
$datecalc += 86400; // Add a day.
$date_info = getdate( $datecalc );
if (($date_info["wday"] == 0) or ($date_info["wday"] == 6) ) {
$datecalc += 86400; // Add a day.
continue;
}
$i++;
}
return $datecalc ;
}
}
?>