// Check all variables.
if ($chapterid) {
    // Single chapter printing - only visible!
    $chapter = $DB->get_record('giportfolio_chapters', array('id' => $chapterid, 'giportfolioid' => $giportfolio->id), '*', MUST_EXIST);
} else {
    // Complete giportfolio.
    $chapter = false;
}
$PAGE->set_url('/mod/giportfolio/pdfgiportfolio.php', array('id' => $id, 'chapterid' => $chapterid));
unset($id);
unset($chapterid);
// Security checks END.
// Read chapters.
$chapters = giportfolio_preload_chapters($giportfolio);
// SYNERGY - add fake user chapters.
$additionalchapters = giportfolio_preload_userchapters($giportfolio, $userid = null);
if ($additionalchapters) {
    $chapters = $chapters + $additionalchapters;
}
// SYNERGY.
$strgiportfolios = get_string('modulenameplural', 'mod_giportfolio');
$strgiportfolio = get_string('modulename', 'mod_giportfolio');
$strtop = get_string('top', 'mod_giportfolio');
class PORTFOLIOPDF extends TCPDF
{
    // Page header.
    public function Header()
    {
        $style = array('width' => 0.5, 'cap' => 'butt', 'join' => 'miter', 'dash' => 0, 'color' => array(0, 64, 128));
        $this->Line(10, 7, 200, 7, $style);
        // Set font.
// Edit mode.
// Security checks START - teachers edit; students view.
if ($id) {
    $cm = get_coursemodule_from_id('giportfolio', $id, 0, false, MUST_EXIST);
    $course = $DB->get_record('course', array('id' => $cm->course), '*', MUST_EXIST);
    $giportfolio = $DB->get_record('giportfolio', array('id' => $cm->instance), '*', MUST_EXIST);
} else {
    $giportfolio = $DB->get_record('giportfolio', array('id' => $bid), '*', MUST_EXIST);
    $cm = get_coursemodule_from_instance('giportfolio', $giportfolio->id, 0, false, MUST_EXIST);
    $course = $DB->get_record('course', array('id' => $cm->course), '*', MUST_EXIST);
    $id = $cm->id;
}
require_course_login($course, true, $cm);
$chapters = giportfolio_preload_chapters($giportfolio);
// SYNERGY - add fake user chapters.
$additionalchapters = giportfolio_preload_userchapters($giportfolio, $USER->id);
if ($additionalchapters) {
    $chapters = $chapters + $additionalchapters;
}
// SYNERGY.
$context = context_module::instance($cm->id);
require_capability('mod/giportfolio:view', $context);
$allowedit = has_capability('mod/giportfolio:edit', $context);
$allowcontribute = has_capability('mod/giportfolio:submitportfolio', $context);
$allowreport = has_capability('report/outline:view', $context->get_course_context());
if ($allowedit) {
    if ($edit != -1 and confirm_sesskey()) {
        $USER->editing = $edit;
    } else {
        if (isset($USER->editing)) {
            $edit = $USER->editing;
                if ($found and $ch->subchapter) {
                    // Here I should delete contributions first.
                    giportfolio_delete_user_contributions($ch->id, $USER->id, $giportfolio->id);
                    $DB->delete_records('giportfolio_userchapters', array('id' => $ch->id, 'iduser' => $USER->id));
                } else {
                    if ($found) {
                        break;
                    }
                }
            }
        }
    }
    // Here I should delete contributions first.
    giportfolio_delete_user_contributions($chapter->id, $USER->id, $giportfolio->id);
    $DB->delete_records('giportfolio_userchapters', array('id' => $chapter->id, 'iduser' => $USER->id));
    giportfolio_preload_userchapters($giportfolio, $userid = null);
    // Fix structure.
    redirect('viewgiportfolio.php?id=' . $cm->id . '&useredit=1');
}
echo $OUTPUT->header();
// The operation has not been confirmed yet so ask the user to do so.
if ($chapter->subchapter) {
    $strconfirm = get_string('confchapterdelete', 'mod_giportfolio');
} else {
    $strconfirm = get_string('confchapterdeleteall', 'mod_giportfolio');
}
echo '<br />';
$continue = new moodle_url('/mod/giportfolio/deleteuserchapter.php', array('id' => $cm->id, 'chapterid' => $chapter->id, 'confirm' => 1));
$cancel = new moodle_url('/mod/giportfolio/viewgiportfolio.php', array('id' => $cm->id, 'chapterid' => $chapter->id));
echo $OUTPUT->confirm("<strong>{$chapter->title}</strong><p>{$strconfirm}</p>", $continue, $cancel);
echo $OUTPUT->footer();
            }
        }
    } else {
        if ($chs > 1) {
            for ($i = $lastpage->pagenum + 1; $i < $chs; $i++) {
                $newchapters[] = $chapters[$i];
            }
        }
        for ($i = $ts; $i <= $te; $i++) {
            $newchapters[$i] = $chapters[$i];
        }
        for ($i = $chs; $i <= $che; $i++) {
            $newchapters[$i] = $chapters[$i];
        }
        if ($te < count($chapters)) {
            for ($i = $te; $i <= count($chapters); $i++) {
                $newchapters[$i] = $chapters[$i];
            }
        }
    }
    // Store chapters in the new order.
    $i = $lastpage->pagenum + 1;
    foreach ($newchapters as $ch) {
        $ch->pagenum = $i;
        $DB->update_record('giportfolio_userchapters', $ch);
        $i++;
    }
}
giportfolio_preload_userchapters($giportfolio, $USER->id);
// Fix structure.
redirect('viewgiportfolio.php?id=' . $cm->id . '&chapterid=' . $chapter->id . '&useredit=1');
            $data->giportfolioid = $giportfolio->id;
            $data->hidden = 0;
            $data->timecreated = time();
            $data->timemodified = time();
            $data->importsrc = '';
            $data->content = '';
            // Updated later.
            $data->contentformat = FORMAT_HTML;
            // Updated later.
            $data->iduser = $USER->id;
            // Make room for new page.
            $sql = "UPDATE {giportfolio_userchapters}\n                   SET pagenum = pagenum + 1\n                 WHERE giportfolioid = ? AND pagenum >= ? AND iduser = ? ";
            $DB->execute($sql, array($giportfolio->id, $data->pagenum, $data->iduser));
            $data->id = $DB->insert_record('giportfolio_userchapters', $data);
            // Store the files.
            $data = file_postupdate_standard_editor($data, 'content', $options, $context, 'mod_giportfolio', 'chapter', $data->id);
            $DB->update_record('giportfolio_userchapters', $data);
        }
        giportfolio_preload_userchapters($giportfolio, null);
        // Fix structure.
        redirect("viewgiportfolio.php?id={$cm->id}&chapterid={$data->id}&useredit=1");
    }
}
// Otherwise fill and print the form.
$PAGE->set_title(format_string($giportfolio->name));
$PAGE->add_body_class('mod_giportfolio');
$PAGE->set_heading(format_string($course->fullname));
echo $OUTPUT->header();
echo $OUTPUT->heading(get_string('editinguserchapter', 'mod_giportfolio'));
$mform->display();
echo $OUTPUT->footer();