local/modules/PayPal/EventListeners/PayPalPlanListener.php line 47

  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\PayPalPlanEvent;
  26. use Symfony\Component\EventDispatcher\EventSubscriberInterface;
  27. class PayPalPlanListener implements EventSubscriberInterface
  28. {
  29.     /**
  30.      * @param PayPalPlanEvent $event
  31.      * @throws \Exception
  32.      * @throws \Propel\Runtime\Exception\PropelException
  33.      */
  34.     public function createOrUpdate(PayPalPlanEvent $event)
  35.     {
  36.         $event->getPayPalPlan()->save();
  37.     }
  38.     /**
  39.      * @param PayPalPlanEvent $event
  40.      * @throws \Exception
  41.      * @throws \Propel\Runtime\Exception\PropelException
  42.      */
  43.     public function delete(PayPalPlanEvent $event)
  44.     {
  45.         $event->getPayPalPlan()->delete();
  46.     }
  47.     /**
  48.      * @return array The event names to listen to
  49.      */
  50.     public static function getSubscribedEvents()
  51.     {
  52.         return [
  53.             PayPalEvents::PAYPAL_PLAN_CREATE => ['createOrUpdate'128],
  54.             PayPalEvents::PAYPAL_PLAN_UPDATE => ['createOrUpdate'128],
  55.             PayPalEvents::PAYPAL_PLAN_DELETE => ['delete'128]
  56.         ];
  57.     }
  58. }