| $employees = $this->getEmployees(); | $employees = $this->getEmployees(); | ||||
| //add new staff | //add new staff | ||||
| foreach ( $employees as $e){ | foreach ( $employees as $e){ | ||||
| $login = $e->getContactID(); | |||||
| $login = $e->getEmployeeID(); | |||||
| $user = get_user_by('login', $login); | $user = get_user_by('login', $login); | ||||
| if ($user === false){ | if ($user === false){ | ||||
| $this->add_new_staff($e); | $this->add_new_staff($e); | ||||
| }else{ | }else{ | ||||
| $msg = "==(Add Client failed)=="; | $msg = "==(Add Client failed)=="; | ||||
| $this->logConsole($msg); | $this->logConsole($msg); | ||||
| $msg = sprintf("ADD Client name=[%s] {%s} Failed\n", $contact->getName(), $contact->getContactID()); | |||||
| error_log("ACARE add client failed: $msg"); | |||||
| } | } | ||||
| } | } | ||||
| } | } | ||||
| }else{ | }else{ | ||||
| $msg = "==(Add staff failed)=="; | $msg = "==(Add staff failed)=="; | ||||
| $this->logConsole($msg); | $this->logConsole($msg); | ||||
| $msg = sprintf("ADD employee name=[%s %s] {%s} Failed\n", | |||||
| $employee->getFirstName(), | |||||
| $employee->getLastName(), | |||||
| $employee->getEmployeeID()); | |||||
| error_log("ACARE add employee failed: $msg"); | |||||
| } | } | ||||
| } | } | ||||
| } | } | ||||
| } | } | ||||
| private function add_new_client(){ | private function add_new_client(){ | ||||
| if ($this->too_close_to_add_employee()){ | |||||
| if ($this->too_close_to_add_client()){ | |||||
| return; | return; | ||||
| } | } | ||||
| update_option('bts_add_client_last_sync', time()); | update_option('bts_add_client_last_sync', time()); | ||||
| } | } | ||||
| private function add_new_employee(){ | private function add_new_employee(){ | ||||
| if ($this->too_close_to_add_client()){ | |||||
| if ($this->too_close_to_add_employee()){ | |||||
| return; | return; | ||||
| } | } | ||||
| update_option('bts_add_employee_last_sync', time()); | update_option('bts_add_employee_last_sync', time()); | ||||
| $this->sync_employee(true);//add new only; | |||||
| $this->sync_employees(true);//add new only; | |||||
| } | } | ||||
| private function sync_payroll_calendar() | private function sync_payroll_calendar() | ||||
| $lastsync = get_option('bts_add_employee_last_sync', 0); | $lastsync = get_option('bts_add_employee_last_sync', 0); | ||||
| $now = time(); | $now = time(); | ||||
| $diff = $now - (int) $lastsync; | $diff = $now - (int) $lastsync; | ||||
| return $diff < 1.1 * $this->minimum_sync_interval_in_seconds; //default 1.1 * 10 minutes | |||||
| return $diff < 1.5 * $this->minimum_sync_interval_in_seconds; //default 1.1 * 10 minutes | |||||
| } | } | ||||
| private function too_close_to_add_client(){ | private function too_close_to_add_client(){ | ||||
| $lastsync = get_option('bts_add_client_last_sync', 0); | $lastsync = get_option('bts_add_client_last_sync', 0); | ||||
| $now = time(); | $now = time(); | ||||
| $diff = $now - (int) $lastsync; | $diff = $now - (int) $lastsync; | ||||
| return $diff < 1.2 * $this->minimum_sync_interval_in_seconds; //default 1.2 * 10 minutes | |||||
| return $diff < 2.0 * $this->minimum_sync_interval_in_seconds; //default 1.2 * 10 minutes | |||||
| } | } | ||||
| private function too_close_to_sync_payroll_calendar(){ | private function too_close_to_sync_payroll_calendar(){ | ||||
| $lastsync = get_option('bts_pay_roll_calendar_last_sync', 0); | $lastsync = get_option('bts_pay_roll_calendar_last_sync', 0); | ||||
| $now = time(); | $now = time(); | ||||
| $diff = $now - (int) $lastsync; | $diff = $now - (int) $lastsync; | ||||
| return $diff < 1.3 * $this->minimum_sync_interval_in_seconds; //default 1.3 * 10 minutes | |||||
| return $diff < 3.0 * $this->minimum_sync_interval_in_seconds; //default 1.3 * 10 minutes | |||||
| } | } | ||||
| public function get_payroll_calendar() | public function get_payroll_calendar() |