70 $this->lng = $DIC->language();
71 $this->
user = $DIC->user();
72 $this->ctrl = $DIC->ctrl();
73 $this->tpl = $DIC[
"tpl"];
74 $this->tabs = $DIC->tabs();
75 $this->
help = $DIC[
"ilHelp"];
76 $this->locator = $DIC[
"ilLocator"];
77 $this->toolbar = $DIC->toolbar();
79 $this->
ui = $DIC->ui();
80 $lng = $DIC->language();
83 $lng->loadLanguageModule(
"prtf");
84 $lng->loadLanguageModule(
"user");
88 $this->user_id =
$ilUser->getId();
98 if (!$this->access_handler->editPortfolios()) {
99 throw new ilException($this->lng->txt(
"no_permission"));
102 $next_class = $ilCtrl->getNextClass($this);
103 $cmd = $ilCtrl->getCmd(
"show");
105 $tpl->setTitle(
$lng->txt(
"portfolio"));
108 $lng->txt(
"portfolio")
111 switch ($next_class) {
112 case "ilobjportfoliogui":
116 if ($cmd !=
"preview") {
119 if ((
int)
$_GET[
"exc_back_ref_id"] > 0) {
122 $ilTabs->setBack2Target(
$lng->txt(
"prtf_tab_portfolios"), $ilCtrl->getLinkTarget($this,
"show"));
126 $ilCtrl->forwardCommand($gui);
146 $ilHelp->setScreenIdComponent(
"prtf");
150 $lng->txt(
"prtf_tab_portfolios"),
151 $ilCtrl->getLinkTarget($this)
156 $lng->txt(
"prtf_tab_other_users"),
157 $ilCtrl->getLinkTarget($this,
"showotherFilter")
160 $ilTabs->activateTab(
"mypf");
171 $lng->txt(
"portfolio"),
172 $ilCtrl->getLinkTarget($this,
"show")
178 protected function checkAccess($a_permission, $a_portfolio_id = null)
180 if ($a_portfolio_id) {
181 return $this->access_handler->checkAccess($a_permission,
"", $a_portfolio_id);
200 $button->setCaption(
"prtf_add_portfolio");
201 $button->setUrl($ilCtrl->getLinkTargetByClass(
"ilObjPortfolioGUI",
"create"));
202 $ilToolbar->addButtonInstance($button);
205 $tpl->setContent($portfolio_list);
218 $renderer =
$ui->renderer();
230 $icon =
$f->symbol()->icon()->custom(
232 $lng->txt(
"obj_portfolio"),
235 if (!$port[
"is_online"] || !in_array($port[
"id"], $shared_objects)) {
236 $icon = $icon->withDisabled(
true);
240 $prtf_path = array(get_class($this),
"ilobjportfoliogui");
243 $ctrl->setParameterByClass(
"ilobjportfoliogui",
"prt_id", $port[
"id"]);
244 $preview_action =
$ctrl->getLinkTargetByClass($prtf_path,
"preview");
245 $action[] =
$f->button()->shy(
$lng->txt(
"preview"), $preview_action);
247 $action[] =
$f->button()->shy(
248 $lng->txt(
"prtf_edit_content"),
249 $ctrl->getLinkTargetByClass($prtf_path,
"view")
251 $ctrl->setParameter($this,
"prt_id", $port[
"id"]);
252 if ($port[
"is_online"]) {
254 $action[] =
$f->button()->shy(
255 $lng->txt(
"prtf_set_offline"),
256 $ctrl->getLinkTarget($this,
"setOffline")
260 $action[] =
$f->button()->shy(
261 $lng->txt(
"prtf_set_online"),
262 $ctrl->getLinkTarget($this,
"setOnline")
265 $ctrl->setParameter($this,
"prt_id",
"");
267 $action[] =
$f->button()->shy(
268 $lng->txt(
"settings"),
269 $ctrl->getLinkTargetByClass($prtf_path,
"edit")
272 $action[] =
$f->button()->shy(
273 $lng->txt(
"wsp_permissions"),
274 $ctrl->getLinkTargetByClass(array(get_class($this),
"ilobjportfoliogui",
"ilWorkspaceAccessGUI"),
"share")
276 $ctrl->setParameterByClass(
"ilobjportfoliogui",
"prt_id",
"");
278 if ($port[
"is_online"]) {
279 if (!$port[
"is_default"]) {
281 $ctrl->setParameter($this,
"prt_id", $port[
"id"]);
283 $action[] =
$f->button()->shy(
284 $lng->txt(
"prtf_set_as_default"),
285 $ctrl->getLinkTarget($this,
"setDefaultConfirmation")
288 $ctrl->setParameter($this,
"prt_id",
"");
291 $action[] =
$f->button()->shy(
292 $lng->txt(
"prtf_unset_as_default"),
293 $ctrl->getLinkTarget($this,
"unsetDefault")
298 $ctrl->setParameter($this,
"prtfs[]", $port[
"id"]);
299 $action[] =
$f->button()->shy(
301 $ctrl->getLinkTarget($this,
"confirmPortfolioDeletion")
303 $ctrl->setParameter($this,
"prtfs[]",
"");
304 $actions =
$f->dropdown()->standard($action);
310 $props[
$lng->txt(
"online")] = ($port[
"is_online"])
312 :
"<span class='il_ItemAlertProperty'>" .
$lng->txt(
"no") .
"</span>";
314 $props[
$lng->txt(
"wsp_status_shared")] = (in_array($port[
"id"], $shared_objects))
316 :
"<span class='il_ItemAlertProperty'>" .
$lng->txt(
"no") .
"</span>";
318 if ($port[
"is_default"]) {
319 $props[
$lng->txt(
"prtf_default_portfolio")] =
$lng->txt(
"yes");
324 foreach ($exercises as $exinfo) {
325 if ($exinfo[
"submitted"]) {
326 $props[$exinfo[
"ass_title"]] =
327 str_replace(
"$1", $exinfo[
"submitted_date"],
$lng->txt(
"prtf_submission_on"));
329 $props[$exinfo[
"ass_title"]] =
"<span class='il_ItemAlertProperty'>" .
$lng->txt(
"prtf_no_submission") .
"</span>";
334 $items[] =
$f->item()->standard(
$f->button()->shy($port[
"title"], $preview_action))
335 ->withActions($actions)
336 ->withProperties($props)
337 ->withLeadIcon($icon);
341 $std_list =
$f->panel()->listing()->standard(
$lng->txt(
"prtf_portfolios"), array(
342 $f->item()->group(
"", $items)
345 return $renderer->render($std_list);
357 $prt_id = (int)
$_GET[
"prt_id"];
360 $portfolio->setOnline(
true);
361 $portfolio->update();
362 ilUtil::sendSuccess(
$lng->txt(
"saved_successfully"),
true);
363 $ilCtrl->redirect($this,
"show");
365 $ilCtrl->redirect($this,
"show");
376 $prt_id = (int)
$_GET[
"prt_id"];
379 $portfolio->setOnline(
false);
380 $portfolio->update();
381 ilUtil::sendSuccess(
$lng->txt(
"saved_successfully"),
true);
382 $ilCtrl->redirect($this,
"show");
384 $ilCtrl->redirect($this,
"show");
393 foreach (
$_POST[
"title"] as $id => $title) {
399 if (is_array(
$_POST[
"online"]) && in_array($id,
$_POST[
"online"])) {
400 $portfolio->setOnline(
true);
402 $portfolio->setOnline(
false);
405 $portfolio->update();
410 ilUtil::sendSuccess(
$lng->txt(
"saved_successfully"),
true);
411 $ilCtrl->redirect($this,
"show");
420 $prtfs = $_REQUEST[
"prtfs"];
422 if (!is_array($prtfs) || count($prtfs) == 0) {
424 $ilCtrl->redirect($this,
"show");
427 $cgui->setFormAction($ilCtrl->getFormAction($this));
428 $cgui->setHeaderText(
$lng->txt(
"prtf_sure_delete_portfolios"));
429 $cgui->setCancel(
$lng->txt(
"cancel"),
"show");
430 $cgui->setConfirm(
$lng->txt(
"delete"),
"deletePortfolios");
432 foreach ($prtfs as $id) {
436 $tpl->setContent($cgui->getHTML());
445 if (is_array(
$_POST[
"prtfs"])) {
446 foreach (
$_POST[
"prtfs"] as $id) {
450 $this->access_handler->removePermission($id);
451 $portfolio->delete();
456 ilUtil::sendSuccess(
$lng->txt(
"prtf_portfolio_deleted"),
true);
457 $ilCtrl->redirect($this,
"show");
473 $ilUser->setPref(
"public_profile",
"n");
477 ilUtil::sendSuccess(
$lng->txt(
"prtf_unset_default_share_info"),
true);
479 $ilCtrl->redirect($this,
"show");
493 $prtf_id = (int) $_REQUEST[
"prt_id"];
497 if ($this->access_handler->hasRegisteredPermission($prtf_id) ||
498 $this->access_handler->hasGlobalPermission($prtf_id)) {
502 $ilTabs->clearTargets();
503 $ilTabs->setBackTarget(
505 $ilCtrl->getLinkTarget($this,
"show")
508 $ilCtrl->setParameter($this,
"prt_id", $prtf_id);
511 if (!
$ilSetting->get(
"enable_global_profiles")) {
512 $ilCtrl->redirect($this,
"setDefaultRegistered");
516 $cgui->setFormAction($ilCtrl->getFormAction($this));
517 $cgui->setHeaderText(
$lng->txt(
"prtf_set_default_publish_confirmation"));
518 $cgui->setCancel(
$lng->txt(
"prtf_set_default_publish_global"),
"setDefaultGlobal");
519 $cgui->setConfirm(
$lng->txt(
"prtf_set_default_publish_registered"),
"setDefaultRegistered");
520 $tpl->setContent($cgui->getHTML());
525 $ilCtrl->redirect($this,
"show");
532 $prtf_id = (int) $_REQUEST[
"prt_id"];
537 $ilCtrl->redirect($this,
"show");
544 $prtf_id = (int) $_REQUEST[
"prt_id"];
549 $ilCtrl->redirect($this,
"show");
560 if ($this->access_handler->hasGlobalPermission($a_prtf_id)) {
561 $ilUser->setPref(
"public_profile",
"g");
563 } elseif ($this->access_handler->hasRegisteredPermission($a_prtf_id)) {
564 $ilUser->setPref(
"public_profile",
"y");
570 ilUtil::sendSuccess(
$lng->txt(
"settings_saved"),
true);
572 $ilCtrl->redirect($this,
"show");
590 $ilTabs->activateTab(
"otpf");
593 $tpl->setContent($tbl->getHTML());
600 $tbl->writeFilterToSession();
checkAccess($a_permission, $a_portfolio_id=null)
getPortfolioList()
Get portfolio list.
static _lookupTitle($a_id)
static getPortfoliosOfUser($a_user_id)
Get views of user.
const PERMISSION_REGISTERED
Portfolio repository gui class.
static _lookupOwner($a_id)
static sendInfo($a_info="", $a_keep=false)
Send Info Message to Screen.
Workspace share handler table GUI class.
Portfolio view gui class.
static checkExercise($a_user_id, $a_obj_id, $a_add_submit=false, $as_array=false)
static getImagePath($img, $module_path="", $mode="output", $offline=false)
get image path (for images located in a template directory)
static setUserDefault($a_user_id, $a_portfolio_id=null)
Set the user default portfolio.
static stripSlashes($a_str, $a_strip_html=true, $a_allow="")
strip slashes if magic qoutes is enabled
confirmPortfolioDeletion()
Access handler for portfolio.
static _getLink($a_ref_id, $a_type='', $a_params=array(), $append="")
Confirmation screen class.
setDefaultConfirmation()
Confirm sharing when setting default.
showOther($a_load_data=true)