This commit is contained in:
Jeremy Benoist 2015-05-30 13:52:26 +02:00
parent 399bd777d7
commit 4346a86068
31 changed files with 204 additions and 163 deletions

View file

@ -47,6 +47,7 @@ class WallabagRestController extends Controller
* {"name"="username", "dataType"="string", "required"=true, "description"="username"} * {"name"="username", "dataType"="string", "required"=true, "description"="username"}
* } * }
* ) * )
*
* @return array * @return array
*/ */
public function getSaltAction($username) public function getSaltAction($username)
@ -77,6 +78,7 @@ class WallabagRestController extends Controller
* {"name"="tags", "dataType"="string", "required"=false, "format"="api%2Crest", "description"="a list of tags url encoded. Will returns entries that matches ALL tags."}, * {"name"="tags", "dataType"="string", "required"=false, "format"="api%2Crest", "description"="a list of tags url encoded. Will returns entries that matches ALL tags."},
* } * }
* ) * )
*
* @return Entry * @return Entry
*/ */
public function getEntriesAction(Request $request) public function getEntriesAction(Request $request)
@ -109,13 +111,14 @@ class WallabagRestController extends Controller
} }
/** /**
* Retrieve a single entry * Retrieve a single entry.
* *
* @ApiDoc( * @ApiDoc(
* requirements={ * requirements={
* {"name"="entry", "dataType"="integer", "requirement"="\w+", "description"="The entry ID"} * {"name"="entry", "dataType"="integer", "requirement"="\w+", "description"="The entry ID"}
* } * }
* ) * )
*
* @return Entry * @return Entry
*/ */
public function getEntryAction(Entry $entry) public function getEntryAction(Entry $entry)
@ -128,7 +131,7 @@ class WallabagRestController extends Controller
} }
/** /**
* Create an entry * Create an entry.
* *
* @ApiDoc( * @ApiDoc(
* parameters={ * parameters={
@ -137,6 +140,7 @@ class WallabagRestController extends Controller
* {"name"="tags", "dataType"="string", "required"=false, "format"="tag1,tag2,tag3", "description"="a comma-separated list of tags."}, * {"name"="tags", "dataType"="string", "required"=false, "format"="tag1,tag2,tag3", "description"="a comma-separated list of tags."},
* } * }
* ) * )
*
* @return Entry * @return Entry
*/ */
public function postEntriesAction(Request $request) public function postEntriesAction(Request $request)
@ -164,7 +168,7 @@ class WallabagRestController extends Controller
} }
/** /**
* Change several properties of an entry * Change several properties of an entry.
* *
* @ApiDoc( * @ApiDoc(
* requirements={ * requirements={
@ -177,15 +181,16 @@ class WallabagRestController extends Controller
* {"name"="star", "dataType"="boolean", "required"=false, "format"="true or false", "description"="starred the entry."}, * {"name"="star", "dataType"="boolean", "required"=false, "format"="true or false", "description"="starred the entry."},
* } * }
* ) * )
*
* @return Entry * @return Entry
*/ */
public function patchEntriesAction(Entry $entry, Request $request) public function patchEntriesAction(Entry $entry, Request $request)
{ {
$this->validateUserAccess($entry->getUser()->getId(), $this->getUser()->getId()); $this->validateUserAccess($entry->getUser()->getId(), $this->getUser()->getId());
$title = $request->request->get("title"); $title = $request->request->get('title');
$isArchived = $request->request->get("archive"); $isArchived = $request->request->get('archive');
$isStarred = $request->request->get("star"); $isStarred = $request->request->get('star');
if (!is_null($title)) { if (!is_null($title)) {
$entry->setTitle($title); $entry->setTitle($title);
@ -213,13 +218,14 @@ class WallabagRestController extends Controller
} }
/** /**
* Delete **permanently** an entry * Delete **permanently** an entry.
* *
* @ApiDoc( * @ApiDoc(
* requirements={ * requirements={
* {"name"="entry", "dataType"="integer", "requirement"="\w+", "description"="The entry ID"} * {"name"="entry", "dataType"="integer", "requirement"="\w+", "description"="The entry ID"}
* } * }
* ) * )
*
* @return Entry * @return Entry
*/ */
public function deleteEntriesAction(Entry $entry) public function deleteEntriesAction(Entry $entry)
@ -236,7 +242,7 @@ class WallabagRestController extends Controller
} }
/** /**
* Retrieve all tags for an entry * Retrieve all tags for an entry.
* *
* @ApiDoc( * @ApiDoc(
* requirements={ * requirements={
@ -254,7 +260,7 @@ class WallabagRestController extends Controller
} }
/** /**
* Add one or more tags to an entry * Add one or more tags to an entry.
* *
* @ApiDoc( * @ApiDoc(
* requirements={ * requirements={
@ -284,7 +290,7 @@ class WallabagRestController extends Controller
} }
/** /**
* Permanently remove one tag for an entry * Permanently remove one tag for an entry.
* *
* @ApiDoc( * @ApiDoc(
* requirements={ * requirements={
@ -308,7 +314,7 @@ class WallabagRestController extends Controller
} }
/** /**
* Retrieve all tags * Retrieve all tags.
* *
* @ApiDoc() * @ApiDoc()
*/ */
@ -320,7 +326,7 @@ class WallabagRestController extends Controller
} }
/** /**
* Permanently remove one tag from **every** entry * Permanently remove one tag from **every** entry.
* *
* @ApiDoc( * @ApiDoc(
* requirements={ * requirements={
@ -343,10 +349,10 @@ class WallabagRestController extends Controller
/** /**
* Validate that the first id is equal to the second one. * Validate that the first id is equal to the second one.
* If not, throw exception. It means a user try to access information from an other user * If not, throw exception. It means a user try to access information from an other user.
* *
* @param integer $requestUserId User id from the requested source * @param int $requestUserId User id from the requested source
* @param integer $currentUserId User id from the retrieved source * @param int $currentUserId User id from the retrieved source
*/ */
private function validateUserAccess($requestUserId, $currentUserId) private function validateUserAccess($requestUserId, $currentUserId)
{ {
@ -357,7 +363,7 @@ class WallabagRestController extends Controller
/** /**
* Send a JSON Response. * Send a JSON Response.
* We don't use the Symfony JsonRespone, because it takes an array as parameter instead of a JSON string * We don't use the Symfony JsonRespone, because it takes an array as parameter instead of a JSON string.
* *
* @param string $json * @param string $json
* *

View file

@ -6,7 +6,7 @@ use Symfony\Component\Config\Definition\Builder\TreeBuilder;
use Symfony\Component\Config\Definition\ConfigurationInterface; use Symfony\Component\Config\Definition\ConfigurationInterface;
/** /**
* This is the class that validates and merges configuration from your app/config files * This is the class that validates and merges configuration from your app/config files.
* *
* To learn more see {@link http://symfony.com/doc/current/cookbook/bundles/extension.html#cookbook-bundles-extension-config-class} * To learn more see {@link http://symfony.com/doc/current/cookbook/bundles/extension.html#cookbook-bundles-extension-config-class}
*/ */

View file

@ -1,4 +1,5 @@
<?php <?php
namespace Wallabag\ApiBundle\Security\Authentication\Provider; namespace Wallabag\ApiBundle\Security\Authentication\Provider;
use Symfony\Component\Security\Core\Authentication\Provider\AuthenticationProviderInterface; use Symfony\Component\Security\Core\Authentication\Provider\AuthenticationProviderInterface;
@ -29,7 +30,7 @@ class WsseProvider implements AuthenticationProviderInterface
$user = $this->userProvider->loadUserByUsername($token->getUsername()); $user = $this->userProvider->loadUserByUsername($token->getUsername());
if (!$user) { if (!$user) {
throw new AuthenticationException("Bad credentials. Did you forgot your username?"); throw new AuthenticationException('Bad credentials. Did you forgot your username?');
} }
if ($user && $this->validateDigest($token->digest, $token->nonce, $token->created, $user->getPassword())) { if ($user && $this->validateDigest($token->digest, $token->nonce, $token->created, $user->getPassword())) {
@ -46,12 +47,12 @@ class WsseProvider implements AuthenticationProviderInterface
{ {
// Check created time is not in the future // Check created time is not in the future
if (strtotime($created) > time()) { if (strtotime($created) > time()) {
throw new AuthenticationException("Back to the future..."); throw new AuthenticationException('Back to the future...');
} }
// Expire timestamp after 5 minutes // Expire timestamp after 5 minutes
if (time() - strtotime($created) > 300) { if (time() - strtotime($created) > 300) {
throw new AuthenticationException("Too late for this timestamp... Watch your watch."); throw new AuthenticationException('Too late for this timestamp... Watch your watch.');
} }
// Validate nonce is unique within 5 minutes // Validate nonce is unique within 5 minutes
@ -65,7 +66,7 @@ class WsseProvider implements AuthenticationProviderInterface
$expected = base64_encode(sha1(base64_decode($nonce).$created.$secret, true)); $expected = base64_encode(sha1(base64_decode($nonce).$created.$secret, true));
if ($digest !== $expected) { if ($digest !== $expected) {
throw new AuthenticationException("Bad credentials ! Digest is not as expected."); throw new AuthenticationException('Bad credentials ! Digest is not as expected.');
} }
return $digest === $expected; return $digest === $expected;

View file

@ -1,4 +1,5 @@
<?php <?php
namespace Wallabag\ApiBundle\Security\Authentication\Token; namespace Wallabag\ApiBundle\Security\Authentication\Token;
use Symfony\Component\Security\Core\Authentication\Token\AbstractToken; use Symfony\Component\Security\Core\Authentication\Token\AbstractToken;

View file

@ -9,7 +9,7 @@ class WallabagRestControllerTest extends WebTestCase
protected static $salt; protected static $salt;
/** /**
* Grab the salt once and store it to be available for all tests * Grab the salt once and store it to be available for all tests.
*/ */
public static function setUpBeforeClass() public static function setUpBeforeClass()
{ {
@ -24,7 +24,7 @@ class WallabagRestControllerTest extends WebTestCase
} }
/** /**
* Generate HTTP headers for authenticate user on API * Generate HTTP headers for authenticate user on API.
* *
* @param string $username * @param string $username
* @param string $password * @param string $password
@ -327,7 +327,7 @@ class WallabagRestControllerTest extends WebTestCase
$content = json_decode($client->getResponse()->getContent(), true); $content = json_decode($client->getResponse()->getContent(), true);
$this->assertArrayHasKey('tags', $content); $this->assertArrayHasKey('tags', $content);
$this->assertEquals($nbTags+3, count($content['tags'])); $this->assertEquals($nbTags + 3, count($content['tags']));
$entryDB = $client->getContainer() $entryDB = $client->getContainer()
->get('doctrine.orm.entity_manager') ->get('doctrine.orm.entity_manager')
@ -369,7 +369,7 @@ class WallabagRestControllerTest extends WebTestCase
$content = json_decode($client->getResponse()->getContent(), true); $content = json_decode($client->getResponse()->getContent(), true);
$this->assertArrayHasKey('tags', $content); $this->assertArrayHasKey('tags', $content);
$this->assertEquals($nbTags-1, count($content['tags'])); $this->assertEquals($nbTags - 1, count($content['tags']));
} }
public function testGetUserTags() public function testGetUserTags()

View file

@ -225,7 +225,7 @@ class InstallCommand extends ContainerAwareCommand
} }
/** /**
* Run a command * Run a command.
* *
* @param string $command * @param string $command
* @param array $parameters Parameters to this command (usually 'force' => true) * @param array $parameters Parameters to this command (usually 'force' => true)
@ -266,9 +266,9 @@ class InstallCommand extends ContainerAwareCommand
} }
/** /**
* Check if the database already exists * Check if the database already exists.
* *
* @return boolean * @return bool
*/ */
private function isDatabasePresent() private function isDatabasePresent()
{ {
@ -300,9 +300,9 @@ class InstallCommand extends ContainerAwareCommand
/** /**
* Check if the schema is already created. * Check if the schema is already created.
* If we found at least oen table, it means the schema exists * If we found at least oen table, it means the schema exists.
* *
* @return boolean * @return bool
*/ */
private function isSchemaPresent() private function isSchemaPresent()
{ {

View file

@ -50,7 +50,7 @@ class EntryController extends Controller
} }
/** /**
* Shows unread entries for current user * Shows unread entries for current user.
* *
* @Route("/unread", name="unread") * @Route("/unread", name="unread")
* *
@ -70,7 +70,7 @@ class EntryController extends Controller
} }
/** /**
* Shows read entries for current user * Shows read entries for current user.
* *
* @Route("/archive", name="archive") * @Route("/archive", name="archive")
* *
@ -90,7 +90,7 @@ class EntryController extends Controller
} }
/** /**
* Shows starred entries for current user * Shows starred entries for current user.
* *
* @Route("/starred", name="starred") * @Route("/starred", name="starred")
* *
@ -110,7 +110,7 @@ class EntryController extends Controller
} }
/** /**
* Shows entry content * Shows entry content.
* *
* @param Entry $entry * @param Entry $entry
* *
@ -129,7 +129,7 @@ class EntryController extends Controller
} }
/** /**
* Changes read status for an entry * Changes read status for an entry.
* *
* @param Request $request * @param Request $request
* @param Entry $entry * @param Entry $entry
@ -154,7 +154,7 @@ class EntryController extends Controller
} }
/** /**
* Changes favorite status for an entry * Changes favorite status for an entry.
* *
* @param Request $request * @param Request $request
* @param Entry $entry * @param Entry $entry
@ -179,7 +179,7 @@ class EntryController extends Controller
} }
/** /**
* Deletes entry * Deletes entry.
* *
* @param Request $request * @param Request $request
* @param Entry $entry * @param Entry $entry
@ -205,7 +205,7 @@ class EntryController extends Controller
} }
/** /**
* Check if the logged user can manage the given entry * Check if the logged user can manage the given entry.
* *
* @param Entry $entry * @param Entry $entry
*/ */

View file

@ -11,7 +11,7 @@ use Wallabag\CoreBundle\Entity\Entry;
class RssController extends Controller class RssController extends Controller
{ {
/** /**
* Shows unread entries for current user * Shows unread entries for current user.
* *
* @Route("/{username}/{token}/unread.xml", name="unread_rss", defaults={"_format"="xml"}) * @Route("/{username}/{token}/unread.xml", name="unread_rss", defaults={"_format"="xml"})
* @ParamConverter("user", class="WallabagCoreBundle:User", converter="username_rsstoken_converter") * @ParamConverter("user", class="WallabagCoreBundle:User", converter="username_rsstoken_converter")
@ -35,7 +35,7 @@ class RssController extends Controller
} }
/** /**
* Shows read entries for current user * Shows read entries for current user.
* *
* @Route("/{username}/{token}/archive.xml", name="archive_rss") * @Route("/{username}/{token}/archive.xml", name="archive_rss")
* @ParamConverter("user", class="WallabagCoreBundle:User", converter="username_rsstoken_converter") * @ParamConverter("user", class="WallabagCoreBundle:User", converter="username_rsstoken_converter")
@ -59,7 +59,7 @@ class RssController extends Controller
} }
/** /**
* Shows starred entries for current user * Shows starred entries for current user.
* *
* @Route("/{username}/{token}/starred.xml", name="starred_rss") * @Route("/{username}/{token}/starred.xml", name="starred_rss")
* @ParamConverter("user", class="WallabagCoreBundle:User", converter="username_rsstoken_converter") * @ParamConverter("user", class="WallabagCoreBundle:User", converter="username_rsstoken_converter")

View file

@ -30,9 +30,10 @@ class SecurityController extends Controller
} }
/** /**
* Request forgot password: show form * Request forgot password: show form.
* *
* @Route("/forgot-password", name="forgot_password") * @Route("/forgot-password", name="forgot_password")
*
* @Method({"GET", "POST"}) * @Method({"GET", "POST"})
*/ */
public function forgotPasswordAction(Request $request) public function forgotPasswordAction(Request $request)
@ -73,9 +74,10 @@ class SecurityController extends Controller
} }
/** /**
* Tell the user to check his email provider * Tell the user to check his email provider.
* *
* @Route("/forgot-password/check-email", name="forgot_password_check_email") * @Route("/forgot-password/check-email", name="forgot_password_check_email")
*
* @Method({"GET"}) * @Method({"GET"})
*/ */
public function checkEmailAction(Request $request) public function checkEmailAction(Request $request)
@ -93,9 +95,10 @@ class SecurityController extends Controller
} }
/** /**
* Reset user password * Reset user password.
* *
* @Route("/forgot-password/{token}", name="forgot_password_reset") * @Route("/forgot-password/{token}", name="forgot_password_reset")
*
* @Method({"GET", "POST"}) * @Method({"GET", "POST"})
*/ */
public function resetAction(Request $request, $token) public function resetAction(Request $request, $token)

View file

@ -39,9 +39,9 @@ class LoadEntryData extends AbstractFixture implements OrderedFixtureInterface
$entry3->setContent('This is my content /o/'); $entry3->setContent('This is my content /o/');
$tag1 = new Tag($this->getReference('bob-user')); $tag1 = new Tag($this->getReference('bob-user'));
$tag1->setLabel("foo"); $tag1->setLabel('foo');
$tag2 = new Tag($this->getReference('bob-user')); $tag2 = new Tag($this->getReference('bob-user'));
$tag2->setLabel("bar"); $tag2->setLabel('bar');
$entry3->addTag($tag1); $entry3->addTag($tag1);
$entry3->addTag($tag2); $entry3->addTag($tag2);
@ -56,9 +56,9 @@ class LoadEntryData extends AbstractFixture implements OrderedFixtureInterface
$entry4->setContent('This is my content /o/'); $entry4->setContent('This is my content /o/');
$tag1 = new Tag($this->getReference('admin-user')); $tag1 = new Tag($this->getReference('admin-user'));
$tag1->setLabel("foo"); $tag1->setLabel('foo');
$tag2 = new Tag($this->getReference('admin-user')); $tag2 = new Tag($this->getReference('admin-user'));
$tag2->setLabel("bar"); $tag2->setLabel('bar');
$entry4->addTag($tag1); $entry4->addTag($tag1);
$entry4->addTag($tag2); $entry4->addTag($tag2);

View file

@ -25,7 +25,7 @@ class PrefixedNamingStrategy implements NamingStrategy
*/ */
public function classToTableName($className) public function classToTableName($className)
{ {
return strtolower($this->prefix . substr($className, strrpos($className, '\\') + 1)); return strtolower($this->prefix.substr($className, strrpos($className, '\\') + 1));
} }
/** /**
@ -49,7 +49,7 @@ class PrefixedNamingStrategy implements NamingStrategy
*/ */
public function joinColumnName($propertyName) public function joinColumnName($propertyName)
{ {
return $propertyName . '_' . $this->referenceColumnName(); return $propertyName.'_'.$this->referenceColumnName();
} }
/** /**
@ -62,7 +62,7 @@ class PrefixedNamingStrategy implements NamingStrategy
// ie: not "wallabag_entry_wallabag_tag" but "wallabag_entry_tag" // ie: not "wallabag_entry_wallabag_tag" but "wallabag_entry_tag"
$target = substr($targetEntity, strrpos($targetEntity, '\\') + 1); $target = substr($targetEntity, strrpos($targetEntity, '\\') + 1);
return strtolower($this->classToTableName($sourceEntity) . '_' .$target); return strtolower($this->classToTableName($sourceEntity).'_'.$target);
} }
/** /**
@ -70,7 +70,7 @@ class PrefixedNamingStrategy implements NamingStrategy
*/ */
public function joinKeyColumnName($entityName, $referencedColumnName = null) public function joinKeyColumnName($entityName, $referencedColumnName = null)
{ {
return strtolower($this->classToTableName($entityName) . '_' .($referencedColumnName ?: $this->referenceColumnName())); return strtolower($this->classToTableName($entityName).'_'.($referencedColumnName ?: $this->referenceColumnName()));
} }
/** /**

View file

@ -6,7 +6,7 @@ use Doctrine\ORM\Mapping as ORM;
use Symfony\Component\Validator\Constraints as Assert; use Symfony\Component\Validator\Constraints as Assert;
/** /**
* Config * Config.
* *
* @ORM\Entity(repositoryClass="Wallabag\CoreBundle\Repository\ConfigRepository") * @ORM\Entity(repositoryClass="Wallabag\CoreBundle\Repository\ConfigRepository")
* @ORM\Table * @ORM\Table
@ -15,7 +15,7 @@ use Symfony\Component\Validator\Constraints as Assert;
class Config class Config
{ {
/** /**
* @var integer * @var int
* *
* @ORM\Column(name="id", type="integer") * @ORM\Column(name="id", type="integer")
* @ORM\Id * @ORM\Id
@ -32,7 +32,7 @@ class Config
private $theme; private $theme;
/** /**
* @var integer * @var int
* *
* @Assert\NotBlank() * @Assert\NotBlank()
* @Assert\Range( * @Assert\Range(
@ -60,7 +60,7 @@ class Config
private $rssToken; private $rssToken;
/** /**
* @var integer * @var int
* *
* @ORM\Column(name="rss_limit", type="integer", nullable=true) * @ORM\Column(name="rss_limit", type="integer", nullable=true)
* @Assert\Range( * @Assert\Range(
@ -85,9 +85,9 @@ class Config
} }
/** /**
* Get id * Get id.
* *
* @return integer * @return int
*/ */
public function getId() public function getId()
{ {
@ -95,9 +95,10 @@ class Config
} }
/** /**
* Set theme * Set theme.
*
* @param string $theme
* *
* @param string $theme
* @return Config * @return Config
*/ */
public function setTheme($theme) public function setTheme($theme)
@ -108,7 +109,7 @@ class Config
} }
/** /**
* Get theme * Get theme.
* *
* @return string * @return string
*/ */
@ -118,9 +119,10 @@ class Config
} }
/** /**
* Set itemsPerPage * Set itemsPerPage.
*
* @param int $itemsPerPage
* *
* @param integer $itemsPerPage
* @return Config * @return Config
*/ */
public function setItemsPerPage($itemsPerPage) public function setItemsPerPage($itemsPerPage)
@ -131,9 +133,9 @@ class Config
} }
/** /**
* Get itemsPerPage * Get itemsPerPage.
* *
* @return integer * @return int
*/ */
public function getItemsPerPage() public function getItemsPerPage()
{ {
@ -141,9 +143,10 @@ class Config
} }
/** /**
* Set language * Set language.
*
* @param string $language
* *
* @param string $language
* @return Config * @return Config
*/ */
public function setLanguage($language) public function setLanguage($language)
@ -154,7 +157,7 @@ class Config
} }
/** /**
* Get language * Get language.
* *
* @return string * @return string
*/ */
@ -164,9 +167,10 @@ class Config
} }
/** /**
* Set user * Set user.
*
* @param \Wallabag\CoreBundle\Entity\User $user
* *
* @param \Wallabag\CoreBundle\Entity\User $user
* @return Config * @return Config
*/ */
public function setUser(\Wallabag\CoreBundle\Entity\User $user = null) public function setUser(\Wallabag\CoreBundle\Entity\User $user = null)
@ -177,7 +181,7 @@ class Config
} }
/** /**
* Get user * Get user.
* *
* @return \Wallabag\CoreBundle\Entity\User * @return \Wallabag\CoreBundle\Entity\User
*/ */
@ -187,9 +191,10 @@ class Config
} }
/** /**
* Set rssToken * Set rssToken.
*
* @param string $rssToken
* *
* @param string $rssToken
* @return Config * @return Config
*/ */
public function setRssToken($rssToken) public function setRssToken($rssToken)
@ -200,7 +205,7 @@ class Config
} }
/** /**
* Get rssToken * Get rssToken.
* *
* @return string * @return string
*/ */
@ -210,9 +215,10 @@ class Config
} }
/** /**
* Set rssLimit * Set rssLimit.
*
* @param string $rssLimit
* *
* @param string $rssLimit
* @return Config * @return Config
*/ */
public function setRssLimit($rssLimit) public function setRssLimit($rssLimit)
@ -223,7 +229,7 @@ class Config
} }
/** /**
* Get rssLimit * Get rssLimit.
* *
* @return string * @return string
*/ */

