📄 surveymanager.lib.php
字号:
<?php // $Id: usermanager.lib.php,v 1.9.2.3 2005/10/28 14:31:45 bmol Exp $
/*
=====================================================Gh9Xp5m=========================
Dokeos - elearning and course management software
Copyright (c) 2004 Dokeos S.A.
Copyright (c) 2003 Ghent University (UGent)
Copyright (c) 2001 Universite catholique de Louvain (UCL)
Copyright (c) various contributors
For a full list of contributors, see "credits.txt".
The full license can be read in "license.txt".
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
as published by the Free Software Foundation; either version 2
of the License, or (at your option) any later version.
See the GNU General Public License for more details.
Contact: Dokeos, 181 rue Royale, B-1000 Brussels, Belgium, info@dokeos.com
==============================================================================
*/
/**
==============================================================================
* This library provides functions for user management.
* Include/require it in your code to use its functionality.
*
* @author Bart Mollet, main author
* @package dokeos.library
==============================================================================
*/
class SurveyManager
{
/**
* Creates a new survey for the platform
*/
function select_survey_list($seleced_surveyid='', $extra_script='')
{
$survey_table = Database :: get_course_table('survey');
$sql = "SELECT * FROM $survey_table";// WHERE is_shared='1'";
$sql_result = api_sql_query($sql,__FILE__,__LINE__);
if(mysql_num_rows($sql_result)>0)
{
$str_survey_list = "";
$str_survey_list .= "<select name=\"exiztingsurvey\" $extra_script>\n";
$str_survey_list .= "<option value=\"\">--Select Survey--</option>";
while($result=mysql_fetch_array($sql_result))
{
$selected = ($seleced_surveyid==$result[survey_id])?"selected":"";
$str_survey_list .= "\n<option value=\"".$result[survey_id]."\" ".$selected.">".$result[title]."</option>";
}
$str_survey_list .= "</select>";
return $str_survey_list;
}
else
{
return false;
}
}
/*function getsurveyid($existing)
{
$survey_table = Database :: get_course_table(TABLE_MAIN_SURVEY);
$sql = "SELECT survey_id FROM $survey_table WHERE title='$existing'" ;
$result = api_sql_query($sql,__FILE__,__LINE__);
$i=0;
$survey_id=mysql_result($result,$i,'survey_id');
echo "in getsurveyid".$survey_id;
return(survey_id);
}
*/
function create_group($survey_id,$group_title,$introduction,$table_group)
{
$sql_query = "SELECT * FROM $table_group where groupname='".$group_title."' AND survey_id=".intval($survey_id);
$res = api_sql_query($sql_query, __FILE__, __LINE__);
if(mysql_num_rows($res))
{
return false;
}
else
{
$sql = 'SELECT MAX(sortby) FROM '.$table_group.' WHERE survey_id="'.$survey_id.'"';
$rs = api_sql_query($sql, __FILE__, __LINE__);
list($sortby) = mysql_fetch_array($rs);
$sortby++;
$sql="INSERT INTO $table_group(group_id,survey_id,groupname,introduction, sortby) values('','$survey_id','$group_title','$introduction','$sortby')";
$result=api_sql_query($sql);
return mysql_insert_id();
}
}
function get_survey_author($authorid)
{
$user_table = Database :: get_main_table(TABLE_MAIN_USER);
$sql_query = "SELECT * FROM $user_table where user_id='$authorid'";
$res = api_sql_query($sql_query, __FILE__, __LINE__);
$firstname=@mysql_result($res,0,'firstname');
return $firstname;
}
function get_author($db_name,$survey_id)
{
//$table_survey = Database :: get_course_table('survey');
$sql = "SELECT author FROM $db_name.survey WHERE survey_id='$survey_id'";
$res = api_sql_query($sql, __FILE__, __LINE__);
$author=@mysql_result($res,0,'author');
return $author;
}
function get_surveyid($db_name,$group_id)
{
//$group_table = Database :: get_course_table('survey_group');
$sql = "SELECT survey_id FROM $db_name.survey_group WHERE group_id='$group_id'";
$res = api_sql_query($sql, __FILE__, __LINE__);
$surveyid=@mysql_result($res,0,'survey_id');
return $surveyid;
}
/*function get_survey_code($table_survey,$survey_code)
{
$sql="SELECT code FROM $table_survey where code='$survey_code'";
$result=api_sql_query($sql);
$code=mysql_result($result,0,'code');
return($code);
}*/
function get_groupname($db_name,$gid)
{
//$grouptable = Database :: get_course_table('survey_group');
$sql = "SELECT * FROM $db_name.survey_group WHERE group_id='$gid'";
$res=api_sql_query($sql);
$code=@mysql_result($res,0,'groupname');
return($code);
}
function insert_into_group($survey_id,$group_title,$introduction,$tb)
{
$sql="INSERT INTO $tb(group_id,survey_id,group_title,introduction) values('','$survey_id','$group_title','$introduction')";
$result=api_sql_query($sql);
return mysql_insert_id();
}
function get_survey_code($table_survey,$survey_code)
{
$sql="SELECT code FROM $table_survey where code='$survey_code'";
//echo $sql;
//exit;
$result=api_sql_query($sql);
$code=@mysql_result($result,0,'code');
//echo $code;exit;
return($code);
}
function get_survey_list()
{
$survey_table = Database :: get_course_table('survey');
$sql_query = "SELECT survey_id,title FROM $survey_table where title!='' ";
$sql_result = api_sql_query($sql_query,__FILE__,__LINE__);
echo "<select name=\"author\">";
echo "<option value=\"\"><--Select Survey--></optional>";
while ($result =@mysql_fetch_array($sql_result))
{
echo "\n<option value=\"".$result[survey_id]."\">".$result[title]."</option>";
}
echo "</select>";
}
function create_survey($surveycode,$surveytitle, $surveysubtitle, $author, $survey_language, $availablefrom, $availabletill,$isshare, $surveytemplate, $surveyintroduction, $surveythanks, $table_survey, $table_group)
{
//$table_survey = Database :: get_course_table('survey');
$sql = "INSERT INTO $table_survey (code,title, subtitle, author,lang,avail_from,avail_till, is_shared,template,intro,surveythanks,creation_date) values('$surveycode','$surveytitle','$surveysubtitle','$author','$survey_language','$availablefrom','$availabletill','$isshare','$surveytemplate','$surveyintroduction','$surveythanks',curdate())";
$result = api_sql_query($sql, __FILE__, __LINE__);
//$result = api_sql_query($sql);
$survey_id = mysql_insert_id();
$sql2 = "INSERT INTO $table_group(group_id,survey_id,groupname,introduction) values('','$survey_id','No Group','This is your Default Group')";
$result = api_sql_query($sql2, __FILE__, __LINE__);
return $survey_id;
}
function create_survey_in_another_language($id, $lang){
global $_course;
$original_survey = SurveyManager::get_all_datas($id);
// copy the survey itself
$sql = 'INSERT INTO '.$_course['dbName'].'.survey SET
code = "'.$original_survey->code.'",
title = "'.addslashes($original_survey->title).'",
subtitle = "'.addslashes($original_survey->subtitle).'",
author = "'.$original_survey->author.'",
lang = "'.$lang.'",
avail_from = "'.$original_survey->avail_from.'",
avail_till = "'.$original_survey->avail_till.'",
is_shared = "'.$original_survey->is_shared.'",
template = "'.$original_survey->template.'",
intro = "'.addslashes($original_survey->intro).'",
surveythanks = "'.addslashes($original_survey->surveythanks).'",
creation_date = "NOW()"';
$result = api_sql_query($sql, __FILE__, __LINE__);
$new_survey_id = mysql_insert_id();
// copy the groups
$groups = SurveyManager::listGroups($id);
foreach($groups as $group)
{
SurveyManager::import_group($new_survey_id, $group['group_id'], $_course['dbName'], $_course['dbName']);
}
}
function create_survey_attach($surveycode,$surveytitle, $surveysubtitle, $author, $survey_language, $availablefrom, $availabletill,$isshare, $surveytemplate, $surveyintroduction, $surveythanks, $table_survey, $table_group)
{
//$table_survey = Database :: get_course_table('survey');
$sql = "INSERT INTO $table_survey (code,title, subtitle, author,lang,avail_from,avail_till, is_shared,template,intro,surveythanks,creation_date) values('$surveycode','$surveytitle','$surveysubtitle','$author','$survey_language','$availablefrom','$availabletill','$isshare','$surveytemplate','$surveyintroduction','$surveythanks',curdate())";
$result = api_sql_query($sql, __FILE__, __LINE__);
$survey_id = mysql_insert_id();
return $survey_id;
}
function update_survey($surveyid,$surveycode,$surveytitle, $surveysubtitle, $author, $survey_language, $availablefrom, $availabletill,$isshare, $surveytemplate, $surveyintroduction, $surveythanks, $cidReq,$table_course)
{
$sql_course = "SELECT * FROM $table_course WHERE code = '$cidReq'";
$res_course = api_sql_query($sql_course,__FILE__,__LINE__);
$obj_course=@mysql_fetch_object($res_course);
$curr_dbname = $obj_course->db_name ;
$sql = "UPDATE $curr_dbname.survey SET code='$surveycode', title='$surveytitle', subtitle='$surveysubtitle', lang='$survey_language', avail_from='$availablefrom', avail_till='$availabletill', is_shared='$isshare', template='$surveytemplate', intro='$surveyintroduction',surveythanks='$surveythanks' WHERE survey_id='$surveyid'";
api_sql_query($sql, __FILE__, __LINE__);
return $curr_dbname;
}
/*
function create_question($gid,$type,$caption,$answers,$open_ans,$answerT,$answerD,$rating,$table_question)
{
for($i=0;$i<10;$i++)
{
$x.= "'".$answers[$i]."',";
}
//echo "Hello".$x;
for($j=0;$j<10;$j++)
{
if($j==9)
{
$y.= "'".$rating[$j]."'";
}
else
{
$y.= "'".$rating[$j]."',";
}
}
$anst = implode(", " ,$answerT);
$ansd = implode(", " ,$answerD);
$table_question = Database :: get_course_table(TABLE_MAIN_SURVEYQUESTION);
$sql = "INSERT INTO $table_question (gid,type,caption,ans1,ans2,ans3,ans4,ans5,ans6,ans7,ans8,ans9,ans10,open_ans,anst,ansd,r1,r2,r3,r4,r5,r6,r7,r8,r9,r10) values('$gid','$type','$caption',$x'$open_ans','$anst','$ansd',$y)";
$result = api_sql_query($sql);
return mysql_insert_id();
}
function get_question($questionid)
{
$table_question = Database :: get_course_table(TABLE_MAIN_SURVEYQUESTION);
$sql = "SELECT * FROM $table_question where qid='$questionid'";
$res=api_sql_query($sql);
$code=@mysql_result($res,0,'caption');
return($code);
}
*/
function create_question($gid,$surveyid,$qtype,$caption,$alignment,$answers,$open_ans,$answerT,$answerD,$rating,$curr_dbname)
{
$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;
}
for($i=0;$i<10;$i++)
{
$x.= "'".$answers[$i]."',";
}
for($j=0;$j<10;$j++)
{
if($j==9)
{
$y.= "'".$rating[$j]."'";
}
else
{
$y.= "'".$rating[$j]."',";
}
}
/*if($qtype=='Multiple Choice (multiple answer)')
{
$anst = implode(", " ,$answerT);
$ansd = implode(", " ,$answerD);
}
else
{*/
$anst = $answerT;
$ansd = $answerD;
//}
$sql = "INSERT INTO $curr_dbname.questions (gid,survey_id,qtype,caption,alignment,sortby,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,at,ad,r1,r2,r3,r4,r5,r6,r7,r8,r9,r10) values('$gid','$surveyid','$qtype','$caption','$alignment','$sortby',$x'$anst','$ansd',$y)";
$result = api_sql_query($sql);
return mysql_insert_id();
}
function update_question($qid,$qtype,$caption,$alignment,$answers,$open_ans,$curr_dbname)
{
for($i=0;$i<10;$i++)
{
$k=$i+1;
$a.$k= $answers[$i];
}
$anst = $answerT;
$ansd = $answerD;
$sql = "UPDATE $curr_dbname.questions SET qtype='$qtype',caption='$caption',alignment='$alignment',a1='$answers[0]',a2='$answers[1]',a3='$answers[2]',a4='$answers[3]',a5='$answers[4]',a6='$answers[5]',a7='$answers[6]',a8='$answers[7]',a9='$answers[8]',a10='$answers[9]' WHERE qid='$qid'";
$result = api_sql_query($sql);
return mysql_insert_id();
}
function get_question_type($questionid)
{
$table_question = Database :: get_course_table('questions');
$sql = "SELECT * FROM $table_question where qid='$questionid'";
$res=api_sql_query($sql);
$code=@mysql_result($res,0,'type');
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -