| | |
| | | $data = array( |
| | | 'name' => $vendor . '/' . strval($package->name), |
| | | 'type' => 'roundcube-plugin', |
| | | 'description' => trim(strval($package->summary) . '; ' . strval($package->description), ';- '), |
| | | 'description' => trim(strval($package->description), '- ') ? trim(strval($package->description)) : trim(strval($package->summary)), |
| | | 'homepage' => strval($package->uri), |
| | | 'license' => 'GPLv3+', |
| | | 'version' => strval($package->version->release), |
| | | 'authors' => array(), |
| | | 'repositories' => array( |
| | | array('type' => 'composer', 'url' => 'http://plugins.roundcube.net'), |
| | |
| | | } |
| | | |
| | | if ($package->lead) { |
| | | $data['authors'][] = array( |
| | | 'name' => strval($package->lead->name), |
| | | 'email' => strval($package->lead->email), |
| | | 'role' => 'Lead', |
| | | ); |
| | | foreach ($package->lead as $lead) { |
| | | if (strval($lead->active) == 'no') { |
| | | continue; |
| | | } |
| | | $data['authors'][] = array( |
| | | 'name' => strval($lead->name), |
| | | 'email' => strval($lead->email), |
| | | 'role' => 'Lead', |
| | | ); |
| | | } |
| | | } |
| | | |
| | | if ($devs = $package->developer) { |
| | | if (!is_array($devs)) { |
| | | $devs = array($package->developer); |
| | | } |
| | | foreach ($devs as $dev) { |
| | | foreach ($package->developer as $dev) { |
| | | $data['authors'][] = array( |
| | | 'name' => strval($dev->name), |
| | | 'email' => strval($dev->email), |
| | |
| | | } |
| | | } |
| | | |
| | | if ($package->dependencies->required->extension) { |
| | | foreach ($package->dependencies->required->extension as $ext) { |
| | | $data['require']['ext-' . strval($ext->name)] = '*'; |
| | | } |
| | | } |
| | | |
| | | // remove empty values |
| | | $data = array_filter($data); |
| | | |