You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
70 lines
1.6 KiB
70 lines
1.6 KiB
<?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;
|
|
}
|
|
}
|
|
|