|
@@ -101,57 +101,57 @@ class GradebookTable extends SortableTable {
|
|
|
return $this->datagen->get_total_items_count();
|
|
|
}
|
|
|
|
|
|
- /**
|
|
|
- * Function used by SortableTable to generate the data to display
|
|
|
- */
|
|
|
- function get_table_data($from = 1, $per_page = null, $column = null, $direction = null, $sort = null) {
|
|
|
-
|
|
|
+ /**
|
|
|
+ * Function used by SortableTable to generate the data to display
|
|
|
+ */
|
|
|
+ function get_table_data($from = 1, $per_page = null, $column = null, $direction = null, $sort = null) {
|
|
|
+
|
|
|
//variables load in index.php
|
|
|
global $my_score_in_gradebook, $certificate_min_score;
|
|
|
$scoretotal = 0;
|
|
|
- // determine sorting type
|
|
|
- $col_adjust = (api_is_allowed_to_edit() ? 1 : 0);
|
|
|
+ // determine sorting type
|
|
|
+ $col_adjust = (api_is_allowed_to_edit() ? 1 : 0);
|
|
|
// By id
|
|
|
$this->column = 5;
|
|
|
|
|
|
- switch ($this->column) {
|
|
|
- // Type
|
|
|
- case (0 + $col_adjust) :
|
|
|
- $sorting = GradebookDataGenerator :: GDG_SORT_TYPE;
|
|
|
- break;
|
|
|
- case (1 + $col_adjust) :
|
|
|
- $sorting = GradebookDataGenerator :: GDG_SORT_NAME;
|
|
|
- break;
|
|
|
- case (2 + $col_adjust) :
|
|
|
- $sorting = GradebookDataGenerator :: GDG_SORT_DESCRIPTION;
|
|
|
- break;
|
|
|
- case (3 + $col_adjust) :
|
|
|
- $sorting = GradebookDataGenerator :: GDG_SORT_WEIGHT;
|
|
|
- break;
|
|
|
- case (4 + $col_adjust) :
|
|
|
- $sorting = GradebookDataGenerator :: GDG_SORT_DATE;
|
|
|
+ switch ($this->column) {
|
|
|
+ // Type
|
|
|
+ case (0 + $col_adjust) :
|
|
|
+ $sorting = GradebookDataGenerator :: GDG_SORT_TYPE;
|
|
|
+ break;
|
|
|
+ case (1 + $col_adjust) :
|
|
|
+ $sorting = GradebookDataGenerator :: GDG_SORT_NAME;
|
|
|
+ break;
|
|
|
+ case (2 + $col_adjust) :
|
|
|
+ $sorting = GradebookDataGenerator :: GDG_SORT_DESCRIPTION;
|
|
|
+ break;
|
|
|
+ case (3 + $col_adjust) :
|
|
|
+ $sorting = GradebookDataGenerator :: GDG_SORT_WEIGHT;
|
|
|
+ break;
|
|
|
+ case (4 + $col_adjust) :
|
|
|
+ $sorting = GradebookDataGenerator :: GDG_SORT_DATE;
|
|
|
case (5 + $col_adjust) :
|
|
|
$sorting = GradebookDataGenerator :: GDG_SORT_ID;
|
|
|
- break;
|
|
|
- }
|
|
|
-
|
|
|
- if ($this->direction == 'DESC') {
|
|
|
- $sorting |= GradebookDataGenerator :: GDG_SORT_DESC;
|
|
|
- } else {
|
|
|
- $sorting |= GradebookDataGenerator :: GDG_SORT_ASC;
|
|
|
- }
|
|
|
-
|
|
|
- //status of user in course
|
|
|
- $user_id = api_get_user_id();
|
|
|
- $course_code = api_get_course_id();
|
|
|
+ break;
|
|
|
+ }
|
|
|
+
|
|
|
+ if ($this->direction == 'DESC') {
|
|
|
+ $sorting |= GradebookDataGenerator :: GDG_SORT_DESC;
|
|
|
+ } else {
|
|
|
+ $sorting |= GradebookDataGenerator :: GDG_SORT_ASC;
|
|
|
+ }
|
|
|
+
|
|
|
+ //status of user in course
|
|
|
+ $user_id = api_get_user_id();
|
|
|
+ $course_code = api_get_course_id();
|
|
|
$session_id = api_get_session_id();
|
|
|
- $status_user = api_get_status_of_user_in_course($user_id, $course_code);
|
|
|
+ $status_user = api_get_status_of_user_in_course($user_id, $course_code);
|
|
|
|
|
|
- $data_array = $this->datagen->get_data($sorting, $from, $this->per_page);
|
|
|
+ $data_array = $this->datagen->get_data($sorting, $from, $this->per_page);
|
|
|
|
|
|
- // generate the data to display
|
|
|
- $sortable_data = array();
|
|
|
- $weight_total_links = 0;
|
|
|
+ // generate the data to display
|
|
|
+ $sortable_data = array();
|
|
|
+ $weight_total_links = 0;
|
|
|
|
|
|
$main_categories = array();
|
|
|
$main_cat = Category :: load(null, null, $course_code, null, null, $session_id, false);
|
|
@@ -161,83 +161,83 @@ class GradebookTable extends SortableTable {
|
|
|
|
|
|
//Categories
|
|
|
|
|
|
- foreach ($data_array as $data) {
|
|
|
-
|
|
|
+ foreach ($data_array as $data) {
|
|
|
+
|
|
|
// list of items inside the gradebook (exercises, lps, forums, etc)
|
|
|
- $row = array();
|
|
|
- $item = $item_category = $data[0];
|
|
|
-
|
|
|
- $id = $item->get_id();
|
|
|
-
|
|
|
- //if the item is invisible, wrap it in a span with class invisible
|
|
|
- $invisibility_span_open = (api_is_allowed_to_edit() && $item->is_visible() == '0') ? '<span class="invisible">' : '';
|
|
|
- $invisibility_span_close = (api_is_allowed_to_edit() && $item->is_visible() == '0') ? '</span>' : '';
|
|
|
+ $row = array();
|
|
|
+ $item = $item_category = $data[0];
|
|
|
+
|
|
|
+ $id = $item->get_id();
|
|
|
+
|
|
|
+ //if the item is invisible, wrap it in a span with class invisible
|
|
|
+ $invisibility_span_open = (api_is_allowed_to_edit() && $item->is_visible() == '0') ? '<span class="invisible">' : '';
|
|
|
+ $invisibility_span_close = (api_is_allowed_to_edit() && $item->is_visible() == '0') ? '</span>' : '';
|
|
|
|
|
|
- if (api_is_allowed_to_edit(null, true)) {
|
|
|
+ if (api_is_allowed_to_edit(null, true)) {
|
|
|
//id
|
|
|
- $row[] = $this->build_id_column($item);
|
|
|
- }
|
|
|
+ $row[] = $this->build_id_column($item);
|
|
|
+ }
|
|
|
|
|
|
//Type
|
|
|
- $row[] = $this->build_type_column($item);
|
|
|
-
|
|
|
- //Name
|
|
|
- if (get_class($item) == 'Category') {
|
|
|
- $row[] = $invisibility_span_open.'<h3>'.$item->get_name().'</h3>'.$invisibility_span_close;
|
|
|
+ $row[] = $this->build_type_column($item);
|
|
|
+
|
|
|
+ //Name
|
|
|
+ if (get_class($item) == 'Category') {
|
|
|
+ $row[] = $invisibility_span_open.'<h3>'.$item->get_name().'</h3>'.$invisibility_span_close;
|
|
|
$main_categories[$item->get_id()]['name'] = $item->get_name();
|
|
|
- } else {
|
|
|
- $row[] = $invisibility_span_open.$this->build_name_link($item) . $invisibility_span_close;
|
|
|
+ } else {
|
|
|
+ $row[] = $invisibility_span_open.$this->build_name_link($item) . $invisibility_span_close;
|
|
|
$main_categories[$item->get_id()]['name'] = $this->build_name_link($item);
|
|
|
- }
|
|
|
+ }
|
|
|
|
|
|
$main_categories[$item->get_id()]['weight']= $item->get_weight();
|
|
|
$total_categories_weight += $item->get_weight();
|
|
|
|
|
|
- //Description
|
|
|
- $row[] = $invisibility_span_open.$data[2].$invisibility_span_close;
|
|
|
-
|
|
|
- //Weight
|
|
|
- //$row[] = $invisibility_span_open .Display::tag('h4', $data['3'] .' / '.$this->currentcat->get_weight()).$invisibility_span_close;
|
|
|
+ //Description
|
|
|
+ $row[] = $invisibility_span_open.$data[2].$invisibility_span_close;
|
|
|
+
|
|
|
+ //Weight
|
|
|
+ //$row[] = $invisibility_span_open .Display::tag('h4', $data['3'] .' / '.$this->currentcat->get_weight()).$invisibility_span_close;
|
|
|
//$average = $data['3']/$this->currentcat->get_weight()*100;
|
|
|
|
|
|
$average = $scoredisplay->display_score(array($data['3'], $this->currentcat->get_weight()), SCORE_SIMPLE, SCORE_BOTH, true);
|
|
|
|
|
|
if (api_is_allowed_to_edit(null, true)) {
|
|
|
- $row[] = $invisibility_span_open .Display::tag('h4', $average).$invisibility_span_close;
|
|
|
+ $row[] = $invisibility_span_open .Display::tag('h4', $average).$invisibility_span_close;
|
|
|
} else {
|
|
|
- $row[] = $invisibility_span_open .$average.$invisibility_span_close;
|
|
|
+ $row[] = $invisibility_span_open .$average.$invisibility_span_close;
|
|
|
}
|
|
|
|
|
|
$category_weight = $item->get_weight();
|
|
|
-
|
|
|
- if (api_is_allowed_to_edit(null, true)) {
|
|
|
- $weight_total_links += $data[3];
|
|
|
- } else {
|
|
|
- $cattotal = Category :: load($_GET['selectcat']);
|
|
|
+
|
|
|
+ if (api_is_allowed_to_edit(null, true)) {
|
|
|
+ $weight_total_links += $data[3];
|
|
|
+ } else {
|
|
|
+ $cattotal = Category :: load($_GET['selectcat']);
|
|
|
$scoretotal = $cattotal[0]->calc_score(api_get_user_id());
|
|
|
$item_value = $scoredisplay->display_score($scoretotal, SCORE_SIMPLE);
|
|
|
- }
|
|
|
-
|
|
|
- //Date
|
|
|
- //$row[] = $invisibility_span_open.$data[4].$invisibility_span_close;
|
|
|
+ }
|
|
|
+
|
|
|
+ //Date
|
|
|
+ //$row[] = $invisibility_span_open.$data[4].$invisibility_span_close;
|
|
|
|
|
|
- //Edit (for admins)
|
|
|
- if (api_is_allowed_to_edit(null, true)) {
|
|
|
- $cat = new Category();
|
|
|
- $show_message = $cat->show_message_resource_delete($item->get_course_code());
|
|
|
- if ($show_message === false) {
|
|
|
- $row[] = $this->build_edit_column($item);
|
|
|
- }
|
|
|
- } else {
|
|
|
- //students get the results and certificates columns
|
|
|
- if (count($this->evals_links) > 0 && $status_user != 1) {
|
|
|
- $value_data = isset($data[4]) ? $data[4] : null;
|
|
|
- if (!is_null($value_data)) {
|
|
|
- $row[] = Display::tag('h4', $value_data);
|
|
|
- } else {
|
|
|
+ //Edit (for admins)
|
|
|
+ if (api_is_allowed_to_edit(null, true)) {
|
|
|
+ $cat = new Category();
|
|
|
+ $show_message = $cat->show_message_resource_delete($item->get_course_code());
|
|
|
+ if ($show_message === false) {
|
|
|
+ $row[] = $this->build_edit_column($item);
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ //students get the results and certificates columns
|
|
|
+ if (count($this->evals_links) > 0 && $status_user != 1) {
|
|
|
+ $value_data = isset($data[4]) ? $data[4] : null;
|
|
|
+ if (!is_null($value_data)) {
|
|
|
+ $row[] = Display::tag('h4', $value_data);
|
|
|
+ } else {
|
|
|
$row[] = $this->build_edit_column($item);
|
|
|
}
|
|
|
- } else {
|
|
|
+ } else {
|
|
|
$score = $item->calc_score(api_get_user_id());
|
|
|
if (!empty($score[1])) {
|
|
|
$complete_score = $scoredisplay->display_score($score, SCORE_DIV_PERCENT);
|
|
@@ -252,58 +252,58 @@ class GradebookTable extends SortableTable {
|
|
|
$row[] = $this->build_edit_column($item);
|
|
|
}
|
|
|
}
|
|
|
- }
|
|
|
+ }
|
|
|
|
|
|
//Category added
|
|
|
- $sortable_data[] = $row;
|
|
|
-
|
|
|
- // Loading childrens
|
|
|
-
|
|
|
- if (get_class($item) == 'Category') {
|
|
|
-
|
|
|
- $stud_id = api_get_user_id();
|
|
|
- $course_code = api_get_course_id();
|
|
|
- $session_id = api_get_session_id();
|
|
|
- $parent_id = $item->get_id();
|
|
|
+ $sortable_data[] = $row;
|
|
|
+
|
|
|
+ // Loading childrens
|
|
|
+
|
|
|
+ if (get_class($item) == 'Category') {
|
|
|
|
|
|
- $cats = Category :: load ($parent_id, null, null, null, null, null);
|
|
|
-
|
|
|
- $allcat = $cats[0]->get_subcategories($stud_id, $course_code, $session_id);
|
|
|
- $alleval = $cats[0]->get_evaluations($stud_id);
|
|
|
- $alllink = $cats[0]->get_links($stud_id);
|
|
|
-
|
|
|
- $sub_cat_info = new GradebookDataGenerator($allcat, $alleval, $alllink);
|
|
|
- $data_array = $sub_cat_info->get_data($sorting, $from, $this->per_page);
|
|
|
+ $stud_id = api_get_user_id();
|
|
|
+ $course_code = api_get_course_id();
|
|
|
+ $session_id = api_get_session_id();
|
|
|
+ $parent_id = $item->get_id();
|
|
|
+
|
|
|
+ $cats = Category :: load ($parent_id, null, null, null, null, null);
|
|
|
+
|
|
|
+ $allcat = $cats[0]->get_subcategories($stud_id, $course_code, $session_id);
|
|
|
+ $alleval = $cats[0]->get_evaluations($stud_id);
|
|
|
+ $alllink = $cats[0]->get_links($stud_id);
|
|
|
|
|
|
- $total_weight = 0;
|
|
|
+ $sub_cat_info = new GradebookDataGenerator($allcat, $alleval, $alllink);
|
|
|
+ $data_array = $sub_cat_info->get_data($sorting, $from, $this->per_page);
|
|
|
+
|
|
|
+ $total_weight = 0;
|
|
|
|
|
|
//Links
|
|
|
|
|
|
- foreach ($data_array as $data) {
|
|
|
- $row = array();
|
|
|
- $item = $data[0];
|
|
|
- $id = $item->get_id();
|
|
|
-
|
|
|
- //if the item is invisible, wrap it in a span with class invisible
|
|
|
- $invisibility_span_open = (api_is_allowed_to_edit() && $item->is_visible() == '0') ? '<span class="invisible">' : '';
|
|
|
- $invisibility_span_close = (api_is_allowed_to_edit() && $item->is_visible() == '0') ? '</span>' : '';
|
|
|
+ foreach ($data_array as $data) {
|
|
|
+ $row = array();
|
|
|
+ $item = $data[0];
|
|
|
+ $id = $item->get_id();
|
|
|
+
|
|
|
+ //if the item is invisible, wrap it in a span with class invisible
|
|
|
+ $invisibility_span_open = (api_is_allowed_to_edit() && $item->is_visible() == '0') ? '<span class="invisible">' : '';
|
|
|
+ $invisibility_span_close = (api_is_allowed_to_edit() && $item->is_visible() == '0') ? '</span>' : '';
|
|
|
|
|
|
$main_categories[$parent_id]['children'][$item->get_id()]['name'] = $item->get_name();
|
|
|
$main_categories[$parent_id]['children'][$item->get_id()]['weight'] = $item->get_weight();
|
|
|
|
|
|
- if (api_is_allowed_to_edit(null, true)) {
|
|
|
- $row[] = $this->build_id_column($item);
|
|
|
- }
|
|
|
+ if (api_is_allowed_to_edit(null, true)) {
|
|
|
+ $row[] = $this->build_id_column($item);
|
|
|
+ }
|
|
|
+
|
|
|
+ $row[] = $this->build_type_column($item, array('style' => 'padding-left:5px'));
|
|
|
+
|
|
|
+ //Name
|
|
|
+ $row[] = $invisibility_span_open." ".$this->build_name_link($item) . $invisibility_span_close;
|
|
|
|
|
|
- $row[] = $this->build_type_column($item, array('style' => 'padding-left:5px'));
|
|
|
-
|
|
|
- //Name
|
|
|
- $row[] = $invisibility_span_open." ".$this->build_name_link($item) . $invisibility_span_close;
|
|
|
-
|
|
|
- //Description
|
|
|
- $row[] = $invisibility_span_open.$data[2].$invisibility_span_close;
|
|
|
-
|
|
|
- //Weight
|
|
|
+ //Description
|
|
|
+ $row[] = $invisibility_span_open.$data[2].$invisibility_span_close;
|
|
|
+
|
|
|
+ //Weight
|
|
|
//$weight = $data[3]/$category_weight*$main_cat[0]->get_weight();
|
|
|
/*$weight = $category_weight * $data[3] / $main_cat[0]->get_weight();
|
|
|
$weight = $main_cat[0]->get_weight()*$weight/$category_weight;*/
|
|
@@ -315,45 +315,45 @@ class GradebookTable extends SortableTable {
|
|
|
$total_weight += $weight;
|
|
|
|
|
|
$row[] = $invisibility_span_open.$weight.$extra.$invisibility_span_close;
|
|
|
-
|
|
|
- if (api_is_allowed_to_edit(null, true)) {
|
|
|
- //$weight_total_links += intval($data[3]);
|
|
|
- } else {
|
|
|
- $cattotal = Category :: load($_GET['selectcat']);
|
|
|
- $scoretotal = $cattotal[0]->calc_score(api_get_user_id());
|
|
|
- $item_value = $scoretotal[0];
|
|
|
- }
|
|
|
-
|
|
|
- //Date
|
|
|
- //$row[] = $invisibility_span_open.$data[4].$invisibility_span_close;
|
|
|
-
|
|
|
- //Admins get an edit column
|
|
|
- if (api_is_allowed_to_edit(null, true)) {
|
|
|
- $cat = new Category();
|
|
|
- $show_message = $cat->show_message_resource_delete($item->get_course_code());
|
|
|
- if ($show_message === false) {
|
|
|
- $row[] = $this->build_edit_column($item);
|
|
|
- }
|
|
|
- } else {
|
|
|
- //students get the results and certificates columns
|
|
|
- $eval_n_links = array_merge($alleval, $alllink);
|
|
|
-
|
|
|
- if (count($eval_n_links)> 0 && $status_user!=1 ) {
|
|
|
- $value_data = isset($data[4]) ? $data[4] : null;
|
|
|
- if (!is_null($value_data)) {
|
|
|
+
|
|
|
+ if (api_is_allowed_to_edit(null, true)) {
|
|
|
+ //$weight_total_links += intval($data[3]);
|
|
|
+ } else {
|
|
|
+ $cattotal = Category :: load($_GET['selectcat']);
|
|
|
+ $scoretotal = $cattotal[0]->calc_score(api_get_user_id());
|
|
|
+ $item_value = $scoretotal[0];
|
|
|
+ }
|
|
|
+
|
|
|
+ //Date
|
|
|
+ //$row[] = $invisibility_span_open.$data[4].$invisibility_span_close;
|
|
|
+
|
|
|
+ //Admins get an edit column
|
|
|
+ if (api_is_allowed_to_edit(null, true)) {
|
|
|
+ $cat = new Category();
|
|
|
+ $show_message = $cat->show_message_resource_delete($item->get_course_code());
|
|
|
+ if ($show_message === false) {
|
|
|
+ $row[] = $this->build_edit_column($item);
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ //students get the results and certificates columns
|
|
|
+ $eval_n_links = array_merge($alleval, $alllink);
|
|
|
+
|
|
|
+ if (count($eval_n_links)> 0 && $status_user!=1 ) {
|
|
|
+ $value_data = isset($data[4]) ? $data[4] : null;
|
|
|
+ if (!is_null($value_data)) {
|
|
|
$score = $item->calc_score(api_get_user_id());
|
|
|
$new_score = $data[3]* $score[0] / $score[1];
|
|
|
$row[] = Display::tip($new_score, $data[4]);
|
|
|
- }
|
|
|
- }
|
|
|
+ }
|
|
|
+ }
|
|
|
if (!empty($cats)) {
|
|
|
$row[] = null;
|
|
|
}
|
|
|
- }
|
|
|
+ }
|
|
|
$row['child_of'] = $parent_id;
|
|
|
|
|
|
- $sortable_data[] = $row;
|
|
|
- }
|
|
|
+ $sortable_data[] = $row;
|
|
|
+ }
|
|
|
|
|
|
//"Warning row"
|
|
|
if (!empty($data_array)) {
|
|
@@ -369,9 +369,9 @@ class GradebookTable extends SortableTable {
|
|
|
$row = array(null, null, " <h5>".get_lang('SubTotal').'</h5>',null, $total.' '.$label, 'child_of' =>$parent_id);
|
|
|
$sortable_data[] = $row;
|
|
|
}
|
|
|
- }
|
|
|
- }
|
|
|
- } //end looping categories
|
|
|
+ }
|
|
|
+ }
|
|
|
+ } //end looping categories
|
|
|
|
|
|
if (api_is_allowed_to_edit()) {
|
|
|
if (count($main_cat) > 1) {
|
|
@@ -386,86 +386,86 @@ class GradebookTable extends SortableTable {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- // warning messages
|
|
|
+ // warning messages
|
|
|
$view = isset($_GET['view']) ? $_GET['view']: null;
|
|
|
- if (api_is_allowed_to_edit()) {
|
|
|
-
|
|
|
- if (isset($_GET['selectcat']) && $_GET['selectcat'] > 0 && $view <> 'presence') {
|
|
|
- $id_cat = intval($_GET['selectcat']);
|
|
|
- $category = Category :: load($id_cat);
|
|
|
- //$weight_category = intval($this->build_weight($category[0]));
|
|
|
- $weight_category = intval($this->build_weight($category[0]));
|
|
|
- $course_code = $this->build_course_code($category[0]);
|
|
|
+ if (api_is_allowed_to_edit()) {
|
|
|
+
|
|
|
+ if (isset($_GET['selectcat']) && $_GET['selectcat'] > 0 && $view <> 'presence') {
|
|
|
+ $id_cat = intval($_GET['selectcat']);
|
|
|
+ $category = Category :: load($id_cat);
|
|
|
+ //$weight_category = intval($this->build_weight($category[0]));
|
|
|
+ $weight_category = intval($this->build_weight($category[0]));
|
|
|
+ $course_code = $this->build_course_code($category[0]);
|
|
|
$weight_total_links = round($weight_total_links);
|
|
|
|
|
|
- if ($weight_total_links > $weight_category || $weight_total_links < $weight_category || $weight_total_links > $weight_category) {
|
|
|
- $warning_message = sprintf(get_lang('TotalWeightMustBeX'), $weight_category);
|
|
|
- $modify_icons = '<a class="right_link" href="gradebook_edit_cat.php?editcat='.$id_cat.'&cidReq='.$course_code.'">'.Display::return_icon('edit.png', $warning_message, array(), ICON_SIZE_SMALL).'</a>';
|
|
|
- $warning_message .= $modify_icons;
|
|
|
- Display::display_warning_message($warning_message,false);
|
|
|
- }
|
|
|
+ if ($weight_total_links > $weight_category || $weight_total_links < $weight_category || $weight_total_links > $weight_category) {
|
|
|
+ $warning_message = sprintf(get_lang('TotalWeightMustBeX'), $weight_category);
|
|
|
+ $modify_icons = '<a class="right_link" href="gradebook_edit_cat.php?editcat='.$id_cat.'&cidReq='.$course_code.'">'.Display::return_icon('edit.png', $warning_message, array(), ICON_SIZE_SMALL).'</a>';
|
|
|
+ $warning_message .= $modify_icons;
|
|
|
+ Display::display_warning_message($warning_message,false);
|
|
|
+ }
|
|
|
|
|
|
- $content_html = DocumentManager::replace_user_info_into_html(api_get_user_id(), $course_code);
|
|
|
- if (!empty($content_html)) {
|
|
|
- $new_content = explode('</head>',$content_html['content']);
|
|
|
+ $content_html = DocumentManager::replace_user_info_into_html(api_get_user_id(), $course_code);
|
|
|
+ if (!empty($content_html)) {
|
|
|
+ $new_content = explode('</head>',$content_html['content']);
|
|
|
}
|
|
|
|
|
|
- if (empty($new_content[0])) {
|
|
|
- $warning_message = get_lang('ThereIsNotACertificateAvailableByDefault');
|
|
|
- $cert_icon = '<a class="right_link" href="../document/document.php?curdirpath=/certificates&'.$course_code.'&origin=gradebook&selectcat=' . $id_cat . '">'.Display::return_icon('certificate.png', get_lang('AttachCertificate'), array(), ICON_SIZE_SMALL).'</a>';
|
|
|
+ if (empty($new_content[0])) {
|
|
|
+ $warning_message = get_lang('ThereIsNotACertificateAvailableByDefault');
|
|
|
+ $cert_icon = '<a class="right_link" href="../document/document.php?curdirpath=/certificates&'.$course_code.'&origin=gradebook&selectcat=' . $id_cat . '">'.Display::return_icon('certificate.png', get_lang('AttachCertificate'), array(), ICON_SIZE_SMALL).'</a>';
|
|
|
|
|
|
- Display::display_warning_message($warning_message.$cert_icon,false);
|
|
|
- }
|
|
|
- }
|
|
|
+ Display::display_warning_message($warning_message.$cert_icon,false);
|
|
|
+ }
|
|
|
+ }
|
|
|
|
|
|
- if (empty($_GET['selectcat'])) {
|
|
|
- $categories = Category :: load();
|
|
|
- $weight_categories = $certificate_min_scores = $course_codes = array();
|
|
|
- foreach ($categories as $category) {
|
|
|
- $course_code_category = $this->build_course_code($category);
|
|
|
- if (!empty($course_code)) {
|
|
|
- if ($course_code_category == $course_code) {
|
|
|
- $weight_categories[] = intval($this->build_weight($category));
|
|
|
- $certificate_min_scores[] = intval($this->build_certificate_min_score($category));
|
|
|
- $course_codes[] = $course_code;
|
|
|
- break;
|
|
|
- }
|
|
|
- } else {
|
|
|
- $weight_categories[] = intval($this->build_weight($category));
|
|
|
- $certificate_min_scores[] = intval($this->build_certificate_min_score($category));
|
|
|
- $course_codes[] = $course_code_category;
|
|
|
- }
|
|
|
- }
|
|
|
+ if (empty($_GET['selectcat'])) {
|
|
|
+ $categories = Category :: load();
|
|
|
+ $weight_categories = $certificate_min_scores = $course_codes = array();
|
|
|
+ foreach ($categories as $category) {
|
|
|
+ $course_code_category = $this->build_course_code($category);
|
|
|
+ if (!empty($course_code)) {
|
|
|
+ if ($course_code_category == $course_code) {
|
|
|
+ $weight_categories[] = intval($this->build_weight($category));
|
|
|
+ $certificate_min_scores[] = intval($this->build_certificate_min_score($category));
|
|
|
+ $course_codes[] = $course_code;
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ $weight_categories[] = intval($this->build_weight($category));
|
|
|
+ $certificate_min_scores[] = intval($this->build_certificate_min_score($category));
|
|
|
+ $course_codes[] = $course_code_category;
|
|
|
+ }
|
|
|
+ }
|
|
|
|
|
|
- if (is_array($weight_categories) && is_array($certificate_min_scores) && is_array($course_codes)) {
|
|
|
- $warning_message = '';
|
|
|
- for ($x = 0; $x<count($weight_categories);$x++) {
|
|
|
- $weight_category = intval($weight_categories[$x]);
|
|
|
- $certificate_min_score = intval($certificate_min_scores[$x]);
|
|
|
- $course_code = $course_codes[$x];
|
|
|
+ if (is_array($weight_categories) && is_array($certificate_min_scores) && is_array($course_codes)) {
|
|
|
+ $warning_message = '';
|
|
|
+ for ($x = 0; $x<count($weight_categories);$x++) {
|
|
|
+ $weight_category = intval($weight_categories[$x]);
|
|
|
+ $certificate_min_score = intval($certificate_min_scores[$x]);
|
|
|
+ $course_code = $course_codes[$x];
|
|
|
|
|
|
- if (empty($certificate_min_score) || ($certificate_min_score > $weight_category)) {
|
|
|
- $warning_message .= $course_code .' - '.get_lang('CertificateMinimunScoreIsRequiredAndMustNotBeMoreThan').' '.$weight_category.'<br />';
|
|
|
- }
|
|
|
- }
|
|
|
+ if (empty($certificate_min_score) || ($certificate_min_score > $weight_category)) {
|
|
|
+ $warning_message .= $course_code .' - '.get_lang('CertificateMinimunScoreIsRequiredAndMustNotBeMoreThan').' '.$weight_category.'<br />';
|
|
|
+ }
|
|
|
+ }
|
|
|
|
|
|
- if (!empty($warning_message)) {
|
|
|
- Display::display_warning_message($warning_message,false);
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- return $sortable_data;
|
|
|
- }
|
|
|
+ if (!empty($warning_message)) {
|
|
|
+ Display::display_warning_message($warning_message,false);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return $sortable_data;
|
|
|
+ }
|
|
|
|
|
|
// Other functions
|
|
|
|
|
|
private function build_certificate_min_score ($item) {
|
|
|
- return $item->get_certificate_min_score();
|
|
|
+ return $item->get_certificate_min_score();
|
|
|
}
|
|
|
|
|
|
private function build_weight ($item) {
|
|
|
- return $item->get_weight();
|
|
|
+ return $item->get_weight();
|
|
|
}
|
|
|
|
|
|
private function build_course_code ($item) {
|