Beispiel #1
0
 /**
  * TODO: Will need to be moved/merged to/with FileSystemExecModule
  */
 public static function delete($params)
 {
     $currentUser = ProcManager::getInstance()->getCurrentProcess()->getLoginContext()->getEyeosUser();
     $filesInfo = array();
     $apiManager = new ApiManager();
     foreach ($params as $param) {
         $fileToRemove = FSI::getFile($param['file']);
         $filesInfo[] = $fileToRemove->getAbsolutePath();
         $isFile = !$fileToRemove->isDirectory();
         if ($fileToRemove->delete(true)) {
             self::removeUrlShareInfo($param['file']);
             if (isset($param['id'])) {
                 $cloud = $param['cloud'];
                 $token = $_SESSION['access_token_' . $cloud . '_v2'];
                 $resourceUrl = null;
                 if (isset($param['resource_url'])) {
                     $token = new stdClass();
                     $token->key = $param['access_token_key'];
                     $token->secret = $param['access_token_secret'];
                     $resourceUrl = $param['resource_url'];
                 }
                 $result = $apiManager->deleteMetadata($cloud, $token, $isFile, $param['id'], $currentUser->getId(), $fileToRemove->getParentPath(), $resourceUrl);
                 if ($result) {
                     if (isset($result['error']) && $result['error'] == 403) {
                         $denied = self::permissionDeniedCloud($cloud);
                         $result['path'] = $denied['path'];
                         return $result;
                     }
                 }
             }
         }
     }
     return $filesInfo;
 }