function checkFolders()
 {
     $baseFolder = GalleryResourceStorage::getResourcesStorageFolder();
     $userFolder = GalleryResourceStorage::getUserFolder($this->_blogInfo->getId());
     $previewsFolder = GalleryResourceStorage::getPreviewsFolder($this->_blogInfo->getId());
     $folders = "{$baseFolder}<br/>{$userFolder}<br/>{$previewsFolder}";
     $message = "";
     // check if the storage folder exists and it is readable
     if (!GalleryResourceStorage::checkBaseStorageFolder() || !GalleryResourceStorage::checkUserStorageFolder($this->_blogInfo->getId()) || !GalleryResourceStorage::checkPreviewsStorageFolder($this->_blogInfo->getId()) || !GalleryResourceStorage::checkMediumSizePreviewsStorageFolder($this->_blogInfo->getId())) {
         $message = $this->_locale->pr("error_base_storage_folder_missing_or_unreadable", $folders);
     }
     return $message;
 }
 /**
  * @private
  */
 function _checkUserStorageFolder($ownerId)
 {
     $baseFolder = GalleryResourceStorage::getResourcesStorageFolder();
     if ($baseFolder[strlen($baseFolder) - 1] == "/") {
         $baseFolder = substr($baseFolder, 0, strlen($baseFolder) - 1);
     }
     $userFolder = GalleryResourceStorage::getUserFolder($ownerId);
     if ($userFolder[strlen($userFolder) - 1] == "/") {
         $userFolder = substr($userFolder, 0, strlen($userFolder) - 1);
     }
     if (!File::isDir($userFolder)) {
         // folder does not exist, so we should try to create it
         if (!File::createDir($userFolder, 0755)) {
             throw new Exception("Could not create user storage folder for resources: " . $userFolder);
             return false;
             //die();
         }
     }
     if (!File::isReadable($userFolder)) {
         //throw( new Exception( $userFolder." user storage folder exists but it is not readable!" ));
         return false;
         //die();
     }
     return true;
 }
 function &getDataChunk($chunksize)
 {
     if (!$this->_fileDescriptor) {
         $fileParts = explode(".", $this->getFileName());
         $fileExt = $fileParts[count($fileParts) - 1];
         $resourceStorageFolder = GalleryResourceStorage::getResourcesStorageFolder();
         $fileName = $resourceStorageFolder . $this->getOwnerId() . "/" . $this->getOwnerId() . "-" . $this->getId() . "." . $fileExt;
         /* store this for use again */
         $this->_fileDescriptor = @fopen($fileName, "rb");
         /* open failed... we'll just say empty file */
         if (!$this->_fileDescriptor) {
             return false;
         }
     }
     return $this->_getDataChunk($this->_fileDescriptor, $chunksize);
 }