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; }