From 95152ca62b5e76f7726426511b36e684dfc854d3 Mon Sep 17 00:00:00 2001 From: Polonkai Gergely Date: Sun, 1 Jul 2012 19:11:31 +0200 Subject: [PATCH] Created the article viewer Signed-off-by: Gergely POLONKAI (W00d5t0ck) --- .../Controller/DefaultController.php | 12 +- src/KekRozsak/FrontBundle/Entity/Article.php | 270 ++++++++++++++++++ src/KekRozsak/FrontBundle/Entity/Role.php | 139 +++++++++ src/KekRozsak/FrontBundle/Entity/User.php | 193 +++++++++++++ .../Resources/config/doctrine/Article.orm.yml | 40 +++ .../Resources/config/doctrine/Role.orm.yml | 30 ++ .../Resources/config/doctrine/User.orm.yml | 26 ++ .../FrontBundle/Resources/config/routing.yml | 5 +- .../Resources/views/Default/article.html.twig | 53 +--- 9 files changed, 713 insertions(+), 55 deletions(-) create mode 100644 src/KekRozsak/FrontBundle/Entity/Article.php create mode 100644 src/KekRozsak/FrontBundle/Entity/Role.php create mode 100644 src/KekRozsak/FrontBundle/Entity/User.php create mode 100644 src/KekRozsak/FrontBundle/Resources/config/doctrine/Article.orm.yml create mode 100644 src/KekRozsak/FrontBundle/Resources/config/doctrine/Role.orm.yml create mode 100644 src/KekRozsak/FrontBundle/Resources/config/doctrine/User.orm.yml diff --git a/src/KekRozsak/FrontBundle/Controller/DefaultController.php b/src/KekRozsak/FrontBundle/Controller/DefaultController.php index 2b31567..d4011cd 100644 --- a/src/KekRozsak/FrontBundle/Controller/DefaultController.php +++ b/src/KekRozsak/FrontBundle/Controller/DefaultController.php @@ -6,8 +6,12 @@ use Symfony\Bundle\FrameworkBundle\Controller\Controller; class DefaultController extends Controller { - public function articleAction($articleSlug) - { - return $this->render('KekRozsakFrontBundle:Default:article.html.twig', array()); - } + public function articleAction($articleSlug) + { + $article = $this->getDoctrine()->getRepository('KekRozsakFrontBundle:Article')->findOneBySlug($articleSlug); + + return $this->render('KekRozsakFrontBundle:Default:article.html.twig', array( + 'article' => $article + )); + } } diff --git a/src/KekRozsak/FrontBundle/Entity/Article.php b/src/KekRozsak/FrontBundle/Entity/Article.php new file mode 100644 index 0000000..3d0731f --- /dev/null +++ b/src/KekRozsak/FrontBundle/Entity/Article.php @@ -0,0 +1,270 @@ +id; + } + + /** + * Set title + * + * @param string $title + * @return Article + */ + public function setTitle($title) + { + $this->title = $title; + return $this; + } + + /** + * Get title + * + * @return string + */ + public function getTitle() + { + return $this->title; + } + + /** + * Set slug + * + * @param string $slug + * @return Article + */ + public function setSlug($slug) + { + $this->slug = $slug; + return $this; + } + + /** + * Get slug + * + * @return string + */ + public function getSlug() + { + return $this->slug; + } + + /** + * Set text + * + * @param text $text + * @return Article + */ + public function setText($text) + { + $this->text = $text; + return $this; + } + + /** + * Get text + * + * @return text + */ + public function getText() + { + return $this->text; + } + + /** + * Set source + * + * @param string $source + * @return Article + */ + public function setSource($source) + { + $this->source = $source; + return $this; + } + + /** + * Get source + * + * @return string + */ + public function getSource() + { + return $this->source; + } + + /** + * Set created_at + * + * @param DateTime $createdAt + * @return Article + */ + public function setCreatedAt(\DateTime $createdAt) + { + $this->created_at = $createdAt; + return $this; + } + + /** + * Get created_at + * + * @return DateTime + */ + public function getCreatedAt() + { + return $this->created_at; + } + + /** + * Set updated_at + * + * @param DateTime $updatedAt + * @return Article + */ + public function setUpdatedAt(\DateTime $updatedAt) + { + $this->updated_at = $updatedAt; + return $this; + } + + /** + * Get updated_at + * + * @return DateTime + */ + public function getUpdatedAt() + { + return $this->updated_at; + } + + /** + * Set update_reason + * + * @param text $updateReason + * @return Article + */ + public function setUpdateReason($updateReason) + { + $this->update_reason = $updateReason; + return $this; + } + + /** + * Get update_reason + * + * @return text + */ + public function getUpdateReason() + { + return $this->update_reason; + } + + /** + * Set created_by + * + * @param KekRozsak\FrontBundle\Entity\User $createdBy + * @return Article + */ + public function setCreatedBy(\KekRozsak\FrontBundle\Entity\User $createdBy = null) + { + $this->created_by = $createdBy; + return $this; + } + + /** + * Get created_by + * + * @return KekRozsak\FrontBundle\Entity\User + */ + public function getCreatedBy() + { + return $this->created_by; + } + + /** + * Set updated_by + * + * @param KekRozsak\FrontBundle\Entity\User $updatedBy + * @return Article + */ + public function setUpdatedBy(\KekRozsak\FrontBundle\Entity\User $updatedBy = null) + { + $this->updated_by = $updatedBy; + return $this; + } + + /** + * Get updated_by + * + * @return KekRozsak\FrontBundle\Entity\User + */ + public function getUpdatedBy() + { + return $this->updated_by; + } +} \ No newline at end of file diff --git a/src/KekRozsak/FrontBundle/Entity/Role.php b/src/KekRozsak/FrontBundle/Entity/Role.php new file mode 100644 index 0000000..22317ea --- /dev/null +++ b/src/KekRozsak/FrontBundle/Entity/Role.php @@ -0,0 +1,139 @@ +included_roles = new \Doctrine\Common\Collections\ArrayCollection(); + } + + /** + * Get id + * + * @return integer + */ + public function getId() + { + return $this->id; + } + + /** + * Set name + * + * @param string $name + * @return Role + */ + public function setName($name) + { + $this->name = $name; + return $this; + } + + /** + * Get name + * + * @return string + */ + public function getName() + { + return $this->name; + } + + /** + * Set display_name + * + * @param string $displayName + * @return Role + */ + public function setDisplayName($displayName) + { + $this->display_name = $displayName; + return $this; + } + + /** + * Get display_name + * + * @return string + */ + public function getDisplayName() + { + return $this->display_name; + } + + /** + * Set can_be_assigned + * + * @param boolean $canBeAssigned + * @return Role + */ + public function setCanBeAssigned($canBeAssigned) + { + $this->can_be_assigned = $canBeAssigned; + return $this; + } + + /** + * Get can_be_assigned + * + * @return boolean + */ + public function getCanBeAssigned() + { + return $this->can_be_assigned; + } + + /** + * Add included_roles + * + * @param KekRozsak\FrontBundle\Entity\Role $includedRoles + * @return Role + */ + public function addRole(\KekRozsak\FrontBundle\Entity\Role $includedRoles) + { + $this->included_roles[] = $includedRoles; + return $this; + } + + /** + * Get included_roles + * + * @return Doctrine\Common\Collections\Collection + */ + public function getIncludedRoles() + { + return $this->included_roles; + } +} \ No newline at end of file diff --git a/src/KekRozsak/FrontBundle/Entity/User.php b/src/KekRozsak/FrontBundle/Entity/User.php new file mode 100644 index 0000000..5680b4a --- /dev/null +++ b/src/KekRozsak/FrontBundle/Entity/User.php @@ -0,0 +1,193 @@ +roles = new \Doctrine\Common\Collections\ArrayCollection(); + } + + /** + * Get id + * + * @return integer + */ + public function getId() + { + return $this->id; + } + + /** + * Set username + * + * @param string $username + * @return User + */ + public function setUsername($username) + { + $this->username = $username; + return $this; + } + + /** + * Get username + * + * @return string + */ + public function getUsername() + { + return $this->username; + } + + /** + * Set password + * + * @param string $password + * @return User + */ + public function setPassword($password) + { + $this->password = $password; + return $this; + } + + /** + * Get password + * + * @return string + */ + public function getPassword() + { + return $this->password; + } + + /** + * Set email + * + * @param string $email + * @return User + */ + public function setEmail($email) + { + $this->email = $email; + return $this; + } + + /** + * Get email + * + * @return string + */ + public function getEmail() + { + return $this->email; + } + + /** + * Set registered_at + * + * @param DateTime $registeredAt + * @return User + */ + public function setRegisteredAt(\DateTime $registeredAt) + { + $this->registered_at = $registeredAt; + return $this; + } + + /** + * Get registered_at + * + * @return DateTime + */ + public function getRegisteredAt() + { + return $this->registered_at; + } + + /** + * Set display_name + * + * @param string $displayName + * @return User + */ + public function setDisplayName($displayName) + { + $this->display_name = $displayName; + return $this; + } + + /** + * Get display_name + * + * @return string + */ + public function getDisplayName() + { + return $this->display_name; + } + + /** + * Add roles + * + * @param KekRozsak\FrontBundle\Entity\Role $roles + * @return User + */ + public function addRole(\KekRozsak\FrontBundle\Entity\Role $roles) + { + $this->roles[] = $roles; + return $this; + } + + /** + * Get roles + * + * @return Doctrine\Common\Collections\Collection + */ + public function getRoles() + { + return $this->roles; + } +} \ No newline at end of file diff --git a/src/KekRozsak/FrontBundle/Resources/config/doctrine/Article.orm.yml b/src/KekRozsak/FrontBundle/Resources/config/doctrine/Article.orm.yml new file mode 100644 index 0000000..e92406d --- /dev/null +++ b/src/KekRozsak/FrontBundle/Resources/config/doctrine/Article.orm.yml @@ -0,0 +1,40 @@ +KekRozsak\FrontBundle\Entity\Article: + type: entity + table: articles + id: + id: + type: integer + generator: + strategy: AUTO + fields: + title: + type: string(100) + nullable: false + slug: + type: string(100) + nullable: false + unique: true + text: + type: text + nullable: false + source: + type: string(255) + nullable: true + created_at: + type: datetime + nullable: false + updated_at: + type: datetime + nullable: true + update_reason: + type: text + nullable: true + manyToOne: + created_by: + targetEntity: User + inversedBy: articles + nullable: false + updated_by: + targetEntity: User + nullable: true + default: null diff --git a/src/KekRozsak/FrontBundle/Resources/config/doctrine/Role.orm.yml b/src/KekRozsak/FrontBundle/Resources/config/doctrine/Role.orm.yml new file mode 100644 index 0000000..1e94cc9 --- /dev/null +++ b/src/KekRozsak/FrontBundle/Resources/config/doctrine/Role.orm.yml @@ -0,0 +1,30 @@ +KekRozsak\FrontBundle\Entity\Role: + type: entity + table: roles + id: + id: + type: integer + generator: + strategy: AUTO + fields: + name: + type: string(100) + nullable: false + display_name: + type: string(100) + nullable: false + can_be_assigned: + type: boolean + default: false + manyToMany: + included_roles: + targetEntity: Role + joinTable: + name: role_hierarchy + joinColumns: + parent_role_id: + referencedColumnName: id + inverseJoinColumns: + child_role_id: + referencedColumnName: id + diff --git a/src/KekRozsak/FrontBundle/Resources/config/doctrine/User.orm.yml b/src/KekRozsak/FrontBundle/Resources/config/doctrine/User.orm.yml new file mode 100644 index 0000000..b858910 --- /dev/null +++ b/src/KekRozsak/FrontBundle/Resources/config/doctrine/User.orm.yml @@ -0,0 +1,26 @@ +KekRozsak\FrontBundle\Entity\User: + type: entity + table: users + id: + id: + type: integer + generator: + strategy: AUTO + fields: + username: + type: string(50) + nullable: false + password: + type: string(50) + nullable: false + email: + type: string(50) + nullable: false + registered_at: + type: datetime + display_name: + type: string(50) + nullable: false + manyToMany: + roles: + targetEntity: Role diff --git a/src/KekRozsak/FrontBundle/Resources/config/routing.yml b/src/KekRozsak/FrontBundle/Resources/config/routing.yml index 488d03b..cc32995 100644 --- a/src/KekRozsak/FrontBundle/Resources/config/routing.yml +++ b/src/KekRozsak/FrontBundle/Resources/config/routing.yml @@ -1,10 +1,9 @@ KekRozsakFrontBundle_homepage: pattern: / defaults: - _controller: KekRozsakFrontBundle:Default:article - articleSlug: aktualis + _controller: KekRozsakFrontBundle:Default:homepage KekRozsakFrontBundle_article: - pattern: /cikk/{$articleSlug} + pattern: /cikk/{articleSlug} defaults: _controller: KekRozsakFrontBundle:Default:article diff --git a/src/KekRozsak/FrontBundle/Resources/views/Default/article.html.twig b/src/KekRozsak/FrontBundle/Resources/views/Default/article.html.twig index 44e372d..46b7ac7 100644 --- a/src/KekRozsak/FrontBundle/Resources/views/Default/article.html.twig +++ b/src/KekRozsak/FrontBundle/Resources/views/Default/article.html.twig @@ -1,51 +1,8 @@ {% extends 'KekRozsakFrontBundle:Default:front_template.html.twig' %} -{% block title%} - Aktuális{% endblock title %} +{% block title%} - {{ article.title }}{% endblock title %} {% block content %} -

Szentiván-éj, a mágikus éjszaka

-

Az év legrövidebb éjszakáján a nyári napfordulót ünnepeljük. A régiek hiedelme szerint varázslatos éjszaka ez, amikor szinte bármi megtörténhet, a kívánságok teljesülhetnek. A néphagyományokhoz illően – világszerte – örömtüzeket gyújtanak, melyeknek csodás erőt tulajdonítanak.

-

Június 21-e, a nyári napforduló szinte az összes kultúrában a Nap, és ennél fogva a fény diadalának ünnepe volt, amely a pogány ember hiedelmei szerint a világosság és a sötétség állandó harcán alapult. A természettel összhangban élő, kereszténység előtti ember a nyárközépi tűzgyújtással elsősorban a Napot kívánta megsegíteni a sötétséggel vívott küzdelmében, a tűz fényének erejével pedig az ártó szellemeket igyekeztek minél messzebb űzni.

-

A sötétség és az ahhoz kapcsolódó rontó hatások így egy időre – még ha csak egyetlen éjszakára is – de elveszítették hatalmukat az ember felett. Bár a kereszténység elterjedése után a Nap megsegítésének motívuma a mindinkább háttérbe szorult, a tűzünnep mégis megőrizte korábbi szimbolikáját és mágikus karakterét, mivel a tűz gyakorlati hasznával együtt már a régi korok emberei számára is nélkülözhetetlen erőt képviselt.

- -

A naptárreformok miatt van csúszás

-

A nyári napforduló az évnek az a jellegzetes időpontja, amikor a Nap az égbolton a legmagasabb delelési ponton áll. A Föld – különösen az északi félteke – ilyenkor terményekben bővelkedik, szépsége és ereje teljében van. Egyféle csúcspont ez, hiszen a nappalok a következő napfordulóig innentől már csak rövidülhetnek. Ezen a napon – június 21-én – az év leghosszabb nappalát és legrövidebb éjjelét élhetjük meg évről-évre.

-

„Szent Iván éjjele mégsem június 21-ére, hanem június 24 ére esik, ennek oka azonban a tropikus időszámítási mód sajátosságában és a tényleges naptári évek közti különbségben, illetve az egykori naptári reformokban rejlik. Így a nyári napforduló napja és megünneplése időben napjainkra már elvált egymástól. A nyár csillagászati értelemben vett kezdete korábban valóban Szent Iván napra, azaz június 24-ére esett, de erre ma már az eltolódás miatt három nappal korábban, június 21-én kerül sor. Évszázadok, vagy egy évezred múlva a napfordulók még korábbi dátumra fognak esni” – mondta el a FigyelőNetnek Mizser Attila, a Magyar Csillagászati Egyesület főtitkára.

