Пример #1
0
 /**
  * Returns a FolderID of default classes
  * this is for AS 1.0 compatibility:
  *      this information was made available during GetHierarchy()
  *
  * @param string    $class              The class requested
  *
  * @access public
  * @return string
  * @throws NoHierarchyCacheAvailableException
  */
 public function GetFolderIdFromCacheByClass($class)
 {
     $folderidforClass = false;
     // look at the default foldertype for this class
     $type = ZPush::getDefaultFolderTypeFromFolderClass($class);
     if ($type && $type > SYNC_FOLDER_TYPE_OTHER && $type < SYNC_FOLDER_TYPE_USER_MAIL) {
         $folderids = $this->device->GetAllFolderIds();
         foreach ($folderids as $folderid) {
             if ($type == $this->device->GetFolderType($folderid)) {
                 $folderidforClass = $folderid;
                 break;
             }
         }
         // Old Palm Treos always do initial sync for calendar and contacts, even if they are not made available by the backend.
         // We need to fake these folderids, allowing a fake sync/ping, even if they are not supported by the backend
         // if the folderid would be available, they would already be returned in the above statement
         if ($folderidforClass == false && ($type == SYNC_FOLDER_TYPE_APPOINTMENT || $type == SYNC_FOLDER_TYPE_CONTACT)) {
             $folderidforClass = SYNC_FOLDER_TYPE_DUMMY;
         }
     }
     ZLog::Write(LOGLEVEL_DEBUG, sprintf("DeviceManager->GetFolderIdFromCacheByClass('%s'): '%s' => '%s'", $class, $type, $folderidforClass));
     return $folderidforClass;
 }