5include_once 
"Modules/Exercise/classes/class.ilExAssignment.php";
 
    6include_once 
"Modules/Exercise/classes/class.ilExSubmission.php";
 
   37        $this->ctrl = 
$DIC->ctrl();
 
   38        $this->lng = 
$DIC->language();
 
   39        $this->user_id = $a_user_id;
 
   40        $this->obj_id = $a_obj_id;
 
   41        $this->ass_id = (int) 
$_GET[
"ass"];
 
   42        $this->file = trim(
$_GET[
"file"]);
 
   51            $this->ctrl->returnToParent($this);
 
   54        $next_class = 
$ilCtrl->getNextClass($this);
 
   57        switch ($next_class) {
 
   66    public static function checkExercise($a_user_id, $a_obj_id, $a_add_submit = 
false, $as_array = 
false)
 
   84                    if (!
$tree->isSaved($ref_id)) {
 
   96            if (
sizeof(
$info) && !$as_array) {
 
   97                return implode(
"<br />", 
$info);
 
  105    protected static function getExerciseInfo($a_user_id, $a_assignment_id, $a_add_submit = 
false, $as_array = 
false)
 
  118        include_once 
"Modules/Exercise/classes/class.ilExAssignment.php";
 
  120        $exercise_id = $ass->getExerciseId();
 
  126        $times_up = $ass->afterDeadlineStrict();
 
  129        include_once 
"./Services/Link/classes/class.ilLink.php";
 
  133        $info_arr[
"ass_title"] = $ass->getTitle();
 
  135            $lng->txt(
"prtf_exercise_info"),
 
  143        if ($a_add_submit && !$times_up && !$as_array) {
 
  144            $ilCtrl->setParameterByClass(
"ilportfolioexercisegui", 
"ass", $a_assignment_id);
 
  145            $submit_link = 
$ilCtrl->getLinkTargetByClass(
"ilportfolioexercisegui", 
"finalize");
 
  146            $ilCtrl->setParameterByClass(
"ilportfolioexercisegui", 
"ass", 
"");
 
  148            $buttons[] = $ui->factory()->button()->primary(
$lng->txt(
"prtf_finalize_portfolio"), $submit_link);
 
  152        include_once 
"Modules/Exercise/classes/class.ilExSubmission.php";
 
  154        $info_arr[
"submitted"] = 
false;
 
  155        if ($submission->hasSubmitted()) {
 
  157            $submitted = $submission->getSelectedObject();
 
  160                $ilCtrl->setParameterByClass(
"ilportfolioexercisegui", 
"ass", $a_assignment_id);
 
  161                $dl_link = 
$ilCtrl->getLinkTargetByClass(
"ilportfolioexercisegui", 
"downloadExcSubFile");
 
  162                $ilCtrl->setParameterByClass(
"ilportfolioexercisegui", 
"ass", 
"");
 
  167                $text .= 
"<p>" . sprintf(
 
  168                    $lng->txt(
"prtf_exercise_submitted_info"),
 
  172                $buttons[] = $ui->factory()->button()->standard(
$lng->txt(
"prtf_download_submission"), $dl_link);
 
  177            $info_arr[
"submitted"] = 
true;
 
  178            if ($submitted[
"ts"] == 
"") {
 
  179                $info_arr[
"submitted"] = 
false;
 
  187        $inst = $ass->getInstruction();
 
  189            $tooltip .= nl2br($inst);
 
  192        $ass_files = $ass->getFiles();
 
  194            if (count($ass_files) > 0) {
 
  196                    $tooltip .= 
"<br /><br />";
 
  201                foreach ($ass_files as 
$file) {
 
  202                    $ilCtrl->setParameterByClass(
"ilportfolioexercisegui", 
"ass", $a_assignment_id);
 
  203                    $ilCtrl->setParameterByClass(
"ilportfolioexercisegui", 
"file", urlencode(
$file[
"name"]));
 
  204                    $dl_link = 
$ilCtrl->getLinkTargetByClass(
"ilportfolioexercisegui", 
"downloadExcAssFile");
 
  205                    $ilCtrl->setParameterByClass(
"ilportfolioexercisegui", 
"file", 
"");
 
  206                    $ilCtrl->setParameterByClass(
"ilportfolioexercisegui", 
"ass", 
"");
 
  208                    $items[] = $ui->renderer()->render($ui->factory()->button()->shy(
$file[
"name"], $dl_link));
 
  210                $list = $ui->factory()->listing()->unordered($items);
 
  211                $tooltip .= $ui->renderer()->render(
$list);
 
  216            $modal = $ui->factory()->modal()->roundtrip(
$lng->txt(
"exc_instruction"), $ui->factory()->legacy($tooltip))
 
  217                ->withCancelButtonLabel(
"close");
 
  218            $elements[] = $modal;
 
  219            $buttons[] = $ui->factory()->button()->standard(
$lng->txt(
"exc_instruction"), 
'#')
 
  220                ->withOnClick($modal->getShowSignal());
 
  227        $elements[] = $ui->factory()->messageBox()->info(
$text)
 
  229            ->withButtons($buttons);
 
  231        return $ui->renderer()->render($elements);
 
  237            include_once 
"Modules/Exercise/classes/class.ilExAssignment.php";
 
  239            $ass_files = $ass->getFiles();
 
  240            if (count($ass_files) > 0) {
 
  241                foreach ($ass_files as 
$file) {
 
  242                    if (
$file[
"name"] == $this->file) {
 
  254        $submitted = $submission->getFiles();
 
  255        if (count($submitted) > 0) {
 
  256            $submitted = array_pop($submitted);
 
  260                $ass->getTitle() . 
" - " .
 
  261                $user_data[
"firstname"] . 
" " .
 
  262                $user_data[
"lastname"] . 
" (" .
 
  263                $user_data[
"login"] . 
").zip";
 
  277        include_once 
"Modules/Exercise/classes/class.ilExSubmissionBaseGUI.php";
 
  278        include_once 
"Modules/Exercise/classes/class.ilExSubmissionObjectGUI.php";
 
  280        $exc_gui->submitPortfolio($this->obj_id);
 
  282        ilUtil::sendSuccess(
$lng->txt(
"prtf_finalized"), 
true);
 
  283        $ilCtrl->returnToParent($this);
 
An exception for terminatinating execution or to throw for unit testing.
static formatDate(ilDateTime $date, $a_skip_day=false, $a_include_wd=false, $include_seconds=false)
Format a date @access public.
static setUseRelativeDates($a_status)
set use relative dates
static useRelativeDates()
check if relative dates are used
@classDescription Date and time handling
static initGUIForSubmit($a_ass_id, $a_user_id=null)
Exercise submission //TODO: This class has to much static methods related to delivered "files".
static findUserFiles($a_user_id, $a_filetitle)
Check if given file was assigned.
static _getStaticLink( $a_ref_id, $a_type='', $a_fallback_goto=true, $append="")
Get static link.
static _lookupName($a_user_id)
lookup user name
static _lookupTitle($a_id)
lookup object title
static _getAllReferences($a_id)
get all reference ids of object
Class ilPortfolioExerciseGUI.
__construct($a_user_id, $a_obj_id)
static getExerciseInfo($a_user_id, $a_assignment_id, $a_add_submit=false, $as_array=false)
static checkExercise($a_user_id, $a_obj_id, $a_add_submit=false, $as_array=false)
finalize()
Finalize and submit portfolio to exercise.
static deliverFile( $a_file, $a_filename, $a_mime='', $isInline=false, $removeAfterDelivery=false, $a_exit_after=true)
deliver file for download via browser.
if(isset($_REQUEST['delete'])) $list