[ Index ]

PHP Cross Reference of moodle-2.8

title

Body

[close]

/mod/data/ -> export_form.php (source)

   1  <?php
   2  
   3  if (!defined('MOODLE_INTERNAL')) {
   4      die('Direct access to this script is forbidden!');
   5  }
   6  require_once($CFG->libdir . '/formslib.php');
   7  require_once($CFG->libdir . '/csvlib.class.php');
   8  
   9  class mod_data_export_form extends moodleform {
  10      var $_datafields = array();
  11      var $_cm;
  12      var $_data;
  13  
  14       // @param string $url: the url to post to
  15       // @param array $datafields: objects in this database
  16      function mod_data_export_form($url, $datafields, $cm, $data) {
  17          $this->_datafields = $datafields;
  18          $this->_cm = $cm;
  19          $this->_data = $data;
  20          parent::moodleform($url);
  21      }
  22  
  23      function definition() {
  24          global $CFG;
  25          $mform =& $this->_form;
  26          $mform->addElement('header', 'notice', get_string('chooseexportformat', 'data'));
  27          $choices = csv_import_reader::get_delimiter_list();
  28          $key = array_search(';', $choices);
  29          if (! $key === FALSE) {
  30              // array $choices contains the semicolon -> drop it (because its encrypted form also contains a semicolon):
  31              unset($choices[$key]);
  32          }
  33          $typesarray = array();
  34          $typesarray[] = $mform->createElement('radio', 'exporttype', null, get_string('csvwithselecteddelimiter', 'data') . '&nbsp;', 'csv');
  35          $typesarray[] = $mform->createElement('select', 'delimiter_name', null, $choices);
  36          //temporarily commenting out Excel export option. See MDL-19864
  37          //$typesarray[] = $mform->createElement('radio', 'exporttype', null, get_string('excel', 'data'), 'xls');
  38          $typesarray[] = $mform->createElement('radio', 'exporttype', null, get_string('ods', 'data'), 'ods');
  39          $mform->addGroup($typesarray, 'exportar', '', array(''), false);
  40          $mform->addRule('exportar', null, 'required');
  41          $mform->setDefault('exporttype', 'csv');
  42          if (array_key_exists('cfg', $choices)) {
  43              $mform->setDefault('delimiter_name', 'cfg');
  44          } else if (get_string('listsep', 'langconfig') == ';') {
  45              $mform->setDefault('delimiter_name', 'semicolon');
  46          } else {
  47              $mform->setDefault('delimiter_name', 'comma');
  48          }
  49          $mform->addElement('header', 'notice', get_string('chooseexportfields', 'data'));
  50          foreach($this->_datafields as $field) {
  51              if($field->text_export_supported()) {
  52                  $mform->addElement('advcheckbox', 'field_'.$field->field->id, '<div title="' . s($field->field->description) . '">' . $field->field->name . '</div>', ' (' . $field->name() . ')', array('group'=>1));
  53                  $mform->setDefault('field_'.$field->field->id, 1);
  54              } else {
  55                  $a = new stdClass();
  56                  $a->fieldtype = $field->name();
  57                  $mform->addElement('static', 'unsupported'.$field->field->id, $field->field->name, get_string('unsupportedexport', 'data', $a));
  58              }
  59          }
  60          $this->add_checkbox_controller(1, null, null, 1);
  61          $context = context_module::instance($this->_cm->id);
  62          if (has_capability('mod/data:exportuserinfo', $context)) {
  63              $mform->addElement('checkbox', 'exportuser', get_string('includeuserdetails', 'data'));
  64          }
  65          $mform->addElement('checkbox', 'exporttime', get_string('includetime', 'data'));
  66          if ($this->_data->approval) {
  67              $mform->addElement('checkbox', 'exportapproval', get_string('includeapproval', 'data'));
  68          }
  69          $this->add_action_buttons(true, get_string('exportentries', 'data'));
  70      }
  71  
  72  }
  73  
  74  


Generated: Fri Nov 28 20:29:05 2014 Cross-referenced by PHPXref 0.7.1