//we have no "created" data in our database. use first release end($pkg['releases']); $p->created = reset(explode(' ', $pkg['releases'][key($pkg['releases'])]['releasedate'])); $p->shortdesc = $pkg['summary']; $p->shortdesc['xml:lang'] = 'en'; $p->description = $pkg['description']; $p->description['xml:lang'] = 'en'; $p->{'mailing-list'}[0]['rdf:resource'] = 'http://pear.php.net/support/lists.php'; $p->{'mailing-list'}[1]['rdf:resource'] = 'http://news.php.net/php.pear.general'; $p->{'mailing-list'}[2]['rdf:resource'] = 'http://news.php.net/php.pear.dev'; $p->{'download-page'}['rdf:resource'] = $url . '/download'; /* * DOAP: helper, tester, translator, documenter, developer, maintainer * PEAR: helper, contributor, developer, lead */ $maintainers = maintainer::getDetailled($pkg['packageid']); //PEAR -> DOAP $rolemap = array('helper' => 'helper', 'contributor' => 'helper', 'developer' => 'developer', 'lead' => 'maintainer'); $rolecounter = array('helper' => 0, 'developer' => 0, 'maintainer' => 0); foreach ($maintainers as $nick => $maint) { $role = $rolemap[$maint['role']]; $n = $rolecounter[$role]; $p->{$role}[$n]->{'foaf:Person'}->{'foaf:nick'} = $nick; $p->{$role}[$n]->{'foaf:Person'}->{'foaf:name'} = $maint['name']; $p->{$role}[$n]->{'foaf:Person'}->{'foaf:homepage'}['rdf:resource'] = $maint['homepage']; $p->{$role}[$n]->{'foaf:Person'}->{'foaf:mbox_sha1sum'} = sha1('mailto:' . $maint['email']); if ($maint['longitude'] != '') { $p->{$role}[$n]->{'foaf:Person'}->{'foaf:based_near'}->{'geo:Point'}['geo:lat'] = $maint['latitude']; $p->{$role}[$n]->{'foaf:Person'}->{'foaf:based_near'}->{'geo:Point'}['geo:long'] = $maint['longitude']; } ++$rolecounter[$role];