     1: <?php
     2: /*************************************************************************************/
     3: /*                                                                                   */
     4: /*      Thelia                                                                       */
     5: /*                                                                                   */
     6: /*      Copyright (c) OpenStudio                                                     */
     7: /*  email : info@thelia.net                                                      */
     8: /*      web : http://www.thelia.net                                                  */
     9: /*                                                                                   */
    10: /*      This program is free software; you can redistribute it and/or modify         */
    11: /*      it under the terms of the GNU General Public License as published by         */
    12: /*      the Free Software Foundation; either version 3 of the License                */
    13: /*                                                                                   */
    14: /*      This program is distributed in the hope that it will be useful,              */
    15: /*      but WITHOUT ANY WARRANTY; without even the implied warranty of               */
    16: /*      MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the                */
    17: /*      GNU General Public License for more details.                                 */
    18: /*                                                                                   */
    19: /*      You should have received a copy of the GNU General Public License            */
    20: /*      along with this program. If not, see <http://www.gnu.org/licenses/>.     */
    21: /*                                                                                   */
    22: /*************************************************************************************/
    23:
    24: namespace Thelia\Tpex\Event;
    25:
    26: use Symfony\Component\EventDispatcher\Event;
    27: use Symfony\Component\HttpFoundation\Request;
    28:
    29: class TpexEvent extends Event
    30: {
    31:     /**
    32:      * the current content parsing by Tpex
    33:      * @var string
    34:      */
    35:     protected $content;
    36:
    37:     protected $request;
    38:
    39:     /**
    40:      *
    41:      * @param string $content the text parsing by Tpex
    42:      */
    43:     public function __construct($content, Request $request)
    44:     {
    45:         $this->content = $content;
    46:         $this->request = $request;
    47:     }
    48:
    49:     /**
    50:      *
    51:      * @return string $content
    52:      */
    53:     public function getContent()
    54:     {
    55:         return $this->content;
    56:     }
    57:
    58:     /**
    59:      *
    60:      * set the content. This don't stop propagation, pther EventListener can modify the content
    61:      *
    62:      * @param string $content
    63:      */
    64:     public function setContent($content)
    65:     {
    66:         if (empty($content)) {
    67:            throw new \InvalidArgumentException("content can not be empty");
    68:         }
    69:
    70:         $this->content = $content;
    71:     }
    72: }
    73: