popnoire/site/OFF_plugins/kirby-audio-duration/kirby-audio-duration.php

34 lines
782 B
PHP
Raw Normal View History

2026-02-12 15:22:46 +01:00
<?php
require_once __DIR__ . '/vendor/autoload.php';
// file::$methods['duration'] = function($file) {
// if ($file->extension() === 'mp3') {
// $getID3 = new getID3();
// $info = $getID3->analyze($file->root());
// return $info['playtime_string'];
// }
// };
kirby()->hook('panel.file.upload', function($file) {
if ($file->extension() === 'mp3') {
$getID3 = new getID3();
$info = $getID3->analyze($file->root());
$play_time = $info['playtime_string'];
list($mins , $secs) = explode(':' , $play_time);
$audioData = [
'duration' => $play_time,
'durationMinutes' => str_pad($mins, 2, '0', STR_PAD_LEFT),
'durationSeconds' => str_pad($secs, 2, '0', STR_PAD_LEFT)
];
$file->update($audioData);
}
});