ILIAS  release_5-2 Revision v5.2.25-18-g3f80b828510
GetId3\Write\Lyrics3 Class Reference

GetId3() by James Heinrich info@.nosp@m.geti.nosp@m.d3.or.nosp@m.g //. More...

+ Collaboration diagram for GetId3\Write\Lyrics3:

Public Member Functions

 __construct ()
 
 WriteLyrics3 ()
 
 DeleteLyrics3 ()
 

Data Fields

 $filename
 
 $tag_data
 
 $warnings = array()
 
 $errors = array()
 

Detailed Description

GetId3() by James Heinrich info@.nosp@m.geti.nosp@m.d3.or.nosp@m.g //.

module for writing Lyrics3 tags

Author
James Heinrich info@.nosp@m.geti.nosp@m.d3.or.nosp@m.g http://www.getid3.org GetId3

Definition at line 29 of file Lyrics3.php.

Constructor & Destructor Documentation

◆ __construct()

GetId3\Write\Lyrics3::__construct ( )
Returns
boolean

Definition at line 49 of file Lyrics3.php.

50  {
51  return true;
52  }

Member Function Documentation

◆ DeleteLyrics3()

GetId3\Write\Lyrics3::DeleteLyrics3 ( )

Definition at line 64 of file Lyrics3.php.

References GetId3\Handler\BaseHandler\fread(), and GetId3\Handler\BaseHandler\fseek().

65  {
66  // Initialize GetId3 engine
67  $getID3 = new GetId3Core();
68  $ThisFileInfo = $getID3->analyze($this->filename);
69  if (isset($ThisFileInfo['lyrics3']['tag_offset_start']) && isset($ThisFileInfo['lyrics3']['tag_offset_end'])) {
70  if (is_readable($this->filename) && is_writable($this->filename) && is_file($this->filename) && ($fp = fopen($this->filename, 'a+b'))) {
71 
72  flock($fp, LOCK_EX);
73  $oldignoreuserabort = ignore_user_abort(true);
74 
75  fseek($fp, $ThisFileInfo['lyrics3']['tag_offset_end'], SEEK_SET);
76  $DataAfterLyrics3 = '';
77  if ($ThisFileInfo['filesize'] > $ThisFileInfo['lyrics3']['tag_offset_end']) {
78  $DataAfterLyrics3 = fread($fp, $ThisFileInfo['filesize'] - $ThisFileInfo['lyrics3']['tag_offset_end']);
79  }
80 
81  ftruncate($fp, $ThisFileInfo['lyrics3']['tag_offset_start']);
82 
83  if (!empty($DataAfterLyrics3)) {
84  fseek($fp, $ThisFileInfo['lyrics3']['tag_offset_start'], SEEK_SET);
85  fwrite($fp, $DataAfterLyrics3, strlen($DataAfterLyrics3));
86  }
87 
88  flock($fp, LOCK_UN);
89  fclose($fp);
90  ignore_user_abort($oldignoreuserabort);
91 
92  return true;
93 
94  } else {
95  $this->errors[] = 'Cannot fopen('.$this->filename.', "a+b")';
96 
97  return false;
98  }
99  }
100  // no Lyrics3 present
101  return true;
102  }
fseek($bytes, $whence=SEEK_SET)
+ Here is the call graph for this function:

◆ WriteLyrics3()

GetId3\Write\Lyrics3::WriteLyrics3 ( )
Returns
boolean

Definition at line 58 of file Lyrics3.php.

59  {
60  $this->errors[] = 'WriteLyrics3() not yet functional - cannot write Lyrics3';
61 
62  return false;
63  }

Field Documentation

◆ $errors

GetId3\Write\Lyrics3::$errors = array()

Definition at line 43 of file Lyrics3.php.

◆ $filename

GetId3\Write\Lyrics3::$filename

Definition at line 31 of file Lyrics3.php.

◆ $tag_data

GetId3\Write\Lyrics3::$tag_data

Definition at line 32 of file Lyrics3.php.

◆ $warnings

GetId3\Write\Lyrics3::$warnings = array()

Definition at line 38 of file Lyrics3.php.


The documentation for this class was generated from the following file: