Example #1
0
     }
     $rows = Misc::ArrayGroupBy($rows, array(Misc::trimSortPrefix($filter_data['primary_group_by']), Misc::trimSortPrefix($filter_data['secondary_group_by'])), Misc::trimSortPrefix($ignore_elements));
 }
 if (isset($rows)) {
     foreach ($rows as $row) {
         $tmp_rows[] = $row;
     }
     //var_dump($tmp_rows);
     $special_sort_columns = array('pay_period');
     if (in_array(Misc::trimSortPrefix($filter_data['primary_sort']), $special_sort_columns)) {
         $filter_data['primary_sort'] = $filter_data['primary_sort'] . '_order';
     }
     if (in_array(Misc::trimSortPrefix($filter_data['secondary_sort']), $special_sort_columns)) {
         $filter_data['secondary_sort'] = $filter_data['secondary_sort'] . '_order';
     }
     $rows = Sort::Multisort($tmp_rows, Misc::trimSortPrefix($filter_data['primary_sort']), Misc::trimSortPrefix($filter_data['secondary_sort']), $filter_data['primary_sort_dir'], $filter_data['secondary_sort_dir']);
     $total_row = Misc::ArrayAssocSum($rows, NULL, 2);
     $last_row = count($rows);
     $rows[$last_row] = $total_row;
     foreach ($static_columns as $static_column_key => $static_column_val) {
         $rows[$last_row][Misc::trimSortPrefix($static_column_key)] = NULL;
     }
     unset($static_column_key, $static_column_val);
     //Convert units
     $tmp_rows = $rows;
     unset($rows);
     $trimmed_static_columns = array_keys(Misc::trimSortPrefix($static_columns));
     foreach ($tmp_rows as $row) {
         foreach ($row as $column => $column_data) {
             if (!strstr($column, 'wage') and !strstr($column, 'worked_days') and !in_array($column, $trimmed_static_columns)) {
                 $column_data = TTDate::getTimeUnit($column_data);
Example #2
0
                 $deviation = $value / $row['prev_entries'][$key] * 100;
                 if ($deviation >= 100 + $red_alert_deviation or $deviation <= 100 - $red_alert_deviation) {
                     $alert = 'red';
                 } elseif ($deviation >= 100 + $yellow_alert_deviation or $deviation <= 100 - $yellow_alert_deviation) {
                     $alert = 'yellow';
                 } else {
                     $alert = FALSE;
                 }
                 $row['percent_deviation'][$key] = array('deviation' => number_format($deviation, 2, '.', ''), 'alert' => $alert);
                 //$row['percent_deviation'][$key] = number_format( $deviation, 2, '.', '');
             }
             unset($deviation, $alert);
         }
         $rows[] = $row;
     }
     $rows = Sort::Multisort($rows, 'last_name', 'pay_period_transaction_date', 'DESC');
 }
 //Since the array order matters for this opertation, we have to do it last, after
 //all ordering as been done.
 if (isset($rows)) {
     $i = 0;
     $prev_user = NULL;
     foreach ($rows as $row) {
         if ($row['user_id'] != $prev_user) {
             $rows[$i]['user_changed'] = TRUE;
         } else {
             $rows[$i]['user_changed'] = FALSE;
         }
         $prev_user = $row['user_id'];
         $i++;
     }
 $column_widths = array('line' => 5, 'date_stamp' => 20, 'dow' => 10, 'in_punch_time_stamp' => 20, 'out_punch_time_stamp' => 20, 'worked_time' => 15, 'paid_time' => 15, 'regular_time' => 15, 'over_time' => 37, 'absence_time' => 43);
 if (isset($user_data['data']) and is_array($user_data['data'])) {
     if (isset($filter_data['date_type']) and $filter_data['date_type'] == 'pay_period_ids') {
         //Fill in any missing days, only if they select by pay period.
         $pplf = new PayPeriodListFactory();
         $pplf->getById($user_data['pay_period_id']);
         if ($pplf->getRecordCount() == 1) {
             $pp_obj = $pplf->getCurrent();
             for ($d = TTDate::getBeginDayEpoch($pp_obj->getStartDate()); $d <= $pp_obj->getEndDate(); $d += 86400) {
                 if (Misc::inArrayByKeyAndValue($user_data['data'], 'date_stamp', TTDate::getBeginDayEpoch($d)) == FALSE) {
                     $user_data['data'][] = array('date_stamp' => TTDate::getBeginDayEpoch($d), 'in_punch_time' => NULL, 'out_punch_time' => NULL, 'worked_time' => NULL, 'regular_time' => NULL, 'over_time' => NULL, 'paid_time' => NULL, 'absence_time' => NULL);
                 }
             }
         }
     }
     $user_data['data'] = Sort::Multisort($user_data['data'], 'date_stamp', NULL, 'ASC');
     $week_totals = Misc::preSetArrayValues(NULL, array('worked_time', 'paid_time', 'absence_time', 'regular_time', 'over_time'), 0);
     $totals = array();
     $totals = Misc::preSetArrayValues($totals, array('worked_time', 'paid_time', 'absence_time', 'regular_time', 'over_time'), 0);
     $i = 1;
     $x = 1;
     $y = 1;
     $max_i = count($user_data['data']);
     foreach ($user_data['data'] as $data) {
         //print_r($data);
         //Show Header
         if ($i == 1 or $x == 1) {
             if ($x == 1) {
                 $pdf->Ln();
             }
             $line_h = 5;
        foreach ($ids as $id) {
            $rhlf->getByIdAndCompanyId($id, $current_company->getId());
            foreach ($rhlf as $rh_obj) {
                $rh_obj->setDeleted($delete);
                if ($rh_obj->isValid()) {
                    $rh_obj->Save();
                }
            }
        }
        Redirect::Page(URLBuilder::getURL(NULL, 'RecurringHolidayList.php'));
        break;
    default:
        $rhlf = new RecurringHolidayListFactory();
        $rhlf->getByCompanyId($current_company->getId(), $current_user_prefs->getItemsPerPage(), $page, NULL, $sort_array);
        $pager = new Pager($rhlf);
        //$type_options = $aplf->getOptions('type');
        foreach ($rhlf as $rh_obj) {
            $rows[] = array('id' => $rh_obj->getId(), 'name' => $rh_obj->getName(), 'next_date' => $rh_obj->getNextDate(time()), 'deleted' => $rh_obj->getDeleted());
        }
        //Special sorting since next_date is calculated outside of the DB.
        if ($sort_column == 'next_date') {
            Debug::Text('Sort By Date!', __FILE__, __LINE__, __METHOD__, 10);
            $rows = Sort::Multisort($rows, $sort_column, NULL, $sort_order);
        }
        $smarty->assign_by_ref('rows', $rows);
        $smarty->assign_by_ref('sort_column', $sort_column);
        $smarty->assign_by_ref('sort_order', $sort_order);
        $smarty->assign_by_ref('paging_data', $pager->getPageVariables());
        break;
}
$smarty->display('policy/RecurringHolidayList.tpl');