- -

A holtak a Tejúton távoztak

-

A nyári napforduló már a neolitikus idők óta jelentőségteljes nap az emberiség történetében. A kelták, a germánok, a szlávok és az északi népek többsége már a kezdetektől megünnepelte ezt, mint ahogy ezt ma is teszik. Papjaik, druidáik a Föld és az Ég nászának tartották e különös napot, s ennek megfelelően is tisztelegtek előtte.

-

A korai pogány népek spirituális vezetőinek némelyike hitte, hogy a leghosszabb nap éjjelén révületbe esve képessé válhatnak arra, hogy testüket elhagyva a Tejúton keresztül eljussanak a holtak birodalmába, az alsóvilágba. Ennek a páratlan utazásnak az volt a célja, hogy a holtakkal érintkezve útmutatást és segítséget kérjenek többek között a jövőről, a termésről, a gyermekáldásról, a viszályokról, vagy az istenek megbékítésének módjáról.

- -

Keresztelő Szent Jánost ünnepeljük

-

Mivel a keresztényi logikába is beleillett a fény és a sötétség küzdelme, ezért a kereszténység végül ezt a napot Keresztelő Szent János napjává tette. Az Iván elnevezés a régi magyar Jovános, Ivános alakból ered, illetve a János névnek a szláv formájából.

