18        if (!$this->submission->canView()) {
 
   22        $class = 
$ilCtrl->getNextClass($this);
 
   27                $this->{$cmd . 
"Object"}();
 
   50        include_once 
"Services/PersonalWorkspace/classes/class.ilWorkspaceTree.php";
 
   54        if (!$wsp_tree->getRootId()) {
 
   55            $wsp_tree->createTreeForUser($a_submission->
getUserId());
 
   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());
 
  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";
 
  312            $node = $tree->getNodeData(
$_GET[
"sel_wsp_obj"]);
 
  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");
 
  339                $exp2->setTypeWhiteList(array(
"blog", 
"wsrt", 
"wfld"));
 
  340                $exp2->setSelectableTypes(array(
"blog"));
 
  345                $exp2->setTypeWhiteList(array(
"wsrt", 
"wfld"));
 
  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"));
 
  390        $prtt->setRequired(
true);
 
  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"));
 
  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"];
 
  564        $ilsub->deleteResourceObject($port_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);
 
An exception for terminatinating execution or to throw for unit testing.
Confirmation screen class.
Exercise submission base gui.
handleNewUpload($a_no_notifications=false)
Object-based submissions (ends up as static file)
renderWorkspaceExplorer($a_cmd)
setSelectedPortfolioObject()
renderResourceSelection($a_title, $a_info, $a_cmd, $a_explorer_cmd, array $a_items=null)
static getOverviewContent(ilInfoScreenGUI $a_info, ilExSubmission $a_submission)
askDirectSubmissionObject()
setSelectedPortfolioTemplateObject()
createPortfolioFromAssignmentObject()
static getOverviewContentBlog(ilInfoScreenGUI $a_info, ilExSubmission $a_submission)
askUnlinkPortfolioObject()
submitPortfolio($a_portfolio_id)
Submit portfolio for assignment.
initPortfolioTemplateForm(array $a_templates)
createPortfolioTemplateObject(ilPropertyFormGUI $a_form=null)
static getOverviewContentPortfolio(ilInfoScreenGUI $a_info, ilExSubmission $a_submission)
submitBlog($a_blog_id)
Submit blog for assignment.
static initGUIForSubmit($a_ass_id, $a_user_id=null)
deleteResourceObject($a_returned_id)
Remove personal resource to assigment.
addProperty($a_name, $a_value, $a_link="")
add a property to current section
static getAvailablePortfolioTemplates($a_permission="read")
static getPortfoliosOfUser($a_user_id)
Get views of user.
static _lookupObjectId($a_ref_id)
lookup object id
static _getAllReferences($a_id)
get all reference ids of object
static _exists($a_id, $a_reference=false, $a_type=null)
checks if an object exists in object_data@access public
static getInstance()
Get instance.
Portfolio HTML exporter class.
This class represents an option in a radio group.
special template class to simplify handling of ITX/PEAR
static sendSuccess($a_info="", $a_keep=false)
Send Success Message to Screen.
static sendFailure($a_info="", $a_keep=false)
Send Failure Message to Screen.
static sendInfo($a_info="", $a_keep=false)
Send Info Message to Screen.
static getImagePath($img, $module_path="", $mode="output", $offline=false)
get image path (for images located in a template directory)
Access handler for personal workspace.
Explorer for selecting a personal workspace item.
Tree handler for personal workspace.
if(!array_key_exists('StateId', $_REQUEST)) $id
if(isset($_POST['submit'])) $form
if(!file_exists("$old.txt")) if( $old===$new) if(file_exists("$new.txt")) $file