Passed
Push — master ( 7fac60...699ee0 )
by Mantas
48s
created
src/Code/Converters/SmiConverter.php 1 patch
Spacing   +1 added lines, -1 removed lines patch added patch discarded remove patch
@@ -108,7 +108,7 @@
 block discarded – undo
108 108
                 $file_content .= '<SYNC Start=' . self::internalTimeToFormat($last_time) . '><P Class=ENUSCC>&nbsp;' . "</P></SYNC>\r\n";
109 109
             }
110 110
 
111
-            $file_content .= '<SYNC Start=' . self::internalTimeToFormat($block['start']) . '><P Class=ENUSCC>' . implode('<br>', $block['lines']) .  "</P></SYNC>\r\n";
111
+            $file_content .= '<SYNC Start=' . self::internalTimeToFormat($block['start']) . '><P Class=ENUSCC>' . implode('<br>', $block['lines']) . "</P></SYNC>\r\n";
112 112
             $last_time = $block['end'];
113 113
         }
114 114
         $file_content .= '<SYNC Start=' . self::internalTimeToFormat($last_time) . '><P Class=ENUSCC>&nbsp;' . "</P></SYNC>\r\n";
Please login to merge, or discard this patch.
test_helpers/AdditionalAssertionsTrait.php 1 patch
Spacing   +1 added lines, -1 removed lines patch added patch discarded remove patch
@@ -12,7 +12,7 @@
 block discarded – undo
12 12
 
13 13
         foreach ($expected as $k => $block) {
14 14
             $this->assertTrue(abs(round($expected[$k]['start'], 2) - round($actual[$k]['start'], 2)) < $allowable_error, round($expected[$k]['start'], 3) . ' vs ' . round($actual[$k]['start'], 3));
15
-            $this->assertTrue(abs(round($expected[$k]['end'], 2) - round($actual[$k]['end'], 2)) < $allowable_error,  round($expected[$k]['end'], 3) . ' vs ' . round($actual[$k]['end'], 3));
15
+            $this->assertTrue(abs(round($expected[$k]['end'], 2) - round($actual[$k]['end'], 2)) < $allowable_error, round($expected[$k]['end'], 3) . ' vs ' . round($actual[$k]['end'], 3));
16 16
 
17 17
             $this->assertEquals(count($expected[$k]['lines']), count($actual[$k]['lines']), 'Line count is different');
18 18
             foreach ($expected[$k]['lines'] as $line_k => $line) {
Please login to merge, or discard this patch.
src/Code/Converters/LrcConverter.php 1 patch
Spacing   +9 added lines, -9 removed lines patch added patch discarded remove patch
@@ -36,7 +36,7 @@  discard block
 block discarded – undo
36 36
             }
37 37
         }
38 38
 
39
-        usort($internal_format, function ($a, $b) {
39
+        usort($internal_format, function($a, $b) {
40 40
             return $a['start'] <=> $b['start'];
41 41
         });
42 42
 
@@ -74,18 +74,18 @@  discard block
 block discarded – undo
74 74
     {
75 75
         $parts = explode(':', $lrc_time);
76 76
         if (count($parts) === 3) {
77
-            $minutes = (int) $parts[0];
78
-            $seconds = (float) $parts[1];
77
+            $minutes = (int)$parts[0];
78
+            $seconds = (float)$parts[1];
79 79
             $milliseconds = str_pad($parts[2], 3, '0', STR_PAD_RIGHT);
80 80
         } else if (count($parts) === 2) {
81
-            $minutes = (int) $parts[0];
82
-            $seconds = (float) $parts[1];
81
+            $minutes = (int)$parts[0];
82
+            $seconds = (float)$parts[1];
83 83
             $milliseconds = 0;
84 84
         } else {
85 85
             throw new UserException("$lrc_time timestamp is not valid in .lrc file");
86 86
         }
87 87
 
88
-        return $minutes * 60 + $seconds + (float) ('.' . $milliseconds) - $timestamp_offset;
88
+        return $minutes * 60 + $seconds + (float)('.' . $milliseconds) - $timestamp_offset;
89 89
     }
90 90
 
91 91
     protected static function internalTimeToLrc($internal_time) : string
@@ -107,9 +107,9 @@  discard block
 block discarded – undo
107 107
     {
108 108
         $timestamp_offset = 0;
109 109
         if (preg_match(self::$time_offset_regexp, $content, $match)) {
110
-            $factor = (int) $match[1] < 0 ? -1 : 1;
111
-            $offset = abs((int) $match[1]);
112
-            $timestamp_offset = ((int) ($offset / 1000) + (float) ('.' . $offset % 1000)) * $factor;
110
+            $factor = (int)$match[1] < 0 ? -1 : 1;
111
+            $offset = abs((int)$match[1]);
112
+            $timestamp_offset = ((int)($offset / 1000) + (float)('.' . $offset % 1000)) * $factor;
113 113
         }
114 114
 
115 115
         return $timestamp_offset;
Please login to merge, or discard this patch.
src/Code/Converters/TxtConverter.php 1 patch
Spacing   +7 added lines, -7 removed lines patch added patch discarded remove patch
@@ -109,7 +109,7 @@  discard block
 block discarded – undo
109 109
                 }
110 110
             }
111 111
 
112
-            $internal_format[$j] =  [
112
+            $internal_format[$j] = [
113 113
                 'start' => $row['start'],
114 114
                 'end' => $row['end'],
115 115
                 'lines' => [$row['text']],
@@ -212,7 +212,7 @@  discard block
 block discarded – undo
212 212
         }
213 213
 
214 214
         // sort times
215
-        usort($internal_format, function ($a, $b) {
215
+        usort($internal_format, function($a, $b) {
216 216
             if ($a['start'] === $b['start']) {
217 217
                 return $a['end'] <=> $b['end'];
218 218
             }
@@ -288,23 +288,23 @@  discard block
 block discarded – undo
288 288
         return $matches;
289 289
     }
290 290
 
291
-    public static function timeToInternal(string $time, int|null $fps)
291
+    public static function timeToInternal(string $time, int | null $fps)
292 292
     {
293 293
         $time = trim($time);
294 294
         $time_parts = explode(':', $time);
295 295
         $total_parts = count($time_parts);
296 296
 
297 297
         if ($total_parts === 1) {
298
-            $tmp = (float) str_replace(',', '.', $time_parts[0]);
298
+            $tmp = (float)str_replace(',', '.', $time_parts[0]);
299 299
             return $tmp;
300 300
         } elseif ($total_parts === 2) { // minutes:seconds format
301 301
             list($minutes, $seconds) = array_map('intval', $time_parts);
302
-            $tmp = (float) str_replace(',', '.', $time_parts[1]);
302
+            $tmp = (float)str_replace(',', '.', $time_parts[1]);
303 303
             $milliseconds = $tmp - floor($tmp);
304 304
             return ($minutes * 60) + $seconds + $milliseconds;
305 305
         } elseif ($total_parts === 3) { // hours:minutes:seconds,milliseconds format
306 306
             list($hours, $minutes, $seconds) = array_map('intval', $time_parts);
307
-            $tmp = (float) str_replace(',', '.', $time_parts[2]);
307
+            $tmp = (float)str_replace(',', '.', $time_parts[2]);
308 308
             $milliseconds = $tmp - floor($tmp);
309 309
             return ($hours * 3600) + ($minutes * 60) + $seconds + $milliseconds;
310 310
         } elseif ($total_parts === 4) { // hours:minutes:seconds:frames format
@@ -341,7 +341,7 @@  discard block
 block discarded – undo
341 341
             return $subject;
342 342
         }
343 343
 
344
-        $result = strstr($subject, (string) $search, true);
344
+        $result = strstr($subject, (string)$search, true);
345 345
 
346 346
         return $result === false ? $subject : $result;
347 347
     }
Please login to merge, or discard this patch.
src/Code/Converters/SccConverter.php 1 patch
Spacing   +1 added lines, -1 removed lines patch added patch discarded remove patch
@@ -145,7 +145,7 @@
 block discarded – undo
145 145
     {
146 146
         $time = $internal_time - ($text_bytes / 2) / self::$fps;
147 147
         $parts = explode('.', $time);
148
-        $whole = (int) $parts[0];
148
+        $whole = (int)$parts[0];
149 149
         $decimal = isset($parts[1]) ? (float)('0.' . $parts[1]) : 0.0;
150 150
         $frame = round($decimal * self::$fps);
151 151
         $frame = min($frame, floor(self::$fps)); // max 29
Please login to merge, or discard this patch.
src/Code/Converters/TtmlConverter.php 1 patch
Spacing   +6 added lines, -6 removed lines patch added patch discarded remove patch
@@ -164,7 +164,7 @@  discard block
 block discarded – undo
164 164
             $time_parts = explode('.', $ttml_time);
165 165
             $milliseconds = 0;
166 166
             if (isset($time_parts[1])) {
167
-                $milliseconds = (float) ('0.' . $time_parts[1]);
167
+                $milliseconds = (float)('0.' . $time_parts[1]);
168 168
             }
169 169
 
170 170
             list($hours, $minutes, $seconds) = array_map('intval', explode(':', $time_parts[0]));
@@ -191,16 +191,16 @@  discard block
 block discarded – undo
191 191
 
192 192
     protected static function internalTimeToTtml($internal_time)
193 193
     {
194
-        $formatted_output =  round($internal_time, 3);
194
+        $formatted_output = round($internal_time, 3);
195 195
 
196 196
         if (strpos($formatted_output, '.') === false) {
197
-            $formatted_output .= ".0";  // Add at least one digit after decimal if there are no digits
197
+            $formatted_output .= ".0"; // Add at least one digit after decimal if there are no digits
198 198
         }
199 199
 
200 200
         return $formatted_output;
201 201
     }
202 202
 
203
-    protected static function framesPerSecond(string $file_content) : float|null
203
+    protected static function framesPerSecond(string $file_content) : float | null
204 204
     {
205 205
         $frameRate = null;
206 206
         preg_match('/ttp:frameRate="(\d+)"/', $file_content, $matches);
@@ -280,8 +280,8 @@  discard block
 block discarded – undo
280 280
         foreach ($xml->text as $text) {
281 281
             $attributes = $text->attributes();
282 282
             $internal_format[] = array(
283
-                'start' => (string) $attributes['start'],
284
-                'end' => (float)((string) $attributes['start'] + (string) $attributes['dur']),
283
+                'start' => (string)$attributes['start'],
284
+                'end' => (float)((string)$attributes['start'] + (string)$attributes['dur']),
285 285
                 'lines' => self::getLinesFromTextWithBr(str_replace("\n", "<br>", $text->asXML()))
286 286
             );
287 287
         }
Please login to merge, or discard this patch.
src/Subtitles.php 1 patch
Spacing   +20 added lines, -20 removed lines patch added patch discarded remove patch
@@ -30,23 +30,23 @@  discard block
 block discarded – undo
30 30
     protected $output;
31 31
 
32 32
     public static $formats = [
33
-        ['extension' => 'ass',  'format' => 'ass',              'name' => 'Advanced Sub Station Alpha', 'class' => AssConverter::class],
34
-        ['extension' => 'ssa',  'format' => 'ass',              'name' => 'Advanced Sub Station Alpha', 'class' => AssConverter::class],
35
-        ['extension' => 'dfxp', 'format' => 'dfxp',             'name' => 'Netflix Timed Text',         'class' => DfxpConverter::class],
36
-        ['extension' => 'sbv',  'format' => 'sbv',              'name' => 'YouTube',                    'class' => SbvConverter::class],
37
-        ['extension' => 'vtt',  'format' => 'vtt',              'name' => 'WebVTT',                     'class' => VttConverter::class],
38
-        ['extension' => 'srt',  'format' => 'srt',              'name' => 'SubRip',                     'class' => SrtConverter::class],
39
-        ['extension' => 'stl',  'format' => 'stl',              'name' => 'Spruce Subtitle File',       'class' => StlConverter::class],
40
-        ['extension' => 'sub',  'format' => 'sub_microdvd',     'name' => 'MicroDVD',                   'class' => SubMicroDvdConverter::class],
41
-        ['extension' => 'sub',  'format' => 'sub_subviewer',    'name' => 'SubViewer2.0',               'class' => SubViewerConverter::class],
42
-        ['extension' => 'ttml', 'format' => 'ttml',             'name' => 'TimedText 1.0',              'class' => TtmlConverter::class],
43
-        ['extension' => 'xml',  'format' => 'ttml',             'name' => 'TimedText 1.0',              'class' => TtmlConverter::class],
44
-        ['extension' => 'smi',  'format' => 'smi',              'name' => 'SAMI',                       'class' => SmiConverter::class],
45
-        ['extension' => 'txt',  'format' => 'txt_quicktime',    'name' => 'Quick Time Text',            'class' => TxtQuickTimeConverter::class],
46
-        ['extension' => 'scc',  'format' => 'scc',              'name' => 'Scenarist',                  'class' => SccConverter::class],
47
-        ['extension' => 'lrc',  'format' => 'lrc',              'name' => 'LyRiCs',                     'class' => LrcConverter::class],
48
-        ['extension' => 'csv',  'format' => 'csv',              'name' => 'Coma Separated Values',      'class' => CsvConverter::class], // must be last from bottom
49
-        ['extension' => 'txt',  'format' => 'txt',              'name' => 'Plaintext',                  'class' => TxtConverter::class], // must be the last one
33
+        ['extension' => 'ass', 'format' => 'ass', 'name' => 'Advanced Sub Station Alpha', 'class' => AssConverter::class],
34
+        ['extension' => 'ssa', 'format' => 'ass', 'name' => 'Advanced Sub Station Alpha', 'class' => AssConverter::class],
35
+        ['extension' => 'dfxp', 'format' => 'dfxp', 'name' => 'Netflix Timed Text', 'class' => DfxpConverter::class],
36
+        ['extension' => 'sbv', 'format' => 'sbv', 'name' => 'YouTube', 'class' => SbvConverter::class],
37
+        ['extension' => 'vtt', 'format' => 'vtt', 'name' => 'WebVTT', 'class' => VttConverter::class],
38
+        ['extension' => 'srt', 'format' => 'srt', 'name' => 'SubRip', 'class' => SrtConverter::class],
39
+        ['extension' => 'stl', 'format' => 'stl', 'name' => 'Spruce Subtitle File', 'class' => StlConverter::class],
40
+        ['extension' => 'sub', 'format' => 'sub_microdvd', 'name' => 'MicroDVD', 'class' => SubMicroDvdConverter::class],
41
+        ['extension' => 'sub', 'format' => 'sub_subviewer', 'name' => 'SubViewer2.0', 'class' => SubViewerConverter::class],
42
+        ['extension' => 'ttml', 'format' => 'ttml', 'name' => 'TimedText 1.0', 'class' => TtmlConverter::class],
43
+        ['extension' => 'xml', 'format' => 'ttml', 'name' => 'TimedText 1.0', 'class' => TtmlConverter::class],
44
+        ['extension' => 'smi', 'format' => 'smi', 'name' => 'SAMI', 'class' => SmiConverter::class],
45
+        ['extension' => 'txt', 'format' => 'txt_quicktime', 'name' => 'Quick Time Text', 'class' => TxtQuickTimeConverter::class],
46
+        ['extension' => 'scc', 'format' => 'scc', 'name' => 'Scenarist', 'class' => SccConverter::class],
47
+        ['extension' => 'lrc', 'format' => 'lrc', 'name' => 'LyRiCs', 'class' => LrcConverter::class],
48
+        ['extension' => 'csv', 'format' => 'csv', 'name' => 'Coma Separated Values', 'class' => CsvConverter::class], // must be last from bottom
49
+        ['extension' => 'txt', 'format' => 'txt', 'name' => 'Plaintext', 'class' => TxtConverter::class], // must be the last one
50 50
     ];
51 51
 
52 52
     public static function convert($from_file_path, $to_file_path, $to_format = null)
@@ -167,7 +167,7 @@  discard block
 block discarded – undo
167 167
 
168 168
     protected function sortInternalFormat()
169 169
     {
170
-        usort($this->internal_format, function ($item1, $item2) {
170
+        usort($this->internal_format, function($item1, $item2) {
171 171
             return $item1['start'] <=> $item2['start'];
172 172
         });
173 173
     }
@@ -258,7 +258,7 @@  discard block
 block discarded – undo
258 258
         }
259 259
 
260 260
         // reorder by time
261
-        usort($internal_format, function ($a, $b) {
261
+        usort($internal_format, function($a, $b) {
262 262
             if ($a['start'] === $b['start']) {
263 263
                 return $a['end'] <=> $b['end'];
264 264
             }
@@ -302,7 +302,7 @@  discard block
 block discarded – undo
302 302
         $last_end_time = 0;
303 303
         foreach ($internal_format as $k => $row) {
304 304
             if ($row['start'] < $last_end_time) {
305
-                throw new UserException("Timestamps are overlapping over 60 seconds: \nxx:xx:xx,xxx --> " . SrtConverter::internalTimeToSrt($internal_format[$k - 1]['end']) . ' ' .  $internal_format[$k - 1]['lines'][0] . "\n" . SrtConverter::internalTimeToSrt($row['start']) . ' --> xx:xx:xx,xxx ' . $row['lines'][0]);
305
+                throw new UserException("Timestamps are overlapping over 60 seconds: \nxx:xx:xx,xxx --> " . SrtConverter::internalTimeToSrt($internal_format[$k - 1]['end']) . ' ' . $internal_format[$k - 1]['lines'][0] . "\n" . SrtConverter::internalTimeToSrt($row['start']) . ' --> xx:xx:xx,xxx ' . $row['lines'][0]);
306 306
             }
307 307
             $last_end_time = $row['end'];
308 308
             if ($row['start'] > $row['end']) {
Please login to merge, or discard this patch.
src/Code/Converters/CsvConverter.php 1 patch
Spacing   +6 added lines, -6 removed lines patch added patch discarded remove patch
@@ -38,14 +38,14 @@  discard block
 block discarded – undo
38 38
     public function fileContentToInternalFormat($file_content)
39 39
     {
40 40
         $data = self::csvToArray(trim($file_content));
41
-        $data_string  = '';
41
+        $data_string = '';
42 42
 
43
-        $is_start_time = (bool) preg_match(TxtConverter::$time_regexp, $data[1][0]);
44
-        $is_end_time = (bool) preg_match(TxtConverter::$time_regexp, $data[1][1]);
43
+        $is_start_time = (bool)preg_match(TxtConverter::$time_regexp, $data[1][0]);
44
+        $is_end_time = (bool)preg_match(TxtConverter::$time_regexp, $data[1][1]);
45 45
 
46 46
         foreach ($data as $k => $row) {
47
-            $timestamp_found = (bool) preg_match(TxtConverter::$time_regexp, $row[0]);
48
-            if ($k === 0  && $timestamp_found === false) { // heading
47
+            $timestamp_found = (bool)preg_match(TxtConverter::$time_regexp, $row[0]);
48
+            if ($k === 0 && $timestamp_found === false) { // heading
49 49
                 continue;
50 50
             }
51 51
 
@@ -100,7 +100,7 @@  discard block
 block discarded – undo
100 100
 
101 101
         $separator = self::detectSeparator($content);
102 102
         $csv = [];
103
-        while ( ($data = fgetcsv($fp, 0, $separator) ) !== false ) {
103
+        while (($data = fgetcsv($fp, 0, $separator)) !== false) {
104 104
             $csv[] = $data;
105 105
         }
106 106
         fclose($fp);
Please login to merge, or discard this patch.
src/Code/Converters/VttConverter.php 1 patch
Spacing   +1 added lines, -1 removed lines patch added patch discarded remove patch
@@ -94,7 +94,7 @@
 block discarded – undo
94 94
         $parts = explode('.', $corrected_time);
95 95
         
96 96
         // parts[0] could be mm:ss or hh:mm:ss format -> always use hh:mm:ss
97
-        $parts[0] = substr_count($parts[0], ':') == 2 ? $parts[0] : '00:'.$parts[0];
97
+        $parts[0] = substr_count($parts[0], ':') == 2 ? $parts[0] : '00:' . $parts[0];
98 98
 
99 99
         if (!isset($parts[1])) {
100 100
             throw new UserException("Time doesn't have milliseconds: " . $vtt_time);
Please login to merge, or discard this patch.