$v) { $keyexp = explode('_',$key); if ($keyexp[0] == "marks") { $sql = "select question from $TBL_QUESTIONS where id = '$keyexp[1]'"; $result =api_sql_query($sql, __FILE__, __LINE__); $ques_name = Database::result($result,0,"question"); $query = "UPDATE $TBL_TRACK_ATTEMPT SET marks = '".Database::escape_string($v)."' WHERE question_id = '".Database::escape_string($keyexp[1])."' AND exe_id='".Database::escape_string($id)."'"; api_sql_query($query, __FILE__, __LINE__); $qry = 'SELECT sum(marks) as tot FROM '.$TBL_TRACK_ATTEMPT.' where exe_id = '.intval($id).' GROUP BY question_id'; $res = api_sql_query($qry,__FILE__,__LINE__); $tot = Database::result($res,0,'tot'); $totquery = "update $TBL_TRACK_EXERCICES set exe_result = '".Database::escape_string($tot)."' where exe_Id='".Database::escape_string($id)."'"; api_sql_query($totquery, __FILE__, __LINE__); $recording_changes = 'INSERT INTO '.$TBL_RECORDING.' ' . '(exe_id, question_id, marks, insert_date, author) VALUES ('."'$id','".$keyexp[1]."','$v','".date('Y-m-d H:i:s')."','".api_get_user_id()."'".')'; api_sql_query($recording_changes, __FILE__, __LINE__); } else { $query = "UPDATE $TBL_TRACK_ATTEMPT SET teacher_comment = '".Database::escape_string($v)."' WHERE question_id = '".Database::escape_string($keyexp[1])."' AND exe_id = '".Database::escape_string($id)."'"; api_sql_query($query, __FILE__, __LINE__); $recording_changes = 'INSERT INTO '.$TBL_RECORDING.' ' . '(exe_id, question_id, teacher_comment, insert_date, author) VALUES ('."'$id','".$keyexp[1]."','$v','".date('Y-m-d H:i:s')."','".api_get_user_id()."'".')'; api_sql_query($recording_changes, __FILE__, __LINE__); } } $qry = 'SELECT DISTINCT question_id, marks FROM '.$TBL_TRACK_ATTEMPT.' where exe_id = '.intval($id).' GROUP BY question_id'; $res = api_sql_query($qry,__FILE__,__LINE__); $tot = 0; while($row = Database::fetch_array($res,'ASSOC')) { $tot += $row ['marks']; } $totquery = "UPDATE $TBL_TRACK_EXERCICES SET exe_result = '".Database::escape_string($tot)."' WHERE exe_Id='".Database::escape_string($id)."'"; api_sql_query($totquery, __FILE__, __LINE__); $subject = get_lang('ExamSheetVCC'); $htmlmessage = ''. '' . '' . '' . '' . '
' . '

'.get_lang('DearStudentEmailIntroduction').'

' . '

'.get_lang('AttemptVCC').'

' . ' ' . ' ' . ' ' . ' ' . ' ' . ' ' . ' ' . ' ' . ' ' . '
  '.get_lang('Question').'#ques_name#
  '.get_lang('Exercice').'#test#
' . '

'.get_lang('ClickLinkToViewComment').' #url#
' . '
' . ' '.get_lang('Regards').'

' . '
' . ' ' . ' '; $message = '

'.sprintf(get_lang('AttemptVCCLong'),$test).' #url#


