public/main/gradebook/lib/be/dropboxlink.class.php
<?php
/* For licensing terms, see /license.txt */
/**
* Gradebook link to dropbox item.
*
* @author Bert Steppé
*/
class DropboxLink extends EvalLink
{
private $dropbox_table = null;
/**
* Constructor.
*/
public function __construct()
{
parent::__construct();
$this->set_type(LINK_DROPBOX);
}
/**
* Returns the URL of a document
* This function is loaded when using a gradebook as a tab (gradebook = -1) see issue #2705.
*/
public function get_view_url($stud_id)
{
// find a file uploaded by the given student,
// with the same title as the evaluation name
$eval = $this->get_evaluation();
$sql = 'SELECT filename FROM '.$this->get_dropbox_table().'
WHERE
c_id = '.$this->course_id.' AND
uploader_id = '.intval($stud_id)." AND
title = '".Database::escape_string($eval->get_name())."'";
$result = Database::query($sql);
if ($fileurl = Database::fetch_row($result)) {
return null;
} else {
return null;
}
}
public function get_type_name()
{
return get_lang('Dropbox');
}
public function is_allowed_to_change_name()
{
return false;
}
public function get_icon_name()
{
return 'dropbox';
}
/**
* Lazy load function to get the dropbox database table.
*/
private function get_dropbox_table()
{
$this->dropbox_table = Database::get_course_table(TABLE_DROPBOX_FILE);
return $this->dropbox_table;
}
}