Пример #1
0
 /**
  * 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;
     }
 }