Ejemplo n.º 1
0
function fisheye_process_ftp_directory($pProcessDir)
{
    global $gBitSystem, $gBitUser;
    if (empty($_REQUEST['gallery_additions'])) {
        $_REQUEST['gallery_additions'] = array();
    }
    $errors = array();
    if ($archiveDir = opendir($pProcessDir)) {
        $order = 100;
        while ($fileName = readdir($archiveDir)) {
            $sortedNames[] = $fileName;
        }
        sort($sortedNames);
        $order = 100;
        foreach ($sortedNames as $fileName) {
            if (!preg_match('/^\\./', $fileName) && $fileName != 'Thumbs.db') {
                $scanFile = array('type' => $gBitSystem->lookupMimeType(substr($fileName, strrpos($fileName, '.') + 1)), 'name' => $fileName, 'size' => filesize("{$pProcessDir}/{$fileName}"), 'tmp_name' => "{$pProcessDir}/{$fileName}");
                if (is_dir($pProcessDir . '/' . $fileName)) {
                    // create a new gallery from directory
                    $dirGallery = new FisheyeGallery();
                    $galleryHash = array('title' => str_replace('_', ' ', $fileName));
                    if ($dirGallery->store($galleryHash)) {
                        $dirGallery->addToGalleries($_REQUEST['gallery_additions']);
                        $errors = array_merge($errors, fisheye_process_directory($pProcessDir . '/' . $fileName, $dirGallery));
                    } else {
                        $errors = array_merge($errors, array_values($dirGallery->mErrors));
                    }
                    unset($dirGallery);
                } else {
                    if (preg_match('/(^image|pdf)/i', $scanFile['type'])) {
                        // process image
                        $newImage = new FisheyeImage();
                        $imageHash = array('upload' => $scanFile);
                        if ($newImage->store($imageHash)) {
                            $newImage->addToGalleries($_REQUEST['gallery_additions']);
                            // if we have a gallery to add these images to, load one of them
                            if (!empty($_REQUEST['gallery_additions'][0]) && @(!is_object($imageGallery))) {
                                $imageGallery = new FisheyeGallery();
                                $imageGallery->mGalleryId = $_REQUEST['gallery_additions'][0];
                                $imageGallery->load();
                            }
                            if (@(!is_object($imageGallery))) {
                                global $gBitUser;
                                $galleryHash = array('title' => $gBitUser->getDisplayName() . "'s Gallery");
                                $imageGallery = new FisheyeGallery();
                                if ($imageGallery->store($galleryHash)) {
                                    $imageGallery->load();
                                } else {
                                    $errors = array_merge($errors, array_values($imageGallery->mErrors));
                                }
                            }
                            $imageGallery->addItem($newImage->mContentId);
                        } else {
                            $errors = array_merge($errors, array_values($newImage->mErrors));
                        }
                    } else {
                        // create a new gallery from archive
                        $archiveGallery = new FisheyeGallery();
                        $galleryHash = array('title' => substr($fileName, 0, str_replace('_', ' ', strrpos($fileName, '.'))));
                        if (!$archiveGallery->store($galleryHash)) {
                            $errors = array_merge($errors, array_values($archiveGallery->mErrors));
                        }
                        $errors = fisheye_process_archive($scanFile, $archiveGallery, TRUE);
                        unset($archiveGallery);
                    }
                }
                $order += 10;
            }
        }
    }
    return $errors;
}
Ejemplo n.º 2
0
         $feedback['success'] = tra("Items security assigned");
         break;
     case 'gallerymove':
         if (empty($destGallery)) {
             $destGallery = new FisheyeGallery(NULL, $batchParam);
             $destGallery->load();
         }
         if ($batchParam != $contentId) {
             $gContent->removeItem($contentId);
         }
     case 'gallerycopy':
         if (empty($destGallery)) {
             $destGallery = new FisheyeGallery(NULL, $batchParam);
             $destGallery->load();
         }
         if ($destGallery->addItem($contentId)) {
             $feedback['success'][] = $galleryItem->getTitle() . ' ' . tra("added to") . ' ' . $destGallery->getTitle();
         } else {
             $feedback['error'][] = $galleryItem->getTitle() . ' ' . tra("could not be added to") . ' ' . $destGallery->getTitle();
         }
         break;
     case 'filenametoimagename':
         $renameHash = array();
         if (!empty($galleryItem->mInfo['filename'])) {
             $renameHash['title'] = file_name_to_title($galleryItem->mInfo['filename']);
             $galleryItem->store($renameHash);
             // update to prevent renaming value in text input
             $_REQUEST['image_title'][$contentId] = $renameHash['title'];
         }
         break;
 }