Open Journal Systems  3.3.0
InterestManager.inc.php
1 <?php
2 
20  function __construct() {
21  }
22 
28  function getAllInterests($filter = null) {
29  $interestDao = DAORegistry::getDAO('InterestDAO'); /* @var $interestDao InterestDAO */
30  $interests = $interestDao->getAllInterests($filter);
31 
32  $interestReturner = array();
33  while($interest = $interests->next()) {
34  $interestReturner[] = $interest->getInterest();
35  }
36 
37  return $interestReturner;
38  }
39 
45  function getInterestsForUser($user) {
46  static $interestsCache = array();
47  $interests = array();
48 
49  $interestDao = DAORegistry::getDAO('InterestDAO'); /* @var $interestDao InterestDAO */
50  $interestEntryDao = DAORegistry::getDAO('InterestEntryDAO'); /* @var $interestEntryDao InterestEntryDAO */
51  $controlledVocab = $interestDao->build();
52  foreach($interestDao->getUserInterestIds($user->getId()) as $interestEntryId) {
53  if (!isset($interestsCache[$interestEntryId])) {
54  $interestsCache[$interestEntryId] = $interestEntryDao->getById(
55  $interestEntryId,
56  $controlledVocab->getId()
57  );
58  }
59  if (isset($interestsCache[$interestEntryId])) {
60  $interests[] = $interestsCache[$interestEntryId]->getInterest();
61  }
62  }
63 
64  return $interests;
65  }
66 
72  function getInterestsString($user) {
73  $interests = $this->getInterestsForUser($user);
74 
75  return implode(', ', $interests);
76  }
77 
83  function setInterestsForUser($user, $interests) {
84  $interestDao = DAORegistry::getDAO('InterestDAO'); /* @var $interestDao InterestDAO */
85  $interests = is_array($interests) ? $interests : (empty($interests) ? null : explode(",", $interests));
86  $interestDao->setUserInterests($interests, $user->getId());
87  }
88 }
89 
90 
InterestManager\__construct
__construct()
Definition: InterestManager.inc.php:20
DAORegistry\getDAO
static & getDAO($name, $dbconn=null)
Definition: DAORegistry.inc.php:57
InterestManager\getAllInterests
getAllInterests($filter=null)
Definition: InterestManager.inc.php:28
InterestManager\setInterestsForUser
setInterestsForUser($user, $interests)
Definition: InterestManager.inc.php:83
InterestManager\getInterestsForUser
getInterestsForUser($user)
Definition: InterestManager.inc.php:45
InterestManager
Handle user interest functions.
Definition: InterestManager.inc.php:16
InterestManager\getInterestsString
getInterestsString($user)
Definition: InterestManager.inc.php:72