You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@shindig.apache.org by ch...@apache.org on 2008/06/06 18:12:42 UTC
svn commit: r664008 -
/incubator/shindig/trunk/php/src/gadgets/GadgetFeatureRegistry.php
Author: chabotc
Date: Fri Jun 6 09:12:42 2008
New Revision: 664008
URL: http://svn.apache.org/viewvc?rev=664008&view=rev
Log:
SHINDIG-362 Improve getIncludedFeatures functionality in GadgetFeatureRegistry
Modified:
incubator/shindig/trunk/php/src/gadgets/GadgetFeatureRegistry.php
Modified: incubator/shindig/trunk/php/src/gadgets/GadgetFeatureRegistry.php
URL: http://svn.apache.org/viewvc/incubator/shindig/trunk/php/src/gadgets/GadgetFeatureRegistry.php?rev=664008&r1=664007&r2=664008&view=diff
==============================================================================
--- incubator/shindig/trunk/php/src/gadgets/GadgetFeatureRegistry.php (original)
+++ incubator/shindig/trunk/php/src/gadgets/GadgetFeatureRegistry.php Fri Jun 6 09:12:42 2008
@@ -86,27 +86,30 @@
return true;
}
foreach ($needed as $featureName) {
- $entry = isset($this->features[$featureName]) ? $this->features[$featureName] : null;
- if ($entry == null) {
+ $feature = isset($this->features[$featureName]) ? $this->features[$featureName] : null;
+ if ($feature == null) {
$resultsMissing[] = $featureName;
} else {
- $this->addEntryToSet($resultsFound, $entry);
+ $this->addFeatureToResults($resultsFound, $feature);
}
}
return count($resultsMissing) == 0;
}
- private function addEntryToSet(&$results, $entry)
+ private function addFeatureToResults(&$results, $feature)
{
- foreach ($entry->deps as $dep) {
+ if (in_array($feature->name, $results)) {
+ return;
+ }
+ foreach ($feature->deps as $dep) {
/*
* TODO: Temporal fix, double check where empty dependencies are being added
*/
if (! empty($dep)) {
- $this->addEntryToSet($results, $this->features[$dep]);
+ $this->addFeatureToResults($results, $this->features[$dep]);
}
}
- $results[$entry->name] = $entry->name;
+ $results[$feature->name] = $feature->name;
}
public function getEntry($name)