示例#1
0
/**
* Warning display to indicate duplicated assignments, normally as a result of a backup and restore
*
* @param object $cm The moodle course module object for this instance
* @param object $turnitintool The turnitin assignment data object
* @return mixed Returns HTML duplication warning if the logged in users has grade rights otherwise null
*/
function turnitintool_duplicatewarning($cm, $turnitintool)
{
    global $CFG;
    if (has_capability('mod/turnitintool:grade', turnitintool_get_context('MODULE', $cm->id))) {
        $parts = turnitintool_get_records('turnitintool_parts', 'turnitintoolid', $turnitintool->id);
        $dups = array();
        $output = '';
        foreach ($parts as $part) {
            $dup_parts = turnitintool_get_records_select('turnitintool_parts', 'tiiassignid=' . $part->tiiassignid . ' AND turnitintoolid!=' . $part->turnitintoolid . ' AND deleted=0');
            $dup_parts = is_array($dup_parts) ? $dup_parts : array();
            foreach ($dup_parts as $dup_part) {
                $dups[] = $dup_part;
            }
            if (is_array($dup_parts)) {
            }
        }
        if (count($dups) > 0) {
            $output .= turnitintool_box_start('generalbox boxwidthwide boxaligncenter notepost', 'warning', true);
            $output .= '<h3 class="error">' . get_string('notice') . '</h3>';
            $output .= '<p>' . get_string('duplicatesfound', 'turnitintool') . '</p>';
            $output .= '<ul>' . PHP_EOL;
        }
        foreach ($dups as $dup_part) {
            $dup_tii = turnitintool_get_record('turnitintool', 'id', $dup_part->turnitintoolid);
            $dup_cm = get_coursemodule_from_instance('turnitintool', $dup_tii->id);
            $dup_course = turnitintool_get_record('course', 'id', $dup_tii->course);
            $output .= '<li><a href="' . $CFG->wwwroot . '/mod/turnitintool/view.php?id=' . $dup_cm->id . '">';
            $output .= $dup_course->fullname . ' (' . $dup_course->shortname . ') - ' . $dup_tii->name . ' - ' . $dup_part->partname . '<br />';
            $output .= '</a></li>' . PHP_EOL;
        }
        if (count($dups) > 0) {
            $output .= '</ul>' . PHP_EOL;
            $output .= turnitintool_box_end(true);
        }
        return $output;
    } else {
        return '';
    }
}
示例#2
0
    echo turnitintool_view_options($cm, $turnitintool);
}
if ($do == 'tutors') {
    if (!is_null($notice)) {
        turnitintool_box_start('generalbox boxwidthwide boxaligncenter error', 'errorbox');
        echo $notice;
        turnitintool_box_end();
    } else {
        echo turnitintool_view_tiitutors($cm, $turnitintool, $tutors);
    }
}
// Finish the page
echo '</div>';
if (isset($PAGE) and @is_callable(array($PAGE->requires, 'js'))) {
    // Are we using new moodle or old?
    // We already added the Moodle 2.0+ stuff
} else {
    // These need to go to the botton here to avoid conflicts
    require_js($CFG->wwwroot . '/mod/turnitintool/scripts/datatables.min.js');
    require_js($CFG->wwwroot . '/mod/turnitintool/scripts/datatables.plugins.js');
    require_js($CFG->wwwroot . '/mod/turnitintool/scripts/inboxtable.js');
}
turnitintool_footer($course);
$parts = turnitintool_get_records('turnitintool_parts', 'turnitintoolid', $turnitintool->id);
$parts_string = "(";
foreach ($parts as $part) {
    $parts_string .= $parts_string != "(" ? " | " : "";
    $parts_string .= $part->partname . ': ' . $part->tiiassignid;
}
$parts_string .= ")";
/* ?> */
                    turnitintool_update_record('turnitintool_users', $user);
                    unset($tii);
                } else {
                    turnitintool_delete_records('turnitintool_users', 'id', $userlink);
                }
            }
            unset($loader);
            turnitintool_redirect($CFG->wwwroot . '/mod/turnitintool/extras.php?do=unlinkusers');
        }
        turnitintool_header(NULL, NULL, $_SERVER["REQUEST_URI"], get_string("modulenameplural", "turnitintool"), $SITE->fullname);
        echo '<div id="turnitintool_style">';
        turnitintool_box_start('generalbox boxwidthwide boxaligncenter', 'general');
        echo '<b>' . get_string('unlinkrelinkusers', 'turnitintool') . '</b><br /><br />';
        echo '<form method="POST" id="turnitin_unlink" action="' . $CFG->wwwroot . '/mod/turnitintool/extras.php?do=unlinkusers"><div style="height: 400px;overflow: auto;">
