[svn r19711] logic changes - allow search by category in gradebook tool - (partial FS#4020)

skala
Isaac Flores 16 years ago
parent 2d9d741f57
commit b4a159f6d4
  1. 16
      main/gradebook/gradebook.php
  2. 15
      main/gradebook/lib/be/category.class.php
  3. 9
      main/gradebook/lib/fe/displaygradebook.php

@ -490,8 +490,14 @@ if ($simple_search_form->validate() && (empty($keyword))) {
if (!empty($keyword)) {
$cats= Category :: load($category);
$allcat= array ();
$alleval= Evaluation :: find_evaluations($keyword, $cats[0]->get_id());
$alllink= LinkFactory :: find_links($keyword, $cats[0]->get_id());
if ((isset($_GET['selectcat']) && $_GET['selectcat']==0) && isset($_GET['search'])) {
$allcat= $cats[0]->get_subcategories(null);
$allcat_info = Category :: find_category($keyword,$allcat);
} else {
$alleval = Evaluation :: find_evaluations($keyword, $cats[0]->get_id());
$alllink = LinkFactory :: find_links($keyword, $cats[0]->get_id());
}
} elseif (isset ($_GET['studentoverview'])) {
$cats= Category :: load($category);
$stud_id= (api_is_allowed_to_create_course() ? null : api_get_user_id());
@ -577,7 +583,11 @@ if (isset($_GET['search'])) {
if (isset ($_GET['studentoverview'])) {
$addparams['studentoverview'] = '';
}
if (count($allcat_info)>0 && (isset($_GET['selectcat']) && $_GET['selectcat']==0) && isset($_GET['search'])) {
$allcat=$allcat_info;
} else {
$allcat=$allcat;
}
$gradebooktable= new GradebookTable($cats[0], $allcat, $alleval, $alllink, $addparams);
if (((empty ($allcat)) && (empty ($alleval)) && (empty ($alllink)) && (!$is_platform_admin) && ($is_course_admin) && (!isset ($_GET['selectcat']))) && api_is_course_tutor()) {
Display :: display_normal_message(get_lang('GradebookWelcomeMessage') . '<br /><br /><form name="createcat" method="post" action="' . api_get_self() . '?createallcategories=1"><input type="submit" value="' . get_lang('CreateAllCat') . '"></form>',false);

@ -25,6 +25,7 @@
/**
* Defines a gradebook Category object
* @author Bert Stepp<EFBFBD>, Stijn Konings
* @author Isaac flores, <florespaz@bidsoftperu.com>
* @package dokeos.gradebook
*/
class Category implements GradebookItem
@ -1087,4 +1088,18 @@ class Category implements GradebookItem
public function get_icon_name() {
return 'cat';
}
/**
* Find category by name
* @param string $name_mask search string
* @return array category objects matching the search criterium
*/
public function find_category ($name_mask,$allcat) {
$foundcats = array();
foreach ($allcat as $search_cat) {
if (!(strpos(strtolower($search_cat->get_name()), strtolower($name_mask)) === false)) {
$foundcats[] = $search_cat;
}
}
return $foundcats;
}
}

@ -234,10 +234,11 @@ class DisplayGradebook
}
// show navigation tree and buttons?
$header='';
$header .= '<table border=0 cellpadding=5>';
$header .= '<div class="actions"><table border=0 >';
if (($showtree == '1') || (isset ($_GET['studentoverview']))) {
$header .= '<tr><td style="vertical-align: top;">' . get_lang('CurrentCategory') . '</td><td style="vertical-align: top;"><form name="selector"><select name="selectcat" onchange="document.selector.submit()">';
$header .= '<tr><td style=" ">' . get_lang('CurrentCategory') . '</td>' .
'<td style=" "><form name="selector"><select name="selectcat" onchange="document.selector.submit()">';
$cats= Category :: load();
$tree= $cats[0]->get_tree();
@ -256,7 +257,7 @@ class DisplayGradebook
}
$header .= '</select></form></td>';
if (!$selectcat == '0') {
$header .= '<td style="vertical-align: top;"><a href="' . api_get_self() . '?selectcat=' . $catobj->get_parent_id() . '"><img src="../img/folder_up.gif" border="0" alt="" /></a></td>';
$header .= '<td style=" "><a href="' . api_get_self() . '?selectcat=' . $catobj->get_parent_id() . '"><img src="../img/folder_up.gif" border="0" alt="" /></a></td>';
}
if (!empty($simple_search_form) && $message_resource===false) {
$header .= '<td style="vertical-align: top;">'.$simple_search_form->toHtml().'</td>';
@ -277,7 +278,7 @@ class DisplayGradebook
}
$header .= '</td></tr>';
}
$header.='</table>';
$header.='</table></div>';
// for course admin & platform admin add item buttons are added to the header
$header .= '<div class="actions">';

Loading…
Cancel
Save