Knp\Bundle\KnpBundlesBundle\Features\Context\FeatureContext::theSiteHasFollowingBundles PHP Метод

theSiteHasFollowingBundles() публичный Метод

public theSiteHasFollowingBundles ( Behat\Gherkin\Node\TableNode $table )
$table Behat\Gherkin\Node\TableNode
    public function theSiteHasFollowingBundles(TableNode $table)
    {
        $entityManager = $this->getEntityManager();
        $this->bundles = array();
        foreach ($table->getHash() as $row) {
            if (isset($this->developers[$row['username']])) {
                $owner = $this->developers[$row['username']];
            } elseif (isset($this->organizations[$row['username']])) {
                $owner = $this->organizations[$row['username']];
            } else {
                continue;
            }
            $bundle = new Entity\Bundle();
            $bundle->fromArray(array('name' => $row['name'], 'owner' => $owner, 'ownerName' => $owner->getName(), 'description' => $row['description'], 'readme' => isset($row['readme']) ? $row['readme'] : '', 'state' => isset($row['state']) ? $row['state'] : Entity\Bundle::STATE_UNKNOWN));
            if (isset($row['license'])) {
                $bundle->setLicenseType($row['license']);
            }
            if (isset($row['createdAt'])) {
                $bundle->setCreatedAt(new \DateTime($row['createdAt']));
            }
            if (isset($row['lastCommitAt'])) {
                $bundle->setLastCommitAt(new \DateTime($row['lastCommitAt']));
            }
            $bundle->setScore($row['score']);
            $versionsHistory['dependencies']['dev-master'] = array('name' => 'friendsofsymfony/user-bundle', 'extra' => array('branch-alias' => array('dev-master' => '2.0.x-dev')), 'require' => array('php' => '>=5.3.2'), 'require-dev' => '', 'suggest' => '');
            $bundle->setVersionsHistory($versionsHistory);
            $this->setPrivateProperty($bundle, "trend1", $row['trend1']);
            if (isset($row['recommendedBy'])) {
                $ownerNames = explode(',', $row['recommendedBy']);
                foreach ($ownerNames as $ownerName) {
                    $owner = $this->developers[trim($ownerName)];
                    $bundle->addRecommender($owner);
                    $owner->addRecommendedBundle($bundle);
                    $entityManager->persist($owner);
                }
            }
            $entityManager->persist($bundle);
            $this->bundles[$bundle->getName()] = $bundle;
        }
        $entityManager->flush();
    }