View file

@ -9,7 +9,7 @@ use Hateoas\Configuration\Annotation as Hateoas;
use JMS\Serializer\Annotation\XmlRoot; use JMS\Serializer\Annotation\XmlRoot;
/** /**
* Entry * Entry.
* *
* @XmlRoot("entry") * @XmlRoot("entry")
* @ORM\Entity(repositoryClass="Wallabag\CoreBundle\Repository\EntryRepository") * @ORM\Entity(repositoryClass="Wallabag\CoreBundle\Repository\EntryRepository")
@ -21,7 +21,7 @@ class Entry
{ {
/** @Serializer\XmlAttribute */ /** @Serializer\XmlAttribute */
/** /**
* @var integer * @var int
* *
* @ORM\Column(name="id", type="integer") * @ORM\Column(name="id", type="integer")
* @ORM\Id * @ORM\Id
@ -45,14 +45,14 @@ class Entry
private $url; private $url;
/** /**
* @var boolean * @var bool
* *
* @ORM\Column(name="is_archived", type="boolean") * @ORM\Column(name="is_archived", type="boolean")
*/ */
private $isArchived = false; private $isArchived = false;
/** /**
* @var boolean * @var bool
* *
* @ORM\Column(name="is_starred", type="boolean") * @ORM\Column(name="is_starred", type="boolean")
*/ */
@ -94,7 +94,7 @@ class Entry
private $mimetype; private $mimetype;
/** /**
* @var integer * @var int
* *
* @ORM\Column(name="reading_type", type="integer", nullable=true) * @ORM\Column(name="reading_type", type="integer", nullable=true)
*/ */
@ -108,7 +108,7 @@ class Entry
private $domainName; private $domainName;
/** /**
* @var boolean * @var bool
* *
* @ORM\Column(name="is_public", type="boolean", nullable=true, options={"default" = false}) * @ORM\Column(name="is_public", type="boolean", nullable=true, options={"default" = false})
*/ */
@ -135,9 +135,9 @@ class Entry
} }
/** /**
* Get id * Get id.
* *
* @return integer * @return int
*/ */
public function getId() public function getId()
{ {
@ -145,9 +145,10 @@ class Entry
} }
/** /**
* Set title * Set title.
*
* @param string $title
* *
* @param string $title
* @return Entry * @return Entry
*/ */
public function setTitle($title) public function setTitle($title)
@ -158,7 +159,7 @@ class Entry
} }
/** /**
* Get title * Get title.
* *
* @return string * @return string
*/ */
@ -168,9 +169,10 @@ class Entry
} }
/** /**
* Set url * Set url.
*
* @param string $url
* *
* @param string $url
* @return Entry * @return Entry
*/ */
public function setUrl($url) public function setUrl($url)
@ -181,7 +183,7 @@ class Entry
} }
/** /**
* Get url * Get url.
* *
* @return string * @return string
*/ */
@ -191,9 +193,10 @@ class Entry
} }
/** /**
* Set isArchived * Set isArchived.
*
* @param string $isArchived
* *
* @param string $isArchived
* @return Entry * @return Entry
*/ */
public function setArchived($isArchived) public function setArchived($isArchived)
@ -204,7 +207,7 @@ class Entry
} }
/** /**
* Get isArchived * Get isArchived.
* *
* @return string * @return string
*/ */
@ -221,9 +224,10 @@ class Entry
} }
/** /**
* Set isStarred * Set isStarred.
*
* @param string $isStarred
* *
* @param string $isStarred
* @return Entry * @return Entry
*/ */
public function setStarred($isStarred) public function setStarred($isStarred)
@ -234,7 +238,7 @@ class Entry
} }
/** /**
* Get isStarred * Get isStarred.
* *
* @return string * @return string
*/ */
@ -251,9 +255,10 @@ class Entry
} }
/** /**
* Set content * Set content.
*
* @param string $content
* *
* @param string $content
* @return Entry * @return Entry
*/ */
public function setContent($content) public function setContent($content)
@ -264,7 +269,7 @@ class Entry
} }
/** /**
* Get content * Get content.
* *
* @return string * @return string
*/ */
@ -375,7 +380,7 @@ class Entry
} }
/** /**
* @return boolean * @return bool
*/ */
public function isPublic() public function isPublic()
{ {
@ -383,7 +388,7 @@ class Entry
} }
/** /**
* @param boolean $isPublic * @param bool $isPublic
*/ */
public function setPublic($isPublic) public function setPublic($isPublic)
{ {

View file

@ -9,7 +9,7 @@ use JMS\Serializer\Annotation\Expose;
use Doctrine\Common\Collections\ArrayCollection; use Doctrine\Common\Collections\ArrayCollection;
/** /**
* Tag * Tag.
* *
* @XmlRoot("tag") * @XmlRoot("tag")
* @ORM\Table * @ORM\Table
@ -19,7 +19,7 @@ use Doctrine\Common\Collections\ArrayCollection;
class Tag class Tag
{ {
/** /**
* @var integer * @var int
* *
* @Expose * @Expose
* @ORM\Column(name="id", type="integer") * @ORM\Column(name="id", type="integer")
@ -52,9 +52,9 @@ class Tag
$this->entries = new ArrayCollection(); $this->entries = new ArrayCollection();
} }
/** /**
* Get id * Get id.
* *
* @return integer * @return int
*/ */
public function getId() public function getId()
{ {
@ -62,9 +62,10 @@ class Tag
} }
/** /**
* Set label * Set label.
*
* @param string $label
* *
* @param string $label
* @return Tag * @return Tag
*/ */
public function setLabel($label) public function setLabel($label)
@ -75,7 +76,7 @@ class Tag
} }
/** /**
* Get label * Get label.
* *
* @return string * @return string
*/ */

