Browse Source

Cleanup code to be compatible with Symfony 2.3

Joseph Bielawski 11 năm trước cách đây
mục cha
commit
45f3dc5f34
26 tập tin đã thay đổi với 128 bổ sung510 xóa
  1. 1 1
      app/config/config.yml
  2. 2 0
      src/Packagist/WebBundle/Command/CompileStatsCommand.php
  3. 1 0
      src/Packagist/WebBundle/Command/DumpPackagesCommand.php
  4. 1 2
      src/Packagist/WebBundle/Command/IndexPackagesCommand.php
  5. 9 9
      src/Packagist/WebBundle/Command/UpdatePackagesCommand.php
  6. 10 10
      src/Packagist/WebBundle/Controller/ApiController.php
  7. 6 6
      src/Packagist/WebBundle/Controller/FeedController.php
  8. 1 3
      src/Packagist/WebBundle/Controller/PackageController.php
  9. 11 11
      src/Packagist/WebBundle/Controller/UserController.php
  10. 19 18
      src/Packagist/WebBundle/Controller/WebController.php
  11. 2 2
      src/Packagist/WebBundle/DependencyInjection/Compiler/RepositoryPass.php
  12. 1 1
      src/Packagist/WebBundle/DependencyInjection/PackagistWebExtension.php
  13. 5 5
      src/Packagist/WebBundle/Entity/Author.php
  14. 7 8
      src/Packagist/WebBundle/Entity/Package.php
  15. 2 2
      src/Packagist/WebBundle/Entity/PackageLink.php
  16. 6 7
      src/Packagist/WebBundle/Entity/Tag.php
  17. 7 7
      src/Packagist/WebBundle/Entity/User.php
  18. 22 22
      src/Packagist/WebBundle/Entity/Version.php
  19. 2 2
      src/Packagist/WebBundle/Form/Handler/OAuthRegistrationFormHandler.php
  20. 3 1
      src/Packagist/WebBundle/Form/Type/PackageType.php
  21. 3 1
      src/Packagist/WebBundle/Form/Type/ProfileFormType.php
  22. 1 3
      src/Packagist/WebBundle/Model/PackageManager.php
  23. 0 384
      src/Packagist/WebBundle/Package/Updater.php
  24. 2 2
      src/Packagist/WebBundle/PackagistWebBundle.php
  25. 3 2
      src/Packagist/WebBundle/Security/Provider/UserProvider.php
  26. 1 1
      src/Packagist/WebBundle/Tests/Controller/ApiControllerTest.php

+ 1 - 1
app/config/config.yml

@@ -15,7 +15,7 @@ framework:
     templating:      { engines: ['twig'] } #assets_version: SomeVersionScheme
     default_locale: %locale%
     session:
-        name: packagist
+        name:            packagist
         cookie_lifetime: 3600
         cookie_httponly: true
         save_path: %session_save_path%

+ 2 - 0
src/Packagist/WebBundle/Command/CompileStatsCommand.php

@@ -12,7 +12,9 @@
 
 namespace Packagist\WebBundle\Command;
 
+use Packagist\WebBundle\Package\Updater;
 use Symfony\Bundle\FrameworkBundle\Command\ContainerAwareCommand;
+use Symfony\Component\Console\Input\InputArgument;
 use Symfony\Component\Console\Input\InputInterface;
 use Symfony\Component\Console\Input\InputOption;
 use Symfony\Component\Console\Output\OutputInterface;

+ 1 - 0
src/Packagist/WebBundle/Command/DumpPackagesCommand.php

@@ -13,6 +13,7 @@
 namespace Packagist\WebBundle\Command;
 
 use Symfony\Bundle\FrameworkBundle\Command\ContainerAwareCommand;
+use Symfony\Component\Console\Input\InputArgument;
 use Symfony\Component\Console\Input\InputInterface;
 use Symfony\Component\Console\Input\InputOption;
 use Symfony\Component\Console\Output\OutputInterface;

+ 1 - 2
src/Packagist/WebBundle/Command/IndexPackagesCommand.php

@@ -13,11 +13,10 @@
 namespace Packagist\WebBundle\Command;
 
 use Packagist\WebBundle\Entity\Package;
-
 use Symfony\Bundle\FrameworkBundle\Command\ContainerAwareCommand;
+use Symfony\Component\Console\Input\InputArgument;
 use Symfony\Component\Console\Input\InputInterface;
 use Symfony\Component\Console\Input\InputOption;
