original_string: public function onDeleteItem()
      {
          $this->abortIfReadOnly();
  
          $paths = Input::get('paths');
  
          if (!is_array($paths)) {
              throw new ApplicationException('Invalid input data');
          }
  
          $library = MediaLibrary::instance();
  
          $filesToDelete = [];
          foreach ($paths as $pathInfo) {
              $path = array_get($pathInfo, 'path');
              $type = array_get($pathInfo, 'type');
  
              if (!$path || !$type) {
                  throw new ApplicationException('Invalid input data');
              }
  
              if ($type === MediaLibraryItem::TYPE_FILE) {
                  /*
                   * Add to bulk collection
                   */
                  $filesToDelete[] = $path;
              }
              elseif ($type === MediaLibraryItem::TYPE_FOLDER) {
                  /*
                   * Delete single folder
                   */
                  $library->deleteFolder($path);
  
                  /**
                   * @event media.folder.delete
                   * Called after a folder is deleted
                   *
                   * Example usage:
                   *
                   *     Event::listen('media.folder.delete', function((\Backend\Widgets\MediaManager) $mediaWidget, (string) $path) {
                   *         \Log::info($path . " was deleted");
                   *     });
                   *
                   * Or
                   *
                   *     $mediaWidget->bindEvent('folder.delete', function ((string) $path) {
                   *         \Log::info($path . " was deleted");
                   *     });
                   *
                   */
                  $this->fireSystemEvent('media.folder.delete', [$path]);
              }
          }
  
          if (count($filesToDelete) > 0) {
              /*
               * Delete collection of files
               */
              $library->deleteFiles($filesToDelete);
  
              /*
               * Extensibility
               */
              foreach ($filesToDelete as $path) {
                  /**
                   * @event media.file.delete
                   * Called after a file is deleted
                   *
                   * Example usage:
                   *
                   *     Event::listen('media.file.delete', function((\Backend\Widgets\MediaManager) $mediaWidget, (string) $path) {
                   *         \Log::info($path . " was deleted");
                   *     });
                   *
                   * Or
                   *
                   *     $mediaWidget->bindEvent('file.delete', function ((string) $path) {
                   *         \Log::info($path . " was deleted");
                   *     });
                   *
                   */
                  $this->fireSystemEvent('media.file.delete', [$path]);
              }
          }
  
          $library->resetCache();
          $this->prepareVars();
  
          return [
              '#'.$this->getId('item-list') => $this->makePartial('item-list')
          ];
      }
code: public function onDeleteItem()
      {
          $this->abortIfReadOnly();
  
          $paths = Input::get('paths');
  
          if (!is_array($paths)) {
              throw new ApplicationException('Invalid input data');
          }
  
          $library = MediaLibrary::instance();
  
          $filesToDelete = [];
          foreach ($paths as $pathInfo) {
              $path = array_get($pathInfo, 'path');
              $type = array_get($pathInfo, 'type');
  
              if (!$path || !$type) {
                  throw new ApplicationException('Invalid input data');
              }
  
              if ($type === MediaLibraryItem::TYPE_FILE) {
                  /*
                   * Add to bulk collection
                   */
                  $filesToDelete[] = $path;
              }
              elseif ($type === MediaLibraryItem::TYPE_FOLDER) {
                  /*
                   * Delete single folder
                   */
                  $library->deleteFolder($path);
  
                  /**
                   * @event media.folder.delete
                   * Called after a folder is deleted
                   *
                   * Example usage:
                   *
                   *     Event::listen('media.folder.delete', function((\Backend\Widgets\MediaManager) $mediaWidget, (string) $path) {
                   *         \Log::info($path . " was deleted");
                   *     });
                   *
                   * Or
                   *
                   *     $mediaWidget->bindEvent('folder.delete', function ((string) $path) {
                   *         \Log::info($path . " was deleted");
                   *     });
                   *
                   */
                  $this->fireSystemEvent('media.folder.delete', [$path]);
              }
          }
  
          if (count($filesToDelete) > 0) {
              /*
               * Delete collection of files
               */
              $library->deleteFiles($filesToDelete);
  
              /*
               * Extensibility
               */
              foreach ($filesToDelete as $path) {
                  /**
                   * @event media.file.delete
                   * Called after a file is deleted
                   *
                   * Example usage:
                   *
                   *     Event::listen('media.file.delete', function((\Backend\Widgets\MediaManager) $mediaWidget, (string) $path) {
                   *         \Log::info($path . " was deleted");
                   *     });
                   *
                   * Or
                   *
                   *     $mediaWidget->bindEvent('file.delete', function ((string) $path) {
                   *         \Log::info($path . " was deleted");
                   *     });
                   *
                   */
                  $this->fireSystemEvent('media.file.delete', [$path]);
              }
          }
  
          $library->resetCache();
          $this->prepareVars();
  
          return [
              '#'.$this->getId('item-list') => $this->makePartial('item-list')
          ];
      }
code_tokens: public function onDeleteItem ( ) { $ this -> abortIfReadOnly ( ) ; $ paths = Input :: get ( 'paths' ) ; if ( ! is_array ( $ paths ) ) { throw new ApplicationException ( 'Invalid input data' ) ; } $ library = MediaLibrary :: instance ( ) ; $ filesToDelete = [ ] ; foreach ( $ paths as $ pathInfo ) { $ path = array_get ( $ pathInfo , 'path' ) ; $ type = array_get ( $ pathInfo , 'type' ) ; if ( ! $ path || ! $ type ) { throw new ApplicationException ( 'Invalid input data' ) ; } if ( $ type === MediaLibraryItem :: TYPE_FILE ) { /*
                   * Add to bulk collection
                   */ $ filesToDelete [ ] = $ path ; } elseif ( $ type === MediaLibraryItem :: TYPE_FOLDER ) { /*
                   * Delete single folder
                   */ $ library -> deleteFolder ( $ path ) ; /**
                   * @event media.folder.delete
                   * Called after a folder is deleted
                   *
                   * Example usage:
                   *
                   *     Event::listen('media.folder.delete', function((\Backend\Widgets\MediaManager) $mediaWidget, (string) $path) {
                   *         \Log::info($path . " was deleted");
                   *     });
                   *
                   * Or
                   *
                   *     $mediaWidget->bindEvent('folder.delete', function ((string) $path) {
                   *         \Log::info($path . " was deleted");
                   *     });
                   *
                   */ $ this -> fireSystemEvent ( 'media.folder.delete' , [ $ path ] ) ; } } if ( count ( $ filesToDelete ) > 0 ) { /*
               * Delete collection of files
               */ $ library -> deleteFiles ( $ filesToDelete ) ; /*
               * Extensibility
               */ foreach ( $ filesToDelete as $ path ) { /**
                   * @event media.file.delete
                   * Called after a file is deleted
                   *
                   * Example usage:
                   *
                   *     Event::listen('media.file.delete', function((\Backend\Widgets\MediaManager) $mediaWidget, (string) $path) {
                   *         \Log::info($path . " was deleted");
                   *     });
                   *
                   * Or
                   *
                   *     $mediaWidget->bindEvent('file.delete', function ((string) $path) {
                   *         \Log::info($path . " was deleted");
                   *     });
                   *
                   */ $ this -> fireSystemEvent ( 'media.file.delete' , [ $ path ] ) ; } } $ library -> resetCache ( ) ; $ this -> prepareVars ( ) ; return [ '#' . $ this -> getId ( 'item-list' ) => $ this -> makePartial ( 'item-list' ) ] ; }
docstring: Delete library item AJAX handler
  @return array
docstring_tokens: Delete library item AJAX handler