View file

@ -12,7 +12,7 @@ use JMS\Serializer\Annotation\ExclusionPolicy;
use JMS\Serializer\Annotation\Expose; use JMS\Serializer\Annotation\Expose;
/** /**
* User * User.
* *
* @ORM\Entity(repositoryClass="Wallabag\CoreBundle\Repository\UserRepository") * @ORM\Entity(repositoryClass="Wallabag\CoreBundle\Repository\UserRepository")
* @ORM\Table * @ORM\Table
@ -25,7 +25,7 @@ use JMS\Serializer\Annotation\Expose;
class User implements AdvancedUserInterface, \Serializable class User implements AdvancedUserInterface, \Serializable
{ {
/** /**
* @var integer * @var int
* *
* @Expose * @Expose
* @ORM\Column(name="id", type="integer") * @ORM\Column(name="id", type="integer")
@ -142,9 +142,9 @@ class User implements AdvancedUserInterface, \Serializable
} }
/** /**
* Get id * Get id.
* *
* @return integer * @return int
*/ */
public function getId() public function getId()
{ {
@ -152,9 +152,10 @@ class User implements AdvancedUserInterface, \Serializable
} }
/** /**
* Set username * Set username.
*
* @param string $username
* *
* @param string $username
* @return User * @return User
*/ */
public function setUsername($username) public function setUsername($username)
@ -165,7 +166,7 @@ class User implements AdvancedUserInterface, \Serializable
} }
/** /**
* Get username * Get username.
* *
* @return string * @return string
*/ */
@ -191,9 +192,10 @@ class User implements AdvancedUserInterface, \Serializable
} }
/** /**
* Set password * Set password.
*
* @param string $password
* *
* @param string $password
* @return User * @return User
*/ */
public function setPassword($password) public function setPassword($password)
@ -208,7 +210,7 @@ class User implements AdvancedUserInterface, \Serializable
} }
/** /**
* Get password * Get password.
* *
* @return string * @return string
*/ */
@ -218,9 +220,10 @@ class User implements AdvancedUserInterface, \Serializable
} }
/** /**
* Set name * Set name.
*
* @param string $name
* *
* @param string $name
* @return User * @return User
*/ */
public function setName($name) public function setName($name)
@ -231,7 +234,7 @@ class User implements AdvancedUserInterface, \Serializable
} }
/** /**
* Get name * Get name.
* *
* @return string * @return string
*/ */
@ -241,9 +244,10 @@ class User implements AdvancedUserInterface, \Serializable
} }
/** /**
* Set email * Set email.
*
* @param string $email
* *
* @param string $email
* @return User * @return User
*/ */
public function setEmail($email) public function setEmail($email)
@ -254,7 +258,7 @@ class User implements AdvancedUserInterface, \Serializable
} }
/** /**
* Get email * Get email.
* *
* @return string * @return string
*/ */
@ -341,8 +345,7 @@ class User implements AdvancedUserInterface, \Serializable
public function unserialize($serialized) public function unserialize($serialized)
{ {
list( list(
$this->id, $this->id) = unserialize($serialized);
) = unserialize($serialized);
} }
public function isEqualTo(UserInterface $user) public function isEqualTo(UserInterface $user)
@ -370,9 +373,10 @@ class User implements AdvancedUserInterface, \Serializable
return $this->isActive; return $this->isActive;
} }
/** /**
* Set config * Set config.
*
* @param \Wallabag\CoreBundle\Entity\Config $config
* *
* @param \Wallabag\CoreBundle\Entity\Config $config
* @return User * @return User
*/ */
public function setConfig(\Wallabag\CoreBundle\Entity\Config $config = null) public function setConfig(\Wallabag\CoreBundle\Entity\Config $config = null)
@ -383,7 +387,7 @@ class User implements AdvancedUserInterface, \Serializable
} }
/** /**
* Get config * Get config.
* *
* @return \Wallabag\CoreBundle\Entity\Config * @return \Wallabag\CoreBundle\Entity\Config
*/ */
@ -393,9 +397,10 @@ class User implements AdvancedUserInterface, \Serializable
} }
/** /**
* Set confirmationToken * Set confirmationToken.
*
* @param string $confirmationToken
* *
* @param string $confirmationToken
* @return User * @return User
*/ */
public function setConfirmationToken($confirmationToken) public function setConfirmationToken($confirmationToken)
@ -406,7 +411,7 @@ class User implements AdvancedUserInterface, \Serializable
} }
/** /**
* Get confirmationToken * Get confirmationToken.
* *
* @return string * @return string
*/ */
@ -416,9 +421,10 @@ class User implements AdvancedUserInterface, \Serializable
} }
/** /**
* Set passwordRequestedAt * Set passwordRequestedAt.
*
* @param \DateTime $passwordRequestedAt
* *
* @param \DateTime $passwordRequestedAt
* @return User * @return User
*/ */
public function setPasswordRequestedAt($passwordRequestedAt) public function setPasswordRequestedAt($passwordRequestedAt)
@ -429,7 +435,7 @@ class User implements AdvancedUserInterface, \Serializable
} }
/** /**
* Get passwordRequestedAt * Get passwordRequestedAt.
* *
* @return \DateTime * @return \DateTime
*/ */

