示例#1
0
     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);
     }
 }
示例#2
0
        }
    }
    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;
 }