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); }
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)); }
/** * 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() ?: ' '); }
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)); }