예제 #1
0
파일: timelog.php 프로젝트: bbogin/sr2s
function new_hours(&$state)
{
    $logdate = clone $state->from_date;
    if ($state->columns < 0 && $state->row == 0) {
        //add a rec in list style
        if (!audit_date($state, $logdate)) {
            return;
        }
    }
    $status = array();
    if (!audit_hours($state, $logdate, $status)) {
        return;
    }
    //adding a row but didn't select existing activity:
    if ($state->row == 0 && $state->activity_id == 0) {
        add_activity($state);
    }
    for ($ndx = 0; $ndx < abs($state->columns); $ndx++, $logdate->add(new DateInterval('P1D'))) {
        switch ($status[$ndx]) {
            case 'a':
                //add
                add_log($state, $logdate, $ndx);
                break;
            case 'u':
                //update
                update_log($state, $logdate, $ndx);
                break;
            case 'd':
                //delete
                delete_log($state, $logdate, $ndx);
                break;
        }
    }
}
예제 #2
0
function new_hours(&$state)
{
    log_list($state, $state->row);
    //find this row's records
    //Do audits:
    if ($state->mode == "t") {
        $logdate = clone $state->from_date;
    } elseif ($state->row == 0) {
        //adding in List mode
        $logdate = clone $state->logdate;
        //created by DATE_PICK
    } else {
        $record = reset($state->records);
        //updating in list mode
        $logdate = clone $record["logdate"];
    }
    $status = array();
    if (!audit_hours($state, $logdate, $status)) {
        return;
    }
    //Do DB changes:
    //	adding a row but didn't select existing activity:
    if ($state->row == 0 && $state->activity_id == 0) {
        add_activity($state);
    }
    $columns = $state->mode == "l" ? 1 : $state->columns[COL_COUNT];
    for ($ndx = 0; $ndx < $columns; $ndx++, $logdate->add(new DateInterval('P1D'))) {
        switch ($status[$ndx]) {
            case 'a':
                //add
                add_log($state, $logdate, $ndx);
                break;
            case 'u':
                //update
                update_log($state, $ndx);
                break;
            case 'd':
                //delete
                delete_log($state, $ndx);
                break;
        }
    }
}