function getData()
 {
     $psenlf = new PayStubEntryNameListFactory();
     $pslf = new PayStubListFactory();
     //$pslf->getByIdAndUserId($id, $current_user->getId(), $current_user_prefs->getItemsPerPage(), $page, NULL, array($sort_column => $sort_order) );
     $pslf->getById($this->pay_stub_id);
     $pager = new Pager($pslf);
     foreach ($pslf as $pay_stub_obj) {
         //Get pay stub entries.
         $pself = new PayStubEntryListFactory();
         $pself->getByPayStubId($pay_stub_obj->getId());
         $prev_type = NULL;
         $description_subscript_counter = 1;
         foreach ($pself as $pay_stub_entry) {
             $description_subscript = NULL;
             $pay_stub_entry_name_obj = $psenlf->getById($pay_stub_entry->getPayStubEntryNameId())->getCurrent();
             if ($prev_type == 40 or $pay_stub_entry_name_obj->getType() != 40) {
                 $type = $pay_stub_entry_name_obj->getType();
             }
             if ($pay_stub_entry->getDescription() !== NULL and $pay_stub_entry->getDescription() !== FALSE) {
                 $pay_stub_entry_descriptions[] = array('subscript' => $description_subscript_counter, 'description' => $pay_stub_entry->getDescription());
                 $description_subscript = $description_subscript_counter;
                 $description_subscript_counter++;
             }
             $this->pay_stub_entries[$type][] = array('id' => $pay_stub_entry->getId(), 'pay_stub_entry_name_id' => $pay_stub_entry->getPayStubEntryNameId(), 'type' => $pay_stub_entry_name_obj->getType(), 'name' => $pay_stub_entry_name_obj->getName(), 'display_name' => $pay_stub_entry_name_obj->getDescription(), 'rate' => $pay_stub_entry->getRate(), 'units' => $pay_stub_entry->getUnits(), 'ytd_units' => $pay_stub_entry->getYTDUnits(), 'amount' => $pay_stub_entry->getAmount(), 'ytd_amount' => $pay_stub_entry->getYTDAmount(), 'description' => $pay_stub_entry->getDescription(), 'description_subscript' => $description_subscript, 'created_date' => $pay_stub_entry->getCreatedDate(), 'created_by' => $pay_stub_entry->getCreatedBy(), 'updated_date' => $pay_stub_entry->getUpdatedDate(), 'updated_by' => $pay_stub_entry->getUpdatedBy(), 'deleted_date' => $pay_stub_entry->getDeletedDate(), 'deleted_by' => $pay_stub_entry->getDeletedBy());
             $prev_type = $pay_stub_entry_name_obj->getType();
         }
         //'entries' => $pay_stub_entries,
         $this->pay_stub = array('id' => $pay_stub_obj->getId(), 'user_id' => $pay_stub_obj->getUser(), 'pay_period_id' => $pay_stub_obj->getPayPeriod(), 'advance' => $pay_stub_obj->getAdvance(), 'status' => $pay_stub_obj->getStatus(), 'created_date' => $pay_stub_obj->getCreatedDate(), 'created_by' => $pay_stub_obj->getCreatedBy(), 'updated_date' => $pay_stub_obj->getUpdatedDate(), 'updated_by' => $pay_stub_obj->getUpdatedBy(), 'deleted_date' => $pay_stub_obj->getDeletedDate(), 'deleted_by' => $pay_stub_obj->getDeletedBy());
         //Get Pay Period information
         $pplf = new PayPeriodListFactory();
         $pay_period_obj = $pplf->getById($pay_stub_obj->getPayPeriod())->getCurrent();
         if ($pay_stub_obj->getAdvance() == TRUE) {
             $pp_start_date = $pay_period_obj->getStartDate();
             $pp_end_date = $pay_period_obj->getAdvanceEndDate();
             $pp_transaction_date = $pay_period_obj->getAdvanceTransactionDate();
         } else {
             $pp_start_date = $pay_period_obj->getStartDate();
             $pp_end_date = $pay_period_obj->getEndDate();
             $pp_transaction_date = $pay_period_obj->getTransactionDate();
         }
         $this->pay_period = array('start_date' => TTDate::getDate('DATE', $pp_start_date), 'end_date' => TTDate::getDate('DATE', $pp_end_date), 'transaction_date' => TTDate::getDate('DATE', $pp_transaction_date));
         //Get User information
         $ulf = new UserListFactory();
         $this->user_obj = $ulf->getById($pay_stub_obj->getUser())->getCurrent();
         //Get company information
         $clf = new CompanyListFactory();
         $this->company_obj = $clf->getById($this->user_obj->getCompany())->getCurrent();
     }
 }
 function setName($name)
 {
     $name = trim($name);
     $psenlf = new PayStubEntryNameListFactory();
     $result = $psenlf->getByName($name);
     if ($this->Validator->isResultSetWithRows('name', $result, TTi18n::gettext('Invalid Entry Name'))) {
         $this->data['pay_stub_entry_name_id'] = $result->getId();
         return TRUE;
     }
     return FALSE;
 }
     }
     //$psenaf->FailTransaction();
     $psenaf->CommitTransaction();
     Redirect::Page(URLBuilder::getURL(NULL, Environment::getBaseURL() . '/pay_stub/EditPayStubEntryNameAccount.php'));
     break;
 default:
     if (!isset($action)) {
         BreadCrumb::setCrumb($title);
         $psenalf = new PayStubEntryNameAccountListFactory();
         $psenalf->getByCompanyId($current_company->getId());
         foreach ($psenalf as $name_account_obj) {
             //Debug::Arr($department,'Department', __FILE__, __LINE__, __METHOD__,10);
             $name_account_data[$name_account_obj->getPayStubEntryNameId()] = array('id' => $name_account_obj->getId(), 'pay_stub_entry_name_id' => $name_account_obj->getPayStubEntryNameId(), 'debit_account' => $name_account_obj->getDebitAccount(), 'credit_account' => $name_account_obj->getCreditAccount(), 'created_date' => $name_account_obj->getCreatedDate(), 'created_by' => $name_account_obj->getCreatedBy(), 'updated_date' => $name_account_obj->getUpdatedDate(), 'updated_by' => $name_account_obj->getUpdatedBy(), 'deleted_date' => $name_account_obj->getDeletedDate(), 'deleted_by' => $name_account_obj->getDeletedBy());
         }
         //Get all accounts
         $psenlf = new PayStubEntryNameListFactory();
         $psenlf->getAll();
         $type_options = $psenlf->getOptions('type');
         $i = 0;
         foreach ($psenlf as $entry_name_obj) {
             $display_type = FALSE;
             if ($i == 0) {
                 $display_type = TRUE;
             } else {
                 if ($entry_name_obj->getType() != $prev_type_id) {
                     $display_type = TRUE;
                 }
             }
             $name_account_data[$entry_name_obj->getId()]['pay_stub_entry_description'] = $entry_name_obj->getDescription();
             $name_account_data[$entry_name_obj->getId()]['pay_stub_entry_name_id'] = $entry_name_obj->getId();
             $name_account_data[$entry_name_obj->getId()]['type_id'] = $entry_name_obj->getType();
 function getByIdArray($id, $include_blank = TRUE)
 {
     if ($id == '') {
         return FALSE;
     }
     $psenlf = new PayStubEntryNameListFactory();
     $psenlf->getById($id);
     if ($include_blank == TRUE) {
         $entry_name_list[0] = '--';
     }
     $type_options = $this->getOptions('type');
     foreach ($psenlf as $entry_name) {
         $entry_name_list[$entry_name->getID()] = $type_options[$entry_name->getType()] . ' - ' . $entry_name->getDescription();
     }
     return $entry_name_list;
 }
if (!$permission->Check('report', 'enabled') or !$permission->Check('report', 'view_employee_pay_stub_summary')) {
    $permission->Redirect(FALSE);
    //Redirect
}
$smarty->assign('title', TTi18n::gettext($title = 'Employee Pay Stub Summary'));
// See index.php
BreadCrumb::setCrumb($title);
/*
 * Get FORM variables
 */
extract(FormVariables::GetVariables(array('action', 'page', 'sort_column', 'sort_order', 'user_ids', 'show_ytd')));
URLBuilder::setURL($_SERVER['SCRIPT_NAME'], array('sort_column' => $sort_column, 'sort_order' => $sort_order, 'page' => $page));
switch ($action) {
    case 'Submit':
    default:
        $psenlf = new PayStubEntryNameListFactory();
        $ulf = new UserListFactory();
        if (!isset($user_ids) or $user_ids == '' or $user_ids[0] == 0) {
            //$user_ids = array_keys( $ulf->getByCompanyIdArray( $current_company->getId() ) );
            $user_ids = array($current_user->getId());
        }
        //Get all pay stubs for this pay period
        $pslf = new PayStubListFactory();
        $pslf->getByUserIdAndCompanyId($user_ids, $current_company->getId(), NULL, NULL, array('advance' => '= \'f\''), array('user_id' => 'asc', 'pay_period_id' => 'asc'));
        $pager = new Pager($pslf);
        $pseallf = new PayStubEntryAccountLinkListFactory();
        $pseallf->getByCompanyId($current_company->getId());
        if ($pseallf->getRecordCount() > 0) {
            $pseal_obj = $pseallf->getCurrent();
            $entry_name_ids = array($pseal_obj->getTotalGross(), $pseal_obj->getMonthlyAdvance(), $pseal_obj->getTotalEmployeeDeduction(), $pseal_obj->getTotalEmployerDeduction(), $pseal_obj->getTotalNetPay(), $pseal_obj->getMonthlyAdvanceDeduction(), $pseal_obj->getMonthlyAdvanceDeduction(), $pseal_obj->getVacationAccrual());
            //array(10,11,18,22,23,24,25);