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

📄 surveymanager.lib.php

📁 完美的在线教育系统
💻 PHP
📖 第 1 页 / 共 5 页
字号:
		$gid = $obj_curr->group_id;
		$num = mysql_num_rows($res_curr);

		if($num>0) //the group name exists and the questions will be imported in this group.
		{
			$sql_ques = "SELECT * FROM $curr_dbname.questions WHERE gid = '$gid'";
			$res_ques = api_sql_query($sql_ques);
			$obj_ques = mysql_fetch_object($res_ques);
			$count = mysql_num_rows($res_ques);
			for($j=0;$j<$count;$j++)
			{
				$check_qid[] = mysql_result($res_ques,$j,"imported_question");
				$check_db[] = mysql_result($res_ques,$j,"db_name");
			}
			$check_qid = @array_unique($check_qid);
			$check_db = @array_unique($check_db);
			$sql_old = "SELECT * FROM $db_name.questions WHERE gid = '$gid_arr[$i]'";
			$res_old = api_sql_query($sql_old);
			while($obj_old = mysql_fetch_object($res_old))
			{
			  $caption1=addslashes($obj_old->caption);
	          $a1=addslashes($obj_old->a1);
			  $a2=addslashes($obj_old->a2);
			  $a3=addslashes($obj_old->a3);
			  $a4=addslashes($obj_old->a4);
			  $a5=addslashes($obj_old->a5);
			  $a6=addslashes($obj_old->a6);
			  $a7=addslashes($obj_old->a7);
			  $a8=addslashes($obj_old->a8);
			  $a9=addslashes($obj_old->a9);
			  $a10=addslashes($obj_old->a10);
              $at=addslashes($obj_old->at);
			  $ad=addslashes($obj_old->ad);
			  $r1=addslashes($obj_old->r1);
			  $r2=addslashes($obj_old->r2);
			  $r3=addslashes($obj_old->r3);
			  $r4=addslashes($obj_old->r4);
			  $r5=addslashes($obj_old->r5);
			  $r6=addslashes($obj_old->r6);
			  $r7=addslashes($obj_old->r7);
			  $r8=addslashes($obj_old->r8);
			  $r9=addslashes($obj_old->r9);
			  $r10=addslashes($obj_old->r10);
				$sql_sort = "SELECT max(sortby) AS sortby FROM $curr_dbname.questions ";
                $res_sort=api_sql_query($sql_sort);
                $rs=mysql_fetch_object($res_sort);
	            $sortby=$rs->sortby;
	            if(empty($sortby))
	            {$sortby=1;}
	            else{$sortby=$sortby+1;}
				if(@in_array($obj_old->qid,$check_qid)&&@in_array($db_name,$check_db))  //the question has already been imported
				{
					$flag=1;
					continue;
				}
				else
				{
					$sql_insertq = "INSERT INTO $curr_dbname.questions (qid, gid, survey_id, qtype, caption, alignment, sortby, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, at, ad, alt_text, r1, r2, r3, r4, r5, r6, r7, r8, r9, r10, imported_question, db_name) VALUES('', '$gid', '$sid', '$obj_old->qtype', '$caption1', '$obj_old->alignment', '$sortby', '$a1', '$a2', '$a3', '$a4', '$a5', '$a6', '$a7', '$a8', '$a9', '$a10', '$at', '$ad', '$alt_text', '$r1', '$r2', '$r3', '$r4', '$r5', '$r6', '$r7', '$r8', '$r9', '$r10', '$obj_old->qid', '$db_name')";
					api_sql_query($sql_insertq);
				}
			}
		}
		else  //the groupname does not exist. Create group with this name and insert questions in this new group.
		{

			$sql_insertg = "INSERT INTO $curr_dbname.survey_group (group_id, survey_id, groupname, introduction, imported_group, db_name, sortby) VALUES ('', '$sid', '$groupname', '$introduction', '$obj->group_id', '$db_name', $g_sortby)";
			api_sql_query($sql_insertg);
			$group_id = mysql_insert_id();
			$sql_old = "SELECT * FROM $db_name.questions WHERE gid = '$gid_arr[$i]'";
			$res_old = api_sql_query($sql_old);
			while($obj_old = mysql_fetch_object($res_old))
			{
			  $caption1=addslashes($obj_old->caption);
	          $a1=addslashes($obj_old->a1);
			  $a2=addslashes($obj_old->a2);
			  $a3=addslashes($obj_old->a3);
			  $a4=addslashes($obj_old->a4);
			  $a5=addslashes($obj_old->a5);
			  $a6=addslashes($obj_old->a6);
			  $a7=addslashes($obj_old->a7);
			  $a8=addslashes($obj_old->a8);
			  $a9=addslashes($obj_old->a9);
			  $a10=addslashes($obj_old->a10);
              $at=addslashes($obj_old->at);
			  $ad=addslashes($obj_old->ad);
			  $r1=addslashes($obj_old->r1);
			  $r2=addslashes($obj_old->r2);
			  $r3=addslashes($obj_old->r3);
			  $r4=addslashes($obj_old->r4);
			  $r5=addslashes($obj_old->r5);
			  $r6=addslashes($obj_old->r6);
			  $r7=addslashes($obj_old->r7);
			  $r8=addslashes($obj_old->r8);
			  $r9=addslashes($obj_old->r9);
			  $r10=addslashes($obj_old->r10);
				$sql_sort = "SELECT max(sortby) AS sortby FROM $curr_dbname.questions ";
                $res_sort=api_sql_query($sql_sort);
                $rs=mysql_fetch_object($res_sort);
	            $sortby=$rs->sortby;
	            if(empty($sortby))
	            {$sortby=1;}
	            else{$sortby=$sortby+1;}
				$sql_insertq = "INSERT INTO $curr_dbname.questions (qid, gid, survey_id, qtype, caption, alignment, sortby, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, at, ad, alt_text, r1, r2, r3, r4, r5, r6, r7, r8, r9, r10, imported_question, db_name) VALUES('', '$group_id', '$sid', '$obj_old->qtype', '$caption1', '$obj_old->alignment', '$sortby', '$a1', '$a2', '$a3', '$a4', '$a5', '$a6', '$a7', '$a8', '$a9', '$a10', '$at', '$ad', '$obj_old->alt_text', '$r1', '$r2', '$r3', '$r4', '$r5', '$r6', '$r7', '$r8', '$r9', '$r10', '$obj_old->qid', '$db_name')";
				api_sql_query($sql_insertq);
			}
		}
	}

	return ($flag);
}



