|
|
|
|
@ -17,6 +17,8 @@ class Certificate extends Model { |
|
|
|
|
var $certification_web_user_path = null; |
|
|
|
|
var $user_id; |
|
|
|
|
|
|
|
|
|
var $force_certificate_generation = false; //If true every time we enter to the certificate URL we would generate a new certificate |
|
|
|
|
|
|
|
|
|
public function __construct($certificate_id = null) { |
|
|
|
|
$this->table = Database::get_main_table(TABLE_MAIN_GRADEBOOK_CERTIFICATE); |
|
|
|
|
$this->certificate_data = null; |
|
|
|
|
@ -35,7 +37,9 @@ class Certificate extends Model { |
|
|
|
|
$this->check_certificate_path(); |
|
|
|
|
|
|
|
|
|
//To force certification generation |
|
|
|
|
$this->generate(); |
|
|
|
|
if ($this->force_certificate_generation) { |
|
|
|
|
$this->generate(); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
if (isset($this->certificate_data) && $this->certificate_data) { |
|
|
|
|
if (empty($this->certificate_data['path_certificate'])) { |
|
|
|
|
@ -96,10 +100,10 @@ class Certificate extends Model { |
|
|
|
|
* */ |
|
|
|
|
|
|
|
|
|
public function generate() { |
|
|
|
|
$always_generate = false; // For test purposes |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//The user directory should be set |
|
|
|
|
if (empty($this->certification_user_path) && $always_generate == false) { |
|
|
|
|
if (empty($this->certification_user_path) && $this->force_certificate_generation == false) { |
|
|
|
|
return false; |
|
|
|
|
} |
|
|
|
|
require_once api_get_path(SYS_CODE_PATH).'gradebook/lib/be.inc.php'; |
|
|
|
|
@ -107,7 +111,7 @@ class Certificate extends Model { |
|
|
|
|
require_once api_get_path(SYS_CODE_PATH).'gradebook/lib/scoredisplay.class.php'; |
|
|
|
|
|
|
|
|
|
$my_category = Category :: load($this->certificate_data['cat_id']); |
|
|
|
|
if ($my_category[0]->is_certificate_available($this->user_id)) { |
|
|
|
|
if (isset($my_category[0]) && $my_category[0]->is_certificate_available($this->user_id)) { |
|
|
|
|
|
|
|
|
|
$user = api_get_user_info($this->user_id); |
|
|
|
|
$scoredisplay = ScoreDisplay :: instance(); |
|
|
|
|
@ -137,7 +141,7 @@ class Certificate extends Model { |
|
|
|
|
if ($cat_id = strval(intval($this->certificate_data['cat_id']))) { |
|
|
|
|
$name = $this->certificate_data['path_certificate']; |
|
|
|
|
$my_path_certificate = $this->certification_user_path.basename($name); |
|
|
|
|
if (file_exists($my_path_certificate) && !empty($name) && !is_dir($my_path_certificate) && $always_generate == false) { |
|
|
|
|
if (file_exists($my_path_certificate) && !empty($name) && !is_dir($my_path_certificate) && $this->force_certificate_generation == false) { |
|
|
|
|
//Seems that the file was already generated |
|
|
|
|
return true; |
|
|
|
|
} else { |
|
|
|
|
|