parent
054d4d2004
commit
dcc7e3a65e
@ -0,0 +1,103 @@ |
||||
<article class="thumbnail portfolio-item"> |
||||
<div class="caption"> |
||||
{% if _u.id == item.user.id %} |
||||
<div class="portfolio-actions pull-right"> |
||||
<a href="{{ baseurl ~ {'action':'edit_item', 'id':item.id}|url_encode }}"> |
||||
{{ 'edit.png'|img(22, 'Edit'|get_lang) }} |
||||
</a> |
||||
{% if item.isVisible %} |
||||
<a href="{{ baseurl ~ {'action':'hide_item', 'id':item.id}|url_encode }}"> |
||||
{{ 'visible.png'|img(22, 'Invisible'|get_lang) }} |
||||
</a> |
||||
{% else %} |
||||
<a href="{{ baseurl ~ {'action':'show_item', 'id':item.id}|url_encode }}"> |
||||
{{ 'invisible.png'|img(22, 'Visible'|get_lang) }} |
||||
</a> |
||||
{% endif %} |
||||
<a href="{{ baseurl ~ {'action':'delete_item', 'id':item.id}|url_encode }}" class="btn-delete"> |
||||
{{ 'delete.png'|img(22, 'Delete'|get_lang) }} |
||||
</a> |
||||
</div> |
||||
{% endif %} |
||||
|
||||
<h4 class="h3">{{ item.title }}</h4> |
||||
|
||||
<ul class="fa-ul list-inline"> |
||||
{% if _c is empty %} |
||||
{% if item.session %} |
||||
<li> |
||||
<span class="fa-li fa fa-book" aria-hidden="true"></span> |
||||
{{ 'Course'|get_lang ~ ': ' ~ item.session.name ~ ' (' ~ item.course.title ~ ')' }} |
||||
</li> |
||||
{% elseif not item.session and item.course %} |
||||
<li> |
||||
<span class="fa-li fa fa-book" aria-hidden="true"></span> |
||||
{{ 'Course'|get_lang ~ ': ' ~ item.course.title }} |
||||
</li> |
||||
{% endif %} |
||||
{% else %} |
||||
<li> |
||||
<span class="fa-li fa fa-user" aria-hidden="true"></span> |
||||
{{ item.user.completeName }} |
||||
</li> |
||||
{% endif %} |
||||
|
||||
<li> |
||||
<span class="fa-li fa fa-clock-o" aria-hidden="true"></span> |
||||
{{ 'CreationDate'|get_lang ~ ': ' ~ item.creationDate|date_to_time_ago }} |
||||
</li> |
||||
|
||||
{% if item.creationDate != item.updateDate %} |
||||
<li> |
||||
<span class="fa-li fa fa-clock-o" aria-hidden="true"></span> |
||||
{{ 'UpdateDate'|get_lang ~ ': ' ~ item.updateDate|date_to_time_ago }} |
||||
</li> |
||||
{% endif %} |
||||
|
||||
<li> |
||||
<span class="fa-li fa fa-comment-o" aria-hidden="true"></span> |
||||
{{ 'XComments'|get_lang|format(item.comments.count) }} |
||||
</li> |
||||
</ul> |
||||
|
||||
<hr> |
||||
|
||||
{{ item.content }} |
||||
</div> |
||||
</article> |
||||
|
||||
<hr> |
||||
|
||||
<h5 class="h4">{{ 'XComments'|get_lang|format(item.comments.count) }}</h5> |
||||
|
||||
{{ comments }} |
||||
|
||||
{{ form }} |
||||
|
||||
<script> |
||||
$(function () { |
||||
var frmCommentTop = $("#frm_comment").offset().top; |
||||
|
||||
$('.btn-reply-to').on('click', function (e) { |
||||
e.preventDefault(); |
||||
|
||||
var comment = $.extend( |
||||
{}, |
||||
{'id': 0}, |
||||
$(this).data('comment') |
||||
); |
||||
|
||||
if (!comment.id) { |
||||
return; |
||||
} |
||||
|
||||
var $frm = $('form#frm_comment'); |
||||
|
||||
$frm.find('#frm_comment_parent').val(comment.id); |
||||
|
||||
CKEDITOR.instances.content.setData(''); |
||||
|
||||
$('html, body').animate({scrollTop: frmCommentTop}); |
||||
}); |
||||
}); |
||||
</script> |
||||
@ -0,0 +1,239 @@ |
||||
<?php |
||||
|
||||
/* For licensing terms, see /license.txt */ |
||||
|
||||
namespace Chamilo\CoreBundle\Entity; |
||||
|
||||
use Chamilo\UserBundle\Entity\User; |
||||
use DateTime; |
||||
use Doctrine\Common\Collections\ArrayCollection; |
||||
use Doctrine\ORM\Mapping as ORM; |
||||
use Gedmo\Mapping\Annotation as Gedmo; |
||||
|
||||
/** |
||||
* Class PortfolioComment. |
||||
* |
||||
* @package Chamilo\CoreBundle\Entity |
||||
* |
||||
* @Gedmo\Tree(type="nested") |
||||
* @ORM\Table(name="portfolio_comment") |
||||
* Add @ to the next line if api_get_configuration_value('allow_portfolio_tool') is true |
||||
* ORM\Entity(repositoryClass="Gedmo\Tree\Entity\Repository\NestedTreeRepository") |
||||
*/ |
||||
class PortfolioComment |
||||
{ |
||||
/** |
||||
* @var int |
||||
* |
||||
* @ORM\Column(name="id", type="integer") |
||||
* @ORM\Id |
||||
* @ORM\GeneratedValue |
||||
*/ |
||||
private $id; |
||||
/** |
||||
* @var \Chamilo\UserBundle\Entity\User |
||||
* |
||||
* @ORM\ManyToOne(targetEntity="Chamilo\UserBundle\Entity\User") |
||||
* @ORM\JoinColumn(name="author_id", referencedColumnName="id", nullable=false) |
||||
*/ |
||||
private $author; |
||||
/** |
||||
* @var \Chamilo\CoreBundle\Entity\Portfolio |
||||
* |
||||
* @ORM\ManyToOne(targetEntity="Chamilo\CoreBundle\Entity\Portfolio", inversedBy="comments") |
||||
* @ORM\JoinColumn(name="item_id", referencedColumnName="id", nullable=false) |
||||
*/ |
||||
private $item; |
||||
/** |
||||
* @var string |
||||
* |
||||
* @ORM\Column(name="content", type="text") |
||||
*/ |
||||
private $content; |
||||
/** |
||||
* @var \DateTime |
||||
* |
||||
* @ORM\Column(name="date", type="datetime") |
||||
*/ |
||||
private $date; |
||||
/** |
||||
* @var int |
||||
* |
||||
* @Gedmo\TreeLeft() |
||||
* @ORM\Column(name="lft", type="integer") |
||||
*/ |
||||
private $lft; |
||||
/** |
||||
* @var int |
||||
* |
||||
* @Gedmo\TreeLevel() |
||||
* @ORM\Column(name="lvl", type="integer") |
||||
*/ |
||||
private $lvl; |
||||
/** |
||||
* @var int |
||||
* |
||||
* @Gedmo\TreeRight() |
||||
* @ORM\Column(name="rgt", type="integer") |
||||
*/ |
||||
private $rgt; |
||||
/** |
||||
* @var \Chamilo\CoreBundle\Entity\PortfolioComment |
||||
* |
||||
* @Gedmo\TreeRoot() |
||||
* @ORM\ManyToOne(targetEntity="Chamilo\CoreBundle\Entity\PortfolioComment") |
||||
* @ORM\JoinColumn(name="tree_root", referencedColumnName="id", onDelete="CASCADE") |
||||
*/ |
||||
private $root; |
||||
/** |
||||
* @var \Chamilo\CoreBundle\Entity\PortfolioComment|null |
||||
* |
||||
* @Gedmo\TreeParent() |
||||
* @ORM\ManyToOne(targetEntity="Chamilo\CoreBundle\Entity\PortfolioComment", inversedBy="children") |
||||
* @ORM\JoinColumn(name="parent_id", referencedColumnName="id", onDelete="CASCADE") |
||||
*/ |
||||
private $parent; |
||||
/** |
||||
* @var \Doctrine\Common\Collections\ArrayCollection |
||||
* |
||||
* @ORM\OneToMany(targetEntity="Chamilo\CoreBundle\Entity\PortfolioComment", mappedBy="parent") |
||||
* @ORM\OrderBy({"lft"="DESC"}) |
||||
*/ |
||||
private $children; |
||||
|
||||
/** |
||||
* PortfolioComment constructor. |
||||
*/ |
||||
public function __construct() |
||||
{ |
||||
$this->children = new ArrayCollection(); |
||||
} |
||||
|
||||
/** |
||||
* @return int |
||||
*/ |
||||
public function getId(): int |
||||
{ |
||||
return $this->id; |
||||
} |
||||
|
||||
/** |
||||
* @return \Chamilo\UserBundle\Entity\User |
||||
*/ |
||||
public function getAuthor(): User |
||||
{ |
||||
return $this->author; |
||||
} |
||||
|
||||
/** |
||||
* @param \Chamilo\UserBundle\Entity\User $author |
||||
* |
||||
* @return PortfolioComment |
||||
*/ |
||||
public function setAuthor(User $author): PortfolioComment |
||||
{ |
||||
$this->author = $author; |
||||
|
||||
return $this; |
||||
} |
||||
|
||||
/** |
||||
* @return \Chamilo\CoreBundle\Entity\Portfolio |
||||
*/ |
||||
public function getItem(): Portfolio |
||||
{ |
||||
return $this->item; |
||||
} |
||||
|
||||
/** |
||||
* @param \Chamilo\CoreBundle\Entity\Portfolio $item |
||||
* |
||||
* @return PortfolioComment |
||||
*/ |
||||
public function setItem(Portfolio $item): PortfolioComment |
||||
{ |
||||
$this->item = $item; |
||||
|
||||
return $this; |
||||
} |
||||
|
||||
/** |
||||
* @return string |
||||
*/ |
||||
public function getContent(): string |
||||
{ |
||||
return $this->content; |
||||
} |
||||
|
||||
/** |
||||
* @param string $content |
||||
* |
||||
* @return PortfolioComment |
||||
*/ |
||||
public function setContent(string $content): PortfolioComment |
||||
{ |
||||
$this->content = $content; |
||||
|
||||
return $this; |
||||
} |
||||
|
||||
/** |
||||
* @return \DateTime |
||||
*/ |
||||
public function getDate(): DateTime |
||||
{ |
||||
return $this->date; |
||||
} |
||||
|
||||
/** |
||||
* @param \DateTime $date |
||||
* |
||||
* @return PortfolioComment |
||||
*/ |
||||
public function setDate(DateTime $date): PortfolioComment |
||||
{ |
||||
$this->date = $date; |
||||
|
||||
return $this; |
||||
} |
||||
|
||||
/** |
||||
* @return \Chamilo\CoreBundle\Entity\PortfolioComment|null |
||||
*/ |
||||
public function getParent(): ?PortfolioComment |
||||
{ |
||||
return $this->parent; |
||||
} |
||||
|
||||
/** |
||||
* @param \Chamilo\CoreBundle\Entity\PortfolioComment|null $parent |
||||
* |
||||
* @return PortfolioComment |
||||
*/ |
||||
public function setParent(?PortfolioComment $parent): PortfolioComment |
||||
{ |
||||
$this->parent = $parent; |
||||
|
||||
return $this; |
||||
} |
||||
|
||||
/** |
||||
* @return \Doctrine\Common\Collections\ArrayCollection |
||||
*/ |
||||
public function getChildren(): ArrayCollection |
||||
{ |
||||
return $this->children; |
||||
} |
||||
|
||||
/** |
||||
* @param \Doctrine\Common\Collections\ArrayCollection $children |
||||
* |
||||
* @return PortfolioComment |
||||
*/ |
||||
public function setChildren(ArrayCollection $children): PortfolioComment |
||||
{ |
||||
$this->children = $children; |
||||
|
||||
return $this; |
||||
} |
||||
} |
||||
Loading…
Reference in new issue