Exemple #1
0
// Delete a selected recording, after confirmation
if ($delete and confirm_sesskey()) {
    require_capability('mod/congrea:recordingdelete', $context);
    //require_capability('mod/congrea:addinstance', $context);
    $record = $DB->get_record('congrea_files', array('id' => $delete), '*', MUST_EXIST);
    if ($confirm != md5($delete)) {
        echo $OUTPUT->header();
        echo $OUTPUT->heading($strdelete . " " . $congrea->name);
        $optionsyes = array('delete' => $delete, 'confirm' => md5($delete), 'sesskey' => sesskey());
        echo $OUTPUT->confirm(get_string('deletecheckfull', '', "'{$record->vcsessionname}'"), new moodle_url($returnurl, $optionsyes), $returnurl);
        echo $OUTPUT->footer();
        die;
    } else {
        if (data_submitted()) {
            $filepath = $CFG->dataroot . "/congrea/" . $record->courseid . "/" . $record->vcid . "/" . $record->vcsessionkey;
            if (mod_congrea_deleteAll($filepath)) {
                $DB->delete_records('congrea_files', array('id' => $record->id));
                \core\session\manager::gc();
                // Remove stale sessions.
                redirect($returnurl);
            } else {
                \core\session\manager::gc();
                // Remove stale sessions.
                echo $OUTPUT->notification($returnurl, get_string('deletednot', '', $record->vcsessionname));
            }
        }
    }
}
echo $OUTPUT->header();
echo $OUTPUT->heading($congrea->name);
// If vidya.io API key missing.
Exemple #2
0
/**
 * Delete recoded files with folder.
 *
 * @param string $directory - Path of folder where  
 * recording files of one session has been stored.
 * @return bool
 */
function mod_congrea_deleteAll($directory, $empty = false)
{
    if (substr($directory, -1) == "/") {
        $directory = substr($directory, 0, -1);
    }
    if (!file_exists($directory) || !is_dir($directory)) {
        return false;
    } elseif (!is_readable($directory)) {
        return false;
    } else {
        $directoryHandle = opendir($directory);
        while ($contents = readdir($directoryHandle)) {
            if ($contents != '.' && $contents != '..') {
                $path = $directory . "/" . $contents;
                if (is_dir($path)) {
                    mod_congrea_deleteAll($path);
                } else {
                    unlink($path);
                }
            }
        }
        closedir($directoryHandle);
        if ($empty == false) {
            if (!rmdir($directory)) {
                return false;
            }
        }
        return true;
    }
}