if ($sql_op->insert('holiday', $data)) { utility::jsAlert(__('New Holiday Successfully Saved')); // update holiday_dayname session $_SESSION['holiday_date'][$data['holiday_date']] = $data['holiday_date']; // date range insert if (isset($_POST['holDateEnd'])) { $holiday_end_date = trim(preg_replace('@\\s[0-9]{2}:[0-9]{2}:[0-9]{2}$@i', '', $_POST['holDateEnd'])); // check if holiday end date is more than holiday start date if (simbio_date::compareDates($holiday_start_date, $holiday_end_date) == $holiday_end_date) { $guard = 365; $d = 1; while ($holiday_start_date != $holiday_end_date) { if ($d == $guard) { break; } $holiday_start_date = simbio_date::getNextDate(1, $holiday_start_date); list($date_year, $date_month, $date_date) = explode('-', $holiday_start_date); $data['holiday_date'] = $holiday_start_date; $data['holiday_dayname'] = date('D', mktime(0, 0, 0, $date_month, $date_date, $date_year)); @$sql_op->insert('holiday', $data); $_SESSION['holiday_date'][$holiday_start_date] = $holiday_start_date; $d++; } } } echo '<script type="text/javascript">parent.$(\'#mainContent\').simbioAJAX(\'' . $_SERVER['PHP_SELF'] . '?mode=special\');</script>'; exit; } else { utility::jsAlert(__('Holiday FAILED to Save. Please Contact System Administrator') . "\n" . $sql_op->error); } }
} } exit; } else { if (isset($_POST['batchExtend']) && $can_read && $can_write) { /* BATCH extend membership proccessing */ $curr_date = date('Y-m-d'); $num_extended = 0; foreach ($_POST['itemID'] as $itemID) { $memberID = $dbs->escape_string(trim($itemID)); // get membership periode from database $mtype_q = $dbs->query('SELECT member_periode, m.member_name FROM member AS m LEFT JOIN mst_member_type AS mt ON m.member_type_id=mt.member_type_id WHERE m.member_id=\'' . $memberID . '\''); $mtype_d = $mtype_q->fetch_row(); $expire_date = simbio_date::getNextDate($mtype_d[0], $curr_date); @$dbs->query('UPDATE member SET expire_date=\'' . $expire_date . '\' WHERE member_id=\'' . $memberID . '\''); // write log utility::writeLogs($dbs, 'staff', $_SESSION['uid'], 'membership', $_SESSION['realname'] . ' extends membership for member (' . $mtype_d[1] . ') with ID (' . $memberID . ')'); $num_extended++; } header('Location: ' . MODULES_WEB_ROOT_DIR . 'membership/index.php?expire=true&numExtended=' . $num_extended); exit; } else { if (isset($_POST['itemID']) and !empty($_POST['itemID']) and isset($_POST['itemAction'])) { if (!($can_read and $can_write)) { die; } /* DATA DELETION PROCESS */ $sql_op = new simbio_dbop($dbs); $failed_array = array();
/** * count overdue value * @param integer $int_loan_id * @param string $str_return_date * @return boolean **/ public function countOverdueValue($int_loan_id, $str_return_date) { $_on_grace_periode = false; // get due date for this loan $_loan_q = $this->obj_db->query("SELECT l.due_date, l.loan_rules_id, l.item_code FROM loan AS l WHERE loan_id={$int_loan_id}"); $_loan_d = $_loan_q->fetch_row(); // compare dates $_date = simbio_date::compareDates($str_return_date, $_loan_d[0]); if ($_date == $str_return_date) { // how many days the overdue $_overdue_days = simbio_date::calcDay($str_return_date, $_loan_d[0]); /* // count holiday and subtract it from overdue days $_holiday_count = simbio_date::countHolidayBetween($_loan_d[0], $str_return_date, $this->holiday_dayname, $this->holiday_date); $_overdue_days = $_overdue_days-$_holiday_count; */ if ($_overdue_days < 1) { return false; } // check for grace periode if (!empty($this->grace_periode)) { $_due_plus_grace_date = simbio_date::getNextDate($this->grace_periode, $_loan_d[0]); $_latest_date = simbio_date::compareDates($str_return_date, $_due_plus_grace_date); if ($_latest_date == $_due_plus_grace_date) { $_on_grace_periode = true; } } // check for loan rules if any if (!empty($_loan_d[1])) { $_loan_rules_q = $this->obj_db->query('SELECT fine_each_day, grace_periode FROM mst_loan_rules WHERE loan_rules_id=' . $_loan_d[1]); $_loan_rules_d = $_loan_rules_q->fetch_row(); $this->fine_each_day = $_loan_rules_d[0]; // check for grace periode if (!empty($_loan_rules_d[1])) { $_due_plus_grace_date = simbio_date::getNextDate($_loan_rules_d[1], $_loan_d[0]); $_latest_date = simbio_date::compareDates($str_return_date, $_due_plus_grace_date); if ($_latest_date == $_due_plus_grace_date) { $_on_grace_periode = true; } } } // calculate fines value if ($_on_grace_periode) { return array('days' => 'On Grace Periode', 'value' => 0, 'item' => $_loan_d[2]); } else { $_fines_value = $this->fine_each_day * $_overdue_days; return array('days' => $_overdue_days, 'value' => $_fines_value, 'item' => $_loan_d[2]); } } return false; }