/**
 * Enter description here...
 *
 * @return unknown
 * @todo remove this function because this is of no use and should not be used.
 */
function get_status()
{
	global $_user;

	$table_user = Database::get_main_table(TABLE_MAIN_USER);
	$sqlm = "SELECT  status FROM  $table_user WHERE user_id = '".mysql_real_escape_string($_user['user_id'])."'";
	$resm = api_sql_query($sqlm,__FILE__,__LINE__);
	$objm=@mysql_fetch_object($resm);
	$ss = $objm->status ;
	return $ss;
}



function move_question($direction,$qid,$sort,$curr_dbname)
{

	$questions=SurveyManager::get_questions_move($curr_dbname);

	foreach ($questions as $key=>$value)
		{

		if ($qid==$value['qid'])
			{
			$source_course=$value;
			if ($direction=="up")
				{
				  $target_course=$questions[$key-1];
			    }
			else
				{$target_course=$questions[$key+1];}
			 }
		}
	$sql_update1="UPDATE $curr_dbname.questions SET sortby='".$target_course['sortby']."' WHERE qid='".$source_course['qid']."'";
	$sql_update2="UPDATE $curr_dbname.questions SET sortby='".$source_course['sortby']."' WHERE qid='".$target_course['qid']."'";
	mysql_query($sql_update2);
	mysql_query($sql_update1);
	//return ;
}

function get_questions_move($curr_dbname)
{
	$sql_select_questions="SELECT  * from $curr_dbname.questions order by `sortby` asc";
	$result=mysql_query($sql_select_questions);
	while ($row=mysql_fetch_array($result))
		{
		// we only need the database name of the course
		$question1[]=array("caption"=> $row['caption'], "qid" => $row['qid'],"sortby" => $row['sortby']);
		}
	return $question1;
}