View file

@ -1,4 +1,5 @@
<?php <?php
namespace Wallabag\CoreBundle\Form\Type; namespace Wallabag\CoreBundle\Form\Type;
use Symfony\Component\Form\AbstractType; use Symfony\Component\Form\AbstractType;

View file

@ -1,4 +1,5 @@
<?php <?php
namespace Wallabag\CoreBundle\Form\Type; namespace Wallabag\CoreBundle\Form\Type;
use Symfony\Component\Form\AbstractType; use Symfony\Component\Form\AbstractType;

View file

@ -1,4 +1,5 @@
<?php <?php
namespace Wallabag\CoreBundle\Form\Type; namespace Wallabag\CoreBundle\Form\Type;
use Symfony\Component\Form\AbstractType; use Symfony\Component\Form\AbstractType;

View file

@ -1,4 +1,5 @@
<?php <?php
namespace Wallabag\CoreBundle\Form\Type; namespace Wallabag\CoreBundle\Form\Type;
use Symfony\Component\Form\AbstractType; use Symfony\Component\Form\AbstractType;

View file

@ -1,4 +1,5 @@
<?php <?php
namespace Wallabag\CoreBundle\Form\Type; namespace Wallabag\CoreBundle\Form\Type;
use Symfony\Component\Form\AbstractType; use Symfony\Component\Form\AbstractType;

