Pagekit\Installer\Controller\PackageController::loadPackage PHP Method

loadPackage() protected method

protected loadPackage ( $file )
    protected function loadPackage($file)
    {
        if (is_file($file)) {
            $zip = new \ZipArchive();
            if ($zip->open($file) === true) {
                $json = $zip->getFromName('composer.json');
                if ($json && ($package = App::package()->load($json))) {
                    $extra = $package->get('extra');
                    if (isset($extra['icon']) || isset($extra['image'])) {
                        unset($extra['icon']);
                        unset($extra['image']);
                        $package->set('extra', $extra);
                    }
                    $package->set('shasum', sha1_file($file));
                }
                $zip->close();
            }
        }
        if (isset($package) && $package) {
            return $package;
        }
        App::abort(400, __('Can\'t load json file from package.'));
    }