PHP Class Newscoop\Services\UserTopicService

Show file Open project: sourcefabric/newscoop

Protected Properties

Property Type Description
$dispatcher Newscoop\EventDispatcher\EventDispatcher
$em Doctrine\ORM\EntityManager

Public Methods

Method Description
__construct ( EntityManager $em, Newscoop\EventDispatcher\EventDispatcher $dispatcher = null )
findTopic ( integer $id ) : Newscoop\NewscoopBundle\Entity\Topic Find topic
followTopic ( User $user, Topic $topic ) : void Follow topic by user
getTopics ( mixed $user, string $locale = null ) : array Get user topics
saveUserTopics ( SaveUserTopicsCommand $command ) : void Save user topics command
unfollowTopic ( User $user, Topic $topic ) : void Unfollow topic
updateTopics ( User $user, array $topics ) : void Update user topics

Private Methods

Method Description
notify ( User $user, Topic $topic ) Dispatch event

Method Details

__construct() public method

public __construct ( EntityManager $em, Newscoop\EventDispatcher\EventDispatcher $dispatcher = null )
$em Doctrine\ORM\EntityManager
$dispatcher Newscoop\EventDispatcher\EventDispatcher

findTopic() public method

Find topic
public findTopic ( integer $id ) : Newscoop\NewscoopBundle\Entity\Topic
$id integer
return Newscoop\NewscoopBundle\Entity\Topic

followTopic() public method

Follow topic by user
public followTopic ( User $user, Topic $topic ) : void
$user Newscoop\Entity\User
$topic Newscoop\NewscoopBundle\Entity\Topic
return void

getTopics() public method

Get user topics
public getTopics ( mixed $user, string $locale = null ) : array
$user mixed User id or object
$locale string Current locale
return array

saveUserTopics() public method

Save user topics command
public saveUserTopics ( SaveUserTopicsCommand $command ) : void
$command Newscoop\Topic\SaveUserTopicsCommand
return void

unfollowTopic() public method

Unfollow topic
public unfollowTopic ( User $user, Topic $topic ) : void
$user Newscoop\Entity\User
$topic Newscoop\NewscoopBundle\Entity\Topic
return void

updateTopics() public method

Update user topics
public updateTopics ( User $user, array $topics ) : void
$user Newscoop\Entity\User
$topics array
return void

Property Details

$dispatcher protected property

protected EventDispatcher,Newscoop\EventDispatcher $dispatcher
return Newscoop\EventDispatcher\EventDispatcher

$em protected property

protected EntityManager,Doctrine\ORM $em
return Doctrine\ORM\EntityManager