⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 tracking.lib.php

📁 完美的在线教育系统
💻 PHP
📖 第 1 页 / 共 2 页
字号:
			$rs = api_sql_query($sql,__FILE__,__LINE__);			while ($row = Database::fetch_array($rs)) {				$a_students[$row['id_user']] = $row['id_user'];			}		}		//////////////////////////////////////////////////////////////		// Then, courses where $coach_id is coach of the session    //		//////////////////////////////////////////////////////////////		$sql = 'SELECT session_course_user.id_user 						FROM ' . $tbl_session_course_user . ' as session_course_user						INNER JOIN ' . $tbl_session_course . ' as session_course							ON session_course.course_code = session_course_user.course_code							AND session_course_user.id_session = session_course.id_session						INNER JOIN ' . $tbl_session . ' as session							ON session.id = session_course.id_session							AND session.id_coach = ' . $coach_id;		$result = api_sql_query($sql,__FILE__,__LINE__);		while ($row = Database::fetch_array($result)) {			$a_students[$row['id_user']] = $row['id_user'];		}		return $a_students;	}	function get_student_followed_by_coach_in_a_session($id_session, $coach_id) {		$coach_id = intval($coach_id);		$tbl_session_course_user = Database :: get_main_table(TABLE_MAIN_SESSION_COURSE_USER);		$tbl_session_course = Database :: get_main_table(TABLE_MAIN_SESSION_COURSE);		$tbl_session = Database :: get_main_table(TABLE_MAIN_SESSION);		$a_students = array ();		//////////////////////////////////////////////////////////////		// At first, courses where $coach_id is coach of the course //		//////////////////////////////////////////////////////////////		$sql = 'SELECT course_code FROM ' . $tbl_session_course . ' WHERE id_session="' . $id_session . '" AND id_coach=' . $coach_id;		$result = api_sql_query($sql,__FILE__,__LINE__);		while ($a_courses = Database::fetch_array($result)) {			$course_code = $a_courses["course_code"];			$sql = "SELECT distinct	srcru.id_user  								FROM $tbl_session_course_user AS srcru 								WHERE course_code='$course_code' and id_session = '" . $id_session . "'";			$rs = api_sql_query($sql, __FILE__, __LINE__);			while ($row = Database::fetch_array($rs)) {				$a_students[$row['id_user']] = $row['id_user'];			}		}		//////////////////////////////////////////////////////////////		// Then, courses where $coach_id is coach of the session    //		//////////////////////////////////////////////////////////////		$dsl_session_coach = 'SELECT id_coach FROM ' . $tbl_session . ' WHERE id="' . $id_session . '" AND id_coach="' . $coach_id . '"';		$result = api_sql_query($dsl_session_coach, __FILE__, __LINE__);		//He is the session_coach so we select all the users in the session		if (Database::num_rows($result) > 0) {			$sql = 'SELECT DISTINCT srcru.id_user FROM ' . $tbl_session_course_user . ' AS srcru WHERE id_session="' . $id_session . '"';			$result = api_sql_query($sql,__FILE__,__LINE__);			while ($row = Database::fetch_array($result)) {				$a_students[$row['id_user']] = $row['id_user'];			}		}		return $a_students;	}	function is_allowed_to_coach_student($coach_id, $student_id) {		$coach_id = intval($coach_id);		$student_id = intval($student_id);		$tbl_session_course_user = Database :: get_main_table(TABLE_MAIN_SESSION_COURSE_USER);		$tbl_session_course = Database :: get_main_table(TABLE_MAIN_SESSION_COURSE);		$tbl_session = Database :: get_main_table(TABLE_MAIN_SESSION);		//////////////////////////////////////////////////////////////		// At first, courses where $coach_id is coach of the course //		//////////////////////////////////////////////////////////////		$sql = 'SELECT 1 						FROM ' . $tbl_session_course_user . ' AS session_course_user						INNER JOIN ' . $tbl_session_course . ' AS session_course							ON session_course.course_code = session_course_user.course_code							AND id_coach=' . $coach_id . ' 						WHERE id_user=' . $student_id;		$result = api_sql_query($sql, __FILE__, __LINE__);		if (Database::num_rows($result) > 0) {			return true;		}		//////////////////////////////////////////////////////////////		// Then, courses where $coach_id is coach of the session    //		//////////////////////////////////////////////////////////////		$sql = 'SELECT session_course_user.id_user 						FROM ' . $tbl_session_course_user . ' as session_course_user						INNER JOIN ' . $tbl_session_course . ' as session_course							ON session_course.course_code = session_course_user.course_code						INNER JOIN ' . $tbl_session . ' as session							ON session.id = session_course.id_session							AND session.id_coach = ' . $coach_id . '						WHERE id_user = ' . $student_id;		$result = api_sql_query($sql, __FILE__, __LINE__);		if (Database::num_rows($result) > 0) {			return true;		}		return false;	}	function get_courses_followed_by_coach($coach_id, $id_session = '') 	{		$coach_id = intval($coach_id);		if (!empty ($id_session))			$id_session = intval($id_session);		$tbl_session_course_user = Database :: get_main_table(TABLE_MAIN_SESSION_COURSE_USER);		$tbl_session_course = Database :: get_main_table(TABLE_MAIN_SESSION_COURSE);		$tbl_session = Database :: get_main_table(TABLE_MAIN_SESSION);		$tbl_course = Database :: get_main_table(TABLE_MAIN_COURSE);		//////////////////////////////////////////////////////////////		// At first, courses where $coach_id is coach of the course //		//////////////////////////////////////////////////////////////		$sql = 'SELECT DISTINCT course_code FROM ' . $tbl_session_course . ' WHERE id_coach=' . $coach_id;		if (!empty ($id_session))			$sql .= ' AND id_session=' . $id_session;		$result = api_sql_query($sql, __FILE__, __LINE__);		while ($row = Database::fetch_array($result)) {			$a_courses[$row['course_code']] = $row['course_code'];		}		//////////////////////////////////////////////////////////////		// Then, courses where $coach_id is coach of the session    //		//////////////////////////////////////////////////////////////				$sql = 'SELECT DISTINCT session_course.course_code						FROM ' . $tbl_session_course . ' as session_course						INNER JOIN ' . $tbl_session . ' as session							ON session.id = session_course.id_session							AND session.id_coach = ' . $coach_id . '						INNER JOIN ' . $tbl_course . ' as course							ON course.code = session_course.course_code';		if (!empty ($id_session))			$sql .= ' WHERE session_course.id_session=' . $id_session;		$result = api_sql_query($sql, __FILE__, __LINE__);		while ($row = Database::fetch_array($result)) {			$a_courses[$row['course_code']] = $row['course_code'];		}		return $a_courses;	}	function get_sessions_coached_by_user($coach_id) {		// table definition		$tbl_session = Database :: get_main_table(TABLE_MAIN_SESSION);		$tbl_session_course = Database :: get_main_table(TABLE_MAIN_SESSION_COURSE);		// protect datas		$coach_id = intval($coach_id);		// session where we are general coach		$sql = 'SELECT DISTINCT id, name, date_start, date_end						FROM ' . $tbl_session . ' 						WHERE id_coach=' . $coach_id;		$rs = api_sql_query($sql,__FILE__,__LINE__);				while ($row = Database::fetch_array($rs)) 		{			$a_sessions[$row["id"]] = $row;		}		// session where we are coach of a course		$sql = 'SELECT DISTINCT session.id, session.name, session.date_start, session.date_end						FROM ' . $tbl_session . ' as session						INNER JOIN ' . $tbl_session_course . ' as session_course							ON session.id = session_course.id_session							AND session_course.id_coach=' . $coach_id;		$rs = api_sql_query($sql,__FILE__,__LINE__);		while ($row = Database::fetch_array($rs)) 		{			$a_sessions[$row["id"]] = $row;		}		foreach ($a_sessions as & $session) 		{			if ($session['date_start'] == '0000-00-00') {				$session['status'] = get_lang('SessionActive');			} 			else {				$date_start = explode('-', $session['date_start']);				$time_start = mktime(0, 0, 0, $date_start[1], $date_start[2], $date_start[0]);				$date_end = explode('-', $session['date_end']);				$time_end = mktime(0, 0, 0, $date_end[1], $date_end[2], $date_end[0]);				if ($time_start < time() && time() < $time_end) {					$session['status'] = get_lang('SessionActive');				}				else{					if (time() < $time_start) {						$session['status'] = get_lang('SessionFuture');					} 					else{						if (time() > $time_end) {							$session['status'] = get_lang('SessionPast');						}					}				}			}		}		return $a_sessions;	}	function get_courses_list_from_session($session_id) {		//protect datas		$session_id = intval($session_id);		// table definition		$tbl_session = Database :: get_main_table(TABLE_MAIN_SESSION);		$tbl_session_course = Database :: get_main_table(TABLE_MAIN_SESSION_COURSE);		$sql = 'SELECT DISTINCT course_code, id_coach 						FROM ' . $tbl_session_course . '						WHERE id_session=' . $session_id;		$rs = api_sql_query($sql, __FILE__, __LINE__);		$a_courses = array ();		while ($row = Database::fetch_array($rs)) {			$a_courses[$row['course_code']] = $row;		}		return $a_courses;	}	function count_student_assignments($student_id, $course_code) {		require_once (api_get_path(LIBRARY_PATH) . 'course.lib.php');		// protect datas		$student_id = intval($student_id);		$course_code = addslashes($course_code);		// get the informations of the course 		$a_course = CourseManager :: get_course_information($course_code);		if(!empty($a_course['db_name']))		{			// table definition			$tbl_item_property = Database :: get_course_table(TABLE_ITEM_PROPERTY, $a_course['db_name']);			$sql = 'SELECT 1							FROM ' . $tbl_item_property . ' 							WHERE insert_user_id=' . $student_id . '							AND tool="work"';				$rs = api_sql_query($sql, __LINE__, __FILE__);			return Database::num_rows($rs);		}		else		{			return null;		}	}	function count_student_messages($student_id, $course_code) {		require_once (api_get_path(LIBRARY_PATH) . 'course.lib.php');		// protect datas		$student_id = intval($student_id);		$course_code = addslashes($course_code);		// get the informations of the course 		$a_course = CourseManager :: get_course_information($course_code);		if(!empty($a_course['db_name']))		{			// table definition			$tbl_messages = Database :: get_course_table(TABLE_FORUM_POST, $a_course['db_name']);			$sql = 'SELECT 1							FROM ' . $tbl_messages . ' 							WHERE poster_id=' . $student_id;				$rs = api_sql_query($sql, __LINE__, __FILE__);			return Database::num_rows($rs);		}		else		{			return null;		}	}	function count_student_visited_links($student_id, $course_code) {		// protect datas		$student_id = intval($student_id);		$course_code = addslashes($course_code);		// table definition		$tbl_stats_links = Database :: get_statistic_table(TABLE_STATISTIC_TRACK_E_LINKS);		$sql = 'SELECT 1						FROM ' . $tbl_stats_links . ' 						WHERE links_user_id=' . $student_id . '						AND links_cours_id="' . $course_code . '"';		$rs = api_sql_query($sql, __LINE__, __FILE__);		return Database::num_rows($rs);	}	function count_student_downloaded_documents($student_id, $course_code) {		// protect datas		$student_id = intval($student_id);		$course_code = addslashes($course_code);		// table definition		$tbl_stats_documents = Database :: get_statistic_table(TABLE_STATISTIC_TRACK_E_DOWNLOADS);		$sql = 'SELECT 1						FROM ' . $tbl_stats_documents . ' 						WHERE down_user_id=' . $student_id . '						AND down_cours_id="' . $course_code . '"';		$rs = api_sql_query($sql, __LINE__, __FILE__);		return Database::num_rows($rs);	}	function get_course_list_in_session_from_student($user_id, $id_session) {		$user_id = intval($user_id);		$id_session = intval($id_session);		$tbl_session_course_user = Database :: get_main_table(TABLE_MAIN_SESSION_COURSE_USER);		$sql = 'SELECT course_code FROM ' . $tbl_session_course_user . ' WHERE id_user="' . $user_id . '" AND id_session="' . $id_session . '"';		$result = api_sql_query($sql, __LINE__, __FILE__);		$a_courses = array ();		while ($row = Database::fetch_array($result)) {			$a_courses[$row['course_code']] = $row['course_code'];		}		return $a_courses;	}		function get_inactives_students_in_course($course_code, $since, $session_id=0) 	{		$tbl_track_login = Database :: get_statistic_table(TABLE_STATISTIC_TRACK_E_COURSE_ACCESS);		$tbl_session_course_user = Database :: get_main_table(TABLE_MAIN_SESSION_COURSE_USER);		$inner = '';		if($session_id!=0)		{			$inner = ' INNER JOIN '.$tbl_session_course_user.' session_course_user 						ON stats_login.course_code = session_course_user.course_code						AND session_course_user.id_session = '.intval($session_id).'						AND session_course_user.id_user = stats_login.user_id ';		}		$sql = 'SELECT user_id, MAX(login_course_date) max_date FROM'.$tbl_track_login.' stats_login'.$inner.'				GROUP BY user_id				HAVING DATE_SUB( NOW(), INTERVAL '.$since.' DAY) > max_date ';		//HAVING DATE_ADD(max_date, INTERVAL '.$since.' DAY) < NOW() ';		$rs = api_sql_query($sql,__FILE__,__LINE__);		$inactive_users = array();		while($user = Database::fetch_array($rs))		{			$inactive_users[] = $user['user_id'];		}		return $inactive_users;	}		function count_login_per_student($student_id, $course_code) { 		$student_id = intval($student_id); 		$course_code = addslashes($course_code); 		$tbl_course_rel_user = Database::get_statistic_table(TABLE_STATISTIC_TRACK_E_ACCESS); 				$sql = 'SELECT '.$student_id.' 		FROM ' . $tbl_course_rel_user . ' 		WHERE access_user_id=' . $student_id . ' 		AND access_cours_code="' . $course_code . '"'; 				$rs = api_sql_query($sql, __FILE__, __LINE__); 		$nb_login = Database::num_rows($rs); 				return $nb_login; 	}			function get_student_followed_by_drh($hr_dept_id) {				$hr_dept_id = intval($hr_dept_id);		$a_students = array ();				$tbl_organism = Database :: get_main_table(TABLE_MAIN_ORGANISM);		$tbl_user = Database :: get_main_table(TABLE_MAIN_USER);				$sql = 'SELECT DISTINCT user_id FROM '.$tbl_user.' as user				WHERE hr_dept_id='.$hr_dept_id;		$rs = api_sql_query($sql, __FILE__, __LINE__);				while($user = Database :: fetch_array($rs))		{			$a_students[$user['user_id']] = $user['user_id'];		}						return $a_students;	}}?>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -