From c0acb1585f992ede461c0e260973cd723df0e05a Mon Sep 17 00:00:00 2001
From: Angel Fernando Quiroz Campos '.PHP_EOL
- .$comment->getAuthor()->getCompleteName().PHP_EOL.''.$clockIcon.PHP_EOL
- .Display::dateToStringAgoAndLongDate($comment->getDate()).''.PHP_EOL;
+ $nodeHtml = '',
- 'rootClose' => '
',
+ 'rootOpen' => '
'.$clockIcon.PHP_EOL + .Display::dateToStringAgoAndLongDate($comment->getDate()).'
'.PHP_EOL; + + $nodeHtml .= ''.PHP_EOL + .Security::remove_XSS($comment->getContent()).PHP_EOL; $nodeHtml .= $this->generateAttachmentList($comment); @@ -1219,12 +1220,79 @@ class PortfolioController $interbreadcrumb[] = ['name' => get_lang('Portfolio'), 'url' => $this->baseUrl]; + $editLink = $actions[] = Display::url( + Display::return_icon('edit.png', get_lang('Edit'), [], ICON_SIZE_MEDIUM), + $this->baseUrl.http_build_query(['action' => 'edit_item', 'id' => $item->getId()]) + ); + $actions = []; $actions[] = Display::url( Display::return_icon('back.png', get_lang('Back'), [], ICON_SIZE_MEDIUM), $this->baseUrl ); + if ($this->itemBelongToOwner($item)) { + $actions[] = $editLink; + + $visibilityUrl = $this->baseUrl.http_build_query(['action' => 'visibility', 'id' => $item->getId()]); + + if ($item->getVisibility() === Portfolio::VISIBILITY_HIDDEN) { + $actions[] = Display::url( + Display::return_icon('invisible.png', get_lang('MakeVisible'), [], ICON_SIZE_MEDIUM), + $visibilityUrl + ); + } elseif ($item->getVisibility() === Portfolio::VISIBILITY_VISIBLE) { + $actions[] = Display::url( + Display::return_icon('visible.png', get_lang('MakeVisibleForTeachers'), [], ICON_SIZE_MEDIUM), + $visibilityUrl + ); + } elseif ($item->getVisibility() === Portfolio::VISIBILITY_HIDDEN_EXCEPT_TEACHER) { + $actions[] = Display::url( + Display::return_icon('eye-slash.png', get_lang('MakeInvisible'), [], ICON_SIZE_MEDIUM), + $visibilityUrl + ); + } + + $actions[] = Display::url( + Display::return_icon('delete.png', get_lang('Delete'), [], ICON_SIZE_MEDIUM), + $this->baseUrl.http_build_query(['action' => 'delete_item', 'id' => $item->getId()]) + ); + } else { + $actions[] = Display::url( + Display::return_icon('copy.png', get_lang('CopyToMyPortfolio'), [], ICON_SIZE_MEDIUM), + $this->baseUrl.http_build_query(['action' => 'copy', 'id' => $item->getId()]) + ); + } + + if (api_is_allowed_to_edit()) { + $actions[] = Display::url( + Display::return_icon('copy.png', get_lang('CopyToStudentPortfolio'), [], ICON_SIZE_MEDIUM), + $this->baseUrl.http_build_query(['action' => 'teacher_copy', 'copy' => 'item', 'id' => $item->getId()]) + ); + $actions[] = $editLink; + + $highlightedUrl = $this->baseUrl.http_build_query(['action' => 'highlighted', 'id' => $item->getId()]); + + if ($item->isHighlighted()) { + $actions[] = Display::url( + Display::return_icon('award_red.png', get_lang('UnmarkAsHighlighted'), [], ICON_SIZE_MEDIUM), + $highlightedUrl + ); + } else { + $actions[] = Display::url( + Display::return_icon('award_red_na.png', get_lang('MarkAsHighlighted'), [], ICON_SIZE_MEDIUM), + $highlightedUrl + ); + } + + if ($itemCourse && '1' === api_get_course_setting('qualify_portfolio_item')) { + $actions[] = Display::url( + Display::return_icon('quiz.png', get_lang('QualifyThisPortfolioItem'), [], ICON_SIZE_MEDIUM), + $this->baseUrl.http_build_query(['action' => 'qualify', 'item' => $item->getId()]) + ); + } + } + $this->renderView($content, $item->getTitle(true), $actions, false); } @@ -2403,7 +2471,7 @@ class PortfolioController } if ($actions) { - $actions = implode(PHP_EOL, $actions); + $actions = implode('', $actions); $actionsStr .= Display::toolbarAction('portfolio-toolbar', [$actions]); } @@ -2852,6 +2920,7 @@ class PortfolioController $formAction = $this->baseUrl.http_build_query(['action' => 'view', 'id' => $item->getId()]); $form = new FormValidator('frm_comment', 'post', $formAction); + $form->addHeader(get_lang('AddNewComment')); $form->addHtmlEditor('content', get_lang('Comments'), true, false, ['ToolbarSet' => 'Minimal']); $form->addHidden('item', $item->getId()); $form->addHidden('parent', 0); @@ -2948,10 +3017,7 @@ class PortfolioController } if ($attachment->getComment()) { - $listItems .= PHP_EOL.Display::span( - Security::remove_XSS($attachment->getComment()), - ['class' => 'text-muted'] - ); + $listItems .= ''.Security::remove_XSS($attachment->getComment()).'
'; } $listItems .= ''; @@ -2960,7 +3026,7 @@ class PortfolioController $listItems .= ''; if ($includeHeader) { - $listItems = Display::page_subheader(get_lang('AttachmentFiles'), null, 'h5', ['class' => 'h4']) + $listItems = '{{ item.excerpt }}
+{{ item.excerpt }}
-{{ comment.excerpt }}
-{{ comment.excerpt }}
+- - {{ 'UpdatedOnDateXByUserY'|get_lang|format(last_edit.date|date_to_time_ago, last_edit.user) }} -
- {% elseif item.creationDate != item.updateDate %} -- - {{ 'UpdatedOnDateX'|get_lang|format(item.updateDate|date_to_time_ago) }} -
- {% endif %} -