%PDF- %PDF-
Mini Shell

Mini Shell

Direktori : /var/www/pn/beta/64801_wp-content/plugins/mailpoet/lib/Newsletter/Shortcodes/Categories/
Upload File :
Create Path :
Current File : //var/www/pn/beta/64801_wp-content/plugins/mailpoet/lib/Newsletter/Shortcodes/Categories/Link.php

<?php

namespace MailPoet\Newsletter\Shortcodes\Categories;

use MailPoet\Models\Setting;
use MailPoet\Newsletter\Url as NewsletterUrl;
use MailPoet\Statistics\Track\Unsubscribes;
use MailPoet\Subscription\Url as SubscriptionUrl;

class Link {
  const CATEGORY_NAME = 'link';

  static function process(
    $shortcode_details,
    $newsletter,
    $subscriber,
    $queue,
    $content,
    $wp_user_preview
  ) {
    switch($shortcode_details['action']) {
      case 'subscription_unsubscribe_url':
        return self::processUrl(
          $shortcode_details['action'],
          SubscriptionUrl::getUnsubscribeUrl($wp_user_preview ? false : $subscriber),
          $queue,
          $wp_user_preview
        );

      case 'subscription_manage_url':
        return self::processUrl(
          $shortcode_details['action'],
          SubscriptionUrl::getManageUrl($wp_user_preview ? false : $subscriber),
          $queue,
          $wp_user_preview
        );

      case 'newsletter_view_in_browser_url':
        $url = NewsletterUrl::getViewInBrowserUrl(
          $type = null,
          $newsletter,
          $wp_user_preview ? false : $subscriber,
          $queue,
          $wp_user_preview
        );
        return self::processUrl($shortcode_details['action'], $url, $queue, $wp_user_preview);

      default:
        $shortcode = self::getFullShortcode($shortcode_details['action']);
        $url = apply_filters(
          'mailpoet_newsletter_shortcode_link',
          $shortcode,
          $newsletter,
          $subscriber,
          $queue,
          $wp_user_preview
        );
        return ($url !== $shortcode) ?
          self::processUrl($shortcode_details['action'], $url, $queue, $wp_user_preview) :
          false;
    }
  }

  static function processUrl($action, $url, $queue, $wp_user_preview = false) {
    if($wp_user_preview) return $url;
    return ($queue !== false && (boolean)Setting::getValue('tracking.enabled')) ?
      self::getFullShortcode($action) :
      $url;
  }

  static function processShortcodeAction(
    $shortcode_action, $newsletter, $subscriber, $queue, $wp_user_preview
  ) {
    switch($shortcode_action) {
      case 'subscription_unsubscribe_url':
        // track unsubscribe event
        if((boolean)Setting::getValue('tracking.enabled') && !$wp_user_preview) {
          $unsubscribe_event = new Unsubscribes();
          $unsubscribe_event->track($newsletter->id, $subscriber->id, $queue->id);
        }
        $url = SubscriptionUrl::getUnsubscribeUrl($subscriber);
        break;
      case 'subscription_manage_url':
        $url = SubscriptionUrl::getManageUrl($subscriber);
        break;
      case 'newsletter_view_in_browser_url':
        $url = NewsletterUrl::getViewInBrowserUrl(
          $type = null,
          $newsletter,
          $subscriber,
          $queue
        );
        break;
      default:
        $shortcode = self::getFullShortcode($shortcode_action);
        $url = apply_filters(
          'mailpoet_newsletter_shortcode_link',
          $shortcode,
          $newsletter,
          $subscriber,
          $queue,
          $wp_user_preview
        );
        $url = ($url !== $shortcode_action) ? $url : false;
        break;
    }
    return $url;
  }

  private static function getFullShortcode($action) {
    return sprintf('[link:%s]', $action);
  }
}

Zerion Mini Shell 1.0