Ejemplo n.º 1
0
 protected function processActionCopyToMe()
 {
     $userStorage = Driver::getInstance()->getStorageByUserId($this->getUser()->getId());
     if (!$userStorage) {
         $this->errorCollection->add(array(new Error("Could not find storage for current user")));
         $this->sendJsonErrorResponse();
     }
     $folder = $userStorage->getFolderForSavedFiles($this->getUser()->getId());
     if (!$folder) {
         $this->errorCollection->add(array(new Error("Could not find folder for created files")));
         $this->sendJsonErrorResponse();
     }
     $newFile = $this->file->copyTo($folder, $this->getUser()->getId(), true);
     if (!$newFile) {
         $this->errorCollection->add(array(new Error("Could not copy file to storage for current user")));
         $this->sendJsonErrorResponse();
     }
     $crumbs = array();
     foreach ($newFile->getParents(Driver::getInstance()->getFakeSecurityContext()) as $parent) {
         if ($parent->getId() == $userStorage->getRootObjectId()) {
             continue;
         }
         $crumbs[] = $parent->getName();
     }
     unset($parent);
     $viewUrl = Driver::getInstance()->getUrlManager()->encodeUrn($userStorage->getProxyType()->getStorageBaseUrl() . 'path/' . implode('/', $crumbs));
     $this->sendJsonSuccessResponse(array('newId' => $newFile->getId(), 'viewUrl' => $viewUrl . '#hl-' . $newFile->getId()));
 }
Ejemplo n.º 2
0
 protected function processActionCopyToMe()
 {
     $userStorage = Driver::getInstance()->getStorageByUserId($this->getUser()->getId());
     if (!$userStorage) {
         $this->errorCollection->addOne(new Error('Could not find storage for current user'));
         $this->sendJsonErrorResponse();
     }
     $folder = $userStorage->getFolderForSavedFiles();
     if (!$folder) {
         $this->errorCollection->addOne(new Error('Could not find folder for created files'));
         $this->sendJsonErrorResponse();
     }
     $newFile = $this->file->copyTo($folder, $this->getUser()->getId(), true);
     if (!$newFile) {
         $this->errorCollection->addOne(new Error('Could not copy file to storage for current user'));
         $this->sendJsonErrorResponse();
     }
     $urlManager = Driver::getInstance()->getUrlManager();
     $viewUrl = $urlManager->encodeUrn($urlManager->getUrlFocusController('showObjectInGrid', array('objectId' => $newFile->getId())));
     $runViewerUrl = $urlManager->encodeUrn($urlManager->getUrlFocusController('showObjectInGrid', array('objectId' => $newFile->getId(), 'cmd' => 'show')));
     $this->sendJsonSuccessResponse(array('newId' => $newFile->getId(), 'viewUrl' => $viewUrl, 'runViewUrl' => $runViewerUrl));
 }