/** * $trans_date is expected to be a 'fixed_date', i.e. yyyy-mm-dd */ function calc_due_date($trans_date, $basis, $days = 0, $months = 0) { $trans_date = fix_date($trans_date); if ($basis == 'I' || $basis == 'Invoice') { $time = strtotime($trans_date); } elseif ($basis == 'M' || $basis == 'Month') { $month = date('m', strtotime($trans_date)); $year = date('Y', strtotime($trans_date)); $month_end = last_day($month + $months, $year); $time = $month_end; } else { throw new Exception('calc_due_date only understands Invoice and Month type payment term logic'); } $time = strtotime('+ ' . $days . ' days', $time); return date(DATE_FORMAT, $time); }
function print_calendar($month, $year, $weekdaytostart = 0) { global $taraDili, $get_date, $myEkle; $last = idate('d', last_day($month, $year)); $firstdaystamp = mktime(0, 0, 0, $month, 1, $year); $firstwday = idate('w', $firstdaystamp); $name = date('F', $firstdaystamp); $weekorder = array(); for ($wo = $weekdaytostart; $wo < $weekdaytostart + 7; $wo++) { $weekorder[] = $wo % 7; } // GET LAST FRIDAY $numDays = date('t', $get_date); $last_day_name = mktime(0, 0, 0, $month, $numDays, $year); $last_day_name = date('D', $last_day_name); if ($last_day_name == 'Sat') { $last_day = $numDays - 1; } if ($last_day_name == 'Sun') { $last_day = $numDays - 2; } if ($last_day_name == 'Mon') { $last_day = $numDays - 3; } if ($last_day_name == 'Tue') { $last_day = $numDays - 4; } if ($last_day_name == 'Wed') { $last_day = $numDays - 5; } if ($last_day_name == 'Thu') { $last_day = $numDays - 6; } echo "<table cellspacing=\"0\">\n"; // SET UP DAYS echo '<thead><tr>'; foreach ($weekorder as $w) { $dayname = date('D', mktime(0, 0, 0, $month, 1 - $firstwday + $w, $year)); if ($taraDili == "EN") { echo "<th>{$dayname}</th>"; } else { echo "<th>" . gunTr($dayname) . "</th>"; } } echo "</tr></thead>\n"; $onday = 0; $started = false; while ($onday <= $last) { echo '<tbody><tr>'; foreach ($weekorder as $d) { if (!$started) { if ($d == $firstwday) { $started = true; $onday++; } } if ($onday == 0 || $onday > $last) { echo "<td class=\"padding\"> </td>"; } else { $olayVar = buTarihtekiOlayListesi($onday, $month, $year, $myEkle); if ($onday == date('d') && $month == date('m') && empty($olayVar)) { //bugünü iþaretle echo "<td class=\"today\">{$onday}</td>"; } elseif ($onday == date('d') && $month == date('m') && !empty($olayVar)) { //bugünü ve olay var ise iþaretle echo "<td class=\"date_has_event today\">{$onday}\r\n\t\t\t\t\t<div class=\"events\">\r\n\t\t\t\t\t\t<ul>\r\n\t\t\t\t\t\t\t{$olayVar}\r\n\t\t\t\t\t\t</ul>\r\n\t\t\t\t\t</div>\t\t\t\t\t\r\n\t\t\t\t\t</td>"; } elseif (!empty($olayVar)) { //bu günde olaylar varsa echo "<td class=\"date_has_event\">{$onday}\r\n\t\t\t\t\t<div class=\"events\">\r\n\t\t\t\t\t\t<ul>\r\n\t\t\t\t\t\t\t{$olayVar}\r\n\t\t\t\t\t\t</ul>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t\t</td>"; } else { //boþ bir gün echo "<td>{$onday}</td>"; } $onday++; } } echo "</tr></tbody>\n"; } // SET UP DAYS echo '<tfoot><tr>'; foreach ($weekorder as $w) { $dayname = date('D', mktime(0, 0, 0, $month, 1 - $firstwday + $w, $year)); if ($taraDili == "EN") { echo "<th>{$dayname}</th>"; } else { echo "<th>" . gunTr($dayname) . "</th>"; } } echo "</tr></tfoot>\n"; echo '</table>'; }
function get_date($data, $date) { if ($date == 'yearly') { return $data["YEAR"]; } else { if ($date == 'quarterly') { return "Q" . $data["QUARTER"] . "/" . $data["YEAR"]; } else { if ($date == 'monthly') { return $data["MONTH"] . "/" . $data["YEAR"]; } else { if ($date == 'weekly') { return $data["FIRSTDAY"] . "-" . last_day($data["LASTDAYMONTH"], $data["LASTDAY"]) . "/" . $data["MONTH"] . "/" . $data["YEAR"]; } else { if ($date == 'daily') { return $data["DAY"] . "/" . $data["MONTH"] . "/" . $data["YEAR"]; } } } } } return null; }