function db_date($date_str, $str_format = 'm/d/Y', $invalid = '-') { /* takes mysql date and/or time in the following format: yyyy-mm-dd hh:mm:ss and formats using the php date function */ if ($date_str == '' || $date_str == '0000-00-00' || $date_str == '0000-00-00 00:00:00') { return $invalid; } list($date, $time) = explode(' ', $date_str); list($year, $month, $day) = explode('-', $date); list($hour, $minute, $second) = explode(':', $time); return date($str_format, db_mktime((int) $hour, (int) $minute, (int) $second, (int) $month, (int) $day, (int) $year)); }
function afas_periodo_aquisitivo($periodoi, $periodof) { global $pessoal, $Ipessoal, $cfpess, $afasta; $desconta_dias = 0; if ($pessoal[0]["r01_tbprev"] == $cfpess[0]["r11_tbprev"]) { $desconta_dias = 15; } $periodo_afastado = 0; $condicaoaux = " and r45_regist =" . db_sqlformat($pessoal[0]["r01_regist"]) . " order by r45_regist, r45_dtafas desc "; if (db_selectmax("afasta", "select * from afasta " . bb_condicaosubpes("r45_") . $condicaoaux)) { for ($Iafasta = 0; $Iafasta < count($afasta); $Iafasta++) { if (db_at(db_str($afasta[$Iafasta]["r45_situac"], 1), "5-2-4-7") > 0) { continue; } if (db_at(db_str($afasta[$Iafasta]["r45_situac"], 1), "3-6") > 0) { if (!db_empty($afasta[$Iafasta]["r45_dtreto"]) && db_mktime($afasta[$Iafasta]["r45_dtreto"]) < db_mktime($periodoi)) { continue; } if (db_mktime($afasta[$Iafasta]["r45_dtafas"]) - 15 * 86400 > db_mktime($periodof)) { continue; } if (!db_empty($afasta[$Iafasta]["r45_dtreto"]) && db_mktime($afasta[$Iafasta]["r45_dtreto"]) > db_mktime($periodoi)) { if (db_mktime($afasta[$Iafasta]["r45_dtafas"]) - db_mktime($desconta_dias) > db_mktime($periodoi)) { if (db_mktime($afasta[$Iafasta]["r45_dtreto"]) > db_mktime($periodof)) { $periodo_afastado += ceil((db_mktime($periodof) - db_mktime($afasta[$Iafasta]["r45_dtafas"]) - db_mktime($desconta_dias)) / 86400); } else { $periodo_afastado += ceil((db_mktime($afasta[$Iafasta]["r45_dtreto"]) - db_mktime($afasta[$Iafasta]["r45_dtafas"]) - db_mktime($desconta_dias)) / 86400); } } else { $periodo_afastado += db_datedif($afasta[$Iafasta]["r45_dtreto"], $periodoi); } continue; } if (!db_empty($afasta[$Iafasta]["r45_dtreto"]) && db_mktime($afasta[$Iafasta]["r45_dtreto"]) > db_mktime($periodof) && db_mktime($afasta[$Iafasta]["r45_dtafas"]) - db_mktime($desconta_dias) < db_mktime($periodof)) { if (db_mktime($afasta[$Iafasta]["r45_dtafas"]) - db_mktime($desconta_dias) > db_mktime($periodoi)) { $periodo_afastado += ceil((db_mktime($periodof) - db_mktime($afasta[$Iafasta]["r45_dtafas"]) - db_mktime($desconta_dias)) / 86400); } else { $periodo_afastado += db_datedif($periodof, $periodoi); } } if (db_empty($afasta[$Iafasta]["r45_dtreto"]) && db_mktime($afasta[$Iafasta]["r45_dtafas"]) - db_mktime($desconta_dias) < db_mktime($periodof)) { if (db_mktime($afasta[$Iafasta]["r45_dtafas"]) - db_mktime($desconta_dias) < db_mktime($periodoi)) { $periodo_afastado += db_datedif($periodof, $periodoi); } else { $periodo_afastado += ceil((db_mktime($periodof) - db_mktime($afasta[$Iafasta]["r45_dtafas"]) - db_mktime($desconta_dias)) / 86400); } } } } } return $periodo_afastado; }