-use Symfony\Component\Console\Input\InputArgument;
 use Symfony\Component\Console\Output\OutputInterface;
 
 /**

+ 9 - 9
src/Packagist/WebBundle/Command/UpdatePackagesCommand.php

@@ -12,19 +12,19 @@
 
 namespace Packagist\WebBundle\Command;
 
-use Symfony\Bundle\FrameworkBundle\Command\ContainerAwareCommand;
-use Symfony\Component\Console\Input\InputInterface;
-use Symfony\Component\Console\Input\InputOption;
-use Symfony\Component\Console\Input\InputArgument;
-use Symfony\Component\Console\Output\OutputInterface;
-use Packagist\WebBundle\Package\Updater;
-use Composer\Repository\VcsRepository;
 use Composer\Factory;
-use Composer\Package\Loader\ValidatingArrayLoader;
-use Composer\Package\Loader\ArrayLoader;
 use Composer\IO\BufferIO;
 use Composer\IO\ConsoleIO;
+use Composer\Package\Loader\ArrayLoader;
+use Composer\Package\Loader\ValidatingArrayLoader;
 use Composer\Repository\InvalidRepositoryException;
+use Composer\Repository\VcsRepository;
+use Packagist\WebBundle\Package\Updater;
+use Symfony\Bundle\FrameworkBundle\Command\ContainerAwareCommand;
+use Symfony\Component\Console\Input\InputArgument;
+use Symfony\Component\Console\Input\InputInterface;
+use Symfony\Component\Console\Input\InputOption;
+use Symfony\Component\Console\Output\OutputInterface;
 
 /**
  * @author Jordi Boggiano <j.boggiano@seld.be>

+ 10 - 10
src/Packagist/WebBundle/Controller/ApiController.php

@@ -12,22 +12,22 @@
 
 namespace Packagist\WebBundle\Controller;
 
-use Composer\IO\BufferIO;
 use Composer\Factory;
-use Composer\Repository\VcsRepository;
-use Composer\Repository\InvalidRepositoryException;
-use Composer\Package\Loader\ValidatingArrayLoader;
+use Composer\IO\BufferIO;
 use Composer\Package\Loader\ArrayLoader;
-use Packagist\WebBundle\Package\Updater;
+use Composer\Package\Loader\ValidatingArrayLoader;
+use Composer\Repository\InvalidRepositoryException;
+use Composer\Repository\VcsRepository;
 use Packagist\WebBundle\Entity\Package;
 use Packagist\WebBundle\Entity\User;
-use Symfony\Component\HttpFoundation\Response;
+use Packagist\WebBundle\Package\Updater;
+use Sensio\Bundle\FrameworkExtraBundle\Configuration\Method;
+use Sensio\Bundle\FrameworkExtraBundle\Configuration\Route;
+use Sensio\Bundle\FrameworkExtraBundle\Configuration\Template;
+use Symfony\Component\Console\Output\OutputInterface;
 use Symfony\Component\HttpFoundation\JsonResponse;
 use Symfony\Component\HttpFoundation\Request;
-use Symfony\Component\Console\Output\OutputInterface;
-use Sensio\Bundle\FrameworkExtraBundle\Configuration\Template;
-use Sensio\Bundle\FrameworkExtraBundle\Configuration\Route;
-use Sensio\Bundle\FrameworkExtraBundle\Configuration\Method;
+use Symfony\Component\HttpFoundation\Response;
 
 /**
  * @author Jordi Boggiano <j.boggiano@seld.be>

+ 6 - 6
src/Packagist/WebBundle/Controller/FeedController.php

@@ -13,16 +13,16 @@
 namespace Packagist\WebBundle\Controller;
 
 use Doctrine\ORM\QueryBuilder;
-use Pagerfanta\Adapter\DoctrineORMAdapter;
-use Pagerfanta\Pagerfanta;
-use Zend\Feed\Writer\Entry;
-use Zend\Feed\Writer\Feed;
 use Packagist\WebBundle\Entity\Package;
 use Packagist\WebBundle\Entity\Version;
-use Symfony\Component\HttpFoundation\Response;
-use Sensio\Bundle\FrameworkExtraBundle\Configuration\Route;
+use Pagerfanta\Adapter\DoctrineORMAdapter;
+use Pagerfanta\Pagerfanta;
 use Sensio\Bundle\FrameworkExtraBundle\Configuration\Method;
+use Sensio\Bundle\FrameworkExtraBundle\Configuration\Route;
 use Sensio\Bundle\FrameworkExtraBundle\Configuration\Template;
+use Symfony\Component\HttpFoundation\Response;
+use Zend\Feed\Writer\Entry;
+use Zend\Feed\Writer\Feed;
 
 /**
  * @author Rafael Dohms <rafael@doh.ms>

+ 1 - 3
src/Packagist/WebBundle/Controller/PackageController.php

@@ -3,15 +3,13 @@
 namespace Packagist\WebBundle\Controller;
 
 use Packagist\WebBundle\Form\Type\AbandonedType;
+use Packagist\WebBundle\Entity\Package;
 use Symfony\Component\HttpFoundation\Request;
 use Symfony\Component\Security\Core\Exception\AccessDeniedException;
 
 use Sensio\Bundle\FrameworkExtraBundle\Configuration\Template;
 use Sensio\Bundle\FrameworkExtraBundle\Configuration\Route;
 
-use Packagist\WebBundle\Entity\Package;
-
-
 class PackageController extends Controller
 {
     /**

+ 11 - 11
src/Packagist/WebBundle/Controller/UserController.php

@@ -12,20 +12,20 @@
 
 namespace Packagist\WebBundle\Controller;
 
-use Symfony\Component\HttpKernel\Exception\NotFoundHttpException;
-use Symfony\Component\HttpFoundation\Request;
-use Symfony\Component\HttpFoundation\Response;
-use Sensio\Bundle\FrameworkExtraBundle\Configuration\Template;
-use Sensio\Bundle\FrameworkExtraBundle\Configuration\Route;
-use Sensio\Bundle\FrameworkExtraBundle\Configuration\Method;
-use Sensio\Bundle\FrameworkExtraBundle\Configuration\ParamConverter;
-use Pagerfanta\Pagerfanta;
-use Pagerfanta\Adapter\DoctrineORMAdapter;
 use FOS\UserBundle\Model\UserInterface;
-use Symfony\Component\Security\Core\Exception\AccessDeniedException;
-use Packagist\WebBundle\Entity\User;
 use Packagist\WebBundle\Entity\Package;
+use Packagist\WebBundle\Entity\User;
 use Packagist\WebBundle\Model\RedisAdapter;
+use Pagerfanta\Adapter\DoctrineORMAdapter;
+use Pagerfanta\Pagerfanta;
+use Sensio\Bundle\FrameworkExtraBundle\Configuration\Method;
+use Sensio\Bundle\FrameworkExtraBundle\Configuration\ParamConverter;
+use Sensio\Bundle\FrameworkExtraBundle\Configuration\Route;
+use Sensio\Bundle\FrameworkExtraBundle\Configuration\Template;
+use Symfony\Component\HttpFoundation\Request;
+use Symfony\Component\HttpFoundation\Response;
+use Symfony\Component\HttpKernel\Exception\NotFoundHttpException;
+use Symfony\Component\Security\Core\Exception\AccessDeniedException;
 
 /**
  * @author Jordi Boggiano <j.boggiano@seld.be>

+ 19 - 18
src/Packagist/WebBundle/Controller/WebController.php

@@ -13,37 +13,38 @@
 namespace Packagist\WebBundle\Controller;
 
 use Composer\Console\HtmlOutputFormatter;
-use Composer\IO\BufferIO;
 use Composer\Factory;
-use Composer\Repository\VcsRepository;
-use Composer\Package\Loader\ValidatingArrayLoader;
+use Composer\IO\BufferIO;
 use Composer\Package\Loader\ArrayLoader;
+use Composer\Package\Loader\ValidatingArrayLoader;
+use Composer\Repository\VcsRepository;
 use Doctrine\ORM\NoResultException;
-use Packagist\WebBundle\Form\Type\AddMaintainerRequestType;
+use Packagist\WebBundle\Entity\Package;
+use Packagist\WebBundle\Entity\Version;
 use Packagist\WebBundle\Form\Model\MaintainerRequest;
+use Packagist\WebBundle\Form\Model\SearchQuery;
+use Packagist\WebBundle\Form\Type\AddMaintainerRequestType;
+use Packagist\WebBundle\Form\Type\PackageType;
 use Packagist\WebBundle\Form\Type\RemoveMaintainerRequestType;
 use Packagist\WebBundle\Form\Type\SearchQueryType;
-use Packagist\WebBundle\Form\Model\SearchQuery;
 use Packagist\WebBundle\Package\Updater;
-use Packagist\WebBundle\Entity\Package;
-use Packagist\WebBundle\Entity\Version;
+use Pagerfanta\Adapter\DoctrineORMAdapter;
 use Pagerfanta\Adapter\FixedAdapter;
-use Packagist\WebBundle\Form\Type\PackageType;
-use Symfony\Component\HttpFoundation\RedirectResponse;
-use Symfony\Component\HttpFoundation\Response;
+use Pagerfanta\Adapter\SolariumAdapter;
+use Pagerfanta\Pagerfanta;
+use Predis\Connection\ConnectionException;
+use Symfony\Component\Console\Output\OutputInterface;
 use Symfony\Component\HttpFoundation\JsonResponse;
+use Symfony\Component\HttpFoundation\RedirectResponse;
 use Symfony\Component\HttpFoundation\Request;
+use Symfony\Component\HttpFoundation\Response;
 use Symfony\Component\HttpKernel\Exception\NotFoundHttpException;
-use Symfony\Component\Console\Output\OutputInterface;
+use Symfony\Component\Security\Core\Exception\AccessDeniedException;
+
 use Sensio\Bundle\FrameworkExtraBundle\Configuration\Template;
 use Sensio\Bundle\FrameworkExtraBundle\Configuration\Cache;
 use Sensio\Bundle\FrameworkExtraBundle\Configuration\Route;
 use Sensio\Bundle\FrameworkExtraBundle\Configuration\Method;
-use Symfony\Component\Security\Core\Exception\AccessDeniedException;
-use Pagerfanta\Pagerfanta;
-use Pagerfanta\Adapter\DoctrineORMAdapter;
-use Pagerfanta\Adapter\SolariumAdapter;
-use Predis\Connection\ConnectionException;
 
 /**
  * @author Jordi Boggiano <j.boggiano@seld.be>
@@ -235,7 +236,7 @@ class WebController extends Controller
      * Initializes the pager for a query.
      *
      * @param \Doctrine\ORM\QueryBuilder $query Query for packages
-     * @param int                        $page  Pagenumber to retrieve.
+     * @param int                        $page  Page number to retrieve.
      * @return \Pagerfanta\Pagerfanta
      */
     protected function setupPager($query, $page)