-

Európa szerte – különösen az északi és a szláv népek – gyakorolták Szent Iván varázslatos éjszakáján a mágikus praktikákat, amelyek a megtisztulással, gyógyítással, az egészség megőrzésével, szerelemmel, a házassággal és a termékenységgel voltak szoros kapcsolatban.

- -

Papírmasé egy spanyol ünnepségen - Szent Iván éjjelén elégetik

-

Nem volt ez másképp a magyar néphagyományban sem, s a tűz nem véletlenül vált a világosság, a tisztaság, az egészség, a szenvedély, az elevenség, a szerelem és az örök megújulás jelképévé a magyar hiedelemvilágban is. A nyári napfordulóra eső Keresztelő Szent János ünnepe az 5-ik században vált elterjedtté, s a keresztény ünnep magába olvasztotta mindazokat a hiedelmeket és rítusokat, amelyek korábban a különböző népeknél a nyári napfordulóhoz kapcsolódtak.

- -

Szent Iván napi magyar népszokások

-

A Szent Iván naphoz fűződő hiedelmek és szokások egyrészt a szomszédos népektől, másrészt egyházi közvetítéssel kerültek hozzánk. „A magyar szokások szerint régen a június hónapot is Szent Iván havának nevezték. A nyárközépi tűzgyújtást, illetve a tűzcsóvák forgatását – népies nevén lobogózást – a történelmi Magyarország egyes területein, főleg Nyitra megyében Szent Iván napi dalok éneklése kísérte” – mondta lapunknak Hegedűs Vilmos kultúrakutató.

-

A tűz körül álló asszonyok különféle illatos füveket, virágokat füstöltek, s ezeket később fürdők készítéséhez használták fel. Hegedűs megemlíti még, hogy gyógyító hatást tulajdonítottak a tűzbe vetett almának is, mondván, aki abból eszik, nem betegszik meg. Baranya megyében a sírokra is tettek a sült almából, míg Csongrád megyében azt tartották, hogy a tűzbe dobott alma édes ízét az elhunyt rokonok is megízlelhetik.

-

Szerelmi praktikák és jóslások is fűződnek e naphoz. A szalmából és a többféle fából megrakott tűz fölött a hagyomány szerint a lányok átugráltak, amíg a fiúk azt figyelték, ki mozog közülük a legtetszetősebben. Az ugrások magasságából és irányából persze sokféle jövendölést lehetett kiolvasni.

- -

Múzeumok éjszakája

- -

Manapság Magyarországon is újra visszatérőben van a tradicionális Szent Iván éji tűzrakás, az ahhoz kötődő népi hagyományok, hiedelmek felelevenítése, és a nyári napforduló alkalmából történő kulturális fesztiválok megrendezése. A berlini példát követve 2001 óta már nálunk is megrendezik a Múzeumok Éjszakáját, amikor évről-évre, késő éjszakáig tartó nyitvatartási renddel egyre több múzeum várja nyitott kapukkal a látogatókat.

- -

