/** * Count lesson users based on the specified constraints * @param array $constraints The constraints for the query * @return array An array of EfrontUser objects * @since 3.6.3 * @access public */ public function countLessonUsers($constraints = array()) { !empty($constraints) or $constraints = array('archive' => false, 'active' => true); list($where, $limit, $orderby) = EfrontUser::convertUserConstraintsToSqlParameters($constraints); $where[] = "u.login=ul.users_LOGIN and ul.lessons_ID='" . $this->lesson['id'] . "' and ul.archive=0"; $from = EfrontLesson::appendTableFiltersUserConstraints("users u JOIN users_to_lessons ul ON u.login=ul.users_LOGIN", $constraints); $result = eF_countTableData($from, "distinct(u.login)", implode(" and ", $where)); return $result[0]['count']; }