403Webshell
Server IP : 130.225.57.55  /  Your IP : 216.73.216.60
Web Server : Apache
System : Linux wp-vhost07 5.15.0-173-generic #183-Ubuntu SMP Fri Mar 6 13:29:34 UTC 2026 x86_64
User : root ( 0)
PHP Version : 8.1.2-1ubuntu2.25
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : OFF  |  Perl : OFF  |  Python : OFF  |  Sudo : OFF  |  Pkexec : OFF
Directory :  /srv/www/reco2st.eu/https/wp-content/plugins/mozaik-mailchimp-options/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /srv/www/reco2st.eu/https/wp-content/plugins/mozaik-mailchimp-options/mozaik-mailchimp-options.php
<?php
/*
 * Plugin Name: MOZAIK - MailChimp Options Plugin
 * Description: Adds required functionality for essential MailChimp list options
 * Version: 1.0
 * Author: Mozaik
 * Author URI: http://mozaik.com
 * License: All rights reserved.
 *
 * Copyright 2018  Mozaik Ltd.  (email : info@mozaik.com)
 */

// make sure this file is called by wp
defined( 'ABSPATH' ) or die();


if ( ! class_exists( 'MOZ_Mailchimp' ) ):

	class MOZ_Mailchimp {

		private static $options;

		function __construct() {
			if ( class_exists( 'acf' ) ) {
				add_filter( 'acf/settings/load_json', [ $this, 'acf_json_load_point' ] );
				add_action( 'acf/init', [ $this, 'acf_register_options_page' ] );
				self::$options = self::get_options();
				// add settings link on plugins page
				add_filter( 'plugin_action_links_' . plugin_basename( __FILE__ ), [ $this, 'add_action_links' ] );
			}
			add_shortcode( 'moz-mailchimp', [ $this, 'mailchimp_shortcode' ] );

			add_action( 'wp_enqueue_scripts', [ $this, 'register_plugin_scripts' ] );

		}

		function register_plugin_scripts() {

			$displayType = trim( get_field( 'mailchimp_subscription_display_type', 'options' ) );


			if ( $displayType === 'popup' ) {

				wp_enqueue_script( 'moz-mailchimp', plugin_dir_url( __FILE__ ) . 'assets/js/main.js', [ 'jquery' ], null, true );
				wp_localize_script( 'moz-mailchimp', 'mailchimpConfig', self::$options );

				add_action( 'wp_footer', function () {
					?>
					<script type="text/javascript">
						var chimpPopupLoader = document.createElement("script");
						chimpPopupLoader.src = '//s3.amazonaws.com/downloads.mailchimp.com/js/signup-forms/popup/embed.js';
						chimpPopupLoader.setAttribute('data-dojo-config', 'usePlainJson: true, isDebug: false');

						(function () {
							document.body.appendChild(chimpPopupLoader);
						})();
					</script>
					<?php
				} );
			}
		}

		// FRONT END FUNCTIONS

		public static function mailchimp_shortcode( $atts = [], $content = null, $tag = '' ) {

			ob_start();

			$formId = self::$options['formId'];

			$form_fields = apply_filters( 'moz_newsletter_form_fields', [
				'form'        => [
					'class' => ''
				],
				'form_holder' => [
					'class' => 'newsletter__holder'
				],
				'email'       => [
					'label' => [
						'class' => '',
						'text'  => ''
					],
					'input' => [
						'class'       => 'newsletter__mail',
						'placeholder' => __( 'your@email.here', 'moz_mailchimp' )
					]
				],
				'button'      => [
					'class' => '',
					'text'  => '<span>' . __( 'Sign up', 'moz_mailchimp' ) . '</span>'
				]
			] );

			?>
			<form action="https://<?php echo self::$options['baseUrl']; ?>/subscribe"
			      id="<?php echo $formId; ?>"
			      method="post" target="_blank" autocomplete="off"
			      class="<?php echo $form_fields['form']['class']; ?>">
				<div class="<?php echo $form_fields['form_holder']['class']; ?>">
					<?php if ( $form_fields['email']['label']['text'] !== '' ) : ?>
						<label for="MERGE0"
						       class="<?php echo $form_fields['email']['label']['class']; ?>"><?php echo $form_fields['email']['label']['text']; ?></label>
					<?php endif; ?>
					<input type="email" id="MERGE0" name="MERGE0"
					       class="<?php echo $form_fields['email']['input']['class']; ?>"
					       placeholder="<?php echo $form_fields['email']['input']['placeholder']; ?>" required/>
					<button type="submit"
					        class="<?php echo $form_fields['button']['class']; ?>"><?php echo $form_fields['button']['text']; ?></button>
				</div>
				<div class="visuallyhidden">
					<input type="hidden" name="u" value="<?php echo self::$options['uuid']; ?>"/>
					<input type="hidden" name="id" value="<?php echo self::$options['lid']; ?>"/>
					<?php
					/*
					 * @hook  moz_newsletter_form_hidden_fields
					 */
					do_action( 'moz_newsletter_form_hidden_fields' );
					?>
				</div>
			</form>
			<?php
			return ob_get_clean();
		}

		// BACK END FUNCTIONS

		public static function get_options() {
			$options = [
				'baseUrl' => get_field( 'mailchimp_subscription_manage_base_url', 'options' ),
				'uuid'    => get_field( 'mailchimp_subscription_account_id', 'options' ),
				'lid'     => get_field( 'mailchimp_subscription_list_id', 'options' ),
				'formId'  => apply_filters( 'moz_newsletter_form_id', 'mc4wp-form-1' ),
			];

			$displayType    = get_field( 'mailchimp_subscription_display_type', 'options' );
			$displayTrigger = get_field( 'mailchimp_subscription_display_popup_trigger', 'options' );

			if ( $displayType === 'popup' && $displayTrigger === 'custom' ) {
				$options['selector'] = get_field( 'mailchimp_subscription_custom_selector', 'options' );
			}

			return apply_filters( 'moz_mailchimp_options', $options );
		}

		function acf_json_load_point() {
			$paths[] = __DIR__ . '/acf-fields';

			return $paths;
		}

		function acf_register_options_page() {

			// options page
			acf_add_options_page( array(
				'position'   => 59,
				'page_title' => __( 'MailChimp List Options' ),
				'menu_title' => __( 'MailChimp Settings' ),
				'menu_slug'  => 'acf-options-mailchimp-list-options',
				'redirect'   => false,
				'icon_url'   => 'dashicons-email-alt'
			) );

		}

		function add_action_links( $links ) {
			$settings_link = [
				'<a href="' . admin_url( 'admin.php?page=acf-options-mailchimp-list-options' ) . '">' . __( 'Settings' ) . '</a>',
			];

			return array_merge( $links, $settings_link );
		}

	}
endif;

$mailchimp = new MOZ_Mailchimp();

Youez - 2016 - github.com/yon3zu
LinuXploit