Adding grade, course code and course title in gradebook certificates see BT#2725

skala
Julio Montoya 15 years ago
parent 1c937c69e8
commit 8bbfdefd52
  1. 13
      main/gradebook/gradebook_statistics.php
  2. 10
      main/gradebook/lib/fe/gradebooktable.class.php
  3. BIN
      main/img/icons/22/month.png
  4. 38
      main/inc/lib/document.lib.php
  5. 21
      main/inc/lib/usermanager.lib.php

@ -1,8 +1,11 @@
<?php // $Id: $
<?php
/* For licensing terms, see /license.txt */
$language_file= 'gradebook';
//$cidReset= true;
require_once '../inc/global.inc.php';
require_once 'lib/be.inc.php';
require_once 'lib/gradebook_functions.inc.php';
require_once 'lib/fe/dataform.class.php';
@ -10,7 +13,7 @@ require_once 'lib/scoredisplay.class.php';
require_once 'lib/fe/displaygradebook.php';
api_block_anonymous_users();
$eval= Evaluation :: load($_GET['selecteval']);
if ($eval[0]->get_category_id() < 0) {
if ($eval[0]->get_category_id() < 0) {
// if category id is negative, then the evaluation's origin is a link
$link= LinkFactory :: get_evaluation_link($eval[0]->get_id());
$currentcat= Category :: load($link->get_category_id());
@ -57,9 +60,9 @@ if (!$displayscore->is_custom()) {
// find the region with the most scores, this is 100% of the bar
$highest_ratio = 0;
foreach ($keys as $key) {
if ($nr_items[$key] > $highest_ratio){
$highest_ratio = $nr_items[$key];
foreach($keys as $key) {
if ($nr_items[$key] > $highest_ratio) {
$highest_ratio = $nr_items[$key];
}
}

@ -116,10 +116,10 @@ class GradebookTable extends SortableTable
$sorting |= GradebookDataGenerator :: GDG_SORT_ASC;
}
//status of user in course
$user_id=api_get_user_id();
$course_code=api_get_course_id();
$status_user=api_get_status_of_user_in_course ($user_id,$course_code);
$data_array = $this->datagen->get_data($sorting, $from, $this->per_page);
$user_id = api_get_user_id();
$course_code = api_get_course_id();
$status_user = api_get_status_of_user_in_course ($user_id,$course_code);
$data_array = $this->datagen->get_data($sorting, $from, $this->per_page);
// generate the data to display
$sortable_data = array();
@ -248,7 +248,7 @@ class GradebookTable extends SortableTable
Display::display_warning_message($warning_message,false);
}
$content_html=DocumentManager::replace_user_info_into_html(api_get_user_id(), $course_code);
$content_html = DocumentManager::replace_user_info_into_html(api_get_user_id(), $course_code);
$new_content=explode('</head>',$content_html);

Binary file not shown.

After

Width:  |  Height:  |  Size: 931 B

@ -1203,8 +1203,8 @@ return 'application/octet-stream';
function replace_user_info_into_html($user_id, $course_id, $is_preview = false) {
$user_id = intval($user_id);
$course_info = api_get_course_info($course_id);
$tbl_document=Database::get_course_table(TABLE_DOCUMENT, $course_info['dbName']);
$document_id=self::get_default_certificate_id($course_id);
$tbl_document = Database::get_course_table(TABLE_DOCUMENT, $course_info['dbName']);
$document_id = self::get_default_certificate_id($course_id);
$sql = 'SELECT path FROM '.$tbl_document.' WHERE id="'.Database::escape_string($document_id).'" ';
@ -1217,7 +1217,7 @@ return 'application/octet-stream';
if (is_file($filepath)) {
$my_content_html=file_get_contents($filepath);
}
$all_user_info=self::get_all_info_to_certificate($user_id, $is_preview);
$all_user_info = self::get_all_info_to_certificate($user_id, $is_preview);
$info_to_be_replaced_in_content_html=$all_user_info[0];
$info_to_replace_in_content_html=$all_user_info[1];
$new_content=str_replace($info_to_be_replaced_in_content_html,$info_to_replace_in_content_html, $my_content_html);
@ -1232,6 +1232,8 @@ return 'application/octet-stream';
$info_list = array();
$user_id = intval($user_id);
$course_id = api_get_course_id();
$course_info = api_get_course_info($course_id);
//info portal
$organization_name = api_get_setting('Institution');
@ -1254,7 +1256,7 @@ return 'application/octet-stream';
// info gradebook certificate
$info_grade_certificate = UserManager::get_info_gradebook_certificate($course_id, $user_id);
$date_certificate = $info_grade_certificate['created_at'];
$date_long_certificate = '';
if (!empty($date_certificate)) {
@ -1266,9 +1268,31 @@ return 'application/octet-stream';
}
//replace content
$info_to_replace_in_content_html = array($first_name,$last_name,$organization_name,$portal_name,$teacher_first_name,$teacher_last_name, $official_code, $date_long_certificate);
$info_to_be_replaced_in_content_html= array('((user_firstname))','((user_lastname))','((gradebook_institution))',
'((gradebook_sitename))','((teacher_firstname))','((teacher_lastname))','((official_code))','((date_certificate))');
$info_to_replace_in_content_html = array($first_name,
$last_name,
$organization_name,
$portal_name,
$teacher_first_name,
$teacher_last_name,
$official_code,
$date_long_certificate,
$course_id,
$course_info['name'],
$info_grade_certificate['grade'],
);
$info_to_be_replaced_in_content_html = array('((user_firstname))',
'((user_lastname))',
'((gradebook_institution))',
'((gradebook_sitename))',
'((teacher_firstname))',
'((teacher_lastname))',
'((official_code))',
'((date_certificate))',
'((course_code))',
'((course_title))',
'((gradebook_grade))',
);
if (!empty($extra_user_info_data)) {
foreach ($extra_user_info_data as $key_extra=>$value_extra) {
$info_to_be_replaced_in_content_html[]='(('.strtolower($key_extra).'))';

@ -3231,12 +3231,27 @@ class UserManager
if (empty($session_id)) {
$session_condition = ' AND (session_id = "" OR session_id = 0 OR session_id IS NULL )';
} else {
$session_condition = " AND session_id = $session_condition";
$session_condition = " AND session_id = $session_id";
}
$sql='SELECT * FROM '.$tbl_grade_certificate.' WHERE cat_id= (SELECT id FROM '.$tbl_grade_category.' WHERE course_code = "'.Database::escape_string($course_code).'" '.$session_condition.' LIMIT 1 ) AND user_id='.Database::escape_string($user_id);
$rs = Database::query($sql);
//Getting gradebook score
require_once api_get_path(SYS_CODE_PATH).'gradebook/lib/be.inc.php';
require_once api_get_path(SYS_CODE_PATH).'gradebook/lib/scoredisplay.class.php';
$sql = 'SELECT * FROM '.$tbl_grade_certificate.' WHERE cat_id = (SELECT id FROM '.$tbl_grade_category.' WHERE course_code = "'.Database::escape_string($course_code).'" '.$session_condition.' LIMIT 1 ) AND user_id='.Database::escape_string($user_id);
$rs = Database::query($sql);
if (Database::num_rows($rs) > 0) {
$row = Database::fetch_array($rs,'ASSOC');
$score = $row['score_certificate'];
$category_id = $row['cat_id'];
$eval = Evaluation::load(null, null, $course_code, $category_id);
$displayscore = ScoreDisplay::instance();
$grade = '';
if (isset($eval) && $displayscore->is_custom()) {
$grade = $displayscore->display_score(array($score, $eval[0]->get_max()), SCORE_DIV | SCORE_IGNORE_SPLIT, SCORE_ONLY_CUSTOM);
}
$row['grade'] = $grade;
return $row;
}
return false;

Loading…
Cancel
Save