private function indexMusicTag(FinderIndexerResult &$item, MusicTag $musicTag)
 {
     $musicTag->addConfiguration($this->configuration);
     $musicFolder = new MusicFolder($musicTag);
     if ($musicFolder->isExists()) {
         $sortByAsc = $musicTag->getConfiguration()->isSortByAsc();
         $maxRows = $musicTag->getConfiguration()->getMaxRows();
         $offset = $musicTag->getOffset();
         $page = $musicTag->getPageNumber();
         $totaloffset = $page * $maxRows + $offset;
         $musicItems = $musicFolder->getMusicItems($sortByAsc, $maxRows, $totaloffset);
         $baseUrl = $item->url . "#";
         foreach ($musicItems as $musicItem) {
             $this->indexMusicItem($item, $baseUrl, $musicItem);
         }
     }
 }
 private function handleSingleMusicTag($article, MusicTag $musicTag)
 {
     $musicTag->addConfiguration($this->configuration);
     $musicFolder = new MusicFolder($musicTag);
     $htmlTableString = $this->getHtmlTableString($musicTag, $musicFolder);
     if ($musicTag->getConfiguration()->includeSubdirectories()) {
         $path = $musicTag->getPathTrail();
         // Retrieve All subdirs relative to $path...
         $directories = $this->getAllSubdirectories($path);
         foreach ($directories as $directory) {
             $musicFolder = new MusicFolder($musicTag);
             $musicFolder->setOverridePath($path . DIRECTORY_SEPARATOR . $directory);
             $subHtmlTable = $this->getHtmlTableString($musicTag, $musicFolder);
             if ($subHtmlTable) {
                 $title = str_replace(DIRECTORY_SEPARATOR, " — ", $directory);
                 $htmlTableString = $htmlTableString . "<h3>{$title}</h3>" . $subHtmlTable;
             }
         }
     }
     $musicTag->setReplacementContent($htmlTableString);
     MusicTagsHelper::replaceTagsWithReplacementContent($article, $musicTag);
 }