local/modules/PayPal/EventListeners/PayPalOrderListener.php line 52

  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. namespace PayPal\EventListeners;
  24. use PayPal\Event\PayPalEvents;
  25. use PayPal\Event\PayPalOrderEvent;
  26. use Symfony\Component\EventDispatcher\EventSubscriberInterface;
  27. /**
  28.  * Class PayPalOrderListener
  29.  * @package PayPal\EventListeners
  30.  */
  31. class PayPalOrderListener implements EventSubscriberInterface
  32. {
  33.     /**
  34.      * @param PayPalOrderEvent $event
  35.      * @throws \Exception
  36.      * @throws \Propel\Runtime\Exception\PropelException
  37.      */
  38.     public function createOrUpdate(PayPalOrderEvent $event)
  39.     {
  40.         $event->getPayPalOrder()->save();
  41.     }
  42.     /**
  43.      * @param PayPalOrderEvent $event
  44.      * @throws \Exception
  45.      * @throws \Propel\Runtime\Exception\PropelException
  46.      */
  47.     public function delete(PayPalOrderEvent $event)
  48.     {
  49.         $event->getPayPalOrder()->delete();
  50.     }
  51.     /**
  52.      * @return array The event names to listen to
  53.      */
  54.     public static function getSubscribedEvents()
  55.     {
  56.         return [
  57.             PayPalEvents::PAYPAL_ORDER_CREATE => ['createOrUpdate'128],
  58.             PayPalEvents::PAYPAL_ORDER_UPDATE => ['createOrUpdate'128],
  59.             PayPalEvents::PAYPAL_ORDER_DELETE => ['delete'128]
  60.         ];
  61.     }
  62. }