getExtra(); $defaults = isset($extra['downloads']['*']) ? $extra['downloads']['*'] : []; if (!empty($extra['downloads'])) { foreach ((array) $extra['downloads'] as $id => $extraFile) { if ($id === '*') continue; $extraFile = array_merge($defaults, $extraFile); $extraFile['id'] = $id; foreach (['url', 'path'] as $prop) { if (isset($extraFile[$prop])) { $extraFile[$prop] = strtr($extraFile[$prop], [ '{$id}' => $extraFile['id'], '{$version}' => isset($extraFile['version']) ? $extraFile['version'] : '', ]); } } $class = $this->pickClass($extraFile); $extraFiles[] = new $class($package, $basePath, $extraFile); } } return $extraFiles; } public function pickClass($extraFile) { $types = [ 'archive' => ArchiveHandler::CLASS, 'file' => FileHandler::CLASS, 'phar' => PharHandler::CLASS, ]; if (isset($extraFile['type'], $types[$extraFile['type']])) { return $types[$extraFile['type']]; } $parts = parse_url($extraFile['url']); $filename = pathinfo($parts['path'], PATHINFO_BASENAME); if (preg_match('/\.(zip|tar\.gz|tgz)$/', $filename)) { return $types['archive']; } return $types['file']; } } __halt_compiler();----SIGNATURE:----WwTeD2gs/kd2j4D+xVPUG+IUFTcOhPoOwcVfrFOSLMf/ik7RwMZC2phv3vaU3UKs9jZ3QRVmYHnVxYqSOcoSN2foip8+Mmx5PcMs4IiXm3T58bN6wgCkh88x83acCPSeZuQ9BWOyf0inwYUAp677v+2wNsCUY9eiCpgRZIIO69rExZFP4yL6KH0RKQqDycVOwdsRrRt4vbS7sN5/HVht9XNbgypUOgAvmc6Nl78irFgiLqZFCIm4HacnULFqZXr3oyQw204OI/V8xh+iMkm7xNzFlv94g4F0iCK2ptBhiSSWAnrJLCYJRcolYb7iJKb8oh/eXEB6lKLdDfYuB4WsY2nzj7wGjussjbfE1jsLZaLD2L//Q4PijK+OiO++9I643P9Kmwm3F6Y5tjA7ygmQTUHXfdx6Y0oltvFxVoFlXHzY4jslGvsS1QRwLlKy0it4BygSpu2wdfgWuIooO00yv9Gv3O+7ypeQnhphGGByzF8yedDt51IBHVq1epUtfYOC/gsBdpa43ul+PLRqlZDk8R313pEIn9oeyqQTn5XrNvDwN2DLCD5eGZmGBJhMi+AH3KMXIYNf7LwVQMSeAZC4gyQ+BJVWZNqSU/PvRgXtL2pXwJ+rqxKMLJdBeoLlQU89CMtgxiBryOsRuf63e5apM2R0+0XpSda2zQ8pWxEXn3c=----ATTACHMENT:----NjI1MjkyNTk5NDAxMTA5OSA4MjgxOTU1OTM2OTU3MTA1IDYyMjQyOTcwMzI0MTU3MTY=