'; $mess= str_replace("#test#",$test,$message); //$message= str_replace("#ques_name#",$ques_name,$mess); $message = str_replace("#url#",$url,$mess); $mess = stripslashes($message); $headers = " MIME-Version: 1.0 \r\n"; $headers .= "User-Agent: Dokeos/1.6"; $headers .= "Content-Transfer-Encoding: 7bit"; $headers .= 'From: '.$from_name.' <'.$from.'>' . "\r\n"; $headers="From:$from_name\r\nReply-to: $to\r\nContent-type: text/html; charset=".($charset?$charset:'ISO-8859-15'); //mail($emailid, $subject, $mess,$headers); api_mail_html($emailid, $emailid, $subject, $mess, $from_name, $from); if (in_array($origin, array('tracking_course','user_course'))){ // update score when you qualify the exercises in Learning path detail if (isset($_REQUEST['lp_item_id']) && isset($_REQUEST['lp_item_view_id']) && isset($_REQUEST['student_id']) && isset($_REQUEST['total_score'])) { if ($lp_item_id == strval(intval($lp_item_id)) && $lp_item_view_id == strval(intval($lp_item_view_id)) && $student_id == strval(intval($student_id))) { $score = Database::escape_string($_REQUEST['total_score']); $sql = "UPDATE $TBL_LP_ITEM_VIEW SET score = '$score' WHERE lp_item_id = '$lp_item_id' AND lp_view_id = (SELECT id from $TBL_LP_VIEW WHERE user_id = '$student_id' and lp_id='$lp_item_view_id')"; api_sql_query($sql,__FILE__,__LINE__); } } //Redirect to the reporting header('location: ../mySpace/myStudents.php?origin='.$origin.'&student='.$_GET['student'].'&details=true&course='.$_GET['course']); } } if ($_GET['gradebook'] && $_GET['exerciseId']) { $interbreadcrumb[]= array ( 'url' => '../gradebook/index.php', 'name' => get_lang('Gradebook') ); } if ($show!='result') { $nameTools=get_lang('Exercices'); } else { if($is_allowedToEdit || $is_tutor) { $nameTools=get_lang('StudentScore'); $interbreadcrumb[]=array("url" => "exercice.php","name" => get_lang('Exercices')); } else { $nameTools=get_lang('YourScore'); $interbreadcrumb[]=array("url" => "exercice.php","name" => get_lang('Exercices')); } } // need functions of statsutils lib to display previous exercices scores include_once(api_get_path(LIBRARY_PATH).'statsUtils.lib.inc.php'); if ($is_allowedToEdit && !empty($choice) && $choice == 'exportqti2') { require_once('export/qti2/qti2_export.php'); $export = export_exercise($exerciseId,true); require_once(api_get_path(LIBRARY_PATH).'pclzip/pclzip.lib.php'); $garbage_path = api_get_path(GARBAGE_PATH); $temp_dir_short = uniqid(); $temp_zip_dir = $garbage_path."/".$temp_dir_short; if(!is_dir($temp_zip_dir)) mkdir($temp_zip_dir); $temp_zip_file = $temp_zip_dir."/".md5(time()).".zip"; $temp_xml_file = $temp_zip_dir."/qti2export_".$exerciseId.'.xml'; file_put_contents($temp_xml_file,$export); $zip_folder=new PclZip($temp_zip_file); $zip_folder->add($temp_xml_file, PCLZIP_OPT_REMOVE_ALL_PATH); $name = 'qti2_export_'.$exerciseId.'.zip'; //DocumentManager::string_send_for_download($export,true,'qti2export_'.$exerciseId.'.xml'); DocumentManager::file_send_for_download($temp_zip_file,true,$name); unlink($temp_zip_file); unlink($temp_xml_file); rmdir($temp_zip_dir); exit(); //otherwise following clicks may become buggy } if (!empty($_POST['export_user_fields'])) { switch ($_POST['export_user_fields']) { case 'export_user_fields': $_SESSION['export_user_fields'] = true; break; case 'do_not_export_user_fields': default: $_SESSION['export_user_fields'] = false; break; } } if (!empty($_POST['export_report']) && $_POST['export_report'] == 'export_report') { if(api_is_platform_admin() || api_is_course_admin() || api_is_course_tutor() || api_is_course_coach()) { $user_id = null; if(empty($_SESSION['export_user_fields'])) $_SESSION['export_user_fields'] = false; if(!$is_allowedToEdit and !$is_tutor) { $user_id = api_get_user_id(); } require_once('exercise_result.class.php'); switch($_POST['export_format']) { case 'xls': $export = new ExerciseResult(); $export->exportCompleteReportXLS($documentPath, $user_id, $_SESSION['export_user_fields']); exit; break; case 'csv': default: $export = new ExerciseResult(); $export->exportCompleteReportCSV($documentPath, $user_id, $_SESSION['export_user_fields']); exit; break; } } else { api_not_allowed(true); } } if ($origin != 'learnpath') { //so we are not in learnpath tool Display::display_header($nameTools,"Exercise"); if(isset($_GET['message'])) { if (in_array($_GET['message'], array('ExerciseEdited'))) { Display::display_confirmation_message(get_lang($_GET['message'])); } } } else { echo ''; } // used for stats include_once(api_get_path(LIBRARY_PATH).'events.lib.inc.php'); event_access_tool(TOOL_QUIZ); $fck_attribute['Width'] = '100%'; $fck_attribute['Height'] = '400'; $fck_attribute['ToolbarSet'] = 'Full'; $fck_attribute['Config']['InDocument'] = false; $fck_attribute['Config']['CreateDocumentWebDir'] = api_get_path('WEB_COURSE_PATH').api_get_course_path().'/document/'; $fck_attribute['Config']['CreateDocumentDir'] = '../../courses/'.api_get_course_path().'/document/'; $fck_attribute['Config']['BaseHref'] = api_get_path('WEB_COURSE_PATH').api_get_course_path().'/'; Display::display_introduction_section(TOOL_QUIZ); $fck_attribute = null; // Clearing this global variable immediatelly after it has been used. // selects $limitExPage exercises at the same time $from=$page*$limitExPage; $sql="SELECT count(id) FROM $TBL_EXERCICES"; $res = api_sql_query($sql,__FILE__,__LINE__); list($nbrexerc) = Database::fetch_array($res); HotPotGCt($documentPath,1,$_user['user_id']); $tbl_grade_link = Database :: get_main_table(TABLE_MAIN_GRADEBOOK_LINK); // only for administrator if ($is_allowedToEdit) { if (!empty($choice)) { // construction of Exercise $objExerciseTmp=new Exercise(); if ($objExerciseTmp->read($exerciseId)) { switch ($choice) { case 'delete': // deletes an exercise $objExerciseTmp->delete(); //delete link of exercise of gradebook tool $sql='SELECT gl.id FROM '.$tbl_grade_link.' gl WHERE gl.type="1" AND gl.ref_id="'.$exerciseId.'";'; $result=api_sql_query($sql,__FILE__,__LINE__); $row=Database::fetch_array($result,'ASSOC'); $link= LinkFactory :: load($row['id']); if ($link[0] != null) { $link[0]->delete(); } Display::display_confirmation_message(get_lang('ExerciseDeleted')); break; case 'enable': // enables an exercise $objExerciseTmp->enable(); $objExerciseTmp->save(); // "WHAT'S NEW" notification: update table item_property (previously last_tooledit) Display::display_confirmation_message(get_lang('VisibilityChanged')); break; case 'disable': // disables an exercise $objExerciseTmp->disable(); $objExerciseTmp->save(); Display::display_confirmation_message(get_lang('VisibilityChanged')); break; case 'disable_results' : //disable the results for the learners $objExerciseTmp->disable_results(); $objExerciseTmp->save(); Display::display_confirmation_message(get_lang('ResultsDisabled')); break; case 'enable_results' : //disable the results for the learners $objExerciseTmp->enable_results(); $objExerciseTmp->save(); Display::display_confirmation_message(get_lang('ResultsEnabled')); break; } } // destruction of Exercise unset($objExerciseTmp); } if (!empty($hpchoice)) { switch($hpchoice) { case 'delete': // deletes an exercise $imgparams = array(); $imgcount = 0; GetImgParams($file,$documentPath,$imgparams,$imgcount); $fld = GetFolderName($file); for($i=0;$i < $imgcount;$i++) { my_delete($documentPath.$uploadPath."/".$fld."/".$imgparams[$i]); update_db_info("delete", $uploadPath."/".$fld."/".$imgparams[$i]); } if ( my_delete($documentPath.$file)) { update_db_info("delete", $file); } my_delete($documentPath.$uploadPath."/".$fld."/"); break; case 'enable': // enables an exercise $newVisibilityStatus = "1"; //"visible" $query = "SELECT id FROM $TBL_DOCUMENT WHERE path='".Database::escape_string($file)."'"; $res = api_sql_query($query,__FILE__,__LINE__); $row = Database::fetch_array($res, 'ASSOC'); api_item_property_update($_course, TOOL_DOCUMENT, $row['id'], 'visible', $_user['user_id']); //$dialogBox = get_lang('ViMod'); break; case 'disable': // disables an exercise $newVisibilityStatus = "0"; //"invisible" $query = "SELECT id FROM $TBL_DOCUMENT WHERE path='".Database::escape_string($file)."'"; $res = api_sql_query($query,__FILE__,__LINE__); $row = Database::fetch_array($res, 'ASSOC'); api_item_property_update($_course, TOOL_DOCUMENT, $row['id'], 'invisible', $_user['user_id']); #$query = "UPDATE $TBL_DOCUMENT SET visibility='$newVisibilityStatus' WHERE path=\"".$file."\""; //added by Toon #api_sql_query($query,__FILE__,__LINE__); //$dialogBox = get_lang('ViMod'); break; default: break; } } if ($show == 'test') { $sql="SELECT id,title,type,active,description, results_disabled FROM $TBL_EXERCICES WHERE active<>'-1' ORDER BY title LIMIT ".(int)$from.",".(int)($limitExPage+1); $result=api_sql_query($sql,__FILE__,__LINE__); } } elseif($show == 'test') {// only for students //fin $sql="SELECT id,title,type,description, results_disabled FROM $TBL_EXERCICES WHERE active='1' ORDER BY title LIMIT ".(int)$from.",".(int)($limitExPage+1); $result=api_sql_query($sql,__FILE__,__LINE__); } // the actions echo '
'; // display the next and previous link if needed $from=$page*$limitExPage; $sql="SELECT count(id) FROM $TBL_EXERCICES"; $res = api_sql_query($sql,__FILE__,__LINE__); list($nbrexerc) = Database::fetch_array($res); HotPotGCt($documentPath,1,$_user['user_id']); // only for administrator if($is_allowedToEdit) { if ($show == 'test') { $sql="SELECT id,title,type,active,description, results_disabled FROM $TBL_EXERCICES WHERE active<>'-1' ORDER BY title LIMIT ".(int)$from.",".(int)($limitExPage+1); $result=api_sql_query($sql,__FILE__,__LINE__); } } elseif($show == 'test') { // only for students $sql="SELECT id,title,type,description, results_disabled FROM $TBL_EXERCICES WHERE active='1' ORDER BY title LIMIT ".(int)$from.",".(int)($limitExPage+1); $result=api_sql_query($sql,__FILE__,__LINE__); } if($show == 'test') { $nbrExercises=Database::num_rows($result); //get HotPotatoes files (active and inactive) $res = api_sql_query ("SELECT * FROM $TBL_DOCUMENT WHERE path LIKE '".Database::escape_string($uploadPath)."/%/%'",__FILE__,__LINE__); $nbrTests = Database::num_rows($res); $res = api_sql_query ("SELECT * FROM $TBL_DOCUMENT d, $TBL_ITEM_PROPERTY ip WHERE d.id = ip.ref AND ip.tool = '".TOOL_DOCUMENT."' AND d.path LIKE '".Database::escape_string($uploadPath)."/%/%' AND ip.visibility='1'", __FILE__,__LINE__); $nbrActiveTests = Database::num_rows($res); if($is_allowedToEdit) {//if user is allowed to edit, also show hidden HP tests $nbrHpTests = $nbrTests; } else { $nbrHpTests = $nbrActiveTests; } $nbrNextTests = $nbrexerc-$nbrHpTests-(($page*$limitExPage)); echo ''; //show pages navigation link for previous page if($page) { echo "".Display::return_icon('previous.gif').get_lang("PreviousPage")." | "; } elseif($nbrExercises+$nbrNextTests > $limitExPage) { echo Display::return_icon('previous.gif').get_lang('PreviousPage')." | "; } //show pages navigation link for previous page if($nbrExercises+$nbrNextTests > $limitExPage) { echo "".get_lang("NextPage").Display::return_icon('next.gif').""; } elseif($page) { echo get_lang("NextPage") . Display::return_icon('next.gif'); } echo ''; } if (($is_allowedToEdit) and ($origin != 'learnpath')) { echo ''.Display::return_icon('new_test.gif',get_lang('NewEx')).get_lang('NewEx').''; echo ''.Display::return_icon('jqz.jpg',get_lang('ImportHotPotatoesQuiz')).get_lang('ImportHotPotatoesQuiz').''; echo ''.Display::return_icon('show_test_results.gif',get_lang('ImportHotPotatoesQuiz')).get_lang("Results").''; // the actions for the statistics if($show == 'result') { // the form if(api_is_platform_admin() || api_is_course_admin() || api_is_course_tutor() || api_is_course_coach()) { if($_SESSION['export_user_fields']==false) { $alt = get_lang('ExportWithUserFields'); $extra_user_fields = ''; } else { $alt = get_lang('ExportWithoutUserFields'); $extra_user_fields = ''; } echo ''.Display::return_icon('excel.gif',get_lang('ExportAsCSV')).get_lang('ExportAsCSV').''; echo ''.Display::return_icon('excel.gif',get_lang('ExportAsXLS')).get_lang('ExportAsXLS').''; echo ''.Display::return_icon('synthese_view.gif',$alt).$alt.''; echo ''.Display::return_icon('quiz.gif').get_lang('BackToExercisesList').''; echo '
'; echo ''; echo ''; echo '
'; echo '
'; echo ''; echo ''; echo '
'; echo '
'; echo $extra_user_fields; echo '
'; } } } if ($_configuration['tracking_enabled']) { if ($show == 'result') { if (!function_exists('make_select')) { function make_select($name,$values,$checked='') { $output .= ''; return $output; } } if (!function_exists('make_select_users')) { function make_select_users($name,$values,$checked='') { $output .= ''; return $output; } } if (api_is_allowed_to_edit()) { if (!$_REQUEST['filter']) { $filter_by_not_revised = true; $filter=1; } $filter = (int)$_REQUEST['filter']; switch($filter) { case 1: $filter_by_not_revised = true; break; case 2: $filter_by_revised = true; break; default: null; } $form_filter = '
'; $form_filter .= make_select('filter',array(1=>get_lang('FilterByNotRevised'),2=>get_lang('FilterByRevised')),$filter); $form_filter .= '
'; echo $form_filter; } } if (api_is_allowed_to_edit()) { $user_count = count($user_list_name); if ($user_count >0 ) { $form_filter = '
'; $user_list_for_select =array(); for ($i=0;$i<$user_count;$i++) { $user_list_for_select[$user_list_id[$i]]=$user_list_name[$i]; } $form_filter .= make_select_users('filter_by_user',$user_list_for_select,(int)$_REQUEST['filter_by_user']); $form_filter .= ''; $form_filter .= '
'; echo $form_filter; } } } echo '
'; // closing the actions div if ($show == 'test') { ?> '."\n"; ?> '; echo ''; ?> "; echo "\n"; } else {// student only ?> $nbrexerc) { if ($from>$nbrexerc) { $from = $from - $nbrexerc; $to = $limitExPage; } else { $to = $limitExPage-($nbrexerc-$from); $from = 0; } } else { $to = $limitExPage; } if($is_allowedToEdit) { $sql = "SELECT d.path as path, d.comment as comment, ip.visibility as visibility FROM $TBL_DOCUMENT d, $TBL_ITEM_PROPERTY ip WHERE d.id = ip.ref AND ip.tool = '".TOOL_DOCUMENT."' AND (d.path LIKE '%htm%') AND d.path LIKE '".Database::escape_string($uploadPath)."/%/%' LIMIT ".(int)$from.",".(int)$to; // only .htm or .html files listed } else { $sql = "SELECT d.path as path, d.comment as comment, ip.visibility as visibility FROM $TBL_DOCUMENT d, $TBL_ITEM_PROPERTY ip WHERE d.id = ip.ref AND ip.tool = '".TOOL_DOCUMENT."' AND (d.path LIKE '%htm%') AND d.path LIKE '".Database::escape_string($uploadPath)."/%/%' AND ip.visibility='1' LIMIT ".(int)$from.",".(int)$to; } $result = api_sql_query ($sql,__FILE__,__LINE__); while ($row = Database::fetch_array($result, 'ASSOC')) { $attribute['path' ][] = $row['path' ]; $attribute['visibility'][] = $row['visibility']; $attribute['comment' ][] = $row['comment' ]; } $nbrActiveTests = 0; if (is_array($attribute['path'])) { while (list($key,$path) = each($attribute['path'])) { list($a,$vis)=each($attribute['visibility']); if (strcmp($vis,"1")==0) { $active=1; } else { $active=0; } echo "\n"; $title = GetQuizName($path,$documentPath); if ($title =='') { $title = GetFileName($path); } // prof only if($is_allowedToEdit) { /************/ ?>
>
> 1?'Questions':'Question'))).' <?php echo htmlentities(get_lang('Modify'),ENT_QUOTES,$charset); ?> <?php echo htmlentities(get_lang('Build'),ENT_QUOTES,$charset); ?> ')) return false;"> <?php echo htmlentities(get_lang('Delete'),ENT_QUOTES,$charset); ?> <?php echo htmlentities(get_lang('Deactivate'),ENT_QUOTES,$charset); ?> <?php echo htmlentities(get_lang('Activate'),ENT_QUOTES,$charset); ?> '.htmlentities(get_lang('EnableResults'),ENT_QUOTES,$charset).''; } else { echo ''.htmlentities(get_lang('DisableResults'),ENT_QUOTES,$charset).''; } echo "
  1?'Questions':'Question'))); ?> 'incomplete' AND orig_lp_id = 0 AND orig_lp_item_id = 0 AND session_id = '".api_get_session_id()."' ORDER BY exe_id DESC"; $qryres = api_sql_query($qry); $num = Database::num_rows($qryres); if ($num>0) { $row = Database::fetch_array($qryres); $percentage = 0; if($row['exe_weighting'] != 0) { $percentage = ($row['exe_result']/$row['exe_weighting'])*100; } echo get_lang('Attempted').' ('.get_lang('Score').':'; printf("%1.2f\n",$percentage); echo " %)"; } else { echo get_lang('NotAttempted'); } ?>