';
        if ($userrows = turnitintool_get_records('turnitintool_users')) {
            foreach ($userrows as $userdata) {
                if (!($user = turnitintool_get_record('user', 'id', $userdata->userid))) {
                    $user->id = $user->userid;
                    $user->lastname = get_string('nonmoodleuser', 'turnitintool');
                    $user->firstname = '';
                    $user->email = get_string('notavailableyet', 'turnitintool');
                }
                $user->turnitin_uid = $userdata->turnitin_uid;
                $user->turnitin_utp = $userdata->turnitin_utp;
                $user->linkid = $userdata->id;
                $userarray[] = $user;
            }
            $lastname = array();
            // Obtain the columns to sort on
            foreach ($userarray as $key => $row) {
     $selectionarray = $CFG->turnitin_enablepseudo == 1 ? array(1 => get_string('yes', 'turnitintool')) : array(0 => get_string('no', 'turnitintool'));
     $pseudoselect = new admin_setting_configselect('turnitin_enablepseudo', get_string('enablepseudo', 'turnitintool'), get_string('enablepseudo_desc', 'turnitintool'), 0, $selectionarray);
     $pseudoselect->nosave = true;
 } else {
     if (turnitintool_count_records_select('turnitintool_users') > 0) {
         $pseudoselect = new admin_setting_configselect('turnitin_enablepseudo', get_string('enablepseudo', 'turnitintool'), get_string('enablepseudo_desc', 'turnitintool'), 0, array(0 => get_string('no', 'turnitintool')));
     } else {
         $pseudoselect = new admin_setting_configselect('turnitin_enablepseudo', get_string('enablepseudo', 'turnitintool'), get_string('enablepseudo_desc', 'turnitintool'), 0, $options);
     }
 }
 $settings->add($pseudoselect);
 if (isset($CFG->turnitin_enablepseudo) and $CFG->turnitin_enablepseudo) {
     $CFG->turnitin_pseudofirstname = isset($CFG->turnitin_pseudofirstname) ? $CFG->turnitin_pseudofirstname : get_string('defaultcoursestudent');
     $settings->add(new admin_setting_configtext('turnitin_pseudofirstname', get_string('pseudofirstname', 'turnitintool'), get_string('pseudofirstname_desc', 'turnitintool'), get_string('defaultcoursestudent')));
     $lnoptions = array(0 => get_string('user'));
     $user_profiles = turnitintool_get_records('user_info_field');
     foreach ($user_profiles as $profile) {
         $lnoptions[$profile->id] = get_string('profilefield', 'admin') . ': ' . $profile->name;
     }
     $settings->add(new admin_setting_configselect('turnitin_pseudolastname', get_string('pseudolastname', 'turnitintool'), get_string('pseudolastname_desc', 'turnitintool'), 0, $lnoptions));
     $settings->add(new admin_setting_configselect('turnitin_lastnamegen', get_string('psuedolastnamegen', 'turnitintool'), get_string('psuedolastnamegen_desc', 'turnitintool'), 0, $options));
     $settings->add(new admin_setting_configtext('turnitin_pseudosalt', get_string('pseudoemailsalt', 'turnitintool'), get_string('pseudoemailsalt_desc', 'turnitintool'), ''));
     $settings->add(new admin_setting_configtext('turnitin_pseudoemaildomain', get_string('pseudoemaildomain', 'turnitintool'), get_string('pseudoemaildomain_desc', 'turnitintool'), ''));
 }
 // Following are default values for new instance
 $settings->add(new admin_setting_heading('turnitin_defaults', get_string('defaults', 'turnitintool'), get_string('defaults_desc', 'turnitintool')));
 $settings->add(new admin_setting_configselect('turnitin_default_type', get_string('type', 'turnitintool'), '', 0, turnitintool_filetype_array()));
 $settings->add(new admin_setting_configselect('turnitin_default_numparts', get_string('numberofparts', 'turnitintool'), '', 1, array(1 => 1, 2 => 2, 3 => 3, 4 => 4, 5 => 5)));
 $options = array();
 $scales = get_scales_menu();
 foreach ($scales as $value => $scale) {
if (!is_null($param_do) and ($param_do == "viewreport" or $param_do == "savereport")) {
    if ($param_do == 'viewreport') {
        echo '<pre>';
        echo "====== Turnitintool Data Dump Output ======\n\n";
    } else {
        if ($param_do == 'savereport') {
            $filename = 'tii_datadump_' . $CFG->turnitin_account_id . '_' . date('dmYhm', time()) . '.txt';
            header('Content-type: text/plain');
            header('Content-Disposition: attachment; filename="' . $filename . '"');
            echo "====== Turnitintool Data Dump File ======\n\n";
        }
    }
    $tables = array('turnitintool_users', 'turnitintool_courses', 'turnitintool', 'turnitintool_parts', 'turnitintool_submissions');
    foreach ($tables as $table) {
        echo "== " . $table . " ==\n";
        if ($data = turnitintool_get_records($table)) {
            $headers = array_keys(get_object_vars(current($data)));
            $columnwidth = 25;
            echo str_pad('', ($columnwidth + 2) * count($headers), "=");
            if ($table == 'turnitintool_users') {
                echo str_pad('', $columnwidth + 2, "=");
            }
            echo "\n";
            foreach ($headers as $header) {
                echo ' ' . str_pad($header, $columnwidth, " ", 1) . '|';
            }
            if ($table == 'turnitintool_users') {
                echo ' ' . str_pad('Name', $columnwidth, " ", 1) . '|';
            }
            echo "\n";
            echo str_pad('', ($columnwidth + 2) * count($headers), "=");