diff --git a/main/gradebook/gradebook_flatview.php b/main/gradebook/gradebook_flatview.php
index 55b7caef25..336038dc1f 100644
--- a/main/gradebook/gradebook_flatview.php
+++ b/main/gradebook/gradebook_flatview.php
@@ -127,6 +127,7 @@ if (isset($_GET['exportpdf'])) {
$params['join_firstname_lastname'] = true;
$params['show_usercode'] = true;
$params['export_pdf'] = true;
+ $params['only_total_category'] = false;
export_pdf_flatview($cat, $users, $alleval, $alllinks, $params);
} else {
Display :: display_header(get_lang('ExportPDF'));
@@ -134,7 +135,7 @@ if (isset($_GET['exportpdf'])) {
}
if (isset ($_GET['print'])) {
- $printable_data = get_printable_data ($cat[0], $users, $alleval, $alllinks);
+ $printable_data = get_printable_data($cat[0], $users, $alleval, $alllinks);
echo print_table($printable_data[1],$printable_data[0], get_lang('FlatView'), $cat[0]->get_name());
exit;
}
diff --git a/main/gradebook/lib/flatview_data_generator.class.php b/main/gradebook/lib/flatview_data_generator.class.php
index 01ab8f0cc4..7a7d32ad0d 100644
--- a/main/gradebook/lib/flatview_data_generator.class.php
+++ b/main/gradebook/lib/flatview_data_generator.class.php
@@ -12,7 +12,6 @@
*/
class FlatViewDataGenerator
{
-
// Sorting types constants
const FVDG_SORT_LASTNAME = 1;
const FVDG_SORT_FIRSTNAME = 2;
@@ -67,8 +66,13 @@ class FlatViewDataGenerator
$headers[] = get_lang('LastnameAndFirstname');
}
} else {
- $headers[] = get_lang('LastName');
- $headers[] = get_lang('FirstName');
+ if (api_is_western_name_order()) {
+ $headers[] = get_lang('FirstName');
+ $headers[] = get_lang('LastName');
+ } else {
+ $headers[] = get_lang('LastName');
+ $headers[] = get_lang('FirstName');
+ }
}
if (!isset($items_count)) {
$items_count = count($this->evals_links) - $items_start;
@@ -109,8 +113,12 @@ class FlatViewDataGenerator
$allcat = $this->category->get_subcategories(null, $course_code, $session_id, 'ORDER BY id');
foreach ($allcat as $sub_cat) {
- $sub_cat_weight = 100*$sub_cat->get_weight()/$main_weight;
- $headers[] = Display::url($sub_cat->get_name(), api_get_self().'?selectcat='.$sub_cat->get_id()).' '.$sub_cat_weight.' % ';
+ $sub_cat_weight = 100*$sub_cat->get_weight()/$main_weight;
+ $add_weight = " $sub_cat_weight %";
+ if (isset($this->params['export_pdf']) && $this->params['export_pdf']) {
+ $add_weight = null;
+ }
+ $headers[] = Display::url($sub_cat->get_name(), api_get_self().'?selectcat='.$sub_cat->get_id()).$add_weight;
}
} else {
if (!isset($this->params['only_total_category'])) {
@@ -122,7 +130,7 @@ class FlatViewDataGenerator
}
}
}
- $headers[] = get_lang('GradebookQualificationTotal').' 100%';
+ $headers[] = api_strtoupper(get_lang('GradebookQualificationTotal'));
return $headers;
}
@@ -178,12 +186,14 @@ class FlatViewDataGenerator
if ($items_count < 0) {
$items_count = 0;
}
+
// copy users to a new array that we will sort
// TODO - needed ?
$usertable = array ();
foreach ($this->users as $user) {
$usertable[] = $user;
}
+
// sort users array
if ($users_sorting & self :: FVDG_SORT_LASTNAME) {
usort($usertable, array ('FlatViewDataGenerator','sort_by_last_name'));
@@ -240,7 +250,7 @@ class FlatViewDataGenerator
if (isset($this->params['export_pdf']) && $this->params['export_pdf']) {
$export_to_pdf = true;
}
-
+
foreach ($selected_users as $user) {
$row = array();
if ($export_to_pdf) {
@@ -265,11 +275,21 @@ class FlatViewDataGenerator
}
} else {
if ($export_to_pdf) {
- $row['lastname'] = $user[2]; //last name
- $row['firstname'] = $user[3]; //first name
+ if (api_is_western_name_order()) {
+ $row['firstname'] = $user[3];
+ $row['lastname'] = $user[2];
+ } else {
+ $row['lastname'] = $user[2];
+ $row['firstname'] = $user[3];
+ }
} else {
- $row[] = $user[2]; //last name
- $row[] = $user[3]; //first name
+ if (api_is_western_name_order()) {
+ $row[] = $user[3]; //first name
+ $row[] = $user[2]; //last name
+ } else {
+ $row[] = $user[2]; //last name
+ $row[] = $user[3]; //first name
+ }
}
}
@@ -304,19 +324,11 @@ class FlatViewDataGenerator
//$temp_score = $scoredisplay->display_score($score, SCORE_DIV_PERCENT, SCORE_ONLY_SCORE);
$temp_score = $scoredisplay->display_score($score, SCORE_DIV_SIMPLE_WITH_CUSTOM);
- if (!isset($this->params['only_total_category'])) {
+ if (!isset($this->params['only_total_category']) || (isset($this->params['only_total_category']) && $this->params['only_total_category'] == false)) {
if (!$show_all) {
- if ($export_to_pdf) {
- $row['score'] = $temp_score.' ';
- } else {
- $row[] = $temp_score.' ';
- }
+ $row[] = $temp_score.' ';
} else {
- if ($export_to_pdf) {
- $row['score'] = $temp_score;
- } else {
- $row[] = $temp_score;
- }
+ $row[] = $temp_score;
}
}
$item_value_total +=$item_value;
@@ -347,32 +359,20 @@ class FlatViewDataGenerator
$temp_score = $scoredisplay->display_score($score, SCORE_DIV_PERCENT, SCORE_ONLY_SCORE);
//$temp_score = $scoredisplay->display_score($score, SCORE_DIV_SIMPLE_WITH_CUSTOM);
- if (!isset($this->params['only_total_category'])) {
+ if (!isset($this->params['only_total_category']) || (isset($this->params['only_total_category']) && $this->params['only_total_category'] == false)) {
if (!$show_all) {
if (in_array($item->get_type() , array(LINK_EXERCISE, LINK_DROPBOX, LINK_STUDENTPUBLICATION,
LINK_LEARNPATH, LINK_FORUM_THREAD, LINK_ATTENDANCE,LINK_SURVEY))) {
if (!empty($score[0])) {
- if ($export_to_pdf) {
- $row['score'] = $temp_score.' ';
- } else {
- $row[] = $temp_score.' ';
- }
+ $row[] = $temp_score.' ';
} else {
- $row['score'] = '';
+ $row[] = '';
}
} else {
- if ($export_to_pdf) {
- $row['score'] = $temp_score.' ';
- } else {
- $row[] = $temp_score.' ';
- }
+ $row[] = $temp_score.' ';
}
- } else {
- if ($export_to_pdf) {
- $row['score'] = $temp_score;
- } else {
- $row[] = $temp_score;
- }
+ } else {
+ $row[] = $temp_score;
}
}
$item_value_total +=$item_value;
@@ -396,7 +396,8 @@ class FlatViewDataGenerator
$row[] = $scoredisplay->display_score($total_score, SCORE_DIV_SIMPLE_WITH_CUSTOM_LETTERS);
}
}
- unset($score);
+ unset($score);
+ //var_dump($row);exit;
$data[] = $row;
}
return $data;
diff --git a/main/gradebook/lib/gradebook_functions.inc.php b/main/gradebook/lib/gradebook_functions.inc.php
index 88b2365243..ad18b3e9fa 100644
--- a/main/gradebook/lib/gradebook_functions.inc.php
+++ b/main/gradebook/lib/gradebook_functions.inc.php
@@ -30,16 +30,6 @@ require_once api_get_path(LIBRARY_PATH).'grade_model.lib.php';
* @return boolean True on success, false on failure
*/
function add_resource_to_course_gradebook($category_id, $course_code, $resource_type, $resource_id, $resource_name='', $weight=0, $max=0, $resource_description='', $visible=0, $session_id = 0) {
- /* See defines in lib/be/linkfactory.class.php
- define('LINK_EXERCISE',1);
- define('LINK_DROPBOX',2);
- define('LINK_STUDENTPUBLICATION',3);
- define('LINK_LEARNPATH',4);
- define('LINK_FORUM_THREAD',5),
- define('LINK_WORK',6);
- */
- require_once api_get_path(SYS_CODE_PATH).'gradebook/lib/be.inc.php';
-
$link = LinkFactory :: create($resource_type);
$link->set_user_id(api_get_user_id());
$link->set_course_code($course_code);
@@ -72,17 +62,11 @@ function add_resource_to_course_gradebook($category_id, $course_code, $resource_
}
function block_students() {
- //if (!api_is_allowed_to_create_course()) {
if (!api_is_allowed_to_edit()) {
api_not_allowed();
}
}
-/**
- * Returns the info header for the user result page
- * @param $userid
- */
-
/**
* Returns the course name from a given code
* @param string $code
@@ -95,6 +79,7 @@ function get_course_name_from_code($code) {
return $col['title'];
}
}
+
/**
* Builds an img tag for a gradebook item
* @param string $type value returned by a gradebookitem's get_icon_name()
@@ -157,7 +142,6 @@ function get_icon_file_name ($type) {
return api_get_path(WEB_IMG_PATH).$icon;
}
-
/**
* Builds the course or platform admin icons to edit a category
* @param object $cat category object
@@ -211,11 +195,6 @@ function build_edit_icons_cat($cat, $selectcat) {
} else {
//$modify_icons .= '
';
}
-
- if (empty($grade_model_id) || $grade_model_id == -1) {
- /*$modify_icons .= ' '.
- Display::return_icon('percentage.png', get_lang('EditAllWeights'),'',ICON_SIZE_SMALL).' '; */
- }
if ($cat->is_locked() && !api_is_platform_admin()) {
$modify_icons .= Display::return_icon('delete_na.png', get_lang('DeleteAll'),'',ICON_SIZE_SMALL);
} else {
@@ -371,8 +350,7 @@ function get_resource_from_course_gradebook($link_id) {
* @return bool false on error, true on success
*/
function remove_resource_from_course_gradebook($link_id) {
- if ( empty($link_id) ) { return false; }
- require_once api_get_path(SYS_CODE_PATH).'gradebook/lib/be.inc.php';
+ if ( empty($link_id) ) { return false; }
// TODO find the corresponding category (the first one for this course, ordered by ID)
$l = Database::get_main_table(TABLE_MAIN_GRADEBOOK_LINK);
$sql = "DELETE FROM $l WHERE id = ".(int)$link_id;
@@ -409,8 +387,7 @@ function get_course_id_by_link_id($id_link) {
return $array['id'];
}
-function get_table_type_course($type) {
- global $_configuration;
+function get_table_type_course($type) {
global $table_evaluated;
return Database::get_course_table($table_evaluated[$type][0]);
}
@@ -699,17 +676,18 @@ function load_gradebook_select_in_tool($form) {
}
}
-function export_pdf_flatview($cat, $users, $alleval, $alllinks, $params = array()) {
- // Beginning of PDF report creation
-
+/**
+ * PDF report creation
+ */
+function export_pdf_flatview($cat, $users, $alleval, $alllinks, $params = array()) {
+ //Getting data
$printable_data = get_printable_data($cat[0], $users, $alleval, $alllinks, $params);
// Reading report's CSS
$css_file = api_get_path(SYS_CODE_PATH).'gradebook/print.css';
$css = file_exists($css_file) ? @file_get_contents($css_file) : '';
- // HTML report creation first
- $time = time();
+ // HTML report creation first
$course_code = trim($cat[0]->get_course_code());
$organization = api_get_setting('Institution');
@@ -757,17 +735,20 @@ function export_pdf_flatview($cat, $users, $alleval, $alllinks, $params = array(
}
if ($use_grade_model) {
- if ($parent_id == 0) {
- $title = '