Sin descripción

newsletter.php 2.7KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081
  1. <?php
  2. /*******************************************************************************
  3. * Copyright (c) 2019, Code Atlantic LLC
  4. ******************************************************************************/
  5. if ( ! defined( 'ABSPATH' ) ) {
  6. exit;
  7. }
  8. /**
  9. * @deprecated 1.7.0 Here to prevent PUM_Newsletter_ classes from being loaded anywhere except from core.
  10. *
  11. * @param $class
  12. */
  13. function pum_newsletter_autoloader( $class ) {}
  14. /**
  15. * @param $provider_id
  16. *
  17. * @return bool|PUM_Newsletter_Provider
  18. */
  19. function pum_get_newsletter_provider( $provider_id ) {
  20. $providers = PUM_Newsletter_Providers::instance()->get_providers();
  21. return isset( $providers[ $provider_id ] ) ? $providers[ $provider_id ] : false;
  22. }
  23. /**
  24. * @param string $provider_id
  25. * @param string $context
  26. * @param array $values
  27. *
  28. * @return mixed|string
  29. */
  30. function pum_get_newsletter_provider_message( $provider_id, $context, $values = array() ) {
  31. $provider = pum_get_newsletter_provider( $provider_id );
  32. $default = pum_get_newsletter_default_messages( $context );
  33. if ( ! $provider ) {
  34. return $default;
  35. }
  36. $message = $provider->get_message( $context, $values );
  37. return ! empty( $message ) ? $message : $default;
  38. }
  39. /**
  40. * Gets default messages.
  41. *
  42. * @param null $context
  43. *
  44. * @return array|mixed|string
  45. */
  46. function pum_get_newsletter_default_messages( $context = null ) {
  47. $messages = array(
  48. 'success' => pum_get_option('default_success_message', __( 'You have been subscribed!', 'popup-maker' ) ),
  49. 'double_opt_in_success' => pum_get_option('default_double_opt_in_success_message',__( 'Please check your email and confirm your subscription.', 'popup-maker' ) ),
  50. 'error' => pum_get_option('default_error_message',__( 'Error occurred when subscribing. Please try again.', 'popup-maker' ) ),
  51. 'already_subscribed' => pum_get_option('default_already_subscribed_message',__( 'You are already a subscriber.', 'popup-maker' ) ),
  52. 'empty_email' => pum_get_option('default_empty_email_message',__( 'Please enter a valid email.', 'popup-maker' ) ),
  53. 'invalid_email' => pum_get_option('default_invalid_email_message',__( 'Email provided is not a valid email address.', 'popup-maker' ) ),
  54. 'consent_required' => pum_get_option('default_consent_required_message',__( 'Email provided is not a valid email address.', 'popup-maker' ) ),
  55. );
  56. if ( $context ) {
  57. return isset( $messages[ $context ] ) ? $messages[ $context ] : '';
  58. }
  59. return $messages;
  60. }
  61. /**
  62. * @return array
  63. */
  64. function pum_get_newsletter_admin_localized_vars() {
  65. return array(
  66. 'default_provider' => pum_get_option( 'newsletter_default_provider', pum_get_option( 'newsletter_default', '' ) ),
  67. );
  68. }