📄 surveymanager.lib.php
字号:
return($code);
}
function no_of_question($db_name,$gid)
{
//$table_question = Database :: get_course_table('questions');
$sql = "SELECT * FROM $db_name.questions where gid='$gid'";
$res=api_sql_query($sql);
$code=@mysql_num_rows($res);
return($code);
}
function get_question_data($qid,$curr_dbname)
{
$sql = "SELECT * FROM $curr_dbname.questions where qid='$qid'";
$res=api_sql_query($sql);
$rs=mysql_fetch_object($res);
$properties = get_object_vars($rs);
foreach ($properties as $property=>$val){
$val = stripslashes($val);
$rs->$property = $val;
}
return $rs;
}
function get_data($id, $field) {
global $_course;
$sql='SELECT '.$field.' FROM '.$_course['dbName'].'.survey WHERE survey_id='.intval($id);
$res=api_sql_query($sql);
$code=@mysql_result($res,0);
return($code);
}
function get_all_datas($id) {
global $_course;
$sql='SELECT * FROM '.$_course['dbName'].'.survey WHERE survey_id='.intval($id);
$res=api_sql_query($sql);
return mysql_fetch_object($res);
}
function get_surveyname($db_name,$sid)
{
//$surveytable=Database:: get_course_table('survey');
$sql="SELECT * FROM $db_name.survey WHERE survey_id=$sid";
$res=api_sql_query($sql);
$code=@mysql_result($res,0,'title');
return($code);
}
function get_surveyname_display($sid)
{
$surveytable=Database:: get_course_table('survey');
$sql="SELECT * FROM $surveytable WHERE survey_id=$sid";
$res=api_sql_query($sql);
$code=@mysql_result($res,0,'title');
return($code);
}
/*
function join_survey($question_type)
{
$table_survey = Database :: get_course_table(TABLE_MAIN_SURVEY);
$table_group = Database :: get_course_table(TABLE_MAIN_GROUP);
$table_question = Database :: get_course_table(TABLE_MAIN_SURVEYQUESTION);
echo $sql="select t1.title as stitle, t3.type as type, t3.caption as caption, t2.groupname as groupname from $table_survey t1, $table_group t2, $table_question t3 where t1.survey_id=t2.survey_id and t3.gid=t2.group_id and t3.type='$question_type'";
$sql_result = api_sql_query($sql,__FILE__,__LINE__);
$result = mysql_fetch_object($sql_result);
return ($result);
}
*/
function import_questions($import_type, $ids)
{
//$groupname=surveymanager::get_groupname($gid_arr[$index]);
switch ($import_type){
case "survey":
{
}
case "groups":
{
foreach ($ids as $gid){
$sql="insert into $table_question SELECT ('',gid,qtype,caption,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,at,ad,r1,r2,r3,r4,r5,r6,r7,r8,r9,r10) FROM $table_question where gid=$gid";
}
}
case "questions":
{
}
}
$table_question = Database :: get_course_table('questions');
if(isset($selected_group)){
if($selected_group!=''){
$sql = "SELECT $table_group('survey_id', 'groupname') values('$sid', '$groupname')";
$res = api_sql_query($sql);
$sql = "INSERT INTO $table_group('survey_id', 'groupname') values('$sid', '$groupname')";
$res = api_sql_query($sql);
$gid_arr[$index]+= mysql_insert_id();
$groupids=implode(",",$gid_arr);
}
}
echo $groupids;
}
/**
* This function deletes a survey and all the groups and question belonging to it.
*
* @param unknown_type $survey_id
*
* @author unknown
* @author Patrick Cool <patrick.cool@UGent.be>, Ghent University, cleanup and refactoring
*
*/
function delete_survey($survey_id)
{
$table_survey = Database :: get_course_table('survey');
$table_group = Database :: get_course_table('survey_group');
$table_question = Database :: get_course_table('questions');
// Deleting the survey
$sql = "DELETE FROM $table_survey WHERE survey_id='".$survey_id."'";
api_sql_query($sql,__FILE__,__LINE__);
// Deleting all the questions of the survey
$sql = "select * FROM $table_group WHERE survey_id='".$survey_id."'";
$res = api_sql_query($sql,__FILE__,__LINE__);
while($obj = mysql_fetch_object($res))
{
$sql = "DELETE FROM $table_question WHERE gid='".$obj->group_id."'";
api_sql_query($sql,__FILE__,__LINE__);
}
// Deleting the groups of the survey
$sql = "DELETE FROM $table_group WHERE survey_id='".$survey_id."'";
api_sql_query($sql,__FILE__,__LINE__);
return true;
}
/**
* This function deletes a
*
* @param unknown_type $group_id
* @param unknown_type $curr_dbname
*
* @author unknown
* @author Patrick Cool <patrick.cool@UGent.be>, Ghent University, refactoring: using correct database calls and removing useless second parameter
*/
function delete_group($group_id)
{
// Database table definitions
/** @todo use database constants for the survey tables */
$table_question = Database :: get_course_table('questions');
$table_survey_group = Database :: get_course_table('survey_group');
$sql = "DELETE FROM $table_question WHERE gid='".$group_id."'";
api_sql_query($sql,__FILE__,__LINE__);
$sql = "DELETE FROM $table_survey_group WHERE group_id='".$group_id."'";
api_sql_query($sql,__FILE__,__LINE__);
}
function ques_id_group_name($qid)
{
$ques_table=Database::get_course_table('questions');
$sql="SELECT gid FROM $ques_table where qid=$qid";
$res=api_sql_query($sql);
$id=@mysql_result($res,0,'gid');
$gname=surveymanager::get_groupname($id);
return($gname);
}
function insert_questions($sid,$newgid,$gid,$table_group)
{
$sql_select = "SELECT * FROM $table_group WHERE group_id IN (".$gid.")";
$res = api_sql_query($sql_select);
$num = mysql_num_rows($res);
$i=0;
while($i<$num)
{
$sql_insert = "INSERT INTO $table_group(group_id, survey_id, groupname) values('', '$sid', 'Imported Group')";
$result = api_sql_query($sql_insert);
$i++;
}
}
function select_group_list($survey_id, $seleced_groupid='', $extra_script='')
{
$group_table = Database :: get_course_table('survey_group');
$sql = "SELECT * FROM $group_table WHERE survey_id='$survey_id'";
$sql_result = api_sql_query($sql,__FILE__,__LINE__);
if(mysql_num_rows($sql_result)>0)
{
$str_group_list = "";
$str_group_list .= "<select name=\"exiztinggroup\" $extra_script>\n";
while($result=mysql_fetch_array($sql_result))
{
$selected = ($seleced_groupid==$result[group_id])?"selected":"";
$str_group_list .= "\n<option value=\"".$result[group_id]."\" ".$selected.">".$result[groupname]."</option>\n";
}
$str_group_list .= "</select>";
return $str_group_list;
}
else
{
return false;
}
}
//For importing the groups to new survey
function insert_groups($sid,$newgid,$gids,$table_group,$table_question)
{
$gid_arr = explode(",",$gids);
$num = count($gid_arr);
$queryone = "SELECT * FROM $table_question WHERE gid = '$newgid'";
$rs = api_sql_query($queryone);
$numrs=mysql_num_rows($rs);
for($k=0;$k<$numrs;$k++)
{
$imp[]=mysql_result($rs,$k,"imported_group");
}
$imp=@array_unique($imp);
for($n=0;$n<count($gid_arr);$n++)
{
if(@in_array($gid_arr[$n],$imp))
{
$gname=surveymanager::get_groupname($gid_arr[$n]);
$alr[]=$gname;
//$alr[]=$gid_arr[$n];
//$unique_arr = @array_unique($alr);
// print_r($unique_arr);
}
}
//$unique_arr = @array_unique($alr);
//print_r($unique_arr);
/*if($msg)
{
echo "You have already imported the following group(s)";
echo "<br>".$msg;
}*/
for($index=0;$index<$num;$index++)
{
if(@!in_array($gid_arr[$index],$imp))
{
$temp_gid = $gid_arr[$index];
$sql = "SELECT * FROM $table_question WHERE gid = '$temp_gid'";
$res = api_sql_query($sql);
$num_rows = mysql_num_rows($res);
while($obj = mysql_fetch_object($res))
{
$temp_qtype = $obj->qtype;
$temp_caption = $obj->caption;
$y="";
$x="";
for($i=1;$i<=10;$i++)
{
$temp = "a".$i;
$x.= "'".$obj->$temp."',"; /*this variable contains concatenated values and need to be refreshed each time before the loop starts!*/
}
for($j=1;$j<=10;$j++)
{
if($j==10)
{
$temps = "r".$j;
$y.= "'".$obj->$temps."'";
}
else
{
$temps = "r".$j;
$y.= "'".$obj->$temps."',";
}
}
$sql_insert = "INSERT INTO $table_question (qid,gid,qtype,caption,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,at,ad,r1,r2,r3,r4,r5,r6,r7,r8,r9,r10,imported_group) values('','$newgid','$temp_qtype','$temp_caption',$x'$anst','$ansd',$y,'$temp_gid')";
$res2 = api_sql_query($sql_insert);
}
}
}
}
function display_imported_group($sid,$table_group,$table_question)
{
$sql = "SELECT group_id FROM $table_group WHERE survey_id='$sid'";
$res = api_sql_query($sql);
$num = @mysql_num_rows($res);
//echo "ths is num".$num;
$parameters = array();
$displays = array();
while($obj = @mysql_fetch_object($res))
{
$groupid = $obj->group_id;
$query = "SELECT * FROM $table_question WHERE gid = '$groupid'";
$result = api_sql_query($query);
while($object = @mysql_fetch_object($result))
{
$display = array();
$display[] = '<input type="checkbox" name="course[]" value="'.$object->qid.'"/>';
$display[] = $object->caption;
$display[] = $object->qtype;
$id = $object->gid;
//echo "THIS IS GROUP NAME ID".$id;
$gname = surveymanager::get_groupname($id);
$display[] = $gname;
$displays[] = $display;
}
}
$table_header[] = array('', false);
$table_header[] = array(get_lang('Question'), true);
$table_header[] = array(get_lang('QuestionType'), true);
$table_header[] = array(get_lang('Group'), true);
Display :: display_sortable_table($table_header, $displays, array (), array (), $parameters);
}
function attach_survey($surveyid,$newsurveyid,$db_name,$curr_dbname)
//For attaching the whole survey with its groups and questions
{
$sql = "SELECT * FROM $db_name.survey_group WHERE survey_id = '$surveyid'";
$res = api_sql_query($sql,__FILE__,__LINE__);
while($obj=@mysql_fetch_object($res))
{
$groupname=addslashes($obj->groupname);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -