private function updateDocumentFromPackage(\Solarium_Document_ReadWrite $document, Package $package)
 {
     $document->id = $package->getId();
     $document->name = $package->getName();
     $document->description = $package->getDescription();
     $tags = array();
     foreach ($package->getVersions() as $version) {
         foreach ($version->getTags() as $tag) {
             $tags[mb_strtolower($tag->getName(), 'UTF-8')] = true;
         }
     }
     $document->tags = array_keys($tags);
 }
Esempio n. 2
0
 private function updateDocumentFromPackage(Solarium_Document_ReadWrite $document, Package $package, array $tags, $redis, DownloadManager $downloadManager, FavoriteManager $favoriteManager)
 {
     $document->setField('id', $package->getId());
     $document->setField('name', $package->getName());
     $document->setField('package_name', $package->getPackageName());
     $document->setField('description', preg_replace('{[\\x00-\\x1f]+}u', '', $package->getDescription()));
     $document->setField('type', $package->getType());
     $document->setField('trendiness', $redis->zscore('downloads:trending', $package->getId()));
     $document->setField('downloads', $downloadManager->getTotalDownloads($package));
     $document->setField('favers', $favoriteManager->getFaverCount($package));
     $document->setField('repository', $package->getRepository());
     $document->setField('language', $package->getLanguage());
     if ($package->isAbandoned()) {
         $document->setField('abandoned', 1);
         $document->setField('replacementPackage', $package->getReplacementPackage() ?: '');
     } else {
         $document->setField('abandoned', 0);
         $document->setField('replacementPackage', '');
     }
     $tags = array_map(function ($tag) {
         return mb_strtolower(preg_replace('{[\\x00-\\x1f]+}u', '', $tag), 'UTF-8');
     }, $tags);
     $document->setField('tags', $tags);
 }
 private function updateDocumentFromPackage(\Solarium_Document_ReadWrite $document, Package $package, $redis)
 {
     $document->setField('id', $package->getId());
     $document->setField('name', $package->getName());
     $document->setField('description', $package->getDescription());
     $document->setField('type', $package->getType());
     $document->setField('trendiness', $redis->zscore('downloads:trending', $package->getId()));
     $document->setField('repository', $package->getRepository());
     if ($package->isAbandoned()) {
         $document->setField('abandoned', 1);
         $document->setField('replacementPackage', $package->getReplacementPackage() ?: '');
     } else {
         $document->setField('abandoned', 0);
         $document->setField('replacementPackage', '');
     }
     $tags = array();
     foreach ($package->getVersions() as $version) {
         foreach ($version->getTags() as $tag) {
             $tags[mb_strtolower($tag->getName(), 'UTF-8')] = true;
         }
     }
     $document->setField('tags', array_keys($tags));
 }
Esempio n. 4
0
 /**
  * Populates a feed entry with data coming from Package objects.
  *
  * @param \Zend\Feed\Writer\Entry $entry
  * @param Package                 $package
  */
 protected function populatePackageData(Entry $entry, Package $package)
 {
     $entry->setTitle($package->getName());
     $entry->setLink($this->generateUrl('view_package', array('name' => $package->getName()), true));
     $entry->setId($package->getName());
     $entry->setDateModified($package->getCreatedAt());
     $entry->setDateCreated($package->getCreatedAt());
     $entry->setDescription($package->getDescription() ?: ' ');
 }
Esempio n. 5
0
 private function updateDocumentFromPackage(\Solarium_Document_ReadWrite $document, Package $package)
 {
     $document->setField('id', strtolower($package->getName()));
     $document->setField('name', $package->getName());
     $document->setField('description', $package->getDescription());
     $document->setField('type', $package->getType());
     $tags = array();
     foreach ($package->getVersions() as $version) {
         foreach ($version->getTags() as $tag) {
             $tags[mb_strtolower($tag->getName(), 'UTF-8')] = true;
         }
     }
     $document->setField('tags', array_keys($tags));
 }