18 if (!$this->submission->canView()) {
22 $class =
$ilCtrl->getNextClass($this);
27 $this->{$cmd .
"Object"}();
36 return self::getOverviewContentBlog($a_info, $a_submission);
39 return self::getOverviewContentPortfolio($a_info, $a_submission);
47 $lng = $DIC->language();
50 include_once
"Services/PersonalWorkspace/classes/class.ilWorkspaceTree.php";
54 if (!$wsp_tree->getRootId()) {
62 $blog_id = (int) $selected_blog[
"filetitle"];
63 $node = $wsp_tree->getNodeData($blog_id);
66 $ilCtrl->setParameterByClass(
"ilobjbloggui",
"wsp_id", $blog_id);
67 $blog_link =
$ilCtrl->getLinkTargetByClass(
array(
"ilpersonaldesktopgui",
"ilpersonalworkspacegui",
"ilobjbloggui"),
"");
68 $ilCtrl->setParameterByClass(
"ilobjbloggui",
"wsp_id",
"");
69 $files_str =
'<a href="' . $blog_link .
'">' .
70 $node[
"title"] .
'</a>';
74 elseif (substr($selected_blog[
"filename"], -1) ==
"/") {
82 $button->setCaption(
"exc_create_blog");
83 $button->setUrl(
$ilCtrl->getLinkTargetByClass(
array(
"ilExSubmissionGUI",
"ilExSubmissionObjectGUI"),
"createBlog"));
84 $files_str.= $button->render();
87 $blogs =
sizeof($wsp_tree->getObjectsFromType(
"blog"));
88 if ((!$valid_blog && $blogs)
89 || ($valid_blog && $blogs > 1)) {
91 $button->setCaption(
"exc_select_blog" . ($valid_blog ?
"_change" :
""));
92 $button->setUrl(
$ilCtrl->getLinkTargetByClass(
array(
"ilExSubmissionGUI",
"ilExSubmissionObjectGUI"),
"selectBlog"));
93 $files_str.=
" " . $button->render();
100 $ilCtrl->setParameterByClass(
"ilExSubmissionFileGUI",
"delivered", $selected_blog[
"returned_id"]);
101 $dl_link =
$ilCtrl->getLinkTargetByClass(
array(
"ilExSubmissionGUI",
"ilExSubmissionFileGUI"),
"download");
102 $ilCtrl->setParameterByClass(
"ilExSubmissionFileGUI",
"delivered",
"");
105 $button->setCaption(
"download");
106 $button->setUrl($dl_link);
108 $a_info->
addProperty(
$lng->txt(
"exc_files_returned"), $button->render());
116 $lng = $DIC->language();
119 include_once
"Modules/Portfolio/classes/class.ilObjPortfolio.php";
124 if ($selected_prtf) {
125 $portfolio_id = (int) $selected_prtf[
"filetitle"];
130 if ($portfolio->getTitle()) {
132 $ilCtrl->setParameterByClass(
"ilobjportfoliogui",
"prt_id", $portfolio_id);
134 $ref_id = $_REQUEST[
'ref_id'];
135 $ilCtrl->setParameterByClass(
"ilobjportfoliogui",
"ref_id", $ref_id);
137 $ilCtrl->setParameterByClass(
"ilobjportfoliogui",
"exc_back_ref_id", (
int)
$_GET[
"ref_id"]);
139 $prtf_link =
$ilCtrl->getLinkTargetByClass(
array(
"ilpersonaldesktopgui",
"ilportfoliorepositorygui",
"ilobjportfoliogui"),
"view");
140 $ilCtrl->setParameterByClass(
"ilobjportfoliogui",
"prt_id",
"");
141 $ilCtrl->setParameterByClass(
"ilobjportfoliogui",
"ref_id",
"");
144 $files_str =
'<a href="' . $prtf_link .
145 '">' . $portfolio->getTitle() .
'</a>';
150 elseif (substr($selected_prtf[
"filename"], -1) ==
"/") {
158 $button->setCaption(
"exc_create_portfolio");
159 $button->setUrl(
$ilCtrl->getLinkTargetByClass(
array(
"ilExSubmissionGUI",
"ilExSubmissionObjectGUI"),
"createPortfolioFromAssignment"));
161 $files_str .=
"" . $button->render();
166 if ((!$valid_prtf && $prtfs)
167 || ($valid_prtf && $prtfs > 1)) {
169 $button->setCaption(
"exc_select_portfolio" . ($valid_prtf ?
"_change" :
""));
170 $button->setUrl(
$ilCtrl->getLinkTargetByClass(
array(
"ilExSubmissionGUI",
"ilExSubmissionObjectGUI"),
"selectPortfolio"));
171 $files_str.=
" " . $button->render();
175 $button->setCaption(
"exc_select_portfolio" . ($valid_prtf ?
"_unlink" :
""));
176 $button->setUrl(
$ilCtrl->getLinkTargetByClass(
array(
"ilExSubmissionGUI",
"ilExSubmissionObjectGUI"),
"askUnlinkPortfolio"));
177 $files_str.=
" " . $button->render();
184 $ilCtrl->setParameterByClass(
"ilExSubmissionFileGUI",
"delivered", $selected_prtf[
"returned_id"]);
185 $dl_link =
$ilCtrl->getLinkTargetByClass(
array(
"ilExSubmissionGUI",
"ilExSubmissionFileGUI"),
"download");
186 $ilCtrl->setParameterByClass(
"ilExSubmissionFileGUI",
"delivered",
"");
189 $button->setCaption(
"download");
190 $button->setUrl($dl_link);
192 $a_info->
addProperty(
$lng->txt(
"exc_files_returned"), $button->render());
198 if (!$this->submission->canSubmit()) {
203 $tpl =
new ilTemplate(
"tpl.exc_select_resource.html",
true,
true,
"Modules/Exercise");
205 if (is_array($a_items)) {
206 $tpl->setCurrentBlock(
"item");
207 foreach ($a_items as $item_id => $item_title) {
208 $tpl->setVariable(
"ITEM_ID", $item_id);
209 $tpl->setVariable(
"ITEM_TITLE", $item_title);
210 $tpl->parseCurrentBlock();
212 $tpl->setVariable(
"FORM_ACTION", $this->ctrl->getFormAction($this));
213 $tpl->setVariable(
"TXT_SUBMIT", $this->lng->txt(
"save"));
214 $tpl->setVariable(
"TXT_CANCEL", $this->lng->txt(
"cancel"));
215 $tpl->setVariable(
"CMD_SUBMIT", $a_cmd);
216 $tpl->setVariable(
"CMD_CANCEL",
"returnToParent");
218 } elseif ($a_explorer_cmd) {
225 $title = $this->lng->txt($a_title) .
": " . $this->assignment->getTitle();
227 include_once
"Services/UIComponent/Panel/classes/class.ilPanelGUI.php";
229 $panel->setBody(
$html);
230 $panel->setHeading($title);
232 $this->tpl->setContent($panel->getHTML());
246 "exc_create_blog_select_info",
258 "exc_select_blog_info",
266 if (!$this->submission->canSubmit()) {
271 if (!
$_GET[
"sel_wsp_obj"]) {
276 $parent_node =
$_GET[
"sel_wsp_obj"];
278 include_once
"Modules/Blog/classes/class.ilObjBlog.php";
279 include_once
"Services/PersonalWorkspace/classes/class.ilWorkspaceTree.php";
280 include_once
"Services/PersonalWorkspace/classes/class.ilWorkspaceAccessHandler.php";
283 $blog->setTitle($this->exercise->getTitle() .
" - " . $this->assignment->getTitle());
288 $node_id = $tree->
insertObject($parent_node, $blog->getId());
291 $access_handler->setPermissions($parent_node, $node_id);
293 $this->submission->deleteAllFiles();
296 $this->submission->addResourceObject($node_id);
304 if (!$this->submission->canSubmit()) {
309 if (
$_GET[
"sel_wsp_obj"]) {
310 include_once
"Services/PersonalWorkspace/classes/class.ilWorkspaceTree.php";
313 if ($node && $node[
"type"] ==
"blog") {
314 $this->submission->deleteAllFiles();
317 $this->submission->addResourceObject($node[
"wsp_id"]);
320 $this->ctrl->setParameter($this,
"blog_id", $node[
"wsp_id"]);
321 $this->ctrl->redirect($this,
"askDirectSubmission");
335 include_once(
"./Services/PersonalWorkspace/classes/class.ilWorkspaceExplorerGUI.php");
338 $exp2 =
new ilWorkspaceExplorerGUI($this->submission->getUserId(), $this, $a_cmd, $this,
"setSelectedBlog");
340 $exp2->setSelectableTypes(
array(
"blog"));
346 $exp2->setSelectableTypes(
array(
"wsrt",
"wfld"));
349 if (!$exp2->handleCommand()) {
350 return $exp2->getHTML();
365 include_once
"Modules/Portfolio/classes/class.ilObjPortfolio.php";
368 foreach ($portfolios as $portfolio) {
369 $items[$portfolio[
"id"]]= $portfolio[
"title"];
374 "exc_select_portfolio",
375 "exc_select_portfolio_info",
376 "setSelectedPortfolio",
384 include_once
"Services/Form/classes/class.ilPropertyFormGUI.php";
386 $form->setTitle($this->lng->txt(
"exc_create_portfolio") .
": " . $this->assignment->getTitle());
387 $form->setFormAction($this->ctrl->getFormAction($this,
"setSelectedPortfolioTemplate"));
391 $prtt->addOption(
new ilRadioOption($this->lng->txt(
"exc_create_portfolio_no_template"), -1));
392 foreach ($a_templates as
$id =>
$title) {
396 $form->addItem($prtt);
398 $form->addCommandButton(
"setSelectedPortfolioTemplate", $this->lng->txt(
"save"));
399 $form->addCommandButton(
"returnToParent", $this->lng->txt(
"cancel"));
408 $ctrl = $DIC->ctrl();
410 include_once
"Modules/Portfolio/classes/class.ilObjPortfolioTemplate.php";
415 $template_id = $this->assignment->getPortfolioTemplateId();
420 if (count($templates) > 0 && $template_object_id == 0) {
425 $title = $this->exercise->getTitle() .
" - " . $this->assignment->getTitle();
426 $ctrl->setParameterByClass(
"ilObjPortfolioGUI",
"exc_id", $this->exercise->getRefId());
427 $ctrl->setParameterByClass(
"ilObjPortfolioGUI",
"ass_id", $this->assignment->getId());
428 $ctrl->setParameterByClass(
"ilObjPortfolioGUI",
"pt",
$title);
430 if ($template_object_id > 0) {
431 $ctrl->setParameterByClass(
"ilObjPortfolioGUI",
"prtt", $template_object_id);
433 $ctrl->setParameterByClass(
"ilobjportfoliogui",
"exc_back_ref_id", (
int)
$_GET[
"ref_id"]);
434 $ctrl->redirectByClass(
array(
"ilPersonalDesktopGUI",
"ilPortfolioRepositoryGUI",
"ilObjPortfolioGUI"),
"createPortfolioFromAssignment");
439 if (!$this->submission->canSubmit()) {
444 include_once
"Modules/Portfolio/classes/class.ilObjPortfolioTemplate.php";
446 if (!
sizeof($templates)) {
454 $this->tpl->setContent($a_form->getHTML());
459 if (!$this->submission->canSubmit()) {
464 include_once
"Modules/Portfolio/classes/class.ilObjPortfolioTemplate.php";
466 if (!
sizeof($templates)) {
467 $this->ctrl->redirect($this,
"returnToParent");
471 if (
$form->checkInput()) {
472 $prtt =
$form->getInput(
"prtt");
473 if ($prtt > 0 && array_key_exists($prtt, $templates)) {
474 $title = $this->exercise->getTitle() .
" - " . $this->assignment->getTitle();
475 $this->ctrl->setParameterByClass(
"ilObjPortfolioGUI",
"exc_id", $this->exercise->getRefId());
476 $this->ctrl->setParameterByClass(
"ilObjPortfolioGUI",
"ass_id", $this->assignment->getId());
477 $this->ctrl->setParameterByClass(
"ilObjPortfolioGUI",
"pt",
$title);
478 $this->ctrl->setParameterByClass(
"ilObjPortfolioGUI",
"prtt", $prtt);
479 $this->ctrl->setParameterByClass(
"ilobjportfoliogui",
"exc_back_ref_id", (
int)
$_GET[
"ref_id"]);
480 $this->ctrl->redirectByClass(
array(
"ilPersonalDesktopGUI",
"ilPortfolioRepositoryGUI",
"ilObjPortfolioGUI"),
"createPortfolioFromTemplate");
487 $form->setValuesByPost();
493 if (!$this->submission->canSubmit()) {
498 include_once
"Modules/Portfolio/classes/class.ilObjPortfolio.php";
500 $portfolio->setTitle($this->exercise->getTitle() .
" - " . $this->assignment->getTitle());
501 $portfolio->create();
503 $this->submission->deleteAllFiles();
506 $this->submission->addResourceObject($portfolio->getId());
514 if (!$this->submission->canSubmit()) {
520 $this->submission->deleteAllFiles();
523 $this->submission->addResourceObject(
$_POST[
"item"]);
526 $this->ctrl->setParameter($this,
"prtf_id",
$_POST[
"item"]);
527 $this->ctrl->redirect($this,
"askDirectSubmission");
538 include_once
"Services/Utilities/classes/class.ilConfirmationGUI.php";
540 $conf->setFormAction($this->ctrl->getFormAction($this,
"unlinkPortfolio"));
541 $conf->setHeaderText($this->lng->txt(
"exc_sure_unlink_portfolio",
"sure_unlink_portfolio"));
542 $conf->setConfirm($this->lng->txt(
"confirm"),
"unlinkPortfolio");
543 $conf->setCancel($this->lng->txt(
"cancel"),
"returnToParent");
545 $submission = $this->submission->getSelectedObject();
546 include_once
"Modules/Portfolio/classes/class.ilObjPortfolio.php";
551 $tpl->setContent($conf->getHTML());
558 $user = $DIC->user();
560 $portfolio = $this->submission->getSelectedObject();
561 $port_id = $portfolio[
"returned_id"];
568 $this->ctrl->redirect($this,
"returnToParent");
579 if (!$this->submission->canSubmit()) {
584 include_once
"Services/Utilities/classes/class.ilConfirmationGUI.php";
587 if ($_REQUEST[
"blog_id"]) {
588 $this->ctrl->setParameter($this,
"blog_id", $_REQUEST[
"blog_id"]);
589 $txt = $this->lng->txt(
"exc_direct_submit_blog");
591 $this->ctrl->setParameter($this,
"prtf_id", $_REQUEST[
"prtf_id"]);
592 $txt = $this->lng->txt(
"exc_direct_submit_portfolio");
594 $conf->setFormAction($this->ctrl->getFormAction($this,
"directSubmit"));
596 $conf->setHeaderText(
$txt);
597 $conf->setConfirm($this->lng->txt(
"exc_direct_submit"),
"directSubmit");
598 $conf->setCancel($this->lng->txt(
"exc_direct_no_submit"),
"returnToParent");
600 $tpl->setContent($conf->getHTML());
605 if (!$this->submission->canSubmit()) {
613 if ($_REQUEST[
"blog_id"]) {
615 $this->ctrl->setParameter($this,
"blog_id",
"");
618 elseif ($_REQUEST[
"prtf_id"]) {
620 $this->ctrl->setParameter($this,
"prtf_id",
"");
628 $this->ctrl->redirect($this,
"returnToParent");
639 if (!$this->submission->canSubmit()) {
643 $blog_id = $a_blog_id;
645 include_once
"Modules/Blog/classes/class.ilObjBlogGUI.php";
647 if ($blog_gui->object) {
648 $file = $blog_gui->buildExportFile();
651 $this->submission->deleteAllFiles();
658 $this->submission->uploadFile($meta,
true);
675 if (!$this->submission->canSubmit()) {
679 $prtf_id = $a_portfolio_id;
681 include_once
"Modules/Portfolio/classes/class.ilObjPortfolio.php";
683 if ($prtf->getTitle()) {
684 include_once
"Modules/Portfolio/classes/class.ilPortfolioHTMLExport.php";
686 $file = $export->buildExportFile();
689 $this->submission->deleteAllFiles();
696 $this->submission->uploadFile($meta,
true);
715 include_once
"Modules/Exercise/classes/class.ilObjExercise.php";
716 include_once
"Modules/Exercise/classes/class.ilExAssignment.php";
717 include_once
"Modules/Exercise/classes/class.ilExSubmission.php";
721 $exc_id = $ass->getExerciseId();
727 return new self($exc, $sub);
static sendSuccess($a_info="", $a_keep=false)
Send Success Message to Screen.
This class represents an option in a radio group.
static getOverviewContent(ilInfoScreenGUI $a_info, ilExSubmission $a_submission)
askDirectSubmissionObject()
submitBlog($a_blog_id)
Submit blog for assignment.
createTreeForUser($a_user_id)
Create personal workspace tree for user.
Portfolio HTML exporter class.
static _exists($a_id, $a_reference=false, $a_type=null)
checks if an object exists in object_data
renderWorkspaceExplorer($a_cmd)
static getPortfoliosOfUser($a_user_id)
Get views of user.
Exercise submission base gui.
if(!array_key_exists('StateId', $_REQUEST)) $id
setSelectedPortfolioObject()
askUnlinkPortfolioObject()
Access handler for personal workspace.
createPortfolioTemplateObject(ilPropertyFormGUI $a_form=null)
static getOverviewContentPortfolio(ilInfoScreenGUI $a_info, ilExSubmission $a_submission)
submitPortfolio($a_portfolio_id)
Submit portfolio for assignment.
static _getAllReferences($a_id)
get all reference ids of object
Tree handler for personal workspace.
setTypeWhiteList($a_val)
Set type white list.
static _lookupObjectId($a_ref_id)
lookup object id
static initGUIForSubmit($a_ass_id, $a_user_id=null)
static sendInfo($a_info="", $a_keep=false)
Send Info Message to Screen.
static getOverviewContentBlog(ilInfoScreenGUI $a_info, ilExSubmission $a_submission)
handleNewUpload($a_no_notifications=false)
if(isset($_POST['submit'])) $form
static getImagePath($img, $module_path="", $mode="output", $offline=false)
get image path (for images located in a template directory)
getNodeData($a_node_id, $a_tree_pk=null)
get all information of a node.
special template class to simplify handling of ITX/PEAR
Explorer for selecting a personal workspace item.
static getAvailablePortfolioTemplates($a_permission="read")
insertObject($a_parent_node_id, $a_object_id)
Add object to tree.
Create styles array
The data for the language used.
setSelectedPortfolioTemplateObject()
static sendFailure($a_info="", $a_keep=false)
Send Failure Message to Screen.
static getInstance()
Get instance.
addProperty($a_name, $a_value, $a_link="")
add a property to current section
deleteResourceObject($a_returned_id)
Remove personal resource to assigment.
createPortfolioFromAssignmentObject()
if(!file_exists("$old.txt")) if($old===$new) if(file_exists("$new.txt")) $file
initPortfolioTemplateForm(array $a_templates)
Object-based submissions (ends up as static file)
renderResourceSelection($a_title, $a_info, $a_cmd, $a_explorer_cmd, array $a_items=null)
Confirmation screen class.