Chamilo is a learning management system focused on ease of use and accessibility
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 
chamilo-lms/main/exercice/addlimits.php

223 lines
6.3 KiB

<?php
/**
* @todo use database library
*/
/*
-----------------------------------------------------------
including the global file
-----------------------------------------------------------
*/
include('../inc/global.inc.php');
/*
-----------------------------------------------------------
Including necessary files
-----------------------------------------------------------
*/
include('exercise.class.php');
include('question.class.php');
include('answer.class.php');
include_once(api_get_path(LIBRARY_PATH).'formvalidator/FormValidator.class.php');
/*
-----------------------------------------------------------
Answer types
-----------------------------------------------------------
*/
define('UNIQUE_ANSWER', 1);
define('MULTIPLE_ANSWER', 2);
define('FILL_IN_BLANKS', 3);
define('MATCHING', 4);
define('FREE_ANSWER', 5);
/*
-----------------------------------------------------------
Language
-----------------------------------------------------------
*/
// name of the language file that needs to be included
$language_file='exercice';
/*
-----------------------------------------------------------
section (for the tabs)
-----------------------------------------------------------
*/
$this_section=SECTION_COURSES;
api_protect_course_script();
/*
-----------------------------------------------------------
Table definitions
@todo: use the Database :: get_course_table functions
-----------------------------------------------------------
*/
$TBL_EXERCICE_QUESTION = $_course['dbNameGlu'].'quiz_rel_question';
$TBL_EXERCICES = $_course['dbNameGlu'].'quiz';
$TBL_QUESTIONS = $_course['dbNameGlu'].'quiz_question';
$TBL_REPONSES = $_course['dbNameGlu'].'quiz_answer';
$main_user_table = Database :: get_main_table(TABLE_MAIN_USER);
$main_course_user_table = Database :: get_main_table(TABLE_MAIN_COURSE_USER);
$TABLETRACK_ATTEMPT = $_configuration['statistics_database']."`.`track_e_attempt";
$TABLETRACK_EXERCICES = $_configuration['statistics_database']."`.`track_e_exercices";
$dsp_percent = false;
$debug=0;
if($debug>0){echo str_repeat('&nbsp;',0).'Entered exercise_result.php'."<br />\n";var_dump($_POST);}
// general parameters passed via POST/GET
if ( empty ( $origin ) ) {
$origin = $_REQUEST['origin'];
}
if ( empty ( $learnpath_id ) ) {
$learnpath_id = mysql_real_escape_string($_REQUEST['learnpath_id']);
}
if ( empty ( $learnpath_item_id ) ) {
$learnpath_item_id = mysql_real_escape_string($_REQUEST['learnpath_item_id']);
}
if ( empty ( $formSent ) ) {
$formSent= $_REQUEST['formSent'];
}
if ( empty ( $exerciseResult ) ) {
$exerciseResult = $_SESSION['exerciseResult'];
}
if ( empty ( $questionId ) ) {
$questionId = $_REQUEST['questionId'];
}
if ( empty ( $choice ) ) {
$choice = $_REQUEST['choice'];
}
if ( empty ( $questionNum ) ) {
$questionNum = mysql_real_escape_string($_REQUEST['questionNum']);
}
if ( empty ( $nbrQuestions ) ) {
$nbrQuestions = mysql_real_escape_string($_REQUEST['nbrQuestions']);
}
if ( empty ( $questionList ) ) {
$questionList = $_SESSION['questionList'];
}
if ( empty ( $objExercise ) ) {
$objExercise = $_SESSION['objExercise'];
}
$exercise_id = $_GET['exercise_id'];
$is_allowedToEdit=$is_courseAdmin;
$nameTools=get_lang('Exercice');
$interbreadcrumb[]=array("url" => "exercice.php","name" => get_lang('Exercices'));
Display::display_header($nameTools,"Exercise");
/*
-----------------------------------------------------------
Action handling
-----------------------------------------------------------
*/
include('../inc/global.inc.php');
if (isset($_POST['ok']))
{
$message = "Test limits added";
Display::display_normal_message($message);
}
?>
<script type="text/javascript">
function selectlimited()
{
document.getElementById('limited').checked="checked";
}
function selectattempts()
{
document.getElementById('attemptlimited').checked="checked";
}
</script>
<h3>
<?php
echo "AddLimits"; ?>
</h3>
<br>
<form action="addlimits.php" name="frmlimit" method="post">
<h4>
Time :
</h4>
<input type="hidden" name="exe_id" value="<?php echo $exercise_id; ?>" />
<input type="radio" name="limit" checked="checked" value="0" id="unlimit"> Unlimited
<br>
<input type="radio" name="limit" value="1" id="limited"> Limited: Each question of the test should be answered in
<select name="minutes" onfocus="selectlimited();" >
<option selected="selected">1</option>
<option>2</option>
<option>3</option>
<option>4</option>
<option>5</option>
<option>6</option>
<option>7</option>
<option>8</option>
<option>9</option>
<option>10</option>
<option>15</option>
<option>20</option>
<option>25</option>
<option>30</option>
<option>40</option>
<option>50</option>
<option>60</option>
</select> minute(s).
<h4>
Attempts :
</h4>
<input type="radio" name="attempt" checked="checked" value="0" id="attemptunlimited"> Unlimited
<br>
<input type="radio" name="attempt" value="1" id="attemptlimited"> Limited: The test can be taken only
<select name="attempts" onfocus="selectattempts();">
<option selected="selected">1</option>
<option>2</option>
<option>3</option>
<option>4</option>
<option>5</option>
<option>6</option>
<option>7</option>
<option>8</option>
<option>9</option>
<option>10</option>
</select> time(s).
<br> <br>
<input type="submit" name="ok" value="Ok">
</form>
<?php
/**
* @todo shouldn't this be moved to the part above (around line 111: action handling)
*/
if (isset($_POST['ok']))
{
$exercise_id = $_POST['exe_id'];
if ($_POST['limit']==1)
{
$minutes = $_POST['minutes'];
$query = "update `".$TBL_EXERCICES."` set ques_time_limit= $minutes where id= $exercise_id";
api_sql_query($query,__FILE__,__LINE__);
}
else
{
$query = "update `".$TBL_EXERCICES."` set ques_time_limit= 0 where id= $exercise_id";
api_sql_query($query,__FILE__,__LINE__);
}
if ($_POST['attempt']==1)
{
$attempts = $_POST['attempts'];
$query = "update `".$TBL_EXERCICES."` set num_attempts = $attempts where id= $exercise_id";
api_sql_query($query,__FILE__,__LINE__);
}
else
{
$query = "update`".$TBL_EXERCICES."` set num_attempts = 0 where id= $exercise_id";
api_sql_query($query,__FILE__,__LINE__);
}
}
?>