/**
 * Displays a sortable table for the surveys
 *
 * @param unknown_type $groupid
 * @param unknown_type $surveyid
 * @param unknown_type $curr_dbname
 * @param unknown_type $header
 * @param unknown_type $content
 * @param unknown_type $sorting_options
 * @param unknown_type $paging_options
 * @param unknown_type $query_vars
 *
 * @todo check if this function is needed as it seems that this is a copy of the Display::display_sortable_table function.
 */
function display_sortable_table($groupid,$surveyid,$curr_dbname,$header, $content, $sorting_options = array (), $paging_options = array (), $query_vars = null)
{
		global $origin;

		// Database table definitions
		/** @todo use database constants for the survey tables */
		$table_survey 		= Database :: get_course_table('survey');
		$table_group 		=  Database :: get_course_table('survey_group');
		$table_question 	= Database :: get_course_table('questions');
		$table_course 		= Database::get_main_table(TABLE_MAIN_COURSE);
		$table_survey_group = Database :: get_course_table('survey_group');

		require_once ('tablesort.lib.php');
		if (!isset ($paging_options['per_page_default']))
		{
			$paging_options['per_page_default'] = 10;
		}
		if (!isset ($paging_options['page_nr']))
		{
			$paging_options['page_nr'] = (isset ($_GET['page_nr']) ? $_GET['page_nr'] : 1);
		}
		if (!isset ($paging_options['per_page']))
		{
			$paging_options['per_page'] = (isset ($_GET['per_page']) ? $_GET['per_page'] : $paging_options['per_page_default']);
		}
		if (!isset ($sorting_options['column']))
		{
			$sorting_options['column'] = (isset ($_GET['column']) ? $_GET['column'] : 0);
		}
		if (!isset ($sorting_options['direction']))
		{
			$sorting_options['direction'] = (isset ($_GET['direction']) ? $_GET['direction'] : SORT_ASC);
		}
		// Build the query_string
		if (is_array($query_vars))
		{
			foreach ($query_vars as $key => $value)
			{
				$query_string .= '&amp;'.urlencode($key).'='.urlencode($value);
			}
		}
		$content = SurveyManager :: sort_table($content, $sorting_options['column'],'');
		// Get data for selected page
		$page_nav = '';
		$page_content = array ();
		 $pages = array_chunk($content, intval($paging_options['per_page']));
		if( $paging_options['page_nr'] > count($pages))
		{
			$paging_options['page_nr'] = count($pages);
		}
		$page_content = $pages[$paging_options['page_nr'] - 1];
		// Build navigation bar
		if (count($pages) > 1)
		{
			$page_nav = get_lang('Page').' : ';
			if ($paging_options['page_nr'] > 1)
			{
				$page_nav .= '<a href="'.api_get_self().'?origin='.$origin.'&amp;column='.$sorting_options['column'].'&amp;direction='.$sorting_options['direction'].'&amp;page_nr='. ($paging_options['page_nr'] - 1).'&amp;per_page='.$paging_options['per_page'].''.$query_string.'">&laquo;</a> ';
			}
			for ($i = $paging_options['page_nr'] - 3; $i < $paging_options['page_nr']; $i ++)
			{
				if ($i > 0)
				{
					$page_nav .= '<a href="'.api_get_self().'?origin='.$origin.'&amp;column='.$sorting_options['column'].'&amp;direction='.$sorting_options['direction'].'&amp;page_nr='.$i.'&amp;per_page='.$paging_options['per_page'].''.$query_string.'">'.$i.'</a> ';
				}
			}
			if ($i == $paging_options['page_nr'])
			{
				$page_nav .= '<b>'.$i.'</b> ';
			}
			for ($i = $paging_options['page_nr'] + 1; $i < $paging_options['page_nr'] + 4; $i ++)
			{
				if ($i <= count($pages))
				{
					$page_nav .= '<a href="'.api_get_self().'?origin='.$origin.'&amp;column='.$sorting_options['column'].'&amp;direction='.$sorting_options['direction'].'&amp;page_nr='.$i.'&amp;per_page='.$paging_options['per_page'].''.$query_string.'">'.$i.'</a> ';
				}
			}
			if ($paging_options['page_nr'] < count($pages))
			{
				$page_nav .= '<a href="'.api_get_self().'?origin='.$origin.'&amp;column='.$sorting_options['column'].'&amp;direction='.$sorting_options['direction'].'&amp;page_nr='. ($paging_options['page_nr'] + 1).'&amp;per_page='.$paging_options['per_page'].''.$query_string.'">&raquo;</a> ';
			}
		}
		$view_switch = '';
		if (count($pages) == 1 && count($page_content) > $paging_options['per_page_default'])
		{
			$view_switch = ' <a href="'.api_get_self().'?origin='.$origin.'&amp;column='.$sorting_options['column'].'&amp;direction='.$sorting_options['direction'].'&amp;page_nr=1&amp;per_page='.$paging_options['per_page_default'].''.$query_string.'">'.get_lang('Show').' '.$paging_options['per_page_default'].'</a>';
		}
		elseif (count($pages) > 1)
		{
			$view_switch = ' <a href="'.api_get_self().'?origin='.$origin.'&amp;column='.$sorting_options['column'].'&amp;direction='.$sorting_options['direction'].'&amp;page_nr=1&amp;per_page='.count($content).''.$query_string.'">'.get_lang('ShowAll').'</a>';
		}
		$page_nav = '<table width="100%"><tr><td>'.$view_switch.'</td><td align="right">'.$page_nav.'</td></tr></table>';
		// Determine new direction
		$new_direction = ($sorting_options['direction'] == SORT_ASC ? SORT_DESC : SORT_ASC);
		echo "\n";
		echo $page_nav;
		// Show the table
		echo '<table class="data_table" width="100%">';
		echo "\n";
		echo '<tr>';
		foreach ($header as $key => $value)
		{
			echo '<th '.$value[2].'>';
			if ($value[1])
			{
				echo $value[0];
				if ($sorting_options['column'] == $key)
				{
					echo $sorting_options['direction'] == SORT_ASC ? '&nbsp;&#8595; ' : '&nbsp;&#8593; ';
				}
			}
			else
			{
				echo $value[0];
			}
			echo '</th>';
		}
		echo '</tr>';
		echo "\n";
		if( is_array($page_content))
		{
			$x=0;
            $y=count($page_content);

			$page_nr=$paging_options['page_nr'];
			$per_page=$paging_options['per_page'];
			$sql="SELECT * FROM $table_question WHERE survey_id = '$surveyid'";
			$res1=api_sql_query($sql,__FILE__,__LINE__);
			$num1=mysql_num_rows($res1);
			$number_q=ceil($num1/10);
			$sql_gr="SELECT * FROM $table_question WHERE gid='$groupid' AND survey_id = '$surveyid'";
			$result_gr=api_sql_query($sql_gr,__FILE__,__LINE__);
            $num_gr=mysql_num_rows($result_gr);
			$questions=mysql_fetch_array($result_gr);
			foreach ($page_content as $row => $data)
			{

				echo '<tr class="'. ($row % 2 == 0 ? 'row_even' : 'row_odd').'">';

				foreach( $data as $column => $value)
				{
					echo '<td '.(isset($header[$column][3])? $header[$column][3] : '' ).'>';

					if($x==0 && $page_nr==1)
					{
                       echo str_replace('<img src="../img/up.gif" border="0" title="lang_move_up">',"",$value);

					}
					elseif(($page_nr==$number_q) && ($x==$y-1))
					{

					   echo str_replace('<img src="../img/down.gif" border="0" title="lang_move_down">',"&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;",$value);

					}

					else{
                    echo $value;
					}
					echo '</td>';
				}
				echo '</tr>';
				echo "\n";
               	$x++;
			}
		}
		echo '</table>';
		echo $page_nav;
	}


function sort_table($data, $column = 0, $direction = SORT_ASC, $type = SOR

⌨️ 快捷键说明

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