Lines Matching refs:source_data_array

390 	 * @param array  $source_data_array
394 public function GenerateID3v2FrameData($frame_name, $source_data_array) { argument
411 if (strlen($source_data_array['data']) > 64) {
412 …onger than 64 bytes in '.$frame_name.' (supplied data was '.strlen($source_data_array['data']).' b…
414 $framedata .= str_replace("\x00", '', $source_data_array['ownerid'])."\x00";
415 …$framedata .= substr($source_data_array['data'], 0, 64); // max 64 bytes - truncate anything longer
424 …$source_data_array['encodingid'] = (isset($source_data_array['encodingid']) ? $source_data_array['…
425 if (!$this->ID3v2IsValidTextEncoding($source_data_array['encodingid'])) {
426 …$this->errors[] = 'Invalid Text Encoding in '.$frame_name.' ('.$source_data_array['encodingid'].')…
428 $framedata .= chr($source_data_array['encodingid']);
429 …$framedata .= $source_data_array['description'].getid3_id3v2::TextEncodingTerminatorLookup($source…
430 $framedata .= $source_data_array['data'];
439 …$source_data_array['encodingid'] = (isset($source_data_array['encodingid']) ? $source_data_array['…
440 if (!$this->ID3v2IsValidTextEncoding($source_data_array['encodingid'])) {
441 …$this->errors[] = 'Invalid Text Encoding in '.$frame_name.' ('.$source_data_array['encodingid'].')…
442 …} elseif (!isset($source_data_array['data']) || !$this->IsValidURL($source_data_array['data'], fal…
445 $this->warnings[] = 'Invalid URL in '.$frame_name.' ('.$source_data_array['data'].')';
447 $framedata .= chr($source_data_array['encodingid']);
448 …$framedata .= $source_data_array['description'].getid3_id3v2::TextEncodingTerminatorLookup($source…
449 $framedata .= $source_data_array['data'];
457 …$source_data_array['encodingid'] = (isset($source_data_array['encodingid']) ? $source_data_array['…
458 if (!$this->ID3v2IsValidTextEncoding($source_data_array['encodingid'])) {
459 …$this->errors[] = 'Invalid Text Encoding in '.$frame_name.' ('.$source_data_array['encodingid'].')…
461 $framedata .= chr($source_data_array['encodingid']);
462 $framedata .= $source_data_array['data'];
469 $framedata .= $source_data_array['data'];
483 … if (($source_data_array['timestampformat'] > 2) || ($source_data_array['timestampformat'] < 1)) {
484 …$this->errors[] = 'Invalid Time Stamp Format byte in '.$frame_name.' ('.$source_data_array['timest…
486 $framedata .= chr($source_data_array['timestampformat']);
487 foreach ($source_data_array as $key => $val) {
515 …if (($source_data_array['framesbetweenreferences'] > 0) && ($source_data_array['framesbetweenrefer…
516 …$framedata .= getid3_lib::BigEndian2String($source_data_array['framesbetweenreferences'], 2, false…
518 …[] = 'Invalid MPEG Frames Between References in '.$frame_name.' ('.$source_data_array['framesbetwe…
520 …if (($source_data_array['bytesbetweenreferences'] > 0) && ($source_data_array['bytesbetweenreferen…
521 …$framedata .= getid3_lib::BigEndian2String($source_data_array['bytesbetweenreferences'], 3, false);
523 …$this->errors[] = 'Invalid bytes Between References in '.$frame_name.' ('.$source_data_array['byte…
525 …if (($source_data_array['msbetweenreferences'] > 0) && ($source_data_array['msbetweenreferences'] …
526 … $framedata .= getid3_lib::BigEndian2String($source_data_array['msbetweenreferences'], 3, false);
528 …] = 'Invalid Milliseconds Between References in '.$frame_name.' ('.$source_data_array['msbetweenre…
530 if (!$this->IsWithinBitRange($source_data_array['bitsforbytesdeviation'], 8, false)) {
531 if (($source_data_array['bitsforbytesdeviation'] % 4) == 0) {
532 $framedata .= chr($source_data_array['bitsforbytesdeviation']);
534 …$this->errors[] = 'Bits For Bytes Deviation in '.$frame_name.' ('.$source_data_array['bitsforbytes…
537 …$this->errors[] = 'Invalid Bits For Bytes Deviation in '.$frame_name.' ('.$source_data_array['bits…
539 if (!$this->IsWithinBitRange($source_data_array['bitsformsdeviation'], 8, false)) {
540 if (($source_data_array['bitsformsdeviation'] % 4) == 0) {
541 $framedata .= chr($source_data_array['bitsformsdeviation']);
543 …$this->errors[] = 'Bits For Milliseconds Deviation in '.$frame_name.' ('.$source_data_array['bitsf…
546 …] = 'Invalid Bits For Milliseconds Deviation in '.$frame_name.' ('.$source_data_array['bitsformsde…
549 foreach ($source_data_array as $key => $val) {
551 …enbitstream .= str_pad(getid3_lib::Dec2Bin($val['bytedeviation']), $source_data_array['bitsforbyte…
552 …enbitstream .= str_pad(getid3_lib::Dec2Bin($val['msdeviation']), $source_data_array['bitsformsde…
569 … if (($source_data_array['timestampformat'] > 2) || ($source_data_array['timestampformat'] < 1)) {
570 …$this->errors[] = 'Invalid Time Stamp Format byte in '.$frame_name.' ('.$source_data_array['timest…
572 $framedata .= chr($source_data_array['timestampformat']);
573 foreach ($source_data_array as $key => $val) {
598 …$source_data_array['encodingid'] = (isset($source_data_array['encodingid']) ? $source_data_array['…
599 if (!$this->ID3v2IsValidTextEncoding($source_data_array['encodingid'])) {
600 …$this->errors[] = 'Invalid Text Encoding in '.$frame_name.' ('.$source_data_array['encodingid'].')…
601 } elseif (getid3_id3v2::LanguageLookup($source_data_array['language'], true) == '') {
602 $this->errors[] = 'Invalid Language in '.$frame_name.' ('.$source_data_array['language'].')';
604 $framedata .= chr($source_data_array['encodingid']);
605 $framedata .= strtolower($source_data_array['language']);
606 …$framedata .= $source_data_array['description'].getid3_id3v2::TextEncodingTerminatorLookup($source…
607 $framedata .= $source_data_array['data'];
623 …$source_data_array['encodingid'] = (isset($source_data_array['encodingid']) ? $source_data_array['…
624 if (!$this->ID3v2IsValidTextEncoding($source_data_array['encodingid'])) {
625 …$this->errors[] = 'Invalid Text Encoding in '.$frame_name.' ('.$source_data_array['encodingid'].')…
626 } elseif (getid3_id3v2::LanguageLookup($source_data_array['language'], true) == '') {
627 $this->errors[] = 'Invalid Language in '.$frame_name.' ('.$source_data_array['language'].')';
628 …} elseif (($source_data_array['timestampformat'] > 2) || ($source_data_array['timestampformat'] < …
629 …$this->errors[] = 'Invalid Time Stamp Format byte in '.$frame_name.' ('.$source_data_array['timest…
630 } elseif (!$this->ID3v2IsValidSYLTtype($source_data_array['contenttypeid'])) {
631 …$this->errors[] = 'Invalid Content Type byte in '.$frame_name.' ('.$source_data_array['contenttype…
632 } elseif (!is_array($source_data_array['data'])) {
635 $framedata .= chr($source_data_array['encodingid']);
636 $framedata .= strtolower($source_data_array['language']);
637 $framedata .= chr($source_data_array['timestampformat']);
638 $framedata .= chr($source_data_array['contenttypeid']);
639 …$framedata .= $source_data_array['description'].getid3_id3v2::TextEncodingTerminatorLookup($source…
640 ksort($source_data_array['data']);
641 foreach ($source_data_array['data'] as $key => $val) {
642 …$framedata .= $val['data'].getid3_id3v2::TextEncodingTerminatorLookup($source_data_array['encoding…
654 …$source_data_array['encodingid'] = (isset($source_data_array['encodingid']) ? $source_data_array['…
655 if (!$this->ID3v2IsValidTextEncoding($source_data_array['encodingid'])) {
656 …$this->errors[] = 'Invalid Text Encoding in '.$frame_name.' ('.$source_data_array['encodingid'].')…
657 } elseif (getid3_id3v2::LanguageLookup($source_data_array['language'], true) == '') {
658 $this->errors[] = 'Invalid Language in '.$frame_name.' ('.$source_data_array['language'].')';
660 $framedata .= chr($source_data_array['encodingid']);
661 $framedata .= strtolower($source_data_array['language']);
662 …$framedata .= $source_data_array['description'].getid3_id3v2::TextEncodingTerminatorLookup($source…
663 $framedata .= $source_data_array['data'];
677 $framedata .= str_replace("\x00", '', $source_data_array['description'])."\x00";
678 foreach ($source_data_array as $key => $val) {
682 if (!$this->IsWithinBitRange($source_data_array['bitspeakvolume'], 8, false)) {
710 if (!$this->IsWithinBitRange($source_data_array['bitsvolume'], 8, false)) {
711 … = 'Invalid Bits For Volume Description byte in '.$frame_name.' ('.$source_data_array['bitsvolume'…
714 …$incdecflag .= $source_data_array['incdec']['right'] ? '1' : '0'; // a - Relative volume c…
715 …$incdecflag .= $source_data_array['incdec']['left'] ? '1' : '0'; // b - Relative volume …
716 …$incdecflag .= $source_data_array['incdec']['rightrear'] ? '1' : '0'; // c - Relative volume chang…
717 …$incdecflag .= $source_data_array['incdec']['leftrear'] ? '1' : '0'; // d - Relative volume chan…
718 …$incdecflag .= $source_data_array['incdec']['center'] ? '1' : '0'; // e - Relative volume ch…
719 …$incdecflag .= $source_data_array['incdec']['bass'] ? '1' : '0'; // f - Relative volume …
721 $framedata .= chr($source_data_array['bitsvolume']);
722 …framedata .= getid3_lib::BigEndian2String($source_data_array['volumechange']['right'], ceil($sourc…
723 …framedata .= getid3_lib::BigEndian2String($source_data_array['volumechange']['left'], ceil($sourc…
724 …$framedata .= getid3_lib::BigEndian2String($source_data_array['peakvolume']['right'], ceil($source…
725 …$framedata .= getid3_lib::BigEndian2String($source_data_array['peakvolume']['left'], ceil($source…
726 …if ($source_data_array['volumechange']['rightrear'] || $source_data_array['volumechange']['leftrea…
727 … $source_data_array['peakvolume']['rightrear'] || $source_data_array['peakvolume']['leftrear'] ||
728 $source_data_array['volumechange']['center'] || $source_data_array['peakvolume']['center'] ||
729 $source_data_array['volumechange']['bass'] || $source_data_array['peakvolume']['bass']) {
730 …amedata .= getid3_lib::BigEndian2String($source_data_array['volumechange']['rightrear'], ceil($sou…
731 …amedata .= getid3_lib::BigEndian2String($source_data_array['volumechange']['leftrear'], ceil($sou…
732 …ramedata .= getid3_lib::BigEndian2String($source_data_array['peakvolume']['rightrear'], ceil($sour…
733 …ramedata .= getid3_lib::BigEndian2String($source_data_array['peakvolume']['leftrear'], ceil($sour…
735 … if ($source_data_array['volumechange']['center'] || $source_data_array['peakvolume']['center'] ||
736 $source_data_array['volumechange']['bass'] || $source_data_array['peakvolume']['bass']) {
737 …ramedata .= getid3_lib::BigEndian2String($source_data_array['volumechange']['center'], ceil($sourc…
738 …framedata .= getid3_lib::BigEndian2String($source_data_array['peakvolume']['center'], ceil($source…
740 if ($source_data_array['volumechange']['bass'] || $source_data_array['peakvolume']['bass']) {
741 …framedata .= getid3_lib::BigEndian2String($source_data_array['volumechange']['bass'], ceil($source…
742 …$framedata .= getid3_lib::BigEndian2String($source_data_array['peakvolume']['bass'], ceil($source_…
756 …if (($source_data_array['interpolationmethod'] < 0) || ($source_data_array['interpolationmethod'] …
757 …$this->errors[] = 'Invalid Interpolation Method byte in '.$frame_name.' ('.$source_data_array['int…
759 $framedata .= chr($source_data_array['interpolationmethod']);
760 $framedata .= str_replace("\x00", '', $source_data_array['description'])."\x00";
761 foreach ($source_data_array['data'] as $key => $val) {
777 if (!$this->IsWithinBitRange($source_data_array['bitsvolume'], 8, false)) {
778 …$this->errors[] = 'Invalid Adjustment Bits byte in '.$frame_name.' ('.$source_data_array['bitsvolu…
780 $framedata .= chr($source_data_array['adjustmentbits']);
781 foreach ($source_data_array as $key => $val) {
791 …$framedata .= getid3_lib::BigEndian2String($val, ceil($source_data_array['adjustmentbits'] / 8), f…
810 if (!$this->IsWithinBitRange($source_data_array['left'], 16, false)) {
811 …$this->errors[] = 'Invalid Reverb Left in '.$frame_name.' ('.$source_data_array['left'].') (range …
812 } elseif (!$this->IsWithinBitRange($source_data_array['right'], 16, false)) {
813 …$this->errors[] = 'Invalid Reverb Left in '.$frame_name.' ('.$source_data_array['right'].') (range…
814 } elseif (!$this->IsWithinBitRange($source_data_array['bouncesL'], 8, false)) {
815 …$this->errors[] = 'Invalid Reverb Bounces, Left in '.$frame_name.' ('.$source_data_array['bouncesL…
816 } elseif (!$this->IsWithinBitRange($source_data_array['bouncesR'], 8, false)) {
817 …$this->errors[] = 'Invalid Reverb Bounces, Right in '.$frame_name.' ('.$source_data_array['bounces…
818 } elseif (!$this->IsWithinBitRange($source_data_array['feedbackLL'], 8, false)) {
819 …s[] = 'Invalid Reverb Feedback, Left-To-Left in '.$frame_name.' ('.$source_data_array['feedbackLL'…
820 } elseif (!$this->IsWithinBitRange($source_data_array['feedbackLR'], 8, false)) {
821 …[] = 'Invalid Reverb Feedback, Left-To-Right in '.$frame_name.' ('.$source_data_array['feedbackLR'…
822 } elseif (!$this->IsWithinBitRange($source_data_array['feedbackRR'], 8, false)) {
823 …] = 'Invalid Reverb Feedback, Right-To-Right in '.$frame_name.' ('.$source_data_array['feedbackRR'…
824 } elseif (!$this->IsWithinBitRange($source_data_array['feedbackRL'], 8, false)) {
825 …[] = 'Invalid Reverb Feedback, Right-To-Left in '.$frame_name.' ('.$source_data_array['feedbackRL'…
826 } elseif (!$this->IsWithinBitRange($source_data_array['premixLR'], 8, false)) {
827 …$this->errors[] = 'Invalid Premix, Left-To-Right in '.$frame_name.' ('.$source_data_array['premixL…
828 } elseif (!$this->IsWithinBitRange($source_data_array['premixRL'], 8, false)) {
829 …$this->errors[] = 'Invalid Premix, Right-To-Left in '.$frame_name.' ('.$source_data_array['premixR…
831 $framedata .= getid3_lib::BigEndian2String($source_data_array['left'], 2, false);
832 $framedata .= getid3_lib::BigEndian2String($source_data_array['right'], 2, false);
833 $framedata .= chr($source_data_array['bouncesL']);
834 $framedata .= chr($source_data_array['bouncesR']);
835 $framedata .= chr($source_data_array['feedbackLL']);
836 $framedata .= chr($source_data_array['feedbackLR']);
837 $framedata .= chr($source_data_array['feedbackRR']);
838 $framedata .= chr($source_data_array['feedbackRL']);
839 $framedata .= chr($source_data_array['premixLR']);
840 $framedata .= chr($source_data_array['premixRL']);
851 …$source_data_array['encodingid'] = (isset($source_data_array['encodingid']) ? $source_data_array['…
852 if (!$this->ID3v2IsValidTextEncoding($source_data_array['encodingid'])) {
853 …$this->errors[] = 'Invalid Text Encoding in '.$frame_name.' ('.$source_data_array['encodingid'].')…
854 } elseif (!$this->ID3v2IsValidAPICpicturetype($source_data_array['picturetypeid'])) {
855 …$this->errors[] = 'Invalid Picture Type byte in '.$frame_name.' ('.$source_data_array['picturetype…
856 } elseif ((!$this->ID3v2IsValidAPICimageformat($source_data_array['mime']))) {
857 …$this->errors[] = 'Invalid MIME Type in '.$frame_name.' ('.$source_data_array['mime'].') for ID3v2…
858 …} elseif (($source_data_array['mime'] == '-->') && (!$this->IsValidURL($source_data_array['data'],…
861 $this->warnings[] = 'Invalid URL in '.$frame_name.' ('.$source_data_array['data'].')';
863 $framedata .= chr($source_data_array['encodingid']);
864 $framedata .= str_replace("\x00", '', $source_data_array['mime'])."\x00";
865 $framedata .= chr($source_data_array['picturetypeid']);
866 …!empty($source_data_array['description']) ? $source_data_array['description'] : '').getid3_id3v2::…
867 $framedata .= $source_data_array['data'];
878 …$source_data_array['encodingid'] = (isset($source_data_array['encodingid']) ? $source_data_array['…
879 if (!$this->ID3v2IsValidTextEncoding($source_data_array['encodingid'])) {
880 …$this->errors[] = 'Invalid Text Encoding in '.$frame_name.' ('.$source_data_array['encodingid'].')…
881 } elseif (!$this->IsValidMIMEstring($source_data_array['mime'])) {
882 $this->errors[] = 'Invalid MIME Type in '.$frame_name.' ('.$source_data_array['mime'].')';
883 } elseif (!$source_data_array['description']) {
886 $framedata .= chr($source_data_array['encodingid']);
887 $framedata .= str_replace("\x00", '', $source_data_array['mime'])."\x00";
888 …$framedata .= $source_data_array['filename'].getid3_id3v2::TextEncodingTerminatorLookup($source_da…
889 …$framedata .= $source_data_array['description'].getid3_id3v2::TextEncodingTerminatorLookup($source…
890 $framedata .= $source_data_array['data'];
899 $framedata .= getid3_lib::BigEndian2String($source_data_array['data'], 4, false);
909 if (!$this->IsValidEmail($source_data_array['email'])) {
913 $this->warnings[] = 'Invalid Email in '.$frame_name.' ('.$source_data_array['email'].')';
915 if (!$this->IsWithinBitRange($source_data_array['rating'], 8, false)) {
916 …$this->errors[] = 'Invalid Rating byte in '.$frame_name.' ('.$source_data_array['rating'].') (rang…
918 $framedata .= str_replace("\x00", '', $source_data_array['email'])."\x00";
919 $framedata .= chr($source_data_array['rating']);
920 $framedata .= getid3_lib::BigEndian2String($source_data_array['data'], 4, false);
929 if (!$this->IsWithinBitRange($source_data_array['buffersize'], 24, false)) {
931 } elseif (!$this->IsWithinBitRange($source_data_array['nexttagoffset'], 32, false)) {
934 $framedata .= getid3_lib::BigEndian2String($source_data_array['buffersize'], 3, false);
936 $flag .= $source_data_array['flags']['embededinfo'] ? '1' : '0';
938 $framedata .= getid3_lib::BigEndian2String($source_data_array['nexttagoffset'], 4, false);
948 if (!$this->IsWithinBitRange($source_data_array['previewstart'], 16, false)) {
949 …$this->errors[] = 'Invalid Preview Start in '.$frame_name.' ('.$source_data_array['previewstart'].…
950 } elseif (!$this->IsWithinBitRange($source_data_array['previewlength'], 16, false)) {
951 …$this->errors[] = 'Invalid Preview Length in '.$frame_name.' ('.$source_data_array['previewlength'…
953 $framedata .= str_replace("\x00", '', $source_data_array['ownerid'])."\x00";
954 $framedata .= getid3_lib::BigEndian2String($source_data_array['previewstart'], 2, false);
955 $framedata .= getid3_lib::BigEndian2String($source_data_array['previewlength'], 2, false);
956 $framedata .= $source_data_array['encryptioninfo'];
965 if (!getid3_id3v2::IsValidID3v2FrameName($source_data_array['frameid'], $this->majorversion)) {
966 …$this->errors[] = 'Invalid Frame Identifier in '.$frame_name.' ('.$source_data_array['frameid'].')…
967 } elseif (!$this->IsValidURL($source_data_array['data'], true)) {
970 $this->warnings[] = 'Invalid URL in '.$frame_name.' ('.$source_data_array['data'].')';
971source_data_array['frameid'] == 'AENC') || ($source_data_array['frameid'] == 'APIC') || ($source_d…
972 …tor must be specified as additional data for Frame Identifier of '.$source_data_array['frameid'].'…
973 …} elseif (($source_data_array['frameid'] == 'USER') && (getid3_id3v2::LanguageLookup($source_data_…
974 …age must be specified as additional data for Frame Identifier of '.$source_data_array['frameid'].'…
975 …} elseif (($source_data_array['frameid'] == 'PRIV') && ($source_data_array['additionaldata'] == ''…
976 …ier must be specified as additional data for Frame Identifier of '.$source_data_array['frameid'].'…
977source_data_array['frameid'] == 'COMM') || ($source_data_array['frameid'] == 'SYLT') || ($source_d…
978 …tor must be specified as additional data for Frame Identifier of '.$source_data_array['frameid'].'…
980 $framedata .= $source_data_array['frameid'];
981 $framedata .= str_replace("\x00", '', $source_data_array['data'])."\x00";
982 switch ($source_data_array['frameid']) {
992 $framedata .= $source_data_array['additionaldata'];
1012 …$this->errors[] = $source_data_array['frameid'].' is not a valid Frame Identifier in '.$frame_name…
1017 …if ((substr($source_data_array['frameid'], 0, 1) == 'T') || (substr($source_data_array['frameid'],…
1020 …$this->errors[] = $source_data_array['frameid'].' is not a valid Frame Identifier in '.$frame_name…
1031 … if (($source_data_array['timestampformat'] < 1) || ($source_data_array['timestampformat'] > 2)) {
1032 …$this->errors[] = 'Invalid Time Stamp Format in '.$frame_name.' ('.$source_data_array['timestampfo…
1033 } elseif (!$this->IsWithinBitRange($source_data_array['position'], 32, false)) {
1034 …$this->errors[] = 'Invalid Position in '.$frame_name.' ('.$source_data_array['position'].') (range…
1036 $framedata .= chr($source_data_array['timestampformat']);
1037 $framedata .= getid3_lib::BigEndian2String($source_data_array['position'], 4, false);
1046 …$source_data_array['encodingid'] = (isset($source_data_array['encodingid']) ? $source_data_array['…
1047 if (!$this->ID3v2IsValidTextEncoding($source_data_array['encodingid'])) {
1048 …$this->errors[] = 'Invalid Text Encoding in '.$frame_name.' ('.$source_data_array['encodingid'].')…
1049 } elseif (getid3_id3v2::LanguageLookup($source_data_array['language'], true) == '') {
1050 $this->errors[] = 'Invalid Language in '.$frame_name.' ('.$source_data_array['language'].')';
1052 $framedata .= chr($source_data_array['encodingid']);
1053 $framedata .= strtolower($source_data_array['language']);
1054 $framedata .= $source_data_array['data'];
1064 …$source_data_array['encodingid'] = (isset($source_data_array['encodingid']) ? $source_data_array['…
1065 if (!$this->ID3v2IsValidTextEncoding($source_data_array['encodingid'])) {
1066 …$this->errors[] = 'Invalid Text Encoding in '.$frame_name.' ('.$source_data_array['encodingid'].')…
1067 } elseif (!getid3_id3v2::IsANumber($source_data_array['pricepaid']['value'], false)) {
1068 …$this->errors[] = 'Invalid Price Paid in '.$frame_name.' ('.$source_data_array['pricepaid']['value…
1069 } elseif (!getid3_id3v2::IsValidDateStampString($source_data_array['purchasedate'])) {
1070 …$this->errors[] = 'Invalid Date Of Purchase in '.$frame_name.' ('.$source_data_array['purchasedate…
1072 $framedata .= chr($source_data_array['encodingid']);
1073 $framedata .= str_replace("\x00", '', $source_data_array['pricepaid']['value'])."\x00";
1074 $framedata .= $source_data_array['purchasedate'];
1075 $framedata .= $source_data_array['seller'];
1090 …$source_data_array['encodingid'] = (isset($source_data_array['encodingid']) ? $source_data_array['…
1091 if (!$this->ID3v2IsValidTextEncoding($source_data_array['encodingid'])) {
1092 …$this->errors[] = 'Invalid Text Encoding in '.$frame_name.' ('.$source_data_array['encodingid'].')…
1093 } elseif (!getid3_id3v2::IsValidDateStampString($source_data_array['pricevaliduntil'])) {
1094 …$this->errors[] = 'Invalid Valid Until date in '.$frame_name.' ('.$source_data_array['pricevalidun…
1095 } elseif (!$this->IsValidURL($source_data_array['contacturl'], false)) {
1096 …$this->errors[] = 'Invalid Contact URL in '.$frame_name.' ('.$source_data_array['contacturl'].') (…
1097 } elseif (!$this->ID3v2IsValidCOMRreceivedAs($source_data_array['receivedasid'])) {
1098 …$this->errors[] = 'Invalid Received As byte in '.$frame_name.' ('.$source_data_array['contacturl']…
1099 } elseif (!$this->IsValidMIMEstring($source_data_array['mime'])) {
1100 $this->errors[] = 'Invalid MIME Type in '.$frame_name.' ('.$source_data_array['mime'].')';
1102 $framedata .= chr($source_data_array['encodingid']);
1104 foreach ($source_data_array['price'] as $key => $val) {
1112 $framedata .= $source_data_array['pricevaliduntil'];
1113 $framedata .= str_replace("\x00", '', $source_data_array['contacturl'])."\x00";
1114 $framedata .= chr($source_data_array['receivedasid']);
1115 …$framedata .= $source_data_array['sellername'].getid3_id3v2::TextEncodingTerminatorLookup($source_…
1116 …$framedata .= $source_data_array['description'].getid3_id3v2::TextEncodingTerminatorLookup($source…
1117 $framedata .= $source_data_array['mime']."\x00";
1118 $framedata .= $source_data_array['logo'];
1127 if (!$this->IsWithinBitRange($source_data_array['methodsymbol'], 8, false)) {
1128 …$this->errors[] = 'Invalid Group Symbol in '.$frame_name.' ('.$source_data_array['methodsymbol'].'…
1130 $framedata .= str_replace("\x00", '', $source_data_array['ownerid'])."\x00";
1131 $framedata .= ord($source_data_array['methodsymbol']);
1132 $framedata .= $source_data_array['data'];
1141 if (!$this->IsWithinBitRange($source_data_array['groupsymbol'], 8, false)) {
1142 …$this->errors[] = 'Invalid Group Symbol in '.$frame_name.' ('.$source_data_array['groupsymbol'].')…
1144 $framedata .= str_replace("\x00", '', $source_data_array['ownerid'])."\x00";
1145 $framedata .= ord($source_data_array['groupsymbol']);
1146 $framedata .= $source_data_array['data'];
1154 $framedata .= str_replace("\x00", '', $source_data_array['ownerid'])."\x00";
1155 $framedata .= $source_data_array['data'];
1162 if (!$this->IsWithinBitRange($source_data_array['groupsymbol'], 8, false)) {
1163 …$this->errors[] = 'Invalid Group Symbol in '.$frame_name.' ('.$source_data_array['groupsymbol'].')…
1165 $framedata .= ord($source_data_array['groupsymbol']);
1166 $framedata .= $source_data_array['data'];
1173 if (!$this->IsWithinBitRange($source_data_array['data'], 32, false)) {
1174 …$this->errors[] = 'Invalid Minimum Offset in '.$frame_name.' ('.$source_data_array['data'].') (ran…
1176 $framedata .= getid3_lib::BigEndian2String($source_data_array['data'], 4, false);
1188 if (!$this->IsWithinBitRange($source_data_array['datastart'], 32, false)) {
1189 …$this->errors[] = 'Invalid Indexed Data Start in '.$frame_name.' ('.$source_data_array['datastart'…
1190 } elseif (!$this->IsWithinBitRange($source_data_array['datalength'], 32, false)) {
1191 …$this->errors[] = 'Invalid Indexed Data Length in '.$frame_name.' ('.$source_data_array['datalengt…
1192 } elseif (!$this->IsWithinBitRange($source_data_array['indexpoints'], 16, false)) {
1193 …$this->errors[] = 'Invalid Number Of Index Points in '.$frame_name.' ('.$source_data_array['indexp…
1194 } elseif (!$this->IsWithinBitRange($source_data_array['bitsperpoint'], 8, false)) {
1195 …$this->errors[] = 'Invalid Bits Per Index Point in '.$frame_name.' ('.$source_data_array['bitsperp…
1196 } elseif ($source_data_array['indexpoints'] != count($source_data_array['indexes'])) {
1199 $framedata .= getid3_lib::BigEndian2String($source_data_array['datastart'], 4, false);
1200 $framedata .= getid3_lib::BigEndian2String($source_data_array['datalength'], 4, false);
1201 $framedata .= getid3_lib::BigEndian2String($source_data_array['indexpoints'], 2, false);
1202 $framedata .= getid3_lib::BigEndian2String($source_data_array['bitsperpoint'], 1, false);
1203 foreach ($source_data_array['indexes'] as $key => $val) {
1204 …$framedata .= getid3_lib::BigEndian2String($val, ceil($source_data_array['bitsperpoint'] / 8), fal…
1220 …if (($source_data_array['track_adjustment'] > 51) || ($source_data_array['track_adjustment'] < -51…
1221 …$this->errors[] = 'Invalid Track Adjustment in '.$frame_name.' ('.$source_data_array['track_adjust…
1222 …} elseif (($source_data_array['album_adjustment'] > 51) || ($source_data_array['album_adjustment']…
1223 …$this->errors[] = 'Invalid Album Adjustment in '.$frame_name.' ('.$source_data_array['album_adjust…
1224 } elseif (!$this->ID3v2IsValidRGADname($source_data_array['raw']['track_name'])) {
1225 …$this->errors[] = 'Invalid Track Name Code in '.$frame_name.' ('.$source_data_array['raw']['track_…
1226 } elseif (!$this->ID3v2IsValidRGADname($source_data_array['raw']['album_name'])) {
1227 …$this->errors[] = 'Invalid Album Name Code in '.$frame_name.' ('.$source_data_array['raw']['album_…
1228 } elseif (!$this->ID3v2IsValidRGADoriginator($source_data_array['raw']['track_originator'])) {
1229 …$this->errors[] = 'Invalid Track Originator Code in '.$frame_name.' ('.$source_data_array['raw']['…
1230 } elseif (!$this->ID3v2IsValidRGADoriginator($source_data_array['raw']['album_originator'])) {
1231 …$this->errors[] = 'Invalid Album Originator Code in '.$frame_name.' ('.$source_data_array['raw']['…
1233 $framedata .= getid3_lib::Float2String($source_data_array['peakamplitude'], 32);
1234 …d3_lib::RGADgainString($source_data_array['raw']['track_name'], $source_data_array['raw']['track_o…
1235 …d3_lib::RGADgainString($source_data_array['raw']['album_name'], $source_data_array['raw']['album_o…
1246 …$source_data_array['encodingid'] = (isset($source_data_array['encodingid']) ? $source_data_array['…
1247 if (!$this->ID3v2IsValidTextEncoding($source_data_array['encodingid'])) {
1248 …$this->errors[] = 'Invalid Text Encoding in '.$frame_name.' ('.$source_data_array['encodingid'].')…
1250 $framedata .= chr($source_data_array['encodingid']);
1251 $framedata .= $source_data_array['data'];
1256 if (!$this->IsValidURL($source_data_array['data'], false)) {
1259 $this->warnings[] = 'Invalid URL in '.$frame_name.' ('.$source_data_array['data'].')';
1261 $framedata .= $source_data_array['data'];
1277 * @param array $source_data_array
1281 public function ID3v2FrameIsAllowed($frame_name, $source_data_array) { argument
1296 if (!isset($source_data_array['ownerid'])) {
1298 } elseif (in_array($frame_name.$source_data_array['ownerid'], $PreviousFrames)) {
1299 …] = 'Only one '.$frame_name.' tag allowed with the same OwnerID ('.$source_data_array['ownerid'].'…
1301 $PreviousFrames[] = $frame_name.$source_data_array['ownerid'];
1311 if (!isset($source_data_array['description'])) {
1313 } elseif (in_array($frame_name.$source_data_array['description'], $PreviousFrames)) {
1314 …'Only one '.$frame_name.' tag allowed with the same Description ('.$source_data_array['description…
1316 $PreviousFrames[] = $frame_name.$source_data_array['description'];
1321 if (!isset($source_data_array['language'])) {
1323 } elseif (in_array($frame_name.$source_data_array['language'], $PreviousFrames)) {
1324 … = 'Only one '.$frame_name.' tag allowed with the same Language ('.$source_data_array['language'].…
1326 $PreviousFrames[] = $frame_name.$source_data_array['language'];
1333 if (!isset($source_data_array['language'])) {
1335 } elseif (!isset($source_data_array['description'])) {
1337 …} elseif (in_array($frame_name.$source_data_array['language'].$source_data_array['description'], $…
1338 …allowed with the same Language + Description ('.$source_data_array['language'].' + '.$source_data_…
1340 … $PreviousFrames[] = $frame_name.$source_data_array['language'].$source_data_array['description'];
1345 if (!isset($source_data_array['email'])) {
1347 } elseif (in_array($frame_name.$source_data_array['email'], $PreviousFrames)) {
1348 …s[] = 'Only one '.$frame_name.' tag allowed with the same Email ('.$source_data_array['email'].')';
1350 $PreviousFrames[] = $frame_name.$source_data_array['email'];
1377 if (!isset($source_data_array['frameid'])) {
1379 } elseif (in_array($frame_name.$source_data_array['frameid'], $PreviousFrames)) {
1380 …] = 'Only one '.$frame_name.' tag allowed with the same FrameID ('.$source_data_array['frameid'].'…
1381 } elseif (in_array($source_data_array['frameid'], $PreviousFrames)) {
1383 …fy a '.$frame_name.' tag to a singleton tag that already exists ('.$source_data_array['frameid'].'…
1385 … $PreviousFrames[] = $frame_name.$source_data_array['frameid']; // only one linked tag of this type
1386 …$PreviousFrames[] = $source_data_array['frameid']; // no non-linked singleton tags of …
1397 if (!isset($source_data_array['ownerid'])) {
1399 } elseif (!isset($source_data_array['data'])) {
1401 …} elseif (in_array($frame_name.$source_data_array['ownerid'].$source_data_array['data'], $Previous…
1402 …me.' tag allowed with the same OwnerID + Data ('.$source_data_array['ownerid'].' + '.$source_data_…
1404 $PreviousFrames[] = $frame_name.$source_data_array['ownerid'].$source_data_array['data'];
1422 if (!isset($source_data_array['ownerid'])) {
1424 } elseif (in_array($frame_name.$source_data_array['ownerid'], $PreviousFrames)) {
1425 …] = 'Only one '.$frame_name.' tag allowed with the same OwnerID ('.$source_data_array['ownerid'].'…
1427 $PreviousFrames[] = $frame_name.$source_data_array['ownerid'];
1435 if (!isset($source_data_array['description'])) {
1437 } elseif (in_array($frame_name.$source_data_array['description'], $PreviousFrames)) {
1438 …'Only one '.$frame_name.' tag allowed with the same Description ('.$source_data_array['description…
1440 $PreviousFrames[] = $frame_name.$source_data_array['description'];
1445 if (!isset($source_data_array['language'])) {
1447 } elseif (in_array($frame_name.$source_data_array['language'], $PreviousFrames)) {
1448 … = 'Only one '.$frame_name.' tag allowed with the same Language ('.$source_data_array['language'].…
1450 $PreviousFrames[] = $frame_name.$source_data_array['language'];
1457 if (!isset($source_data_array['language'])) {
1459 } elseif (!isset($source_data_array['description'])) {
1461 …} elseif (in_array($frame_name.$source_data_array['language'].$source_data_array['description'], $…
1462 …allowed with the same Language + Description ('.$source_data_array['language'].' + '.$source_data_…
1464 … $PreviousFrames[] = $frame_name.$source_data_array['language'].$source_data_array['description'];
1469 if (!isset($source_data_array['email'])) {
1471 } elseif (in_array($frame_name.$source_data_array['email'], $PreviousFrames)) {
1472 …s[] = 'Only one '.$frame_name.' tag allowed with the same Email ('.$source_data_array['email'].')';
1474 $PreviousFrames[] = $frame_name.$source_data_array['email'];
1501 if (!isset($source_data_array['frameid'])) {
1503 } elseif (in_array($frame_name.$source_data_array['frameid'], $PreviousFrames)) {
1504 …] = 'Only one '.$frame_name.' tag allowed with the same FrameID ('.$source_data_array['frameid'].'…
1505 } elseif (in_array($source_data_array['frameid'], $PreviousFrames)) {
1507 …fy a '.$frame_name.' tag to a singleton tag that already exists ('.$source_data_array['frameid'].'…
1509 … $PreviousFrames[] = $frame_name.$source_data_array['frameid']; // only one linked tag of this type
1510 …$PreviousFrames[] = $source_data_array['frameid']; // no non-linked singleton tags of …
1520 if (!isset($source_data_array['ownerid'])) {
1522 } elseif (!isset($source_data_array['data'])) {
1524 …} elseif (in_array($frame_name.$source_data_array['ownerid'].$source_data_array['data'], $Previous…
1525 …me.' tag allowed with the same OwnerID + Data ('.$source_data_array['ownerid'].' + '.$source_data_…
1527 $PreviousFrames[] = $frame_name.$source_data_array['ownerid'].$source_data_array['data'];
1544 if (!isset($source_data_array['ownerid'])) {
1546 } elseif (in_array($frame_name.$source_data_array['ownerid'], $PreviousFrames)) {
1547 …] = 'Only one '.$frame_name.' tag allowed with the same OwnerID ('.$source_data_array['ownerid'].'…
1549 $PreviousFrames[] = $frame_name.$source_data_array['ownerid'];
1557 if (!isset($source_data_array['description'])) {
1559 } elseif (in_array($frame_name.$source_data_array['description'], $PreviousFrames)) {
1560 …'Only one '.$frame_name.' tag allowed with the same Description ('.$source_data_array['description…
1562 $PreviousFrames[] = $frame_name.$source_data_array['description'];
1569 if (!isset($source_data_array['language'])) {
1571 } elseif (!isset($source_data_array['description'])) {
1573 …} elseif (in_array($frame_name.$source_data_array['language'].$source_data_array['description'], $…
1574 …allowed with the same Language + Description ('.$source_data_array['language'].' + '.$source_data_…
1576 … $PreviousFrames[] = $frame_name.$source_data_array['language'].$source_data_array['description'];
1581 if (!isset($source_data_array['email'])) {
1583 } elseif (in_array($frame_name.$source_data_array['email'], $PreviousFrames)) {
1584 …s[] = 'Only one '.$frame_name.' tag allowed with the same Email ('.$source_data_array['email'].')';
1586 $PreviousFrames[] = $frame_name.$source_data_array['email'];
1610 if (!isset($source_data_array['frameid'])) {
1612 } elseif (in_array($frame_name.$source_data_array['frameid'], $PreviousFrames)) {
1613 …] = 'Only one '.$frame_name.' tag allowed with the same FrameID ('.$source_data_array['frameid'].'…
1614 } elseif (in_array($source_data_array['frameid'], $PreviousFrames)) {
1616 …fy a '.$frame_name.' tag to a singleton tag that already exists ('.$source_data_array['frameid'].'…
1618 … $PreviousFrames[] = $frame_name.$source_data_array['frameid']; // only one linked tag of this type
1619 …$PreviousFrames[] = $source_data_array['frameid']; // no non-linked singleton tags of …
1648 foreach ($frame_rawinputdata as $irrelevantindex => $source_data_array) {
1653 if ($this->ID3v2FrameIsAllowed($frame_name, $source_data_array)) {
1654 …if(array_key_exists('description', $source_data_array) && array_key_exists('encodingid', $source_d…
1655 …$source_data_array['description'] = getid3_lib::iconv_fallback($this->tag_data['encoding'], $sourc…
1657 if ($frame_data = $this->GenerateID3v2FrameData($frame_name, $source_data_array)) {