@@ -461,7 +462,7 @@ class WebController extends Controller
         if ('POST' === $req->getMethod()) {
             $form->bind($req);
             if ($form->isValid()) {
-                list($vendor, $name) = explode('/', $package->getName(), 2);
+                list(, $name) = explode('/', $package->getName(), 2);
 
                 $existingPackages = $this->getDoctrine()
                     ->getRepository('PackagistWebBundle:Package')

+ 2 - 2
src/Packagist/WebBundle/DependencyInjection/Compiler/RepositoryPass.php

@@ -12,9 +12,9 @@
 
 namespace Packagist\WebBundle\DependencyInjection\Compiler;
 
-use Symfony\Component\DependencyInjection\Reference;
-use Symfony\Component\DependencyInjection\ContainerBuilder;
 use Symfony\Component\DependencyInjection\Compiler\CompilerPassInterface;
+use Symfony\Component\DependencyInjection\ContainerBuilder;
+use Symfony\Component\DependencyInjection\Reference;
 
 /**
  * Adds VCS repository providers to the main repository_provider service

+ 1 - 1
src/Packagist/WebBundle/DependencyInjection/PackagistWebExtension.php

@@ -13,8 +13,8 @@
 namespace Packagist\WebBundle\DependencyInjection;
 
 use Symfony\Component\Config\FileLocator;
-use Symfony\Component\DependencyInjection\Loader\YamlFileLoader;
 use Symfony\Component\DependencyInjection\ContainerBuilder;
+use Symfony\Component\DependencyInjection\Loader\YamlFileLoader;
 use Symfony\Component\HttpKernel\DependencyInjection\Extension;
 
 /**

+ 5 - 5
src/Packagist/WebBundle/Entity/Author.php

@@ -12,8 +12,8 @@
 
 namespace Packagist\WebBundle\Entity;
 
-use Doctrine\ORM\Mapping as ORM;
 use Doctrine\Common\Collections\ArrayCollection;
+use Doctrine\ORM\Mapping as ORM;
 
 /**
  * @ORM\Entity(repositoryClass="Packagist\WebBundle\Entity\AuthorRepository")
@@ -150,7 +150,7 @@ class Author
     /**
      * Add versions
      *
-     * @param \Packagist\WebBundle\Entity\Version $version
+     * @param Version $version
      */
     public function addVersion(Version $version)
     {
@@ -160,7 +160,7 @@ class Author
     /**
      * Get versions
      *
-     * @return string $versions
+     * @return Version[]
      */
     public function getVersions()
     {
@@ -250,7 +250,7 @@ class Author
     /**
      * Set owner
      *
-     * @param \Packagist\WebBundle\Entity\User $owner
+     * @param User $owner
      */
     public function setOwner(User $owner)
     {
@@ -260,7 +260,7 @@ class Author
     /**
      * Get owner
      *
-     * @return \Packagist\WebBundle\Entity\User
+     * @return User
      */
     public function getOwner()
     {

+ 7 - 8
src/Packagist/WebBundle/Entity/Package.php

@@ -12,14 +12,13 @@
 
 namespace Packagist\WebBundle\Entity;
 
+use Composer\Factory;
+use Composer\IO\NullIO;
+use Composer\Repository\VcsRepository;
+use Doctrine\Common\Collections\ArrayCollection;
 use Doctrine\ORM\Mapping as ORM;
 use Symfony\Component\Validator\Constraints as Assert;
 use Symfony\Component\Validator\ExecutionContextInterface;
-use Doctrine\Common\Collections\ArrayCollection;
-use Composer\IO\NullIO;
-use Composer\Factory;
-use Composer\Repository\VcsRepository;
-use Composer\Repository\Vcs\GitHubDriver;
 
 /**
  * @ORM\Entity(repositoryClass="Packagist\WebBundle\Entity\PackageRepository")
@@ -157,7 +156,7 @@ class Package
         }
         $maintainers = array();
         foreach ($this->getMaintainers() as $maintainer) {
-            /** @var $maintainer Maintainer */
+            /** @var $maintainer User */
             $maintainers[] = $maintainer->toArray();
         }
         $data = array(
@@ -397,7 +396,7 @@ class Package
     /**
      * Add versions
      *
-     * @param \Packagist\WebBundle\Entity\Version $versions
+     * @param Version $versions
      */
     public function addVersions(Version $versions)
     {
@@ -512,7 +511,7 @@ class Package
     /**
      * Add maintainers
      *
-     * @param \Packagist\WebBundle\Entity\User $maintainer
+     * @param User $maintainer
      */
     public function addMaintainer(User $maintainer)
     {

+ 2 - 2
src/Packagist/WebBundle/Entity/PackageLink.php

@@ -101,7 +101,7 @@ abstract class PackageLink
     /**
      * Set version
      *
-     * @param \Packagist\WebBundle\Entity\Version $version
+     * @param Version $version
      */
     public function setVersion(Version $version)
     {
@@ -111,7 +111,7 @@ abstract class PackageLink
     /**
      * Get version
      *
-     * @return \Packagist\WebBundle\Entity\Version
+     * @return Version
      */
     public function getVersion()
     {

+ 6 - 7
src/Packagist/WebBundle/Entity/Tag.php

@@ -12,10 +12,9 @@
 
 namespace Packagist\WebBundle\Entity;
 
+use Doctrine\ORM\EntityManager;
 use Doctrine\ORM\Mapping as ORM;
 use Symfony\Component\Validator\Constraints as Assert;
-use Doctrine\Common\Collections\Collection;
-use Doctrine\ORM\EntityManager;
 
 /**
  * @ORM\Entity
@@ -52,10 +51,10 @@ class Tag
 
     /**
      * @param \Doctrine\ORM\EntityManager $em
-     * @param                             $name
+     * @param string                      $name
      * @param bool                        $create
      *
-     * @return mixed|Tag
+     * @return Tag
      * @throws \Doctrine\ORM\NoResultException
      */
     public static function getByName(EntityManager $em, $name, $create = false)
@@ -103,7 +102,7 @@ class Tag
     /**
      * Add versions
      *
-     * @param \Packagist\WebBundle\Entity\Version $versions
+     * @param Version $versions
      */
     public function addVersions(Version $versions)
     {
@@ -113,7 +112,7 @@ class Tag
     /**
      * Get versions
      *
-     * @return \Doctrine\Common\Collections\Collection $versions
+     * @return Version[]
      */
     public function getVersions()
     {
@@ -122,6 +121,6 @@ class Tag
 
     public function __toString()
     {
-        return $this->name;
+        return (string) $this->name;
     }
 }

+ 7 - 7
src/Packagist/WebBundle/Entity/User.php

@@ -12,9 +12,9 @@
 
 namespace Packagist\WebBundle\Entity;
 
-use FOS\UserBundle\Entity\User as BaseUser;
-use Doctrine\ORM\Mapping as ORM;
 use Doctrine\Common\Collections\ArrayCollection;
+use Doctrine\ORM\Mapping as ORM;
+use FOS\UserBundle\Entity\User as BaseUser;
 
 /**
  * @ORM\Entity(repositoryClass="Packagist\WebBundle\Entity\UserRepository")
@@ -86,7 +86,7 @@ class User extends BaseUser
     /**
      * Add packages
      *
-     * @param \Packagist\WebBundle\Entity\Package $packages
+     * @param Package $packages
      */
     public function addPackages(Package $packages)
     {
@@ -96,7 +96,7 @@ class User extends BaseUser
     /**
      * Get packages
      *
-     * @return \Doctrine\Common\Collections\Collection $packages
+     * @return Package[]
      */
     public function getPackages()
     {
@@ -106,9 +106,9 @@ class User extends BaseUser
     /**
      * Add authors
      *
-     * @param \Packagist\WebBundle\Entity\Author $authors
+     * @param Author $authors
      */
-    public function addAuthors(\Packagist\WebBundle\Entity\Author $authors)
+    public function addAuthors(Author $authors)
     {
         $this->authors[] = $authors;
     }
@@ -116,7 +116,7 @@ class User extends BaseUser
     /**
      * Get authors
      *
-     * @return \Doctrine\Common\Collections\Collection
+     * @return Author[]
      */
     public function getAuthors()
     {

+ 22 - 22
src/Packagist/WebBundle/Entity/Version.php

@@ -12,10 +12,10 @@
 
 namespace Packagist\WebBundle\Entity;
 
+use Composer\Package\Version\VersionParser;
+use Doctrine\Common\Collections\ArrayCollection;
 use Doctrine\ORM\Mapping as ORM;
 use Symfony\Component\Validator\Constraints as Assert;
-use Doctrine\Common\Collections\ArrayCollection;
-use Composer\Package\Version\VersionParser;
 
 /**
  * @ORM\Entity(repositoryClass="Packagist\WebBundle\Entity\VersionRepository")
@@ -569,7 +569,7 @@ class Version
     /**
      * Get createdAt
      *
-     * @return \DateTime $createdAt
+     * @return \DateTime
      */
     public function getCreatedAt()
     {
@@ -589,7 +589,7 @@ class Version
     /**
      * Get releasedAt
      *
-     * @return \DateTime $releasedAt
+     * @return \DateTime
      */
     public function getReleasedAt()
     {
@@ -599,7 +599,7 @@ class Version
     /**
      * Set package
      *
-     * @param \Packagist\WebBundle\Entity\Package $package
+     * @param Package $package
      */
     public function setPackage(Package $package)
     {
@@ -609,7 +609,7 @@ class Version
     /**
      * Get package
      *
-     * @return \Packagist\WebBundle\Entity\Package $package
+     * @return Package
      */
     public function getPackage()
     {
@@ -619,7 +619,7 @@ class Version
     /**
      * Get tags
      *
-     * @return \Doctrine\Common\Collections\Collection $tags
+     * @return Tag[]
      */
     public function getTags()
     {
@@ -649,7 +649,7 @@ class Version
     /**
      * Get authors
      *
-     * @return \Doctrine\Common\Collections\Collection
+     * @return Author[]
      */
     public function getAuthors()
     {
@@ -747,7 +747,7 @@ class Version
     /**
      * Add tag
      *
-     * @param \Packagist\WebBundle\Entity\Tag $tag
+     * @param Tag $tag
      */
     public function addTag(Tag $tag)
     {
@@ -757,7 +757,7 @@ class Version
     /**
      * Add authors
      *
-     * @param \Packagist\WebBundle\Entity\Author $author
+     * @param Author $author
      */
     public function addAuthor(Author $author)
     {
@@ -767,7 +767,7 @@ class Version
     /**
      * Add require
      *
-     * @param \Packagist\WebBundle\Entity\RequireLink $require
+     * @param RequireLink $require
      */
     public function addRequireLink(RequireLink $require)
     {
@@ -777,7 +777,7 @@ class Version
     /**
      * Get require
      *
-     * @return \Doctrine\Common\Collections\Collection
+     * @return RequireLink[]
      */
     public function getRequire()
     {
@@ -787,7 +787,7 @@ class Version
     /**
      * Add replace
      *
-     * @param \Packagist\WebBundle\Entity\ReplaceLink $replace
+     * @param ReplaceLink $replace
      */
     public function addReplaceLink(ReplaceLink $replace)
     {
@@ -797,7 +797,7 @@ class Version
     /**
      * Get replace
      *
-     * @return \Doctrine\Common\Collections\Collection
+     * @return ReplaceLink[]
      */
     public function getReplace()
     {
@@ -807,7 +807,7 @@ class Version
     /**
      * Add conflict
      *
-     * @param \Packagist\WebBundle\Entity\ConflictLink $conflict
+     * @param ConflictLink $conflict
      */
     public function addConflictLink(ConflictLink $conflict)
     {
@@ -817,7 +817,7 @@ class Version
     /**
      * Get conflict
      *
-     * @return \Doctrine\Common\Collections\Collection
+     * @return ConflictLink[]
      */
     public function getConflict()
     {
@@ -827,7 +827,7 @@ class Version
     /**
      * Add provide
      *
-     * @param \Packagist\WebBundle\Entity\ProvideLink $provide
+     * @param ProvideLink $provide
      */
     public function addProvideLink(ProvideLink $provide)
     {
@@ -837,7 +837,7 @@ class Version
     /**
      * Get provide
      *
-     * @return \Doctrine\Common\Collections\Collection
+     * @return ProvideLink[]
      */
     public function getProvide()
     {
@@ -847,7 +847,7 @@ class Version
     /**
      * Add devRequire
      *
-     * @param \Packagist\WebBundle\Entity\DevRequireLink $devRequire
+     * @param DevRequireLink $devRequire
      */
     public function addDevRequireLink(DevRequireLink $devRequire)
     {
@@ -857,7 +857,7 @@ class Version
     /**
      * Get devRequire
      *
-     * @return \Doctrine\Common\Collections\Collection
+     * @return DevRequireLink[]
      */
     public function getDevRequire()
     {
@@ -867,7 +867,7 @@ class Version
     /**
      * Add suggest
      *
-     * @param \Packagist\WebBundle\Entity\SuggestLink $suggest
+     * @param SuggestLink $suggest
      */
     public function addSuggestLink(SuggestLink $suggest)
     {
@@ -877,7 +877,7 @@ class Version
     /**
      * Get suggest
      *
-     * @return \Doctrine\Common\Collections\Collection
+     * @return SuggestLink[]
      */
     public function getSuggest()
     {

+ 2 - 2
src/Packagist/WebBundle/Form/Handler/OAuthRegistrationFormHandler.php

@@ -15,8 +15,8 @@ namespace Packagist\WebBundle\Form\Handler;
 use FOS\UserBundle\Model\UserManagerInterface;
 use FOS\UserBundle\Util\TokenGeneratorInterface;
 use HWI\Bundle\OAuthBundle\Form\RegistrationFormHandlerInterface;
-use HWI\Bundle\OAuthBundle\OAuth\Response\UserResponseInterface;
 use HWI\Bundle\OAuthBundle\OAuth\Response\AdvancedUserResponseInterface;
+use HWI\Bundle\OAuthBundle\OAuth\Response\UserResponseInterface;
 use Symfony\Component\Form\Form;
 use Symfony\Component\HttpFoundation\Request;
 
@@ -61,7 +61,7 @@ class OAuthRegistrationFormHandler implements RegistrationFormHandlerInterface
         $form->setData($user);
 
         if ('POST' === $request->getMethod()) {
-            $form->bind($request);
+            $form->handleRequest($request);
 
             if ($form->isValid()) {
                 $randomPassword = $this->tokenGenerator->generateToken();

+ 3 - 1
src/Packagist/WebBundle/Form/Type/PackageType.php

@@ -23,7 +23,9 @@ class PackageType extends AbstractType
 {
     public function buildForm(FormBuilderInterface $builder, array $options)
     {
-        $builder->add('repository');
+        $builder->add('repository', 'text', array(
+            'label' => 'Repository URL (Git/Svn/Hg)'
+        ));
     }
 
     public function setDefaultOptions(OptionsResolverInterface $resolver)

+ 3 - 1
src/Packagist/WebBundle/Form/Type/ProfileFormType.php

@@ -24,7 +24,9 @@ class ProfileFormType extends BaseType
     {
         parent::buildForm($builder, $options);
 
-        $builder->add('failureNotifications', null, array('required' => false, 'label' => 'Notify me of package update failures'));
+        $builder->add('failureNotifications', null, array(
+            'required' => false,
+        ));
     }
 
     public function getName()

+ 1 - 3
src/Packagist/WebBundle/Model/PackageManager.php

@@ -12,8 +12,6 @@
 
 namespace Packagist\WebBundle\Model;
 
-use Swift_Mailer;
-use Twig_Environment;
 use Doctrine\ORM\EntityManager;
 use Packagist\WebBundle\Entity\Package;
 use Symfony\Component\HttpKernel\Log\LoggerInterface;
@@ -29,7 +27,7 @@ class PackageManager
     protected $logger;
     protected $options;
 
-    public function __construct(EntityManager $em, Swift_Mailer $mailer, Twig_Environment $twig, LoggerInterface $logger, array $options)
+    public function __construct(EntityManager $em, \Swift_Mailer $mailer, \Twig_Environment $twig, LoggerInterface $logger, array $options)
     {
         $this->em = $em;
         $this->mailer = $mailer;

+ 0 - 384
src/Packagist/WebBundle/Package/Updater.php

@@ -1,384 +0,0 @@
-<?php
-
-/*
- * This file is part of Packagist.
- *
- * (c) Jordi Boggiano <j.boggiano@seld.be>
- *     Nils Adermann <naderman@naderman.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Packagist\WebBundle\Package;
-
-use Composer\Package\AliasPackage;
-use Composer\Package\PackageInterface;
-use Composer\Repository\RepositoryInterface;
-use Composer\Repository\InvalidRepositoryException;
-use Composer\Util\ErrorHandler;
-use Packagist\WebBundle\Entity\Author;
-use Packagist\WebBundle\Entity\Package;
-use Packagist\WebBundle\Entity\Tag;
-use Packagist\WebBundle\Entity\Version;
-use Packagist\WebBundle\Entity\SuggestLink;
-use Symfony\Bridge\Doctrine\RegistryInterface;
-
-/**
- * @author Jordi Boggiano <j.boggiano@seld.be>
- */
-class Updater
-{
-    const UPDATE_EQUAL_REFS = 1;
-    const DELETE_BEFORE = 2;
-
-    /**
-     * Doctrine
-     * @var RegistryInterface
-     */
-    protected $doctrine;
-
-    /**
-     * Supported link types
-     * @var array
-     */
-    protected $supportedLinkTypes = array(
-        'require'     => array(
-            'method' => 'getRequires',
-            'entity' => 'RequireLink',
-        ),
-        'conflict'    => array(
-            'method' => 'getConflicts',
-            'entity' => 'ConflictLink',
-        ),
-        'provide'     => array(
-            'method' => 'getProvides',
-            'entity' => 'ProvideLink',
-        ),
-        'replace'     => array(
-            'method' => 'getReplaces',
-            'entity' => 'ReplaceLink',
-        ),
-        'devRequire' => array(
-            'method' => 'getDevRequires',
-            'entity' => 'DevRequireLink',
-        ),
-    );
-
-    /**
-     * Constructor
-     *
-     * @param RegistryInterface $doctrine
-     */
-    public function __construct(RegistryInterface $doctrine)
-    {
-        $this->doctrine = $doctrine;
-
-        ErrorHandler::register();
-    }
-
-    /**
-     * Update a project
-     *
-     * @param \Packagist\WebBundle\Entity\Package $package
-     * @param RepositoryInterface $repository the repository instance used to update from
-     * @param int $flags a few of the constants of this class
-     * @param \DateTime $start
-     */
-    public function update(Package $package, RepositoryInterface $repository, $flags = 0, \DateTime $start = null)
-    {
-        $blacklist = '{^symfony/symfony (2.0.[456]|dev-charset|dev-console)}i';
-
-        if (null === $start) {
-            $start = new \DateTime();
-        }
-        $pruneDate = clone $start;
-        $pruneDate->modify('-8days');
-
-        $versions = $repository->getPackages();
-        $em = $this->doctrine->getManager();
-
-        if ($repository->hadInvalidBranches()) {
-            throw new InvalidRepositoryException('Some branches contained invalid data and were discarded, it is advised to review the log and fix any issues present in branches');
-        }
-
-        usort($versions, function ($a, $b) {
-            $aVersion = $a->getVersion();
-            $bVersion = $b->getVersion();
-            if ($aVersion === '9999999-dev' || 'dev-' === substr($aVersion, 0, 4)) {
-                $aVersion = 'dev';
-            }
-            if ($bVersion === '9999999-dev' || 'dev-' === substr($bVersion, 0, 4)) {
-                $bVersion = 'dev';
-            }
-            $aIsDev = $aVersion === 'dev' || substr($aVersion, -4) === '-dev';
-            $bIsDev = $bVersion === 'dev' || substr($bVersion, -4) === '-dev';
-
-            // push dev versions to the end
-            if ($aIsDev !== $bIsDev) {
-                return $aIsDev ? 1 : -1;
-            }
-
-            // equal versions are sorted by date
-            if ($aVersion === $bVersion) {
-                return $a->getReleaseDate() > $b->getReleaseDate() ? 1 : -1;
-            }
-
-            // the rest is sorted by version
-            return version_compare($aVersion, $bVersion);
-        });
-
-        $versionRepository = $this->doctrine->getRepository('PackagistWebBundle:Version');
-
-        if ($flags & self::DELETE_BEFORE) {
-            foreach ($package->getVersions() as $version) {
-                $versionRepository->remove($version);
-            }
-
-            $em->flush();
-            $em->refresh($package);
-        }
-
-        $lastUpdated = true;
-        foreach ($versions as $version) {
-            if ($version instanceof AliasPackage) {
-                continue;
-            }
-
-            if (preg_match($blacklist, $version->getName().' '.$version->getPrettyVersion())) {
-                continue;
-            }
-
-            $lastUpdated = $this->updateInformation($package, $version, $flags);
-            if ($lastUpdated) {
-                $em->flush();
-            }
-        }
-
-        if (!$lastUpdated) {
-            $em->flush();
-        }
-
-        // remove outdated versions
-        foreach ($package->getVersions() as $version) {
-            if ($version->getUpdatedAt() < $pruneDate) {
-                $versionRepository->remove($version);
-            }
-        }
-
-        $package->setUpdatedAt(new \DateTime);
-        $package->setCrawledAt(new \DateTime);
-        $em->flush();
-    }
-
-    private function updateInformation(Package $package, PackageInterface $data, $flags)
-    {
-        $em = $this->doctrine->getManager();
-        $version = new Version();
-
-        $normVersion = $data->getVersion();
-
-        $existingVersion = $package->getVersion($normVersion);
-        if ($existingVersion) {
-            $source = $existingVersion->getSource();
-            // update if the right flag is set, or the source reference has changed (re-tag or new commit on branch)
-            if ($source['reference'] !== $data->getSourceReference() || ($flags & self::UPDATE_EQUAL_REFS)) {
-                $version = $existingVersion;
-            } else {
-                // mark it updated to avoid it being pruned
-                $existingVersion->setUpdatedAt(new \DateTime);
-
-                return false;
-            }
-        }
-
-        $version->setName($package->getName());
-        $version->setVersion($data->getPrettyVersion());
-        $version->setNormalizedVersion($normVersion);
-        $version->setDevelopment($data->isDev());
-
-        $em->persist($version);
-
-        $version->setDescription($data->getDescription());
-        $package->setDescription($data->getDescription());
-        $version->setHomepage($data->getHomepage());
-        $version->setLicense($data->getLicense() ?: array());
-
-        $version->setPackage($package);
-        $version->setUpdatedAt(new \DateTime);
-        $version->setReleasedAt($data->getReleaseDate());
-
-        if ($data->getSourceType()) {
-            $source['type'] = $data->getSourceType();
-            $source['url'] = $data->getSourceUrl();
-            $source['reference'] = $data->getSourceReference();
-            $version->setSource($source);
-        } else {
-            $version->setSource(null);
-        }
-
-        if ($data->getDistType()) {
-            $dist['type'] = $data->getDistType();
-            $dist['url'] = $data->getDistUrl();
-            $dist['reference'] = $data->getDistReference();
-            $dist['shasum'] = $data->getDistSha1Checksum();
-            $version->setDist($dist);
-        } else {
-            $version->setDist(null);
-        }
-
-        if ($data->getType()) {
-            $version->setType($data->getType());
-            if ($data->getType() && $data->getType() !== $package->getType()) {
-                $package->setType($data->getType());
-            }
-        }
-
-        $version->setTargetDir($data->getTargetDir());
-        $version->setAutoload($data->getAutoload());
-        $version->setExtra($data->getExtra());
-        $version->setBinaries($data->getBinaries());
-        $version->setIncludePaths($data->getIncludePaths());
-        $version->setSupport($data->getSupport());
-
-        $version->getTags()->clear();
-        if ($data->getKeywords()) {
-            $keywords = array();
-            foreach ($data->getKeywords() as $keyword) {
-                $keywords[mb_strtolower($keyword, 'UTF-8')] = $keyword;
-            }
-            foreach ($keywords as $keyword) {
-                $tag = Tag::getByName($em, $keyword, true);
-                if (!$version->getTags()->contains($tag)) {
-                    $version->addTag($tag);
-                }
-            }
-        }
-
-        $authorRepository = $this->doctrine->getRepository('PackagistWebBundle:Author');
-
-        $version->getAuthors()->clear();
-        if ($data->getAuthors()) {
-            foreach ($data->getAuthors() as $authorData) {
-                $author = null;
-
-                foreach (array('email', 'name', 'homepage', 'role') as $field) {
-                    if (isset($authorData[$field])) {
-                        $authorData[$field] = trim($authorData[$field]);
-                        if ('' === $authorData[$field]) {
-                            $authorData[$field] = null;
-                        }
-                    } else {
-                        $authorData[$field] = null;
-                    }
-                }
-
-                // skip authors with no information
-                if (!isset($authorData['email']) && !isset($authorData['name'])) {
-                    continue;
-                }
-
-                $author = $authorRepository->findOneBy(array(
-                    'email' => $authorData['email'],
-                    'name' => $authorData['name'],
-                    'homepage' => $authorData['homepage'],
-                    'role' => $authorData['role'],
-                ));
-
-                if (!$author) {
-                    $author = new Author();
-                    $em->persist($author);
-                }
-
-                foreach (array('email', 'name', 'homepage', 'role') as $field) {
-                    if (isset($authorData[$field])) {
-                        $author->{'set'.$field}($authorData[$field]);
-                    }
-                }
-
-                $author->setUpdatedAt(new \DateTime);
-                if (!$version->getAuthors()->contains($author)) {
-                    $version->addAuthor($author);
-                }
-                if (!$author->getVersions()->contains($version)) {
-                    $author->addVersion($version);
-                }
-            }
-        }
-
-        // handle links
-        foreach ($this->supportedLinkTypes as $linkType => $opts) {
-            $links = array();
-            foreach ($data->{$opts['method']}() as $link) {
-                $constraint = $link->getPrettyConstraint();
-                if (false !== strpos($constraint, ',') && false !== strpos($constraint, '@')) {
-                    $constraint = preg_replace_callback('{([><]=?\s*[^@]+?)@([a-z]+)}i', function ($matches) {
-                        if ($matches[2] === 'stable') {
-                            return $matches[1];
-                        }
-
-                        return $matches[1].'-'.$matches[2];
-                    }, $constraint);
-                }
-
-                $links[$link->getTarget()] = $constraint;
-            }
-
-            foreach ($version->{'get'.$linkType}() as $link) {
-                // clear links that have changed/disappeared (for updates)
-                if (!isset($links[$link->getPackageName()]) || $links[$link->getPackageName()] !== $link->getPackageVersion()) {
-                    $version->{'get'.$linkType}()->removeElement($link);
-                    $em->remove($link);
-                } else {
-                    // clear those that are already set
-                    unset($links[$link->getPackageName()]);
-                }
-            }
-
-            foreach ($links as $linkPackageName => $linkPackageVersion) {
-                $class = 'Packagist\WebBundle\Entity\\'.$opts['entity'];
-                $link = new $class;
-                $link->setPackageName($linkPackageName);
-                $link->setPackageVersion($linkPackageVersion);
-                $version->{'add'.$linkType.'Link'}($link);
-                $link->setVersion($version);
-                $em->persist($link);
-            }
-        }
-
-        // handle suggests
-        if ($suggests = $data->getSuggests()) {
-            foreach ($version->getSuggest() as $link) {
-                // clear links that have changed/disappeared (for updates)
-                if (!isset($suggests[$link->getPackageName()]) || $suggests[$link->getPackageName()] !== $link->getPackageVersion()) {
-                    $version->getSuggest()->removeElement($link);
-                    $em->remove($link);
-                } else {
-                    // clear those that are already set
-                    unset($suggests[$link->getPackageName()]);
-                }
-            }
-
-            foreach ($suggests as $linkPackageName => $linkPackageVersion) {
-                $link = new SuggestLink;
-                $link->setPackageName($linkPackageName);
-                $link->setPackageVersion($linkPackageVersion);
-                $version->addSuggestLink($link);
-                $link->setVersion($version);
-                $em->persist($link);
-            }
-        } elseif (count($version->getSuggest())) {
-            // clear existing suggests if present
-            foreach ($version->getSuggest() as $link) {
-                $em->remove($link);
-            }
-            $version->getSuggest()->clear();
-        }
-
-        if (!$package->getVersions()->contains($version)) {
-            $package->addVersions($version);
-        }
-
-        return true;
-    }
-}

+ 2 - 2
src/Packagist/WebBundle/PackagistWebBundle.php

@@ -12,9 +12,9 @@
 
 namespace Packagist\WebBundle;
 
-use Symfony\Component\HttpKernel\Bundle\Bundle;
-use Symfony\Component\DependencyInjection\ContainerBuilder;
 use Packagist\WebBundle\DependencyInjection\Compiler\RepositoryPass;
+use Symfony\Component\DependencyInjection\ContainerBuilder;
+use Symfony\Component\HttpKernel\Bundle\Bundle;
 
 /**
  * @author Jordi Boggiano <j.boggiano@seld.be>

+ 3 - 2
src/Packagist/WebBundle/Security/Provider/UserProvider.php

@@ -16,9 +16,10 @@ use FOS\UserBundle\Model\UserManagerInterface;
 use HWI\Bundle\OAuthBundle\OAuth\Response\UserResponseInterface;
 use HWI\Bundle\OAuthBundle\Security\Core\Exception\AccountNotLinkedException;
 use HWI\Bundle\OAuthBundle\Security\Core\User\OAuthAwareUserProviderInterface;
+use Packagist\WebBundle\Entity\User;
 use Symfony\Component\Security\Core\Exception\UsernameNotFoundException;
-use Symfony\Component\Security\Core\User\UserProviderInterface;
 use Symfony\Component\Security\Core\User\UserInterface;
+use Symfony\Component\Security\Core\User\UserProviderInterface;
 
 class UserProvider implements OAuthAwareUserProviderInterface, UserProviderInterface
 {
@@ -74,7 +75,7 @@ class UserProvider implements OAuthAwareUserProviderInterface, UserProviderInter
             throw new AccountNotLinkedException(sprintf('No user with github username "%s" was found.', $username));
         }
 
-        if (!$user->getGithubToken()) {
+        if ($user->getGithubToken() !== $response->getAccessToken()) {
             $user->setGithubToken($response->getAccessToken());
             $this->userManager->updateUser($user);
         }

+ 1 - 1
src/Packagist/WebBundle/Tests/Controller/ApiControllerTest.php

@@ -2,8 +2,8 @@
 
 namespace Packagist\WebBundle\Tests\Controller;
 
-use Packagist\WebBundle\Entity\User;
 use Packagist\WebBundle\Entity\Package;
+use Packagist\WebBundle\Entity\User;
 use Symfony\Bundle\FrameworkBundle\Test\WebTestCase;
 
 class ApiControllerTest extends WebTestCase