dokeos-gradebook
[ class tree: dokeos-gradebook ] [ index: dokeos-gradebook ] [ all elements ]

Source for file dropboxlink.class.php

Documentation is available at dropboxlink.class.php

  1. <?php
  2.  
  3. /**
  4.  * Gradebook link to dropbox item
  5.  * @author Bert Steppé
  6.  * @package dokeos.gradebook
  7.  */
  8. class DropboxLink extends EvalLink
  9. {
  10.  
  11. // INTERNAL VARIABLES
  12.  
  13.     private $dropbox_table = null;
  14.  
  15. // CONSTRUCTORS
  16.  
  17.     function DropboxLink()
  18.     {
  19.         $this->set_type(LINK_DROPBOX);
  20.     }
  21.  
  22.  
  23. // FUNCTIONS IMPLEMENTING ABSTRACTLINK
  24.  
  25.     public function get_view_url ($stud_id)
  26.     {
  27.         // find a file uploaded by the given student,
  28.         // with the same title as the evaluation name
  29.  
  30.         $eval $this->get_evaluation();
  31.  
  32.         $sql 'SELECT filename'
  33.                 .' FROM '.$this->get_dropbox_table()
  34.                 .' WHERE uploader_id = '.$stud_id
  35.                 ." AND title = '".mysql_real_escape_string($eval->get_name())."'";
  36.  
  37.         $result api_sql_query($sql__FILE____LINE__);
  38.         if ($fileurl mysql_fetch_row($result))
  39.         {
  40.             $course_info Database :: get_course_info($this->get_course_code());
  41.  
  42.             $url api_get_path(WEB_PATH)
  43.                     .'main/gradebook/open_document.php?file='
  44.                     .$course_info['directory']
  45.                     .'/'
  46.                     .$fileurl[0];
  47.  
  48.             return $url;
  49.         }
  50.         else
  51.             return null;
  52.         
  53.     }
  54.  
  55.     public function get_type_name()
  56.     {
  57.         return get_lang('DokeosDropbox');
  58.     }
  59.     
  60.     public function is_allowed_to_change_name()
  61.     {
  62.         return false;
  63.     }
  64.  
  65.     
  66. // INTERNAL FUNCTIONS
  67.     
  68.     /**
  69.      * Lazy load function to get the dropbox database table
  70.      */
  71.     private function get_dropbox_table ()
  72.     {
  73.         if (!isset($this->dropbox_table))
  74.         {
  75.             $course_info Database :: get_course_info($this->get_course_code());
  76.             $database_name $course_info['db_name'];
  77.             $this->dropbox_table = Database :: get_course_table(TABLE_DROPBOX_FILE$database_name);
  78.         }
  79.            return $this->dropbox_table;
  80.     }
  81.  
  82.  
  83.     
  84. }
  85. ?>

Documentation generated on Thu, 12 Jun 2008 13:20:46 -0500 by phpDocumentor 1.4.1