Added the Comment entity
This commit is contained in:
parent
4a61f0a1f1
commit
bb9e6e6dba
30
app/DoctrineMigrations/Version20120915132603.php
Normal file
30
app/DoctrineMigrations/Version20120915132603.php
Normal file
@ -0,0 +1,30 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace Application\Migrations;
|
||||||
|
|
||||||
|
use Doctrine\DBAL\Migrations\AbstractMigration,
|
||||||
|
Doctrine\DBAL\Schema\Schema;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Auto-generated Migration: Please modify to your need!
|
||||||
|
*/
|
||||||
|
class Version20120915132603 extends AbstractMigration
|
||||||
|
{
|
||||||
|
public function up(Schema $schema)
|
||||||
|
{
|
||||||
|
// this up() migration is autogenerated, please modify it to your needs
|
||||||
|
$this->abortIf($this->connection->getDatabasePlatform()->getName() != "mysql");
|
||||||
|
|
||||||
|
$this->addSql("CREATE TABLE comments (id INT AUTO_INCREMENT NOT NULL, post_id INT NOT NULL, user_id INT DEFAULT NULL, createdAt DATETIME NOT NULL, subject VARCHAR(150) DEFAULT NULL, hidden TINYINT(1) NOT NULL, content LONGTEXT NOT NULL, INDEX IDX_5F9E962A4B89032C (post_id), INDEX IDX_5F9E962AA76ED395 (user_id), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci ENGINE = InnoDB");
|
||||||
|
$this->addSql("ALTER TABLE comments ADD CONSTRAINT FK_5F9E962A4B89032C FOREIGN KEY (post_id) REFERENCES blog_posts (id)");
|
||||||
|
$this->addSql("ALTER TABLE comments ADD CONSTRAINT FK_5F9E962AA76ED395 FOREIGN KEY (user_id) REFERENCES users (id)");
|
||||||
|
}
|
||||||
|
|
||||||
|
public function down(Schema $schema)
|
||||||
|
{
|
||||||
|
// this down() migration is autogenerated, please modify it to your needs
|
||||||
|
$this->abortIf($this->connection->getDatabasePlatform()->getName() != "mysql");
|
||||||
|
|
||||||
|
$this->addSql("DROP TABLE comments");
|
||||||
|
}
|
||||||
|
}
|
198
src/GergelyPolonkai/FrontBundle/Entity/Comment.php
Normal file
198
src/GergelyPolonkai/FrontBundle/Entity/Comment.php
Normal file
@ -0,0 +1,198 @@
|
|||||||
|
<?php
|
||||||
|
namespace GergelyPolonkai\FrontBundle\Entity;
|
||||||
|
|
||||||
|
use Doctrine\ORM\Mapping as ORM;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ORM\Entity
|
||||||
|
* @ORM\Table(name="comments")
|
||||||
|
*/
|
||||||
|
class Comment
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* @ORM\Id
|
||||||
|
* @ORM\GeneratedValue(strategy="AUTO")
|
||||||
|
* @ORM\Column(type="integer")
|
||||||
|
*/
|
||||||
|
private $id;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ORM\ManyToOne(targetEntity="Post")
|
||||||
|
* @ORM\JoinColumn(nullable=false)
|
||||||
|
*/
|
||||||
|
private $post;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ORM\ManyToOne(targetEntity="User")
|
||||||
|
* @ORM\JoinColumn(nullable=true)
|
||||||
|
*/
|
||||||
|
private $user;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ORM\Column(type="datetime", nullable=false)
|
||||||
|
*/
|
||||||
|
private $createdAt;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ORM\Column(type="string", length=150, nullable=true)
|
||||||
|
*/
|
||||||
|
private $subject;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ORM\Column(type="boolean", nullable=false)
|
||||||
|
*/
|
||||||
|
private $hidden;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ORM\Column(type="text", nullable=false)
|
||||||
|
*/
|
||||||
|
private $content;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get id
|
||||||
|
*
|
||||||
|
* @return integer
|
||||||
|
*/
|
||||||
|
public function getId()
|
||||||
|
{
|
||||||
|
return $this->id;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Set createdAt
|
||||||
|
*
|
||||||
|
* @param \DateTime $createdAt
|
||||||
|
* @return Comment
|
||||||
|
*/
|
||||||
|
public function setCreatedAt($createdAt)
|
||||||
|
{
|
||||||
|
$this->createdAt = $createdAt;
|
||||||
|
|
||||||
|
return $this;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get createdAt
|
||||||
|
*
|
||||||
|
* @return \DateTime
|
||||||
|
*/
|
||||||
|
public function getCreatedAt()
|
||||||
|
{
|
||||||
|
return $this->createdAt;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Set subject
|
||||||
|
*
|
||||||
|
* @param string $subject
|
||||||
|
* @return Comment
|
||||||
|
*/
|
||||||
|
public function setSubject($subject)
|
||||||
|
{
|
||||||
|
$this->subject = $subject;
|
||||||
|
|
||||||
|
return $this;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get subject
|
||||||
|
*
|
||||||
|
* @return string
|
||||||
|
*/
|
||||||
|
public function getSubject()
|
||||||
|
{
|
||||||
|
return $this->subject;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Set hidden
|
||||||
|
*
|
||||||
|
* @param boolean $hidden
|
||||||
|
* @return Comment
|
||||||
|
*/
|
||||||
|
public function setHidden($hidden)
|
||||||
|
{
|
||||||
|
$this->hidden = $hidden;
|
||||||
|
|
||||||
|
return $this;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get hidden
|
||||||
|
*
|
||||||
|
* @return boolean
|
||||||
|
*/
|
||||||
|
public function getHidden()
|
||||||
|
{
|
||||||
|
return $this->hidden;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Set content
|
||||||
|
*
|
||||||
|
* @param string $content
|
||||||
|
* @return Comment
|
||||||
|
*/
|
||||||
|
public function setContent($content)
|
||||||
|
{
|
||||||
|
$this->content = $content;
|
||||||
|
|
||||||
|
return $this;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get content
|
||||||
|
*
|
||||||
|
* @return string
|
||||||
|
*/
|
||||||
|
public function getContent()
|
||||||
|
{
|
||||||
|
return $this->content;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Set post
|
||||||
|
*
|
||||||
|
* @param GergelyPolonkai\FrontBundle\Entity\Post $post
|
||||||
|
* @return Comment
|
||||||
|
*/
|
||||||
|
public function setPost(\GergelyPolonkai\FrontBundle\Entity\Post $post)
|
||||||
|
{
|
||||||
|
$this->post = $post;
|
||||||
|
|
||||||
|
return $this;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get post
|
||||||
|
*
|
||||||
|
* @return GergelyPolonkai\FrontBundle\Entity\Post
|
||||||
|
*/
|
||||||
|
public function getPost()
|
||||||
|
{
|
||||||
|
return $this->post;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Set user
|
||||||
|
*
|
||||||
|
* @param GergelyPolonkai\FrontBundle\Entity\User $user
|
||||||
|
* @return Comment
|
||||||
|
*/
|
||||||
|
public function setUser(\GergelyPolonkai\FrontBundle\Entity\User $user = null)
|
||||||
|
{
|
||||||
|
$this->user = $user;
|
||||||
|
|
||||||
|
return $this;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get user
|
||||||
|
*
|
||||||
|
* @return GergelyPolonkai\FrontBundle\Entity\User
|
||||||
|
*/
|
||||||
|
public function getUser()
|
||||||
|
{
|
||||||
|
return $this->user;
|
||||||
|
}
|
||||||
|
}
|
@ -6,6 +6,11 @@ use Doctrine\ORM\Mapping as ORM;
|
|||||||
use Gedmo\Mapping\Annotation as GedmoORM;
|
use Gedmo\Mapping\Annotation as GedmoORM;
|
||||||
use Symfony\Component\Validator\Constraints as Assert;
|
use Symfony\Component\Validator\Constraints as Assert;
|
||||||
|
|
||||||
|
use Doctrine\Common\Collections\ArrayCollection;
|
||||||
|
|
||||||
|
use GergelyPolonkai\FrontBundle\Entity\Comment;
|
||||||
|
use GergelyPolonkai\FrontBundle\Entity\User;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Description of Post
|
* Description of Post
|
||||||
*
|
*
|
||||||
@ -73,6 +78,22 @@ class Post
|
|||||||
*/
|
*/
|
||||||
private $draft;
|
private $draft;
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* @var Doctrine\Common\Collections\ArrayCollection $comments
|
||||||
|
*
|
||||||
|
* @ORM\OneToMany(targetEntity="Comment", mappedBy="post", fetch="LAZY")
|
||||||
|
*/
|
||||||
|
private $comments;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Constructor
|
||||||
|
*/
|
||||||
|
public function __construct()
|
||||||
|
{
|
||||||
|
$this->comments = new ArrayCollection();
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Get id
|
* Get id
|
||||||
*
|
*
|
||||||
@ -122,7 +143,7 @@ class Post
|
|||||||
* @param GergelyPolonkai\FrontBundle\Entity\User $user
|
* @param GergelyPolonkai\FrontBundle\Entity\User $user
|
||||||
* @return Post
|
* @return Post
|
||||||
*/
|
*/
|
||||||
public function setUser(\GergelyPolonkai\FrontBundle\Entity\User $user)
|
public function setUser(User $user)
|
||||||
{
|
{
|
||||||
$this->user = $user;
|
$this->user = $user;
|
||||||
|
|
||||||
@ -191,7 +212,7 @@ class Post
|
|||||||
* @param \DateTime $createdAt
|
* @param \DateTime $createdAt
|
||||||
* @return Post
|
* @return Post
|
||||||
*/
|
*/
|
||||||
public function setCreatedAt($createdAt)
|
public function setCreatedAt(\DateTime $createdAt)
|
||||||
{
|
{
|
||||||
$this->createdAt = $createdAt;
|
$this->createdAt = $createdAt;
|
||||||
|
|
||||||
@ -220,4 +241,36 @@ class Post
|
|||||||
{
|
{
|
||||||
return $this->draft;
|
return $this->draft;
|
||||||
}
|
}
|
||||||
|
/**
|
||||||
|
* Add comments
|
||||||
|
*
|
||||||
|
* @param GergelyPolonkai\FrontBundle\Entity\Comment $comments
|
||||||
|
* @return Post
|
||||||
|
*/
|
||||||
|
public function addComment(Comment $comments)
|
||||||
|
{
|
||||||
|
$this->comments[] = $comments;
|
||||||
|
|
||||||
|
return $this;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Remove comments
|
||||||
|
*
|
||||||
|
* @param GergelyPolonkai\FrontBundle\Entity\Comment $comments
|
||||||
|
*/
|
||||||
|
public function removeComment(Comment $comments)
|
||||||
|
{
|
||||||
|
$this->comments->removeElement($comments);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get comments
|
||||||
|
*
|
||||||
|
* @return Doctrine\Common\Collections\Collection
|
||||||
|
*/
|
||||||
|
public function getComments()
|
||||||
|
{
|
||||||
|
return $this->comments;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -7,4 +7,4 @@
|
|||||||
</ul>
|
</ul>
|
||||||
{% block admincontent %}
|
{% block admincontent %}
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
{% endblock content %}
|
{% endblock content %}
|
||||||
|
@ -30,4 +30,4 @@
|
|||||||
{% include 'GergelyPolonkaiFrontBundle:Blog:postViewer.html.twig' with {'post': post, 'title_links': true} %}
|
{% include 'GergelyPolonkaiFrontBundle:Blog:postViewer.html.twig' with {'post': post, 'title_links': true} %}
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
{{ block('paginator') }}
|
{{ block('paginator') }}
|
||||||
{% endblock content %}
|
{% endblock content %}
|
||||||
|
@ -7,4 +7,4 @@
|
|||||||
<p>I'm learning about different IT subjects since the late '90s. These include web development, application building, systems engineering, systems security and many others. I also dug my nose into free software, dealing with different types of Linux and its applications, while also writing and contributing to some open source projects.</p>
|
<p>I'm learning about different IT subjects since the late '90s. These include web development, application building, systems engineering, systems security and many others. I also dug my nose into free software, dealing with different types of Linux and its applications, while also writing and contributing to some open source projects.</p>
|
||||||
<p>On this site I will write blog posts about different stuff I face during work (oh my, yet another IT solutions blog), hoping they can help you with your own, or just to get along with your brand new netbook that shipped with Linux.</p>
|
<p>On this site I will write blog posts about different stuff I face during work (oh my, yet another IT solutions blog), hoping they can help you with your own, or just to get along with your brand new netbook that shipped with Linux.</p>
|
||||||
<p>Feel free to send me any suggestions on what should I post. I will try my best to provide some help or directions.</p>
|
<p>Feel free to send me any suggestions on what should I post. I will try my best to provide some help or directions.</p>
|
||||||
{% endblock content %}
|
{% endblock content %}
|
||||||
|
@ -2,7 +2,6 @@
|
|||||||
namespace GergelyPolonkai\FrontBundle\Twig;
|
namespace GergelyPolonkai\FrontBundle\Twig;
|
||||||
|
|
||||||
use JMS\DiExtraBundle\Annotation as DI;
|
use JMS\DiExtraBundle\Annotation as DI;
|
||||||
use Symfony\Component\DependencyInjection\ContainerInterface;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Description of RandomHeader
|
* Description of RandomHeader
|
||||||
@ -45,10 +44,12 @@ class RandomHeader extends \Twig_Extension
|
|||||||
$files[] = $fn;
|
$files[] = $fn;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return $files[array_rand($files)];
|
return $files[array_rand($files)];
|
||||||
}
|
}
|
||||||
|
|
||||||
public function getName() {
|
public function getName()
|
||||||
|
{
|
||||||
return 'random_header';
|
return 'random_header';
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user