function DeleteTags($TagFormatsToDelete) { foreach ($TagFormatsToDelete as $DeleteTagFormat) { $success = false; // overridden if tag deletion is successful switch ($DeleteTagFormat) { case 'id3v1': $id3v1_writer = new getid3_write_id3v1(); $id3v1_writer->filename = $this->filename; if (($success = $id3v1_writer->RemoveID3v1()) === false) { $this->errors[] = 'RemoveID3v1() failed with message(s):<PRE><UL><LI>' . trim(implode('</LI><LI>', $id3v1_writer->errors)) . '</LI></UL></PRE>'; } break; case 'id3v2': $id3v2_writer = new getid3_write_id3v2(); $id3v2_writer->filename = $this->filename; if (($success = $id3v2_writer->RemoveID3v2()) === false) { $this->errors[] = 'RemoveID3v2() failed with message(s):<PRE><UL><LI>' . trim(implode('</LI><LI>', $id3v2_writer->errors)) . '</LI></UL></PRE>'; } break; case 'ape': $ape_writer = new getid3_write_apetag(); $ape_writer->filename = $this->filename; if (($success = $ape_writer->DeleteAPEtag()) === false) { $this->errors[] = 'DeleteAPEtag() failed with message(s):<PRE><UL><LI>' . trim(implode('</LI><LI>', $ape_writer->errors)) . '</LI></UL></PRE>'; } break; case 'vorbiscomment': $vorbiscomment_writer = new getid3_write_vorbiscomment(); $vorbiscomment_writer->filename = $this->filename; if (($success = $vorbiscomment_writer->DeleteVorbisComment()) === false) { $this->errors[] = 'DeleteVorbisComment() failed with message(s):<PRE><UL><LI>' . trim(implode('</LI><LI>', $vorbiscomment_writer->errors)) . '</LI></UL></PRE>'; } break; case 'metaflac': $metaflac_writer = new getid3_write_metaflac(); $metaflac_writer->filename = $this->filename; if (($success = $metaflac_writer->DeleteMetaFLAC()) === false) { $this->errors[] = 'DeleteMetaFLAC() failed with message(s):<PRE><UL><LI>' . trim(implode('</LI><LI>', $metaflac_writer->errors)) . '</LI></UL></PRE>'; } break; case 'lyrics3': $lyrics3_writer = new getid3_write_lyrics3(); $lyrics3_writer->filename = $this->filename; if (($success = $lyrics3_writer->DeleteLyrics3()) === false) { $this->errors[] = 'DeleteLyrics3() failed with message(s):<PRE><UL><LI>' . trim(implode('</LI><LI>', $lyrics3_writer->errors)) . '</LI></UL></PRE>'; } break; case 'real': $real_writer = new getid3_write_real(); $real_writer->filename = $this->filename; if (($success = $real_writer->RemoveReal()) === false) { $this->errors[] = 'RemoveReal() failed with message(s):<PRE><UL><LI>' . trim(implode('</LI><LI>', $real_writer->errors)) . '</LI></UL></PRE>'; } break; default: $this->errors[] = 'Invalid tag format to delete: "' . $tagformat . '"'; return false; break; } if (!$success) { return false; } } return true; }