timecreated = time(); # You may have to add extra stuff in here # return $DB->insert_record('nasatlx', $nasatlx); } /// Updates an instance of the nasatlx in the database // Given an object containing all the necessary data, // (defined by the form in mod_form.php) this function // will update an existing instance with new data. // @param object $nasatlx An object from the form in mod_form.php // @param mod_nasatlx_mod_form $mform // @return boolean Success/Fail function nasatlx_update_instance(stdClass $nasatlx, mod_nasatlx_mod_form $mform = null) { global $DB; $nasatlx->timemodified = time(); $nasatlx->id = $nasatlx->instance; # You may have to add extra stuff in here # return $DB->update_record('nasatlx', $nasatlx); } /// Removes an instance of the nasatlx from the database // Given an ID of an instance of this module, // this function will permanently delete the instance // and any data that depends on it. // @param int $id Id of the module instance // @return boolean Success/Failure function nasatlx_delete_instance($id) { global $DB; if (! $nasatlx = $DB->get_record('nasatlx', array('id' => $id))) { return false; } # Delete any dependent records here # $DB->delete_records('nasatlx', array('id' => $nasatlx->id)); return true; } /// Returns a small object with summary information about what a // user has done with a given particular instance of this module // Used for user activity reports. // $return->time = the time they did it // $return->info = a short text description // @return stdClass|null function nasatlx_user_outline($course, $user, $mod, $nasatlx) { $return = new stdClass(); $return->time = 0; $return->info = ''; return $return; } /// Prints a detailed representation of what a user has done with // a given particular instance of this module, for user activity reports. // @param stdClass $course the current course record // @param stdClass $user the record of the user we are generating report for // @param cm_info $mod course module info // @param stdClass $nasatlx the module instance record // @return void, is supposed to echp directly function nasatlx_user_complete($course, $user, $mod, $nasatlx) { } /// Given a course and a time, this module should find recent activity // that has occurred in nasatlx activities and print it out. // Return true if there was output, or false is there was none. // @return boolean function nasatlx_print_recent_activity($course, $viewfullnames, $timestart) { return false; // True if anything was printed, otherwise false } /// Prepares the recent activity data // This callback function is supposed to populate the passed array with // custom activity records. These records are then rendered into HTML via // {@link nasatlx_print_recent_mod_activity() }. // @param array $activities sequentially indexed array of objects with the 'cmid' property // @param int $index the index in the $activities to use for the next record // @param int $timestart append activity since this time // @param int $courseid the id of the course we produce the report for // @param int $cmid course module id // @param int $userid check for a particular user's activity only, defaults to 0 (all users) // @param int $groupid check for a particular group's activity only, defaults to 0 (all groups) // @return void adds items into $activities and increases $index function nasatlx_get_recent_mod_activity(&$activities, &$index, $timestart, $courseid, $cmid, $userid=0, $groupid=0) { } /// Prints single activity item prepared by {@see nasatlx_get_recent_mod_activity() } // @return void function nasatlx_print_recent_mod_activity($activity, $courseid, $detail, $modnames, $viewfullnames) { } /// Function to be run periodically according to the moodle cron // This function searches for things that need to be done, such // as sending out mail, toggling flags etc ... // @return boolean // @todo Finish documenting this function function nasatlx_cron () { return true; } /// Returns all other caps used in the module // @example return array('moodle/site:accessallgroups'); // @return array function nasatlx_get_extra_capabilities() { return array(); } //////////////////////////////////////////////////////////////////////////////// // Gradebook API // //////////////////////////////////////////////////////////////////////////////// /// Is a given scale used by the instance of nasatlx? // This function returns if a scale is being used by one nasatlx // if it has support for grading and scales. Commented code should be // modified if necessary. See forum, glossary or journal modules // as reference. // @param int $nasatlxid ID of an instance of this module // @return bool true if the scale is used by the given nasatlx instance function nasatlx_scale_used($nasatlxid, $scaleid) { global $DB; /// @example if ($scaleid and $DB->record_exists('nasatlx', array('id' => $nasatlxid, 'grade' => -$scaleid))) { return true; } else { return false; } } /// Checks if scale is being used by any instance of nasatlx. // This is used to find out if scale used anywhere. // @param $scaleid int // @return boolean true if the scale is used by any nasatlx instance function nasatlx_scale_used_anywhere($scaleid) { global $DB; /// @example if ($scaleid and $DB->record_exists('nasatlx', array('grade' => -$scaleid))) { return true; } else { return false; } } /// Creates or updates grade item for the give nasatlx instance // Needed by grade_update_mod_grades() in lib/gradelib.php // @param stdClass $nasatlx instance object with extra cmidnumber and modname property // @param mixed optional array/object of grade(s); 'reset' means reset grades in gradebook // @return void function nasatlx_grade_item_update(stdClass $nasatlx, $grades=null) { global $CFG; require_once($CFG->libdir.'/gradelib.php'); /// @example $item = array(); $item['itemname'] = clean_param($nasatlx->name, PARAM_NOTAGS); $item['gradetype'] = GRADE_TYPE_VALUE; $item['grademax'] = $nasatlx->grade; $item['grademin'] = 0; grade_update('mod/nasatlx', $nasatlx->course, 'mod', 'nasatlx', $nasatlx->id, 0, null, $item); } /// Update nasatlx grades in the gradebook // Needed by grade_update_mod_grades() in lib/gradelib.php // @param stdClass $nasatlx instance object with extra cmidnumber and modname property // @param int $userid update grade of specific user only, 0 means all participants // @return void function nasatlx_update_grades(stdClass $nasatlx, $userid = 0) { global $CFG, $DB; require_once($CFG->libdir.'/gradelib.php'); /// @example $grades = array(); // populate array of grade objects indexed by userid grade_update('mod/nasatlx', $nasatlx->course, 'mod', 'nasatlx', $nasatlx->id, 0, $grades); } //////////////////////////////////////////////////////////////////////////////// // File API // //////////////////////////////////////////////////////////////////////////////// /// Returns the lists of all browsable file areas within the given module context // The file area 'intro' for the activity introduction field is added automatically // by {@link file_browser::get_file_info_context_module() } // @param stdClass $course // @param stdClass $cm // @param stdClass $context // @return array of [(string)filearea] => (string)description function nasatlx_get_file_areas($course, $cm, $context) { return array(); } /// File browsing support for nasatlx file areas // @package mod_nasatlx // @category files // @param file_browser $browser // @param array $areas // @param stdClass $course // @param stdClass $cm // @param stdClass $context // @param string $filearea // @param int $itemid // @param string $filepath // @param string $filename // @return file_info instance or null if not found function nasatlx_get_file_info($browser, $areas, $course, $cm, $context, $filearea, $itemid, $filepath, $filename) { return null; } /// Serves the files from the nasatlx file areas // @package mod_nasatlx // @category files // @param stdClass $course the course object // @param stdClass $cm the course module object // @param stdClass $context the nasatlx's context // @param string $filearea the name of the file area // @param array $args extra arguments (itemid, path) // @param bool $forcedownload whether or not force download // @param array $options additional options affecting the file serving function nasatlx_pluginfile ($course, $cm, $context, $filearea, array $args, $forcedownload, array $options=array()) { global $DB, $CFG; if ($context->contextlevel != CONTEXT_MODULE) { send_file_not_found(); } require_login($course, true, $cm); send_file_not_found(); } //////////////////////////////////////////////////////////////////////////////// // Navigation API // //////////////////////////////////////////////////////////////////////////////// /// Extends the global navigation tree by adding nasatlx nodes if there is a relevant content // This can be called by an AJAX request so do not rely on $PAGE as it might not be set up properly. // @param navigation_node $navref An object representing the navigation tree node of the nasatlx module instance // @param stdClass $course // @param stdClass $module // @param cm_info $cm function nasatlx_extend_navigation(navigation_node $navref, stdclass $course, stdclass $module, cm_info $cm) { } // Extends the settings navigation with the nasatlx settings // This function is called when the context for the page is a nasatlx module. This is not called by AJAX // so it is safe to rely on the $PAGE. // @param settings_navigation $settingsnav {@link settings_navigation } // @param navigation_node $nasatlxnode {@link navigation_node } function nasatlx_extend_settings_navigation(settings_navigation $settingsnav, navigation_node $nasatlxnode=null) { } // Used in: settings.php function is_debugging ($level = null, $debugdisplay = null) { global $CFG, $USER; // $CFG->debug = (int)$level; // $CFG->debugdeveloper = (($CFG->debug & DEBUG_DEVELOPER) === DEBUG_DEVELOPER); // echo "lib.php: is_debugging: debugdisplay=" . $CFG->debugdisplay . ", USER=$USER
"; //echo "lib.php: is_debugging: NO_DEBUG_DISPLAY=" . NO_DEBUG_DISPLAY . ", USER=$USER
"; if (!NO_DEBUG_DISPLAY) return true; // NO_DEBUG_DISPLAY is object //if (!isset($CFG->debugdisplay) && $USER) return true; return false; }