Example #1
0
 public function create_gallery($record = null)
 {
     global $CFG, $USER;
     $record = (object) (array) $record;
     $defaults = array('groupid' => 0, 'galleryfocus' => \mod_mediagallery\base::TYPE_IMAGE, 'galleryview' => \mod_mediagallery\gallery::VIEW_GRID, 'userid' => $USER->id, 'mode' => 'standard', 'tags' => '');
     if (!isset($record->instanceid)) {
         throw new coding_exception('instanceid must be present in $record');
     }
     if (!isset($record->name)) {
         throw new coding_exception('name must be present in $record');
     }
     foreach ($defaults as $key => $value) {
         if (!isset($record->{$key})) {
             $record->{$key} = $value;
         }
     }
     return \mod_mediagallery\gallery::create($record);
 }
         $data->instanceid = $data->m;
         unset($data->m);
         $data->userid = $USER->id;
         if ($mediagallery->enforcedefaults) {
             $data->galleryfocus = $mediagallery->galleryfocus;
             $data->gridcolumns = $mediagallery->gridcolumns;
             $data->gridrows = $mediagallery->gridrows;
             if ($mediagallery->grid && !$mediagallery->carousel) {
                 $data->galleryview = \mod_mediagallery\gallery::VIEW_GRID;
             } else {
                 if (!$mediagallery->grid && $mediagallery->carousel) {
                     $data->galleryview = \mod_mediagallery\gallery::VIEW_CAROUSEL;
                 }
             }
         }
         $gallery = \mod_mediagallery\gallery::create($data);
     }
     redirect(new moodle_url('/mod/mediagallery/view.php', array('g' => $gallery->id, 'editing' => 1)));
 } else {
     if ($gallery) {
         if (!$gallery->user_can_edit()) {
             print_error('nopermissions', 'error', $pageurl, 'edit gallery');
         }
         $data = $gallery->get_record();
         $data->tags = $gallery->get_tags();
         foreach ($gallery->get_display_settings() as $key => $value) {
             $data->{$key} = $value;
         }
         $mform->set_data($data);
     }
 }