}
    }
    $data['id3v2']['TXXX'][0]['encodingid'] = 0;
    $data['id3v2']['TXXX'][0]['description'] = 'ID3v2-tagged by';
    $data['id3v2']['TXXX'][0]['data'] = 'getID3() v' . GETID3VERSION . ' (www.silisoftware.com)';
    if ($_POST['WriteOrDelete'] == 'W') {
        // write tags
        if (isset($_POST['VersionToEdit1']) && $_POST['VersionToEdit1'] == '1') {
            if (!is_numeric($_POST['EditorGenre'])) {
                $EditorGenre = 255;
                // ID3v1 only supports predefined numeric genres (255 = unknown)
            }
            echo 'ID3v1 changes' . (WriteID3v1($EditorFilename, $_POST['EditorTitle'], $_POST['EditorArtist'], $_POST['EditorAlbum'], $_POST['EditorYear'], $_POST['EditorComment'], $_POST['EditorGenre'], $_POST['EditorTrack'], true) ? '' : ' NOT') . ' written successfully<HR>';
        }
        if (isset($_POST['VersionToEdit2']) && $_POST['VersionToEdit2'] == '2') {
            echo 'ID3v2 changes' . (WriteID3v2($EditorFilename, $data, 3, 0, true, 0, true) ? '' : ' NOT') . ' written successfully<HR>';
        }
    } else {
        // delete tags
        if (isset($_POST['VersionToEdit1']) && $_POST['VersionToEdit1'] == '1') {
            echo 'ID3v1 tag' . (RemoveID3v1($EditorFilename, true) ? '' : ' NOT') . ' successfully deleted<HR>';
        }
        if (isset($_POST['VersionToEdit2']) && $_POST['VersionToEdit2'] == '2') {
            echo 'ID3v2 tag' . (RemoveID3v2($EditorFilename, true) ? '' : ' NOT') . ' successfully deleted<HR>';
        }
    }
}
echo '<A HREF="' . $_SERVER['PHP_SELF'] . '">Start Over</A><BR>';
echo '<TABLE BORDER="0"><FORM ACTION="' . $_SERVER['PHP_SELF'] . '" METHOD="POST" ENCTYPE="multipart/form-data">';
echo '<TR><TD ALIGN="CENTER" COLSPAN="2"><B>Sample ID3v1/ID3v2/OggComment editor</B></TD></TR>';
if ($EditorFilename) {
 function alterFile($file, $data)
 {
     echo 'starting to write tag to ' . $file . "<br>";
     $data['tags']['id3v2']['TIT2']['encodingid'] = 0;
     $data['tags']['id3v2']['TPE1']['encodingid'] = 0;
     $data['tags']['id3v2']['TALB']['encodingid'] = 0;
     $data['tags']['id3v2']['TYER']['encodingid'] = 0;
     $data['tags']['id3v2']['TRCK']['encodingid'] = 0;
     $data['tags']['id3v2']['TCON']['encodingid'] = 0;
     //$data['tags']['id3v2']['COMM'][0]['encodingid'] = 0;
     //$data['tags']['id3v2']['COMM'][0]['language'] = 'eng';
     $data['tags']['id3v2']['TIT2']['data'] = $data['name'];
     $data['tags']['id3v2']['TPE1']['data'] = $data['artist'];
     $data['tags']['id3v2']['TALB']['data'] = $data['album'];
     $data['tags']['id3v2']['TYER']['data'] = $data['year'];
     $data['tags']['id3v2']['TRCK']['data'] = $data['track'];
     $data['tags']['id3v2']['TCON']['data'] = '(' . $data['genre'] . ')';
     //$data['tags']['id3v2']['COMM'][0]['data'] = $data['comment'];
     //$filename, $title='', $artist='', $album='', $year='', $comment='', $genre=255, $track='', $showerrors=FALSE
     // The  COMM fields generated errors. Commenting them out dit not render any trouble while altering the file, but
     // still - we need to check what is going on here..
     echo 'writing ID3v1 changes...';
     $result = WriteID3v1($file, $data['name'], $data['artist'], $data['album'], $data['year'], $data['comment'], $data['genre'], $data['track'], TRUE);
     if ($result) {
         echo "success<br>";
     } else {
         echo "FAILED";
     }
     echo 'writing ID3v2 changes...';
     $result = WriteID3v2($file, $data, 3, 0, TRUE, 0, TRUE);
     if ($result) {
         echo "success<br>";
     } else {
         echo "FAILED";
     }
 }
        echo '<B>$userfile != is_uploaded_file()</B><BR>';
    }
    $data['id3']['id3v2']['TXXX'][0]['encodingid'] = 0;
    $data['id3']['id3v2']['TXXX'][0]['description'] = 'ID3v2-tagged by';
    $data['id3']['id3v2']['TXXX'][0]['data'] = 'getID3() v' . GETID3VERSION . ' (www.silisoftware.com)';
    if ($WriteOrDelete == 'W') {
        // write tags
        if ($VersionToEdit1 == '1') {
            if (!is_numeric($EditorGenre)) {
                $EditorGenre = 255;
                // ID3v1 only supports predefined numeric genres (255 = unknown)
            }
            echo 'ID3v1 changes' . (WriteID3v1($EditorFilename, $EditorTitle, $EditorArtist, $EditorAlbum, $EditorYear, $EditorComment, $EditorGenre, $EditorTrack, TRUE) ? '' : ' NOT') . ' written successfully<BR>';
        }
        if ($VersionToEdit2 == '2') {
            echo 'ID3v2 changes' . (WriteID3v2($EditorFilename, $data, 3, 0, TRUE, 0, TRUE) ? '' : ' NOT') . ' written successfully<BR>';
        }
    } else {
        // delete tags
        if ($VersionToEdit1 == '1') {
            echo 'ID3v1 tag' . (RemoveID3v1($EditorFilename, TRUE) ? '' : ' NOT') . ' successfully deleted<BR>';
        }
        if ($VersionToEdit2 == '2') {
            echo 'ID3v2 tag' . (RemoveID3v2($EditorFilename, TRUE) ? '' : ' NOT') . ' successfully deleted<BR>';
        }
    }
}
echo '<A HREF="' . $PHP_SELF . '">Start Over</A><BR>';
echo '<TABLE BORDER="0"><FORM ACTION="' . $PHP_SELF . '" METHOD="POST" ENCTYPE="multipart/form-data">';
echo '<TR><TD ALIGN="CENTER" COLSPAN="2"><B>Sample ID3v2 editor</B></TD></TR>';
echo '<TR><TD ALIGN="RIGHT"><B>Filename</B></TD><TD><INPUT TYPE="TEXT" SIZE="40" NAME="EditorFilename" VALUE="' . FixTextFields($EditorFilename) . '"></TD></TR>';