View file

@ -1,4 +1,5 @@
<?php <?php
namespace Wallabag\CoreBundle\Form\Type; namespace Wallabag\CoreBundle\Form\Type;
use Symfony\Component\Form\AbstractType; use Symfony\Component\Form\AbstractType;

View file

@ -1,4 +1,5 @@
<?php <?php
namespace Wallabag\CoreBundle\Form\Type; namespace Wallabag\CoreBundle\Form\Type;
use Symfony\Component\Form\AbstractType; use Symfony\Component\Form\AbstractType;

View file

@ -1,4 +1,5 @@
<?php <?php
namespace Wallabag\CoreBundle\Form\Type; namespace Wallabag\CoreBundle\Form\Type;
use Symfony\Component\Form\AbstractType; use Symfony\Component\Form\AbstractType;

View file

@ -5,15 +5,16 @@ namespace Wallabag\CoreBundle\Helper;
final class Tools final class Tools
{ {
/** /**
* Download a file (typically, for downloading pictures on web server) * Download a file (typically, for downloading pictures on web server).
* *
* @param $url * @param $url
*
* @return bool|mixed|string * @return bool|mixed|string
*/ */
public static function getFile($url) public static function getFile($url)
{ {
$timeout = 15; $timeout = 15;
$useragent = "Mozilla/5.0 (Windows NT 5.1; rv:18.0) Gecko/20100101 Firefox/18.0"; $useragent = 'Mozilla/5.0 (Windows NT 5.1; rv:18.0) Gecko/20100101 Firefox/18.0';
if (in_array('curl', get_loaded_extensions())) { if (in_array('curl', get_loaded_extensions())) {
# Fetch feed from URL # Fetch feed from URL
@ -32,7 +33,7 @@ final class Tools
# FeedBurner requires a proper USER-AGENT... # FeedBurner requires a proper USER-AGENT...
curl_setopt($curl, CURL_HTTP_VERSION_1_1, true); curl_setopt($curl, CURL_HTTP_VERSION_1_1, true);
curl_setopt($curl, CURLOPT_ENCODING, "gzip, deflate"); curl_setopt($curl, CURLOPT_ENCODING, 'gzip, deflate');
curl_setopt($curl, CURLOPT_USERAGENT, $useragent); curl_setopt($curl, CURLOPT_USERAGENT, $useragent);
$data = curl_exec($curl); $data = curl_exec($curl);
@ -45,7 +46,7 @@ final class Tools
array( array(
'http' => array( 'http' => array(
'timeout' => $timeout, 'timeout' => $timeout,
'header' => "User-Agent: ".$useragent, 'header' => 'User-Agent: '.$useragent,
'follow_location' => true, 'follow_location' => true,
), ),
'ssl' => array( 'ssl' => array(
@ -91,9 +92,10 @@ final class Tools
} }
/** /**
* Encode a URL by using a salt * Encode a URL by using a salt.
* *
* @param $string * @param $string
*
* @return string * @return string
*/ */
public static function encodeString($string) public static function encodeString($string)

View file

@ -10,7 +10,7 @@ use Pagerfanta\Pagerfanta;
class EntryRepository extends EntityRepository class EntryRepository extends EntityRepository
{ {
/** /**
* Retrieves unread entries for a user * Retrieves unread entries for a user.
* *
* @param int $userId * @param int $userId
* @param int $firstResult * @param int $firstResult
@ -35,7 +35,7 @@ class EntryRepository extends EntityRepository
} }
/** /**
* Retrieves read entries for a user * Retrieves read entries for a user.
* *
* @param int $userId * @param int $userId
* @param int $firstResult * @param int $firstResult
@ -61,7 +61,7 @@ class EntryRepository extends EntityRepository
} }
/** /**
* Retrieves starred entries for a user * Retrieves starred entries for a user.
* *
* @param int $userId * @param int $userId
* @param int $firstResult * @param int $firstResult
@ -87,7 +87,7 @@ class EntryRepository extends EntityRepository
} }
/** /**
* Find Entries * Find Entries.
* *
* @param int $userId * @param int $userId
* @param bool $isArchived * @param bool $isArchived

View file

@ -7,7 +7,7 @@ use Doctrine\ORM\EntityRepository;
class UserRepository extends EntityRepository class UserRepository extends EntityRepository
{ {
/** /**
* Find a user by its username and rss roken * Find a user by its username and rss roken.
* *
* @param string $username * @param string $username
* @param string $rssToken * @param string $rssToken

View file

@ -7,8 +7,7 @@ use Symfony\Component\Security\Core\Exception\BadCredentialsException;
/** /**
* This override just add en extra variable (username) to be able to salt the password * This override just add en extra variable (username) to be able to salt the password
* the way Wallabag v1 does. It will avoid to break compatibility with Wallabag v1 * the way Wallabag v1 does. It will avoid to break compatibility with Wallabag v1.
*
*/ */
class WallabagPasswordEncoder extends BasePasswordEncoder class WallabagPasswordEncoder extends BasePasswordEncoder
{ {

View file

@ -45,7 +45,7 @@ class WallabagAuthenticationProvider extends UserAuthenticationProvider
throw new BadCredentialsException('The credentials were changed from another session.'); throw new BadCredentialsException('The credentials were changed from another session.');
} }
} else { } else {
if ("" === ($presentedPassword = $token->getCredentials())) { if ('' === ($presentedPassword = $token->getCredentials())) {
throw new BadCredentialsException('The presented password cannot be empty.'); throw new BadCredentialsException('The presented password cannot be empty.');
} }

View file

@ -9,7 +9,7 @@ final class Extractor
{ {
public static function extract($url) public static function extract($url)
{ {
$pageContent = Extractor::getPageContent(new Url(base64_encode($url))); $pageContent = self::getPageContent(new Url(base64_encode($url)));
$title = $pageContent['rss']['channel']['item']['title'] ?: 'Untitled'; $title = $pageContent['rss']['channel']['item']['title'] ?: 'Untitled';
$body = $pageContent['rss']['channel']['item']['description']; $body = $pageContent['rss']['channel']['item']['description'];
@ -21,9 +21,10 @@ final class Extractor
} }
/** /**
* Get the content for a given URL (by a call to FullTextFeed) * Get the content for a given URL (by a call to FullTextFeed).
*
* @param Url $url
* *
* @param Url $url
* @return mixed * @return mixed
*/ */
public static function getPageContent(Url $url) public static function getPageContent(Url $url)
@ -49,12 +50,12 @@ final class Extractor
$scope = function () { $scope = function () {
extract(func_get_arg(1)); extract(func_get_arg(1));
$_GET = $_REQUEST = array( $_GET = $_REQUEST = array(
"url" => $url->getUrl(), 'url' => $url->getUrl(),
"max" => 5, 'max' => 5,
"links" => "preserve", 'links' => 'preserve',
"exc" => "", 'exc' => '',
"format" => "json", 'format' => 'json',
"submit" => "Create Feed", 'submit' => 'Create Feed',
); );
ob_start(); ob_start();
require func_get_arg(0); require func_get_arg(0);
@ -67,11 +68,11 @@ final class Extractor
// Silence $scope function to avoid // Silence $scope function to avoid
// issues with FTRSS when error_reporting is to high // issues with FTRSS when error_reporting is to high
// FTRSS generates PHP warnings which break output // FTRSS generates PHP warnings which break output
$json = @$scope(__DIR__."/../../../../vendor/wallabag/Fivefilters_Libraries/makefulltextfeed.php", array("url" => $url)); $json = @$scope(__DIR__.'/../../../../vendor/wallabag/Fivefilters_Libraries/makefulltextfeed.php', array('url' => $url));
// Clearing and restoring context // Clearing and restoring context
foreach ($GLOBALS as $key => $value) { foreach ($GLOBALS as $key => $value) {
if ($key != "GLOBALS" && $key != "_SESSION") { if ($key != 'GLOBALS' && $key != '_SESSION') {
unset($GLOBALS[$key]); unset($GLOBALS[$key]);
} }
} }

View file

@ -5,7 +5,7 @@ namespace Wallabag\CoreBundle\Tools;
class Utils class Utils
{ {
/** /**
* Generate a token used for RSS * Generate a token used for RSS.
* *
* @return string * @return string
*/ */

View file

@ -13,9 +13,10 @@ class WallabagExtension extends \Twig_Extension
} }
/** /**
* Returns the domain name for a URL * Returns the domain name for a URL.
* *
* @param $url * @param $url
*
* @return string * @return string
*/ */
public static function getDomainName($url) public static function getDomainName($url)
@ -24,9 +25,10 @@ class WallabagExtension extends \Twig_Extension
} }
/** /**
* For a given text, we calculate reading time for an article * For a given text, we calculate reading time for an article.
* *
* @param $text * @param $text
*
* @return float * @return float
*/ */
public static function getReadingTime($text) public static function getReadingTime($text)