HotPotatoes > <?php echo htmlentities(get_lang('Modify'),ENT_QUOTES,$charset); ?> <?php echo htmlentities(get_lang('Build'),ENT_QUOTES,$charset); ?> ')) return false;"><?php echo htmlentities(get_lang('Delete'),ENT_QUOTES,$charset); ?> <?php echo htmlentities(get_lang('Deactivate'),ENT_QUOTES,$charset); ?> <?php echo htmlentities(get_lang('Activate'),ENT_QUOTES,$charset); ?> '; /****************/ ?>
  ">   
1 $user_id_and $session_id_and AND ce.active <>-1 AND orig_lp_id = 0 AND orig_lp_item_id = 0 ORDER BY users, te.exe_cours_id ASC, ce.title ASC, te.exe_date DESC"; $hpsql="SELECT CONCAT(tu.lastname,' ',tu.firstname), tth.exe_name, tth.exe_result , tth.exe_weighting, UNIX_TIMESTAMP(tth.exe_date) FROM $TBL_TRACK_HOTPOTATOES tth, $TBL_USER tu WHERE tu.user_id=tth.exe_user_id AND tth.exe_cours_id = '".Database::escape_string($_cid)." $user_id_and ' ORDER BY tth.exe_cours_id ASC, tth.exe_date DESC"; } else { // get only this user's results $user_id_and = ' AND te.exe_user_id = ' . Database::escape_string ( api_get_user_id() ).' '; $sql="SELECT CONCAT(lastname,' ',firstname) as users,ce.title, te.exe_result , te.exe_weighting, UNIX_TIMESTAMP(te.exe_date),te.exe_id,email,UNIX_TIMESTAMP(te.start_date),steps_counter,user_id FROM $TBL_EXERCICES AS ce , $TBL_TRACK_EXERCICES AS te, $TBL_USER AS user WHERE te.exe_exo_id = ce.id AND te.status != 'incomplete' AND user_id=te.exe_user_id AND te.exe_cours_id='".Database::escape_string($_cid)."' AND user.status<>1 $user_id_and $session_id_and AND ce.active <>-1 AND orig_lp_id = 0 AND orig_lp_item_id = 0 ORDER BY users, te.exe_cours_id ASC, ce.title ASC, te.exe_date DESC"; $hpsql="SELECT '',exe_name, exe_result , exe_weighting, UNIX_TIMESTAMP(exe_date) FROM $TBL_TRACK_HOTPOTATOES WHERE exe_user_id = '".$_user['user_id']."' AND exe_cours_id = '".Database::escape_string($_cid)."' ORDER BY exe_cours_id ASC, exe_date DESC"; //error_log($hpsql); } $results=getManyResultsXCol($sql,10); $hpresults=getManyResultsXCol($hpsql,5); $NoTestRes = 0; $NoHPTestRes = 0; //Print the results of tests $lang_nostartdate = get_lang('NoStartDate').' / '; if (is_array($results)) { $users_array_id = array(); if ($_GET['gradebook']=='view') { $filter_by_no_revised = true; $from_gradebook = true; } $sizeof = sizeof($results); $user_list_name = $user_list_id = array(); for ($i = 0; $i < $sizeof; $i++) { $revised = false; $sql_exe='SELECT exe_id FROM '.Database::get_statistic_table(TABLE_STATISTIC_TRACK_E_ATTEMPT_RECORDING).' WHERE author != '."''".' AND exe_id = '."'".$results[$i][5]."'".' LIMIT 1'; $query = api_sql_query($sql_exe,__FILE__,__LINE__); if ( Database::num_rows($query) > 0) { $revised = true; } if ($filter_by_not_revised && $revised == true) { continue; } if($filter_by_revised && $revised == false) { continue; } if($from_gradebook && ($is_allowedToEdit || $is_tutor)) { if(in_array($results[$i][1].$results[$i][0],$users_array_id)) { continue; } $users_array_id[] = $results[$i][1].$results[$i][0]; } $user_list_name[] = $results[$i][0]; $user_list_id[] = $results[$i][9]; $id = $results[$i][5]; $mailid = $results[$i][6]; $user = $results[$i][0]; $test = $results[$i][1]; $dt = strftime($dateTimeFormatLong,$results[$i][4]); $res = $results[$i][2]; echo ''; $add_start_date = $lang_nostartdate; if ($is_allowedToEdit || $is_tutor) { $user = $results[$i][0]; echo ''; } echo ''; echo ''; echo '';//get_lang('dateTimeFormatLong') echo ''; echo ''; echo ''; } } else { $NoTestRes = 1; } // Print the Result of Hotpotatoes Tests if (is_array($hpresults)) { for($i = 0; $i < sizeof($hpresults); $i++) { $title = GetQuizName($hpresults[$i][1],$documentPath); if ($title =='') { $title = GetFileName($hpresults[$i][1]); } echo ''; if ($is_allowedToEdit) { echo ''; } echo ''; echo ''; echo ''; echo ''; //there is no possibility to edit the results of a Hotpotatoes test echo ''; } } else { $NoHPTestRes = 1; } if ($NoTestRes==1 && $NoHPTestRes==1) { ?>
'.$user.' '.$duration.''.$test.''; if ($results[$i][7] > 1) { echo ceil((($results[$i][4] - $results[$i][7])/60)).' '.get_lang('Min'); if($results[$i][8] > 1) { echo ' ( '.$results[$i][8].' '.get_lang('Steps').' )'; } $add_start_date = format_locale_date('%b %d, %Y %H:%M',$results[$i][7]).' / '; } else { echo get_lang('NoLogOfDuration'); } echo ''.$add_start_date.format_locale_date('%b %d, %Y %H:%M',$results[$i][4]).''.round(($res/($results[$i][3]!=0?$results[$i][3]:1))*100).'% ('.$res.' / '.$results[$i][3].')'.(($is_allowedToEdit||$is_tutor)? "". (($revised)?get_lang('Edit'):get_lang('Qualify'))."". ((api_is_platform_admin() || $is_tutor)?' - '.get_lang('Delete').'':'') .(($is_allowedToEdit)?' - '.get_lang('ViewHistory').'':'') :(($revised)?"".get_lang('Show')."":'')).'
'.$hpresults[$i][0].''.$title.''.strftime($dateTimeFormatLong,$hpresults[$i][4]).''.round(($hpresults[$i][2]/($hpresults[$i][3]!=0?$hpresults[$i][3]:1))*100).'% ('.$hpresults[$i][2].' / '.$hpresults[$i][3].')