Open Monograph Press  3.3.0
InterestEntryDAO.inc.php
1 <?php
2 
18 import('lib.pkp.classes.user.InterestEntry');
19 import('lib.pkp.classes.controlledVocab.ControlledVocabEntryDAO');
20 
22 
27  function newDataObject() {
28  return new InterestEntry();
29  }
30 
36  return array('interest');
37  }
38 
47  function getByControlledVocabId($controlledVocabId, $rangeInfo = null, $filter = null) {
48  $params = array((int) $controlledVocabId);
49  if ($filter) {
50  $params[] = 'interest';
51  $params[] = $filter . '%';
52  }
53 
54  $result = $this->retrieveRange(
55  'SELECT cve.*
56  FROM controlled_vocab_entries cve
57  JOIN user_interests ui ON (cve.controlled_vocab_entry_id = ui.controlled_vocab_entry_id)
58  ' . ($filter?'JOIN controlled_vocab_entry_settings cves ON (cves.controlled_vocab_entry_id = cve.controlled_vocab_entry_id)':'') . '
59  WHERE cve.controlled_vocab_id = ?
60  ' . ($filter?'AND cves.setting_name=? AND LOWER(cves.setting_value) LIKE LOWER(?)':'') . '
61  GROUP BY cve.controlled_vocab_entry_id
62  ORDER BY seq',
63  $params,
64  $rangeInfo
65  );
66 
67  return new DAOResultFactory($result, $this, '_fromRow');
68  }
69 
76  public function getByIds($entryIds) {
77  $entryString = join(',', array_map('intval', $entryIds));
78 
79  $result = $this->retrieve(
80  'SELECT * FROM controlled_vocab_entries WHERE controlled_vocab_entry_id IN (' . $entryString . ')'
81  );
82 
83  return new DAOResultFactory($result, $this, '_fromRow');
84  }
85 }
86 
87 
InterestEntryDAO
Definition: InterestEntryDAO.inc.php:21
DAOResultFactory
Wrapper around ADORecordSet providing "factory" features for generating objects from DAOs.
Definition: DAOResultFactory.inc.php:21
InterestEntry
Definition: InterestEntry.inc.php:20
DAO\retrieveRange
& retrieveRange($sql, $params=false, $dbResultRange=null, $callHooks=true)
Definition: DAO.inc.php:176
DAO\retrieve
& retrieve($sql, $params=false, $callHooks=true)
Definition: DAO.inc.php:85
InterestEntryDAO\getAdditionalFieldNames
getAdditionalFieldNames()
Definition: InterestEntryDAO.inc.php:35
InterestEntryDAO\getByIds
getByIds($entryIds)
Definition: InterestEntryDAO.inc.php:76
InterestEntryDAO\newDataObject
newDataObject()
Definition: InterestEntryDAO.inc.php:27
InterestEntryDAO\getByControlledVocabId
getByControlledVocabId($controlledVocabId, $rangeInfo=null, $filter=null)
Definition: InterestEntryDAO.inc.php:47
ControlledVocabEntryDAO
Operations for retrieving and modifying ControlledVocabEntry objects.
Definition: ControlledVocabEntryDAO.inc.php:19