diff --git a/index.php b/index.php index a3d2233368..15dc635c6b 100644 --- a/index.php +++ b/index.php @@ -1,4 +1,4 @@ -, Ghent University, Refactoring -* @version $Id: index.php 16947 2008-11-26 14:04:43Z iflorespaz $ +* @version $Id: index.php 17648 2009-01-11 23:08:49Z iflorespaz $ * @todo check the different @todos in this page and really do them * @todo check if the news management works as expected */ @@ -59,7 +59,7 @@ include_once (api_get_path(LIBRARY_PATH).'events.lib.inc.php'); include_once (api_get_path(LIBRARY_PATH).'system_announcements.lib.php'); include_once (api_get_path(LIBRARY_PATH).'groupmanager.lib.php'); include_once (api_get_path(LIBRARY_PATH).'formvalidator/FormValidator.class.php'); - +require_once 'main/chat/chat_functions.lib.php'; $loginFailed = isset($_GET['loginFailed']) ? true : isset($loginFailed); $setting_show_also_closed_courses = (api_get_setting('show_closed_courses')=='true') ? true : false; @@ -75,6 +75,7 @@ $this_section = SECTION_CAMPUS; * this can be usefull when you are on an open course and you need to log in to edit something and you immediately want to check how anonymous users * will see it. */ + $my_user_id=api_get_user_id(); if (!empty($_GET['logout'])) { logout(); } @@ -260,7 +261,8 @@ function logout() { } if (!isset($_SESSION['login_as'])) { - $s_sql_update_logout_date="UPDATE $tbl_track_login SET logout_date=NOW() WHERE login_id='$i_id_last_connection'"; + $current_date=date('Y-m-d H:i:s',time()); + $s_sql_update_logout_date="UPDATE $tbl_track_login SET logout_date='".$current_date."' WHERE login_id='$i_id_last_connection'"; api_sql_query($s_sql_update_logout_date); } LoginDelete($uid, $_configuration['statistics_database']); //from inc/lib/online.inc.php - removes the "online" status @@ -283,7 +285,7 @@ function logout() { } } } - + exit_of_chat($uid); api_session_destroy(); header("Location: index.php$query_string"); exit(); diff --git a/main/chat/chat_functions.lib.php b/main/chat/chat_functions.lib.php new file mode 100644 index 0000000000..cc89d2c634 --- /dev/null +++ b/main/chat/chat_functions.lib.php @@ -0,0 +1,109 @@ +10) { + $tbl_chat_connected = Database::get_course_chat_connected_table(); + $sql='DELETE FROM '.$tbl_chat_connected.' WHERE user_id='.$list_info_user['user_id']; + api_sql_query($sql,__FILE__,__LINE__); + } + } + + + } +} + +/** + * @param void + * @return array user list in chat + */ +function users_list_in_chat () { + $list_users_in_chat=array(); + $tbl_chat_connected = Database::get_course_chat_connected_table(); + $sql='SELECT user_id,last_connection FROM '.$tbl_chat_connected.' ;'; + $result=api_sql_query($sql,__FILE__,__LINE__); + while ($row = Database::fetch_array($result,'ASSOC')) { + $list_users_in_chat[]=$row; + } + return $list_users_in_chat; +} + +?> diff --git a/main/chat/chat_hidden.php b/main/chat/chat_hidden.php index 6f2e85df94..0b697c4ea6 100755 --- a/main/chat/chat_hidden.php +++ b/main/chat/chat_hidden.php @@ -35,7 +35,7 @@ define('FRAME','hidden'); $language_file = array ('chat'); require('../inc/global.inc.php'); - +require_once 'chat_functions.lib.php'; //$tbl_user=$mainDbName."`.`user"; //$tbl_chat_connected=$_course['dbNameGlu'].'chat_connected'; $tbl_user = Database::get_main_table(TABLE_MAIN_USER); @@ -67,10 +67,9 @@ $result=api_sql_query($sql); //The user_id exists so we must do an UPDATE and not a INSERT $current_time=date('Y-m-d H:i:s'); -if (Database::num_rows($result)==0){ +if (Database::num_rows($result)==0) { $query="INSERT INTO $tbl_chat_connected(user_id,last_connection) VALUES('".$_user['user_id']."','".$current_time."')"; -} -else{ +} else { $query="UPDATE $tbl_chat_connected set last_connection='".$current_time."' WHERE user_id='".$_user['user_id']."'"; } @@ -80,8 +79,9 @@ $query="SELECT COUNT(user_id) FROM $tbl_chat_connected WHERE last_connection>'". $result=api_sql_query($query,__FILE__,__LINE__); $connected_old=intval($_POST['connected_old']); -list($connected_new)=Database::fetch_row($result); - +list($connected_new) = Database::fetch_row($result); +/*disconnected user of chat*/ +disconnect_user_of_chat (); include("header_frame.inc.php"); ?> diff --git a/main/inc/lib/course.lib.php b/main/inc/lib/course.lib.php index 5d39d2101b..bbc80575b8 100644 --- a/main/inc/lib/course.lib.php +++ b/main/inc/lib/course.lib.php @@ -1868,4 +1868,23 @@ class CourseManager @ api_send_mail($emailto, $emailsubject, $emailbody, $emailheaders); } } + +/** + * @author isaac flores paz + * @param int + * @return array + */ + function get_courses_list_by_user_id($user_id) { + $course_list=array(); + $tbl_course = Database::get_main_table(TABLE_MAIN_COURSE); + $tbl_course_rel_user = Database::get_main_table(TABLE_MAIN_COURSE_USER); + $sql='SELECT c.code,c.db_name FROM '.$tbl_course.' c inner join '.$tbl_course_rel_user.' cru on c.code=cru.course_code WHERE cru.user_id='.$user_id; + $result=api_sql_query($sql,__FILE__,__LINE__); + while ($row=Database::fetch_array($result,'ASSOC')) { + $course_list[]=$row; + } + return $course_list; + + } + } //end class CourseManager \ No newline at end of file