/** * Returns details of a device like synctimes, * policy and wipe status, synched folders etc * * @param string $devid device id * @param string $user user to be looked up * * @return ASDevice object * @access public */ public static function GetDeviceDetails($devid, $user) { try { $device = new ASDevice($devid, ASDevice::UNDEFINED, $user, ASDevice::UNDEFINED); $device->SetData(ZPush::GetStateMachine()->GetState($devid, IStateMachine::DEVICEDATA), false); $device->StripData(); try { $lastsync = SyncCollections::GetLastSyncTimeOfDevice($device); if ($lastsync) { $device->SetLastSyncTime($lastsync); } } catch (StateInvalidException $sive) { ZLog::Write(LOGLEVEL_WARN, sprintf("ZPushAdmin::GetDeviceDetails(): device '%s' of user '%s' has invalid states. Please sync to solve this issue.", $devid, $user)); $device->SetDeviceError("Invalid states. Please force synchronization!"); } return $device; } catch (StateNotFoundException $e) { ZLog::Write(LOGLEVEL_ERROR, sprintf("ZPushAdmin::GetDeviceDetails(): device '%s' of user '%s' can not be found", $devid, $user)); return false; } }