private static function setCourseUserSelection(&$constraints = array())
 {
     //"(select count( * ) from users_to_courses uc, users u where uc.courses_ID=c.id and u.archive=0 and u.active=1 and uc.archive=0 and u.login=uc.users_LOGIN and u.user_type='student') as num_students";
     if (empty($constraints['table_filters'])) {
         return "(select count( * ) from users_to_courses uc, users u where uc.courses_ID=c.id and u.archive=0 and u.active=1 and uc.archive=0 and u.login=uc.users_LOGIN and u.user_type='student') as num_students";
     } else {
         list($where, $limit, $orderby) = EfrontCourse::convertCourseUserConstraintsToSqlParameters($constraints);
         $from = "users_to_courses uc, users u";
         $from = EfrontCourse::appendTableFiltersUserConstraints($from, $constraints);
         $where[] = "uc.courses_ID=c.id";
         $where[] = "u.archive=0";
         $where[] = "u.login=uc.users_LOGIN";
         $where[] = "u.user_type='student'";
         unset($constraints['table_filters']);
         // to avoid using the filters again in courses....
         return "(select count(*) FROM " . $from . " WHERE " . implode(" AND ", $where) . ") as num_students";
     }
 }