/**
  * Get content of uploaded file.
  * @param $element name of file upload element
  * @return mixed false in case of failure, string if ok
  */
 function get_file_content($elname)
 {
     global $USER;
     if (!$this->is_submitted() or !$this->is_validated()) {
         return false;
     }
     $element = $this->_form->getElement($elname);
     if ($element instanceof MoodleQuickForm_filepicker) {
         $values = $this->_form->exportValues($elname);
         if (empty($values[$elname])) {
             return false;
         }
         $draftid = $values[$elname];
         $fs = get_file_storage();
         $context = get_context_instance(CONTEXT_USER, $USER->id);
         if (!($files = $fs->get_area_files($context->id, 'user_draft', $draftid, 'id DESC', false))) {
             return false;
         }
         $file = reset($files);
         return $file->get_content();
     } else {
         if (isset($_FILES[$elname])) {
             return file_get_contents($_FILES[$elname]['tmp_name']);
         }
     }
     return false;
 }
Exemple #2
0
 /**
  * Returns 'safe' elements' values
  *
  * @param   mixed   Array/string of element names, whose values we want. If not set then return all elements.
  * @param   bool    Whether to remove internal (_qf_...) values from the resultant array
  */
 function exportValues($elementList = null, $filterInternal = false)
 {
     $values = parent::exportValues($elementList);
     if ($filterInternal) {
         foreach (array_keys($values) as $key) {
             if (0 === strpos($key, '_qf_')) {
                 unset($values[$key]);
             }
         }
     }
     return $values;
 }