show inactive exercises in admin exercise report

1.9.x
César Perales 11 years ago
parent 8c73a877dd
commit f973ecc241
  1. 19
      main/exercice/exercise.lib.php
  2. 2
      main/inc/ajax/course.ajax.php

@ -1418,9 +1418,13 @@ function convert_score($score, $weight) {
* @param int session id
* @param boolean Check publications dates
* @param string Search exercise name
* @param boolean Search exercises in all sessions
* @param int 0 = only inactive exercises
* 1 = only active exercises,
* 2 = all exercises
* @return array array with exercise data
*/
function get_all_exercises($course_info = null, $session_id = 0, $check_publication_dates = false, $search_exercise = '', $search_all_sessions = false) {
function get_all_exercises($course_info = null, $session_id = 0, $check_publication_dates = false, $search_exercise = '', $search_all_sessions = false, $active = 2) {
$TBL_EXERCICES = Database :: get_course_table(TABLE_QUIZ_TEST);
$course_id = api_get_course_int_id();
@ -1445,15 +1449,22 @@ function get_all_exercises($course_info = null, $session_id = 0, $check_publicat
$needle_where = (!empty($search_exercise)) ? " AND title LIKE '?' " : '';
$needle = (!empty($search_exercise)) ? "%" . $search_exercise . "%" : '';
//Show courses by active status
$active_sql = '';
if ($active != 2) {
$active_sql = sprintf(' active = %d AND', $active);
}
if ($search_all_sessions == true)
{
$conditions = array('where'=>array('active = ? AND c_id = ? '. $needle_where . $time_conditions => array('1', $course_id, $needle)), 'order'=>'title');
$conditions = array('where'=>array($active_sql . ' c_id = ? '. $needle_where . $time_conditions => array($course_id, $needle)), 'order'=>'title');
} else
{
if ($session_id == 0) {
$conditions = array('where'=>array('active = ? AND session_id = ? AND c_id = ? '. $needle_where . $time_conditions => array('1', $session_id, $course_id, $needle)), 'order'=>'title');
$conditions = array('where'=>array($active_sql . ' session_id = ? AND c_id = ? '. $needle_where . $time_conditions => array($session_id, $course_id, $needle)), 'order'=>'title');
} else {
$conditions = array('where'=>array('active = ? AND (session_id = 0 OR session_id = ? ) AND c_id = ? ' . $needle_where . $time_conditions => array('1', $session_id, $course_id, $needle)), 'order'=>'title');
$conditions = array('where'=>array($active_sql . ' (session_id = 0 OR session_id = ? ) AND c_id = ? ' . $needle_where . $time_conditions => array($session_id, $course_id, $needle)), 'order'=>'title');
}
}
return Database::select('*',$TBL_EXERCICES, $conditions);

@ -156,7 +156,7 @@ switch ($action) {
$course = api_get_course_info_by_id($_GET['course_id']);
require_once api_get_path(SYS_CODE_PATH).'exercice/exercise.lib.php';
$session_id = (!empty($_GET['session_id'])) ? intval($_GET['session_id']) : 0 ;
$exercises = get_all_exercises($course, $session_id, false, $_GET['q'], true);
$exercises = get_all_exercises($course, $session_id, false, $_GET['q'], true, 2);
foreach ($exercises as $exercise)
{

Loading…
Cancel
Save