function getUsers($station_id)
 {
     Debug::Text('Getting Users for Station ID: ' . $station_id, __FILE__, __LINE__, __METHOD__, 10);
     if ($station_id == '') {
         return FALSE;
     }
     $permission = new Permission();
     //Gets all users allowed to punch in/out from this station
     $slf = new StationListFactory();
     $slf->getByStationID($station_id);
     if ($slf->getRecordCount() > 0) {
         Debug::Text('Found Station!!', __FILE__, __LINE__, __METHOD__, 10);
         $s_obj = $slf->getCurrent();
         $company_id = $s_obj->getCompany();
         if ($company_id != FALSE) {
             Debug::Text('Found Company: ' . $company_id, __FILE__, __LINE__, __METHOD__, 10);
             $ulf = new UserListFactory();
             $ulf->getByCompanyId($company_id);
             if ($ulf->getRecordCount() > 0) {
                 Debug::Text('Found Users ' . $ulf->getRecordCount() . ' for Company: ' . $company_id, __FILE__, __LINE__, __METHOD__, 10);
                 $x = 0;
                 foreach ($ulf as $u_obj) {
                     //Debug::Text('User ID: '. $u_obj->getId() .' iButton ID: '. $u_obj->getiButtonId() , __FILE__, __LINE__, __METHOD__,10);
                     $enable_job_tracking = $permission->Check('job', 'enabled', $u_obj->getId(), $u_obj->getCompany());
                     //Debug::Text('Enable Job Tracking for User: '******' Result: '. (int)$enable_job_tracking, __FILE__, __LINE__, __METHOD__,10);
                     if (version_compare($this->getClientVersion(), '2.7.0', '<')) {
                         //In offline punch mode, we use the system local time
                         //as we assume it is in the proper timezone for the user.
                         /*
                         $u_obj_prefs = $u_obj->getUserPreferenceObject();
                         if ( is_object( $u_obj_prefs ) ) {
                         	$time_zone = $u_obj_prefs->getTimeZone();
                         	$language = $u_obj_prefs->getLanguage();
                         } else {
                         	$time_zone = NULL;
                         	$language = NULL;
                         }
                         */
                         $ibutton = FALSE;
                         $finger_print_1 = FALSE;
                         $finger_print_2 = FALSE;
                         $finger_print_3 = FALSE;
                         $finger_print_4 = FALSE;
                         //Get User identification rows for ibutton and fingerprints.
                         $uilf = new UserIdentificationListFactory();
                         $uilf->getByUserIdAndTypeId($u_obj->getId(), array(10, 20));
                         //iButton and Griaule Fingerprints.
                         //Debug::Text('User Identication Records: '. $uilf->getRecordCount(), __FILE__, __LINE__, __METHOD__,10);
                         if ($uilf->getRecordCount() > 0) {
                             foreach ($uilf as $ui_obj) {
                                 if ($ui_obj->getType() == 10) {
                                     Debug::Text('Found iButton... User:  '******' Number: ' . $ui_obj->getNumber(), __FILE__, __LINE__, __METHOD__, 10);
                                     $ibutton = $ui_obj->getValue();
                                 } elseif ($ui_obj->getType() == 20) {
                                     Debug::Text('Found Griaule FingerPrint... User:  '******' Number: ' . $ui_obj->getNumber(), __FILE__, __LINE__, __METHOD__, 10);
                                     switch ($ui_obj->getNumber()) {
                                         case 10:
                                             $finger_print_1 = $ui_obj->getValue();
                                             break;
                                         case 20:
                                             $finger_print_2 = $ui_obj->getValue();
                                             break;
                                         case 30:
                                             $finger_print_3 = $ui_obj->getValue();
                                             break;
                                         case 40:
                                             $finger_print_4 = $ui_obj->getValue();
                                             break;
                                     }
                                 }
                             }
                         }
                         $user_list["'{$x}'"] = array('id' => (int) $u_obj->getId(), 'ibutton_id' => $ibutton, 'employee_number' => $u_obj->getEmployeeNumber(), 'user_name' => $u_obj->getUserName(), 'full_name' => $u_obj->getFullName(), 'default_branch_id' => (int) $u_obj->getDefaultBranch(), 'default_department_id' => (int) $u_obj->getDefaultDepartment(), 'finger_print_1' => $finger_print_1, 'finger_print_2' => $finger_print_2, 'finger_print_3' => $finger_print_3, 'finger_print_4' => $finger_print_4, 'enable_job_tracking' => $enable_job_tracking);
                     } else {
                         $user_list["'{$x}'"] = array('id' => (int) $u_obj->getId(), 'employee_number' => $u_obj->getEmployeeNumber(), 'user_name' => $u_obj->getUserName(), 'full_name' => $u_obj->getFullName(), 'default_branch_id' => (int) $u_obj->getDefaultBranch(), 'default_department_id' => (int) $u_obj->getDefaultDepartment(), 'enable_job_tracking' => $enable_job_tracking);
                     }
                     unset($enable_job_tracking, $time_zone, $language);
                     $x++;
                 }
                 if (isset($user_list)) {
                     Debug::Text('Returning User List!', __FILE__, __LINE__, __METHOD__, 10);
                     return $user_list;
                 }
             }
         }
     }
     Debug::Text('Returning FALSE!', __FILE__, __LINE__, __METHOD__, 10);
     return FALSE;
 }