}
if (!is_null($param_part)) {
    if (!has_capability('mod/turnitintool:grade', turnitintool_get_context('MODULE', $cm->id))) {
        turnitintool_print_error('permissiondeniederror', 'turnitintool', NULL, NULL, __FILE__, __LINE__);
        exit;
    }
    $owner = turnitintool_get_owner($course->id);
    $loaderbar = null;
    $tii = new turnitintool_commclass(turnitintool_getUID($owner), $owner->firstname, $owner->lastname, $owner->email, 2, $loaderbar);
    $post = new stdClass();
    $post->cid = turnitintool_getCID($course->id);
    $post->assignid = turnitintool_getAID($param_part);
    $post->ctl = turnitintool_getCTL($course->id);
    $post->assign = $turnitintool->name . ' - ' . turnitintool_partnamefromnum($param_part) . ' (Moodle ' . $post->assignid . ')';
    $post->fcmd = 4;
    $tii->listSubmissions($post, get_string('downloadingfile', 'turnitintool'));
    if ($tii->getRerror()) {
        if (!$tii->getAPIunavailable()) {
            $reason = $tii->getRcode() == TURNITINTOOL_DB_UNIQUEID_ERROR ? get_string('assignmentdoesnotexist', 'turnitintool') : $tii->getRmessage();
        } else {
            $reason = get_string('apiunavailable', 'turnitintool');
        }
        turnitintool_print_error('downloadingfileerror', 'turnitintool', NULL, NULL, __FILE__, __LINE__);
        exit;
    } else {
        $output = $tii->getFileData();
        if (function_exists('mb_strlen')) {
            $size = mb_strlen($output, '8bit');
        } else {
            $size = strlen($output);
        }