Exemplo n.º 1
0
 /**
  *
  * @return boolean
  */
 public function WriteID3v1()
 {
     // File MUST be writeable - CHMOD(646) at least
     if (!empty($this->filename) && is_readable($this->filename) && is_writable($this->filename) && is_file($this->filename)) {
         $this->setRealFileSize();
         if ($this->filesize <= 0 || !GetId3_Lib_Helper::intValueSupported($this->filesize)) {
             $this->errors[] = 'Unable to WriteID3v1(' . $this->filename . ') because filesize (' . $this->filesize . ') is larger than ' . round(PHP_INT_MAX / 1073741824) . 'GB';
             return false;
         }
         if ($fp_source = fopen($this->filename, 'r+b')) {
             fseek($fp_source, -128, SEEK_END);
             if (fread($fp_source, 3) == 'TAG') {
                 fseek($fp_source, -128, SEEK_END);
                 // overwrite existing ID3v1 tag
             } else {
                 fseek($fp_source, 0, SEEK_END);
                 // append new ID3v1 tag
             }
             $this->tag_data['track'] = isset($this->tag_data['track']) ? $this->tag_data['track'] : (isset($this->tag_data['track_number']) ? $this->tag_data['track_number'] : (isset($this->tag_data['tracknumber']) ? $this->tag_data['tracknumber'] : ''));
             $new_id3v1_tag_data = GetId3_Module_Tag_Id3v1::GenerateID3v1Tag(isset($this->tag_data['title']) ? $this->tag_data['title'] : '', isset($this->tag_data['artist']) ? $this->tag_data['artist'] : '', isset($this->tag_data['album']) ? $this->tag_data['album'] : '', isset($this->tag_data['year']) ? $this->tag_data['year'] : '', isset($this->tag_data['genreid']) ? $this->tag_data['genreid'] : '', isset($this->tag_data['comment']) ? $this->tag_data['comment'] : '', isset($this->tag_data['track']) ? $this->tag_data['track'] : '');
             fwrite($fp_source, $new_id3v1_tag_data, 128);
             fclose($fp_source);
             return true;
         } else {
             $this->errors[] = 'Could not fopen(' . $this->filename . ', "r+b")';
             return false;
         }
     }
     $this->errors[] = 'File is not writeable: ' . $this->filename;
     return false;
 }
Exemplo n.º 2
0
 } elseif (!empty($OldThisFileInfo['comments']['track']) && is_array($OldThisFileInfo['comments']['track'])) {
     $RawTrackNumberArray = $OldThisFileInfo['comments']['track'];
 } else {
     $RawTrackNumberArray = array();
 }
 foreach ($RawTrackNumberArray as $key => $value) {
     if (strlen($value) > strlen($TrackNumber)) {
         // ID3v1 may store track as "3" but ID3v2/APE would store as "03/16"
         $TrackNumber = $value;
     }
 }
 if (strstr($TrackNumber, '/')) {
     list($TrackNumber, $TracksTotal) = explode('/', $TrackNumber);
 }
 echo '<tr><td align="right"><b>Track</b></td><td><input type="text" size="2" name="Track" value="' . htmlentities($TrackNumber, ENT_QUOTES) . '"> of <input type="text" size="2" name="TracksTotal" value="' . htmlentities($TracksTotal, ENT_QUOTES) . '"></TD></TR>';
 $ArrayOfGenresTemp = GetId3_Module_Tag_Id3v1::ArrayOfGenres();
 // get the array of genres
 foreach ($ArrayOfGenresTemp as $key => $value) {
     // change keys to match displayed value
     $ArrayOfGenres[$value] = $value;
 }
 unset($ArrayOfGenresTemp);
 // remove temporary array
 unset($ArrayOfGenres['Cover']);
 // take off these special cases
 unset($ArrayOfGenres['Remix']);
 unset($ArrayOfGenres['Unknown']);
 $ArrayOfGenres[''] = '- Unknown -';
 // Add special cases back in with renamed key/value
 $ArrayOfGenres['Cover'] = '-Cover-';
 $ArrayOfGenres['Remix'] = '-Remix-';