diff --git a/classes/security/RoleDAO.inc.php b/classes/security/RoleDAO.inc.php index 86a90a1..f11f44e 100644 --- a/classes/security/RoleDAO.inc.php +++ b/classes/security/RoleDAO.inc.php @@ -158,7 +158,7 @@ class RoleDAO extends DAO { $users = array(); - $paramArray = array('interest'); + $paramArray = array(ASSOC_TYPE_USER, 'interest'); if (isset($roleId)) $paramArray[] = (int) $roleId; if (isset($conferenceId)) $paramArray[] = (int) $conferenceId; if (isset($schedConfId)) $paramArray[] = (int) $schedConfId; @@ -207,7 +207,7 @@ class RoleDAO extends DAO { $searchSql .= ($sortBy?(' ORDER BY ' . $this->getSortMapping($sortBy) . ' ' . $this->getDirectionMapping($sortDirection)) : ''); $result =& $this->retrieveRange( - 'SELECT DISTINCT u.* FROM users AS u LEFT JOIN controlled_vocabs cv ON (cv.assoc_id = u.user_id AND cv.symbolic = ?) + 'SELECT DISTINCT u.* FROM users AS u LEFT JOIN controlled_vocabs cv ON (cv.assoc_type = ? AND cv.assoc_id = u.user_id AND cv.symbolic = ?) LEFT JOIN controlled_vocab_entries cve ON (cve.controlled_vocab_id = cv.controlled_vocab_id) LEFT JOIN controlled_vocab_entry_settings cves ON (cves.controlled_vocab_entry_id = cve.controlled_vocab_entry_id), roles AS r WHERE u.user_id = r.user_id ' . @@ -235,7 +235,7 @@ class RoleDAO extends DAO { function &getUsersByConferenceId($conferenceId, $searchType = null, $search = null, $searchMatch = null, $dbResultRange = null, $sortBy = null, $sortDirection = SORT_DIRECTION_ASC) { $users = array(); - $paramArray = array('interest', (int) $conferenceId); + $paramArray = array(ASSOC_TYPE_USER, 'interest', (int) $conferenceId); $searchSql = ''; $searchTypeMap = array( @@ -277,7 +277,7 @@ class RoleDAO extends DAO { $result =& $this->retrieveRange( - 'SELECT DISTINCT u.* FROM users AS u LEFT JOIN controlled_vocabs cv ON (cv.assoc_id = u.user_id AND cv.symbolic = ?) + 'SELECT DISTINCT u.* FROM users AS u LEFT JOIN controlled_vocabs cv ON (cv.assoc_type = ? AND cv.assoc_id = u.user_id AND cv.symbolic = ?) LEFT JOIN controlled_vocab_entries cve ON (cve.controlled_vocab_id = cv.controlled_vocab_id) LEFT JOIN controlled_vocab_entry_settings cves ON (cves.controlled_vocab_entry_id = cve.controlled_vocab_entry_id), roles AS r WHERE u.user_id = r.user_id AND r.conference_id = ? ' . $searchSql, @@ -301,7 +301,7 @@ class RoleDAO extends DAO { function &getUsersBySchedConfId($schedConfId, $searchType = null, $search = null, $searchMatch = null, $dbResultRange = null, $sortBy = null, $sortDirection = SORT_DIRECTION_ASC) { $users = array(); - $paramArray = array('interest', (int) $schedConfId); + $paramArray = array(ASSOC_TYPE_USER, 'interest', (int) $schedConfId); $searchSql = ''; if (!empty($search)) switch ($searchType) { @@ -339,7 +339,7 @@ class RoleDAO extends DAO { $result =& $this->retrieveRange( - 'SELECT DISTINCT u.* FROM users AS u LEFT JOIN controlled_vocabs cv ON (cv.assoc_id = u.user_id AND cv.symbolic = ?) + 'SELECT DISTINCT u.* FROM users AS u LEFT JOIN controlled_vocabs cv ON (cv.assoc_type = ? AND cv.assoc_id = u.user_id AND cv.symbolic = ?) LEFT JOIN controlled_vocab_entries cve ON (cve.controlled_vocab_id = cv.controlled_vocab_id) LEFT JOIN controlled_vocab_entry_settings cves ON (cves.controlled_vocab_entry_id = cve.controlled_vocab_entry_id), roles AS r WHERE u.user_id = r.user_id AND r.sched_conf_id = ? ' . $searchSql, diff --git a/classes/submission/director/DirectorSubmissionDAO.inc.php b/classes/submission/director/DirectorSubmissionDAO.inc.php index 579bbef..7795080 100644 --- a/classes/submission/director/DirectorSubmissionDAO.inc.php +++ b/classes/submission/director/DirectorSubmissionDAO.inc.php @@ -518,6 +518,7 @@ class DirectorSubmissionDAO extends DAO { $users = array(); $paramArray = array( + ASSOC_TYPE_USER, 'interest', $paperId, $schedConfId, @@ -567,7 +568,7 @@ class DirectorSubmissionDAO extends DAO { u.* FROM users u LEFT JOIN roles r ON (r.user_id = u.user_id) - LEFT JOIN controlled_vocabs cv ON (cv.assoc_id = u.user_id AND cv.symbolic = ?) + LEFT JOIN controlled_vocabs cv ON (cv.assoc_type = ? AND cv.assoc_id = u.user_id AND cv.symbolic = ?) LEFT JOIN controlled_vocab_entries cve ON (cve.controlled_vocab_id = cv.controlled_vocab_id) LEFT JOIN controlled_vocab_entry_settings cves ON (cves.controlled_vocab_entry_id = cve.controlled_vocab_entry_id) LEFT JOIN edit_assignments e ON (e.director_id = u.user_id AND e.paper_id = ?) diff --git a/classes/submission/trackDirector/TrackDirectorSubmissionDAO.inc.php b/classes/submission/trackDirector/TrackDirectorSubmissionDAO.inc.php index 5aa1b30..3a69eea 100644 --- a/classes/submission/trackDirector/TrackDirectorSubmissionDAO.inc.php +++ b/classes/submission/trackDirector/TrackDirectorSubmissionDAO.inc.php @@ -657,7 +657,7 @@ class TrackDirectorSubmissionDAO extends DAO { * @return DAOResultFactory containing matching Users */ function &getReviewersForPaper($schedConfId, $paperId, $round, $searchType = null, $search = null, $searchMatch = null, $rangeInfo = null, $sortBy = null, $sortDirection = SORT_DIRECTION_ASC) { - $paramArray = array($paperId, $round, 'interest', $schedConfId, RoleDAO::getRoleIdFromPath('reviewer')); + $paramArray = array($paperId, $round, ASSOC_TYPE_USER, 'interest', $schedConfId, RoleDAO::getRoleIdFromPath('reviewer')); $searchSql = ''; $searchTypeMap = array( @@ -713,7 +713,7 @@ class TrackDirectorSubmissionDAO extends DAO { LEFT JOIN review_assignments ar ON (ar.reviewer_id = u.user_id AND ar.cancelled = 0 AND ar.submission_id = ? AND ar.round = ?) LEFT JOIN roles r ON (r.user_id = u.user_id) LEFT JOIN papers p ON (a.submission_id = p.paper_id) - LEFT JOIN controlled_vocabs cv ON (cv.assoc_id = u.user_id AND cv.symbolic = ?) + LEFT JOIN controlled_vocabs cv ON (cv.assoc_type = ? AND cv.assoc_id = u.user_id AND cv.symbolic = ?) LEFT JOIN controlled_vocab_entries cve ON (cve.controlled_vocab_id = cv.controlled_vocab_id) LEFT JOIN controlled_vocab_entry_settings cves ON (cves.controlled_vocab_entry_id = cve.controlled_vocab_entry_id) WHERE u.user_id = r.user_id AND