public function synchronizeClients() { $all = array(); $subUsers = MonitisApi::clients(true); $clntByUsr = monitisSqlHelper::query('SELECT user_id, firstname, lastname, email, LOWER(status) as status, api_key, secret_key FROM mod_monitis_user LEFT JOIN tblclients ON tblclients.id=mod_monitis_user.user_id'); for ($i = 0; $i < count($subUsers); $i++) { $apikey = $subUsers[$i]['apikey']; $whmcsUser = MonitisHelper::in_array($clntByUsr, 'api_key', $apikey); $userid = 0; // user linked if ($whmcsUser) { $userid = $whmcsUser['user_id']; } else { // link user $arr = explode('_', $subUsers[$i]['account']); if ($arr && $arr[0]) { $userid = intval(substr($arr[0], 5)); if ($userid > 0) { $resp = monitisClientApi::linkUserByApikey($apikey, $userid); if (@$resp['status'] == 'ok' && isset($resp['data'])) { //$secretkey = $resp['data']['secret_key']; $whmcsUser = $this->userById($userid); $whmcsUser['api_key'] = $apikey; $whmcsUser['secret_key'] = $resp['data']['secret_key']; } } } } $monitors = null; if ($userid > 0) { $monitors = $subUsers[$i]['monitors']; $monitors = $this->synchronizeMonitors($userid, $monitors); } $all[] = array('api_user' => $subUsers[$i], 'whmcs_user' => $whmcsUser, 'monitors' => $monitors); } return $all; }
static function getUserByEmail($user) { $allUsers = MonitisApi::clients(); for ($i = 0; $i < count($allUsers); $i++) { if (strtolower($allUsers[$i]['account']) == strtolower($user['email'])) { return $allUsers[$i]; } } return null; }