|
@@ -1563,22 +1563,40 @@ function get_thread_information($thread_id) {
|
|
|
* @param string Course DB name (optional)
|
|
|
* @return resource array Array of type ([user_id=>w,lastname=>x,firstname=>y,thread_id=>z],[])
|
|
|
* @author Christian Fasanando <christian.fasanando@dokeos.com>,
|
|
|
+* @todo this function need to be improved
|
|
|
* @version octubre 2008, dokeos 1.8
|
|
|
*/
|
|
|
|
|
|
function get_thread_users_details($thread_id, $db_name = null) {
|
|
|
- $t_posts = Database :: get_course_table(TABLE_FORUM_POST, (empty($db_name)?null:$db_name));
|
|
|
- $t_users = Database :: get_main_table(TABLE_MAIN_USER);
|
|
|
- $t_course_user = Database :: get_main_table(TABLE_MAIN_COURSE_USER);
|
|
|
-
|
|
|
- $sql = "SELECT DISTINCT user.user_id, user.lastname, user.firstname, thread_id
|
|
|
- FROM $t_posts , $t_users user, $t_course_user course_user
|
|
|
- WHERE poster_id = user.user_id
|
|
|
- AND user.user_id = course_user.user_id
|
|
|
- AND course_user.relation_type<>".COURSE_RELATION_TYPE_RRHH."
|
|
|
- AND thread_id = '".Database::escape_string($thread_id)."'
|
|
|
- AND course_user.status NOT IN('1')
|
|
|
- AND course_code = '".api_get_course_id()."'";
|
|
|
+ $t_posts = Database :: get_course_table(TABLE_FORUM_POST, (empty($db_name)?null:$db_name));
|
|
|
+ $t_users = Database :: get_main_table(TABLE_MAIN_USER);
|
|
|
+ $t_course_user = Database :: get_main_table(TABLE_MAIN_COURSE_USER);
|
|
|
+ $t_session_rel_user = Database :: get_main_table(TABLE_MAIN_SESSION_COURSE_USER);
|
|
|
+
|
|
|
+ if (api_get_session_id()) {
|
|
|
+ $session_info = api_get_session_info(api_get_session_id());
|
|
|
+ $user_to_avoid = "'".$session_info['id_coach']."', '".$session_info['session_admin_id']."'";
|
|
|
+ //not showing coaches
|
|
|
+ $sql = "SELECT DISTINCT user.user_id, user.lastname, user.firstname, thread_id
|
|
|
+ FROM $t_posts , $t_users user, $t_session_rel_user session_rel_user_rel_course
|
|
|
+ WHERE poster_id = user.user_id
|
|
|
+ AND user.user_id = session_rel_user_rel_course.id_user
|
|
|
+ AND session_rel_user_rel_course.status<>'2'
|
|
|
+ AND session_rel_user_rel_course.id_user NOT IN ($user_to_avoid)
|
|
|
+ AND thread_id = '".Database::escape_string($thread_id)."'
|
|
|
+ AND id_session = '".api_get_session_id()."'
|
|
|
+ AND course_code = '".api_get_course_id()."'";
|
|
|
+
|
|
|
+ } else {
|
|
|
+ $sql = "SELECT DISTINCT user.user_id, user.lastname, user.firstname, thread_id
|
|
|
+ FROM $t_posts , $t_users user, $t_course_user course_user
|
|
|
+ WHERE poster_id = user.user_id
|
|
|
+ AND user.user_id = course_user.user_id
|
|
|
+ AND course_user.relation_type<>".COURSE_RELATION_TYPE_RRHH."
|
|
|
+ AND thread_id = '".Database::escape_string($thread_id)."'
|
|
|
+ AND course_user.status NOT IN('1')
|
|
|
+ AND course_code = '".api_get_course_id()."'";
|
|
|
+ }
|
|
|
$result = Database::query($sql);
|
|
|
return $result;
|
|
|
}
|
|
@@ -1589,6 +1607,7 @@ function get_thread_users_details($thread_id, $db_name = null) {
|
|
|
* @param string Course DB name (optional)
|
|
|
* @return array Array of type ([user_id=>w,lastname=>x,firstname=>y,thread_id=>z],[])
|
|
|
* @author Jhon Hinojosa<jhon.hinojosa@dokeos.com>,
|
|
|
+* @todo this function need to be improved
|
|
|
* @version octubre 2008, dokeos 1.8
|
|
|
*/
|
|
|
|
|
@@ -1597,21 +1616,38 @@ function get_thread_users_qualify($thread_id, $db_name = null) {
|
|
|
$t_qualify = Database :: get_course_table(TABLE_FORUM_THREAD_QUALIFY, (empty($db_name)?null:$db_name));
|
|
|
$t_users = Database :: get_main_table(TABLE_MAIN_USER);
|
|
|
$t_course_user = Database :: get_main_table(TABLE_MAIN_COURSE_USER);
|
|
|
-
|
|
|
- $sql = "SELECT post.poster_id, user.lastname, user.firstname, post.thread_id,user.user_id,qualify.qualify
|
|
|
- FROM $t_posts post,
|
|
|
- $t_qualify qualify,
|
|
|
- $t_users user,
|
|
|
- $t_course_user course_user
|
|
|
- WHERE
|
|
|
- post.poster_id = user.user_id
|
|
|
- AND post.poster_id = qualify.user_id
|
|
|
- AND user.user_id = course_user.user_id
|
|
|
- AND course_user.relation_type<>".COURSE_RELATION_TYPE_RRHH."
|
|
|
- AND qualify.thread_id = '".Database::escape_string($thread_id)."'
|
|
|
- AND course_user.status not in('1')
|
|
|
- AND course_code = '".api_get_course_id()."'
|
|
|
- GROUP BY post.poster_id ";
|
|
|
+ $t_session_rel_user = Database :: get_main_table(TABLE_MAIN_SESSION_COURSE_USER);
|
|
|
+
|
|
|
+ if (api_get_session_id()) {
|
|
|
+ $session_info = api_get_session_info(api_get_session_id());
|
|
|
+ $user_to_avoid = "'".$session_info['id_coach']."', '".$session_info['session_admin_id']."'";
|
|
|
+ //not showing coaches
|
|
|
+ $sql = "SELECT post.poster_id, user.lastname, user.firstname, post.thread_id,user.user_id,qualify.qualify
|
|
|
+ FROM $t_posts post , $t_users user, $t_session_rel_user session_rel_user_rel_course, $t_qualify qualify
|
|
|
+ WHERE poster_id = user.user_id
|
|
|
+ AND post.poster_id = qualify.user_id
|
|
|
+ AND user.user_id = session_rel_user_rel_course.id_user
|
|
|
+ AND session_rel_user_rel_course.status<>'2'
|
|
|
+ AND session_rel_user_rel_course.id_user NOT IN ($user_to_avoid)
|
|
|
+ AND qualify.thread_id = '".Database::escape_string($thread_id)."'
|
|
|
+ AND id_session = '".api_get_session_id()."'
|
|
|
+ AND course_code = '".api_get_course_id()."'";
|
|
|
+ } else {
|
|
|
+ $sql = "SELECT post.poster_id, user.lastname, user.firstname, post.thread_id,user.user_id,qualify.qualify
|
|
|
+ FROM $t_posts post,
|
|
|
+ $t_qualify qualify,
|
|
|
+ $t_users user,
|
|
|
+ $t_course_user course_user
|
|
|
+ WHERE
|
|
|
+ post.poster_id = user.user_id
|
|
|
+ AND post.poster_id = qualify.user_id
|
|
|
+ AND user.user_id = course_user.user_id
|
|
|
+ AND course_user.relation_type<>".COURSE_RELATION_TYPE_RRHH."
|
|
|
+ AND qualify.thread_id = '".Database::escape_string($thread_id)."'
|
|
|
+ AND course_user.status not in('1')
|
|
|
+ AND course_code = '".api_get_course_id()."'
|
|
|
+ GROUP BY post.poster_id ";
|
|
|
+ }
|
|
|
$result = Database::query($sql);
|
|
|
return $result;
|
|
|
}
|
|
@@ -1621,7 +1657,8 @@ function get_thread_users_qualify($thread_id, $db_name = null) {
|
|
|
* @param int Thread ID
|
|
|
* @param string Course DB name (optional)
|
|
|
* @return array Array of type ([user_id=>w,lastname=>x,firstname=>y,thread_id=>z],[])
|
|
|
-* @author Jhon Hinojosa<jhon.hinojosa@dokeos.com>,
|
|
|
+* @author Jhon Hinojosa<jhon.hinojosa@dokeos.com>,
|
|
|
+* @todo i'm a horrible function fix me
|
|
|
* @version octubre 2008, dokeos 1.8
|
|
|
*/
|
|
|
|
|
@@ -1630,6 +1667,7 @@ function get_thread_users_not_qualify($thread_id, $db_name = null) {
|
|
|
$t_qualify = Database :: get_course_table(TABLE_FORUM_THREAD_QUALIFY, (empty($db_name)?null:$db_name));
|
|
|
$t_users = Database :: get_main_table(TABLE_MAIN_USER);
|
|
|
$t_course_user = Database :: get_main_table(TABLE_MAIN_COURSE_USER);
|
|
|
+ $t_session_rel_user = Database :: get_main_table(TABLE_MAIN_SESSION_COURSE_USER);
|
|
|
|
|
|
$sql1 = "select user_id FROM $t_qualify WHERE thread_id = '".$thread_id."'";
|
|
|
$result1 = Database::query($sql1);
|
|
@@ -1642,6 +1680,25 @@ function get_thread_users_not_qualify($thread_id, $db_name = null) {
|
|
|
} else {
|
|
|
$cad=substr($cad,0,strlen($cad)-1);
|
|
|
}
|
|
|
+
|
|
|
+ if (api_get_session_id()) {
|
|
|
+ $session_info = api_get_session_info(api_get_session_id());
|
|
|
+ $user_to_avoid = "'".$session_info['id_coach']."', '".$session_info['session_admin_id']."'";
|
|
|
+ //not showing coaches
|
|
|
+ $sql = "SELECT user.user_id, user.lastname, user.firstname, post.thread_id
|
|
|
+ FROM $t_posts post , $t_users user, $t_session_rel_user session_rel_user_rel_course
|
|
|
+ WHERE poster_id = user.user_id
|
|
|
+ AND user.user_id NOT IN (".$cad.")
|
|
|
+ AND user.user_id = session_rel_user_rel_course.id_user
|
|
|
+ AND session_rel_user_rel_course.status<>'2'
|
|
|
+ AND session_rel_user_rel_course.id_user NOT IN ($user_to_avoid)
|
|
|
+ AND post.thread_id = '".Database::escape_string($thread_id)."'
|
|
|
+ AND id_session = '".api_get_session_id()."'
|
|
|
+ AND course_code = '".api_get_course_id()."'";
|
|
|
+ } else {
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
$sql = "SELECT DISTINCT user.user_id, user.lastname, user.firstname, post.thread_id
|
|
|
FROM $t_posts post, $t_users user,$t_course_user course_user
|
|
|
WHERE post.poster_id = user.user_id
|
|
@@ -1651,6 +1708,7 @@ function get_thread_users_not_qualify($thread_id, $db_name = null) {
|
|
|
AND post.thread_id = '".Database::escape_string($thread_id)."'
|
|
|
AND course_user.status not in('1')
|
|
|
AND course_code = '".api_get_course_id()."'";
|
|
|
+ }
|
|
|
$result = Database::query($sql);
|
|
|
return $result;
|
|
|
}
|