• Main Page
  • Related Pages
  • Modules
  • Namespaces
  • Data Structures
  • Files
  • File List
  • Globals

Services/MediaObjects/getid3/getid3/write.lyrics3.php

Go to the documentation of this file.
00001 <?php
00004 //  available at http://getid3.sourceforge.net                 //
00005 //            or http://www.getid3.org                         //
00007 // See readme.txt for more details                             //
00009 //                                                             //
00010 // write.lyrics3.php                                           //
00011 // module for writing Lyrics3 tags                             //
00012 // dependencies: module.tag.lyrics3.php                        //
00013 //                                                            ///
00015 
00016 
00017 class getid3_write_lyrics3
00018 {
00019         var $filename;
00020         var $tag_data;
00021         //var $lyrics3_version = 2;       // 1 or 2
00022         var $warnings        = array(); // any non-critical errors will be stored here
00023         var $errors          = array(); // any critical errors will be stored here
00024 
00025         function getid3_write_lyrics3() {
00026                 return true;
00027         }
00028 
00029         function WriteLyrics3() {
00030                 $this->errors[] = 'WriteLyrics3() not yet functional - cannot write Lyrics3';
00031                 return false;
00032         }
00033 
00034         function DeleteLyrics3() {
00035                 // Initialize getID3 engine
00036                 $getID3 = new getID3;
00037                 $ThisFileInfo = $getID3->analyze($this->filename);
00038                 if (isset($ThisFileInfo['lyrics3']['tag_offset_start']) && isset($ThisFileInfo['lyrics3']['tag_offset_end'])) {
00039                         if ($fp = @fopen($this->filename, 'a+b')) {
00040 
00041                                 flock($fp, LOCK_EX);
00042                                 $oldignoreuserabort = ignore_user_abort(true);
00043 
00044                                 fseek($fp, $ThisFileInfo['lyrics3']['tag_offset_end'], SEEK_SET);
00045                                 $DataAfterLyrics3 = '';
00046                                 if ($ThisFileInfo['filesize'] > $ThisFileInfo['lyrics3']['tag_offset_end']) {
00047                                         $DataAfterLyrics3 = fread($fp, $ThisFileInfo['filesize'] - $ThisFileInfo['lyrics3']['tag_offset_end']);
00048                                 }
00049 
00050                                 ftruncate($fp, $ThisFileInfo['lyrics3']['tag_offset_start']);
00051 
00052                                 if (!empty($DataAfterLyrics3)) {
00053                                         fseek($fp, $ThisFileInfo['lyrics3']['tag_offset_start'], SEEK_SET);
00054                                         fwrite($fp, $DataAfterLyrics3, strlen($DataAfterLyrics3));
00055                                 }
00056 
00057                                 flock($fp, LOCK_UN);
00058                                 fclose($fp);
00059                                 ignore_user_abort($oldignoreuserabort);
00060 
00061                                 return true;
00062 
00063                         } else {
00064 
00065                                 $this->errors[] = 'Cannot open "'.$this->filename.'" in "a+b" mode';
00066                                 return false;
00067 
00068                         }
00069                 }
00070                 // no Lyrics3 present
00071                 return true;
00072         }
00073 
00074 
00075 
00076 }
00077 
00078 ?>

Generated on Fri Dec 13 2013 17:56:59 for ILIAS Release_3_9_x_branch .rev 46835 by  doxygen 1.7.1