I can't test it here, but try replacing the part for ($time=$this->TimeStart; $time<=$this->TimeEnd; $time+=60*$min_step)
{
$this->Files[$time] = preg_replace('/%([A-Z])/ie', 'gmdate("\1", $time)', $time_format);
}
with for ($time=$this->TimeStart; $time<=$this->TimeEnd; $time+=60*$min_step)
{
// old $this->Files[$time] = preg_replace('/%([A-Z])/ie', 'gmdate("\1", $time)', $time_format);
$this->Files[$time] = preg_replace_callback('/%([A-Z])/i',
function ($m,$time) {
return ( gmdate($m[1], $time) );
},
$time_format);
}