Пример #1
0
 /**
  * get user device
  *
  * @param string $_deviceId
  * @param string $_deviceType
  * @param string $_userAgent
  * @param string $_acsVersion
  * @return ActiveSync_Model_Device
  */
 public function getUserDevice($_deviceId, $_deviceType, $_userAgent, $_acsVersion)
 {
     $deviceFilter = new ActiveSync_Model_DeviceFilter(array(array('field' => 'deviceid', 'operator' => 'equals', 'value' => $_deviceId), array('field' => 'owner_id', 'operator' => 'equals', 'value' => Tinebase_Core::getUser()->accountId)));
     $devices = $this->searchDevice($deviceFilter);
     if (count($devices) > 0) {
         // update existing device
         $device = $devices[0];
         $device->useragent = $_userAgent;
         $device->acsversion = $_acsVersion;
         $device->devicetype = $_deviceType;
         $device = $this->updateDevice($device);
     } else {
         // create new device
         $device = new ActiveSync_Model_Device(array('deviceid' => $_deviceId, 'devicetype' => $_deviceType, 'owner_id' => Tinebase_Core::getUser()->accountId, 'policy_id' => 1, 'useragent' => $_userAgent, 'acsversion' => $_acsVersion, 'policykey' => Syncope_Command_Provision::generatePolicyKey()));
         $device = $this->createDevice($device);
     }
     return $device;
 }