示例#1
0
文件: lib.php 项目: achocoza/moodle26
function questionnaire_delete_instance($id)
{
    global $DB, $CFG;
    require_once $CFG->dirroot . '/mod/questionnaire/locallib.php';
    if (!($questionnaire = $DB->get_record('questionnaire', array('id' => $id)))) {
        return false;
    }
    $result = true;
    if (!$DB->delete_records('questionnaire', array('id' => $questionnaire->id))) {
        $result = false;
    }
    if ($survey = $DB->get_record('questionnaire_survey', array('id' => $questionnaire->sid))) {
        // If this survey is owned by this course, delete all of the survey records and responses.
        if ($survey->owner == $questionnaire->course) {
            $result = $result && questionnaire_delete_survey($questionnaire->sid, $questionnaire->id);
        }
    }
    if ($events = $DB->get_records('event', array("modulename" => 'questionnaire', "instance" => $questionnaire->id))) {
        foreach ($events as $event) {
            delete_event($event->id);
        }
    }
    return $result;
}
function questionnaire_cleanup()
{
    global $DB;
    // Find surveys that don't have questionnaires associated with them.
    $sql = 'SELECT qs.* FROM {questionnaire_survey} qs ' . 'LEFT JOIN {questionnaire} q ON q.sid = qs.id ' . 'WHERE q.sid IS NULL';
    if ($surveys = $DB->get_records_sql($sql)) {
        foreach ($surveys as $survey) {
            questionnaire_delete_survey($survey->id, 0);
        }
    }
    // Find deleted questions and remove them from database (with their associated choices, etc.).
    return true;
}