Európa-szerte nagy ünnep

- -

Portugáliában a nyári napforduló ünnepe a „Santos Populares”, vagyis a népszerű szentek ünnepségsorozat egyik elemeként vonult be a köztudatba. Az ünnepsorozat egyik legérdekesebb és egyben régi hagyományokat idéző pillanata, amikor Lisszabonban két-háromszáz szerelmespár egyszerre mondja ki egymásnak a boldogító igent. Ők ugyanis ilyenkor emlékeznek meg Szent Antalról is, aki a házasságközvetítés szentje. A szerelmesek ilyenkor bátran vallanak szerelmet kiszemeltjüknek egy cserép bazsalikom és egy szerelmes vers kíséretében.

-

Keresztelő Szent János ünnepén Portóban tele vannak az utcák ünneplő emberekkel, akik virágzó fokhagyma csokorral vagy kisebb méretű műanyag kalapáccsal veregetik meg finoman a mellettük elhaladókat, s ezzel szerencsét kívánnak nekik. Az idősebbek szerint így próbálják meg visszaterelni egymást a helyes útra. Természetesen az ünnep elmaradhatatlan kelléke a vidám tánc és az éjszakai tűzijáték a Douro folyó felett.

-

Spanyolországban, a valenciai tartományban és különösképpen Alicante város környékén az emberek korábban a város helyett a tengerparton ünnepelték a nyári napfordulót Szent János napján. Napnyugta után máglyákat gyújtottak, majd a tűzrakásokat körbetáncolták, miközben petárdákkal durrogtattak, végül pedig a tengerben úsztak a kora hajnali órákig.

-

Az utcán mulatnak Spanyolországban Szent Iván napján.

-

Alicante városban a legfontosabb helyi ünnepé vált Las Hogueras néven. Ezen az éjszakán itt városszerte több méter magas, művészien elkészített papírmasé figurákat állítanak, amelyeket június 24-én éjfélkor meggyújtanak. „A színes figurák sokszor szatirikus megjelenésűek, nem egyszer a helyi viszonyokat és ismert személyiségeket kritizálják” – mondta helyszíni tudósítónknak Maria Cassado, helyi vállalkozó.

- -

Vidéki örömök az éjféli nap országában

- -

Az ünneplés azonban nem csak délen hagyomány. Svédországban nem Szent Ivánhoz kötik az év leghosszabb napját, hanem Keresztelő Szent Jánoshoz. A Midsommar – amely mindig a június 20 és 26 közötti szombatra esik – nem véletlenül nagy ünnep: nyúlfarknyivá válnak az éjszakák, bőségesen kárpótolva őket a téli sötétségért. Itt az év leghosszabb napja késő májustól kora augusztusig tart, amikor az északabbi területeken egyáltalán nem megy le a nap.

-

Ilyenkor a romantikusabb lelkületűek előszedik az egyébként sosem használt népviseletet, és zöldekkel, virágokkal, szalagokkal feldíszített májusfák körül táncolnak, koszorúval a hajukban. A többiek csendben kivárják az esti dorbézolást.

- -

Pilisszentiván is ünnepel

-

Pilisszentiván, amely nevét égi patrónusáról kapta, 18 éve ünnepli védőszentjének neve napját, s egyúttal a hozzá fűződő legendát is. A községben minden esztendőben nagy nyüzsgéssel várják a Szentiván-éj jöttét.

-

Az utóbbi esztendőkben ez már egy sokszínű, majd tíznapos rendezvénysorozat. A fesztivál fő eseménye a Szentiván-éji, hatalmas máglya meggyújtása, amelyen a rontó boszorkányt égetik el, s amelyet minden évben több ezren énekelve, táncolva vesznek körül. Ezenkívül kiállítást tartanak kisiskolások munkáiból, kiséji zenét rendeznek a tóparton fáklyavilág mellett, s persze jó bajor sült kolbászokat árulnak kiváló, frissen csapolt sörrel. És az elmaradhatatlan schramlizene is szól, hajnalig.

- -

Forrás: FigyelőNet-összeállítás

+{{ article.text|raw }} +{% if article.source %} +

Forrás: {{ article.source }}

+{% endif %} {% endblock content %}