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

📄 course.lib.php

📁 完美的在线教育系统
💻 PHP
📖 第 1 页 / 共 5 页
字号:
			$virtual_courses_exist = false;		}		//now determine course code and name		if ($user_is_registered_in_real_course && $virtual_courses_exist)		{			$course_info["name"] = CourseManager :: create_combined_name($user_is_registered_in_real_course, $real_course_name, $user_subscribed_virtual_course_list);			$course_info['official_code'] = CourseManager :: create_combined_code($user_is_registered_in_real_course, $real_course_visual_code, $user_subscribed_virtual_course_list);		}		else			if ($user_is_registered_in_real_course)			{				//course name remains real course name				$course_info["name"] = $real_course_name;				$course_info['official_code'] = $real_course_visual_code;			}			else				if ($virtual_courses_exist)				{					$course_info["name"] = CourseManager :: create_combined_name($user_is_registered_in_real_course, $real_course_name, $user_subscribed_virtual_course_list);					$course_info['official_code'] = CourseManager :: create_combined_code($user_is_registered_in_real_course, $real_course_visual_code, $user_subscribed_virtual_course_list);				}				else				{					//course name remains real course name					$course_info["name"] = $real_course_name;					$course_info['official_code'] = $real_course_visual_code;				}		$return_result["title"] = $course_info["name"];		$return_result["code"] = $course_info['official_code'];		return $return_result;	}	/**	* Create a course title based on all real and virtual courses the user is registered in.	* @param boolean $user_is_registered_in_real_course	* @param string $real_course_name, the title of the real course	* @param array $virtual_course_list, the list of virtual courses	*/	function create_combined_name($user_is_registered_in_real_course, $real_course_name, $virtual_course_list)	{		if ($user_is_registered_in_real_course || count($virtual_course_list) > 1)		{			$complete_course_name_before = get_lang("CombinedCourse")." "; //from course_home lang file		}		if ($user_is_registered_in_real_course)		{			//add real name to result			$complete_course_name[] = $real_course_name;		}		//add course titles of all virtual courses to the list		foreach ($virtual_course_list as $current_course)		{			$complete_course_name[] = $current_course["title"];		}		$complete_course_name = $complete_course_name_before.implode(' & ', $complete_course_name);		return $complete_course_name;	}	/**	*	Create a course code based on all real and virtual courses the user is registered in.	*/	function create_combined_code($user_is_registered_in_real_course, $real_course_code, $virtual_course_list)	{		$complete_course_code .= "";		if ($user_is_registered_in_real_course)		{			//add real name to result			$complete_course_code[] = $real_course_code;		}		//add course titles of all virtual courses to the list		foreach ($virtual_course_list as $current_course)		{			$complete_course_code[] = $current_course["visual_code"];		}		$complete_course_code = implode(' & ', $complete_course_code);		return $complete_course_code;	}	/**	*	Return course info array of virtual course	*	*	Note this is different from getting information about a real course!	*	*	@param $real_course_code, the id of the real course which the virtual course is linked to	*/	function get_virtual_course_info($real_course_code)	{		$table = Database :: get_main_table(TABLE_MAIN_COURSE);		$sql_query = "SELECT * FROM $table WHERE `target_course_code` = '$real_course_code'";		$sql_result = api_sql_query($sql_query, __FILE__, __LINE__);		$result = array ();		while ($virtual_course = Database::fetch_array($sql_result))		{			$result[] = $virtual_course;		}		return $result;	}	/**	*	@param string $system_code, the system code of the course	*	@return true if the course is a virtual course, false otherwise	*/	function is_virtual_course_from_system_code($system_code)	{		$table = Database :: get_main_table(TABLE_MAIN_COURSE);		$sql_query = "SELECT * FROM $table WHERE `code` = '$system_code'";		$sql_result = api_sql_query($sql_query, __FILE__, __LINE__);		$result = Database::fetch_array($sql_result);		$target_number = $result["target_course_code"];		if ($target_number == NULL)		{			return false; //this is not a virtual course		}		else		{			return true; //this is a virtual course		}	}	/**	*	What's annoying is that you can't overload functions in PHP.	*	@return true if the course is a virtual course, false otherwise	*/	function is_virtual_course_from_visual_code($visual_code)	{		$table = Database :: get_main_table(TABLE_MAIN_COURSE);		$sql_query = "SELECT * FROM $table WHERE `visual_code` = '$visual_code'";		$sql_result = api_sql_query($sql_query, __FILE__, __LINE__);		$result = Database::fetch_array($sql_result);		$target_number = $result["target_course_code"];		if ($target_number == NULL)		{			return false; //this is not a virtual course		}		else		{			return true; //this is a virtual course		}	}	/**	* @return true if the real course has virtual courses that the user is subscribed to, false otherwise	*/	function has_virtual_courses_from_code($real_course_code, $user_id)	{		$user_subscribed_virtual_course_list = CourseManager :: get_list_of_virtual_courses_for_specific_user_and_real_course($user_id, $real_course_code);		$number_of_virtual_courses = count($user_subscribed_virtual_course_list);		if (count($user_subscribed_virtual_course_list) > 0)		{			return true;		}		else		{			return false;		}	}	/**	*	Return an array of arrays, listing course info of all virtual course	*	linked to the real course ID $real_course_code	*	*	@param $real_course_code, the id of the real course which the virtual courses are linked to	*/	function get_virtual_courses_linked_to_real_course($real_course_code)	{		$table = Database :: get_main_table(TABLE_MAIN_COURSE);		$sql_query = "SELECT * FROM $table WHERE `target_course_code` = '$real_course_code'";		$sql_result = api_sql_query($sql_query, __FILE__, __LINE__);		$result_array = array ();		while ($result = Database::fetch_array($sql_result))		{			$result_array[] = $result;		}		return $result_array;	}	/**	* This function returns the course code of the real course	* to which a virtual course is linked.	*	* @param the course code of the virtual course	* @return the course code of the real course	*/	function get_target_of_linked_course($virtual_course_code)	{		$course_table = Database :: get_main_table(TABLE_MAIN_COURSE);		//get info about the virtual course		$sql_query = "SELECT * FROM $course_table WHERE `code` = '$virtual_course_code'";		$sql_result = api_sql_query($sql_query, __FILE__, __LINE__);		$result = Database::fetch_array($sql_result);		$target_course_code = $result["target_course_code"];		return $target_course_code;	}	/*	==============================================================================		USER FUNCTIONS	==============================================================================	*/	/**	* Return course info array of virtual course	*	* @param $user_id, the id (int) of the user	* @param $course_info, array with info about the course (comes from course table)	*	* @return true if the user is registered in the course, false otherwise	*/	function is_user_subscribed_in_course($user_id, $course_code, $in_a_session=false)	{		$user_id = intval($user_id);		$course_code = addslashes($course_code);				$table = Database :: get_main_table(TABLE_MAIN_COURSE_USER);		$sql_query = "SELECT * FROM $table WHERE `user_id` = '$user_id' AND `course_code` = '$course_code'";		$sql_result = api_sql_query($sql_query, __FILE__, __LINE__);		$result = Database::fetch_array($sql_result);		if (!isset ($result) || empty ($result))		{			if($in_a_session)			{				$sql = 'SELECT 1 FROM '.Database :: get_main_table(TABLE_MAIN_SESSION_COURSE_USER).'						WHERE id_user = '.$user_id.' AND course_code="'.$course_code.'"';								$rs = api_sql_query($sql, __FILE__, __LINE__);				if(Database::num_rows($rs)>0)				{					return true;				}				else{					$sql = 'SELECT 1 FROM '.Database :: get_main_table(TABLE_MAIN_SESSION_COURSE).'						WHERE id_coach = '.$user_id.' AND course_code="'.$course_code.'"';					$rs = api_sql_query($sql, __FILE__, __LINE__);					if(Database::num_rows($rs)>0)					{						return true;					}				}			}			else				return false; //user is not registered in course		}		else		{			return true; //user is registered in course		}	}		/**	*	Is the user a teacher in the given course?	*	*	@param $user_id, the id (int) of the user	*	@param $course_code, the course code	*	*	@return true if the user is a teacher in the course, false otherwise	*/	function is_course_teacher($user_id,$course_code)	{		$tbl_course_user	= Database::get_main_table(TABLE_MAIN_COURSE_USER);		$sql_query='SELECT status FROM '.$tbl_course_user.' WHERE course_code="'.$course_code.'" and user_id="'.$user_id.'"';		$sql_result = api_sql_query($sql_query, __FILE__, __LINE__);		if(Database::num_rows($sql_result)>0)		{			$status=Database::result($sql_result,0,'status');			if($status==1) return true; else return false;		}		return false;	}	/**	*	Is the user subscribed in the real course or linked courses?	*	*	@param $user_id, the id (int) of the user	*	@param $course_info, array with info about the course (comes from course table, see database lib)	*	*	@return true if the user is registered in the real course or linked courses, false otherwise	*/	function is_user_subscribed_in_real_or_linked_course($user_id, $course_code, $session_id='')	{		if($session_id==''){			$course_table = Database :: get_main_table(TABLE_MAIN_COURSE);			$course_user_table = Database :: get_main_table(TABLE_MAIN_COURSE_USER);			$sql_query = "	SELECT *								FROM $course_table course								LEFT JOIN $course_user_table course_user								ON course.`code` = course_user.`course_code`								WHERE course_user.`user_id` = '$user_id' AND ( course.`code` = '$course_code' OR `target_course_code` = '$course_code') ";			$sql_result = api_sql_query($sql_query, __FILE__, __LINE__);			$result = Database::fetch_array($sql_result);			if (!isset ($result) || empty ($result))			{				return false; //user is not registered in course			}			else			{				return true; //user is registered in course			}		}		else {			// is he subscribed to the course of the session ?			// Database Table Definitions			$tbl_sessions			= Database::get_main_table(TABLE_MAIN_SESSION);			$tbl_sessions_course	= Database::get_main_table(TABLE_MAIN_SESSION_COURSE);			$tbl_session_course_user= Database::get_main_table(TABLE_MAIN_SESSION_COURSE_USER);			//users			$sql = "SELECT id_user					FROM $tbl_session_course_user					WHERE id_session='".$_SESSION['id_session']."'					AND id_user='$user_id'";			$result = api_sql_query($sql,__FILE__,__LINE__);			if(Database::num_rows($result))				return true;			// is it a course coach ?			$sql = "SELECT id_coach					FROM $tbl_sessions_course AS session_course					WHERE id_session='".$_SESSION['id_session']."'					AND id_coach = '$user_id'					AND course_code='$course_code'";			$result = api_sql_query($sql,__FILE__,__LINE__);			if(Database::num_rows($result))				return true;			// is it a session coach ?			$sql = "SELECT id_coach

⌨️ 快捷键说明

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