/** * Add url instance. * @param object $data * @param object $mform * @return int new url instance id */ function morsle_add_instance($data, $mform) { global $CFG, $DB, $COURSE, $USER; require_once $CFG->dirroot . '/mod/morsle/locallib.php'; require_once $CFG->dirroot . '/google/lib.php'; require_once $CFG->dirroot . '/repository/morsle/lib.php'; $username = '******'; $morsle = new repository_morsle(); $morsle->get_token('drive'); $morsle->revoke_token(); $morsle->get_token('drive'); $morsle->domain = '@luther.edu'; $morsle->useremail = strtolower($COURSE->shortname) . $morsle->domain; $parameters = array(); for ($i = 0; $i < 100; $i++) { $parameter = "parameter_{$i}"; $variable = "variable_{$i}"; if (empty($data->{$parameter}) or empty($data->{$variable})) { continue; } $parameters[$data->{$parameter}] = $data->{$variable}; } $data->parameters = serialize($parameters); $displayoptions = array(); if ($data->display == RESOURCELIB_DISPLAY_POPUP) { $displayoptions['popupwidth'] = $data->popupwidth; $displayoptions['popupheight'] = $data->popupheight; } if (in_array($data->display, array(RESOURCELIB_DISPLAY_AUTO, RESOURCELIB_DISPLAY_EMBED, RESOURCELIB_DISPLAY_FRAME))) { $displayoptions['printheading'] = (int) (!empty($data->printheading)); $displayoptions['printintro'] = (int) (!empty($data->printintro)); } $data->displayoptions = serialize($displayoptions); $data->externalurl = morsle_fix_submitted_url($data->externalurl); // get the docid $docid = get_doc_id($data->externalurl); // get the read-only folder id // $morsle = new repository_morsle(); $title = strtolower($COURSE->shortname) . '-read'; $owner = strtolower($COURSE->shortname) . '@' . $morsle->domain; $collectionid = get_collection($morsle, $title); // share resource with course user // $base_feed = $morsle->docs_feed . $docid . '/acl'; assign_permissions($morsle, $docid, 'writer', $USER->email, $base_feed); // link resource to the read-only folder add_file_tocollection($morsle, $docid, $collectionid); $data->timemodified = time(); $data->id = $DB->insert_record('morsle', $data); return $data->id; }