}
}
// Construct objects used in Moodle
netpublish_set_std_classes($cm, $course, $mod, $info);
unset($info);
require_login($course->id);
$context = get_context_instance(CONTEXT_MODULE, $cm->id);
$toplevel = false;
$publish = false;
$canedit = false;
if (!has_capability('mod/netpublish:editarticle', $context)) {
    error(get_string('errorpermissioneditarticle', 'netpublish'), sprintf("%s/mod/netpublish/view.php?id=%d", $CFG->wwwroot, $cm->id));
}
$getthis = !empty($articleid) ? $articleid : $article;
$form = get_record("netpublish_articles", "id", $getthis);
$rights = netpublish_get_rights($form->rights);
if (has_capability('moodle/legacy:editingteacher', get_context_instance(CONTEXT_COURSE, $course->id)) or has_capability('moodle/legacy:teacher', get_context_instance(CONTEXT_COURSE, $course->id))) {
    $canedit = true;
}
if (intval($form->userid) == intval($USER->id)) {
    $canedit = true;
}
if (!empty($rights) && !empty($rights[$USER->id]) && $nperm->can_write($rights[$USER->id])) {
    $canedit = true;
}
if (!$canedit) {
    $strerror = get_string('noeditpermissions', 'netpublish', $form->title);
    error($strerror, sprintf("%s/mod/netpublish/view.php?id=%d", $CFG->wwwroot, $cm->id));
}
if (!empty($mod->locktime)) {
    if ($lock = netpublish_get_lock($form->id, $USER->id)) {
// Construct objects used in Moodle
netpublish_set_std_classes($cm, $course, $netpublish, $info);
unset($info);
$cm = get_coursemodule_from_instance('netpublish', $cm->instance);
require_login($course->id);
$modcontext = get_context_instance(CONTEXT_MODULE, $cm->id);
$coursecontext = get_context_instance(CONTEXT_COURSE, $course->id);
//$isteacher = has_capability('moodle/legacy:editingteacher', $context);
//$isstudent = has_capability('moodle/legacy:student', $context);
if (!has_capability('moodle/legacy:editingteacher', $coursecontext) and !has_capability('moodle/legacy:teacher', $coursecontext) and !has_capability('moodle/legacy:student', $coursecontext)) {
    error("Only memebers of this course can view pending articles!", sprintf("%s/course/view.php?id=%d", $CFG->wwwroot, $course->id));
}
if ($data = data_submitted()) {
    // Check rights
    $article = get_record("netpublish_articles", "id", $articleid);
    $rights = netpublish_get_rights($article->rights);
    $canedit = false;
    $redirect = sprintf("%s/mod/netpublish/drafts.php?id=%d", $CFG->wwwroot, $cm->id);
    if ($article->publishid != $cm->instance) {
        error("You cannot change other netpublishes article status!", $CFG->wwwroot . '/mod/netpublish/view.php?id=' . $cm->id);
    }
    if (has_capability('moodle/legacy:editingteacher', $coursecontext)) {
        $canedit = true;
    }
    if ($article->userid == $USER->id) {
        $canedit = true;
    }
    if (!empty($rights[$USER->id])) {
        if ($nperm->can_write($rights[$USER->id])) {
            $canedit = true;
        }