Uname: Linux webm016.cluster127.gra.hosting.ovh.net 5.15.167-ovh-vps-grsec-zfs-classid #1 SMP Tue Sep 17 08:14:20 UTC 2024 x86_64
Software: Apache
PHP version: 7.4.33 [ PHP INFO ] PHP os: Linux
Server Ip: 54.36.31.145
Your Ip: 216.73.216.182
User: homesquasz (91404) | Group: users (100)
Safe Mode: OFF
Disable Function:
_dyuweyrj4,_dyuweyrj4r,dl

name : agni-wishlist.php
<?php 

class Agni_Wishlist {

	public function __construct(){

				add_action( 'woocommerce_single_product_summary', array( __class__, 'add_to_wishlist'), 35 );
		add_action( 'wp_enqueue_scripts', array( $this, 'enqueue_scripts') );

		add_filter( 'agni_wishlist_contents', array( $this, 'add_to_wishlist_button' ) );
		add_filter( 'agni_wishlist_contents', array( $this, 'add_to_wishlist_form' ) );

		$this->includes();

	}

	public static function includes(){

		require_once AGNI_TEMPLATE_DIR . '/agni-wishlist/class-wishlist-endpoint.php';
		require_once AGNI_TEMPLATE_DIR . '/agni-wishlist/class-wishlist-page.php';
		require_once AGNI_TEMPLATE_DIR . '/agni-wishlist/class-wishlist-api.php';

	}

		public static function get_user_id(){

			return ( is_user_logged_in() ) ? get_current_user_id() : 0;

		}

		public static function get_wishlist_name(){
		return esc_html__( 'My Wishlist', 'cartify' );
	}

	public static function add_to_wishlist(){
		?>
		<div class="agni-add-to-wishlist">
			<?php echo apply_filters( 'agni_wishlist_contents', '' ); ?>
		</div>
		<?php
	}


	public function add_to_wishlist_button(){

		wp_enqueue_script( 'cartify-wishlist' );

				?>
		<div class="agni-add-to-wishlist__button user-logged-<?php echo esc_attr( $this->get_user_id() ) ? 'in' : 'out'; ?>">
			<a href="<?php echo esc_url( $this->add_to_wishlist_button_url() ); ?>" class="button">
				<?php echo apply_filters( 'agni_woocommerce_wishlist_icon', cartify_get_icon_svg( 'common', 'wishlist' ) ); ?>
				<span><?php echo apply_filters( 'agni_woocommerce_wishlist_button', esc_html__( 'Add to wishlist', 'cartify' ) ); ?></span>
			</a>
		</div>
		<?php
	}

	public function add_to_wishlist_form(){
		if( !$this->get_user_id() ){
			return;
		}


		$current_user = wp_get_current_user();
		$current_username = $current_user->user_login;

		$args = array(
			'post_type' => 'agni_wc_wishlist',
		);

			$wishlist_query = new WP_Query($args);

			?>
		<div class="agni-add-to-wishlist__panel">
			<div class="agni-add-to-wishlist__panel-close"><i class="lni lni-close"></i></div>
			<div class="agni-add-to-wishlist__panel-contents">
				<div class="agni-add-to-wishlist__existing">
					<?php if( $wishlist_query->have_posts() ){ ?>
						<h6 class="agni-add-to-wishlist__existing-title"><?php echo esc_html__( 'Existing Wishlist', 'cartify' ); ?></h6>
						<ul class="agni-add-to-wishlist__existing-list">
						<?php while( $wishlist_query->have_posts() ){ $wishlist_query->the_post();

														if( $current_username == get_the_author_meta( 'user_login' ) ){
								?>
								<li><a href="#" data-wishlist-id="<?php echo esc_attr( get_the_id() ); ?>"><?php echo esc_html( get_the_title() ); ?></a></li>
								<?php 
							}
						} ?>
						</ul>
					<?php }

									wp_reset_postdata(); ?>

									</div>
				<div class="agni-add-to-wishlist__new">
					<h6 class="agni-add-to-wishlist__new-title"><?php echo esc_html__( 'Create New Wishlist', 'cartify' ); ?></h6>
					<form class="agni-add-to-wishlist-form" method="post" enctype="multipart/form-data">
						<input type="text" class="woocommerce-wishlist-name agni-add-to-wishlist-form__name" name="wishlist_name" id="wishlist_name" autocomplete="wishlist_name" value="<?php echo ( ! empty( $_POST['wishlist_name'] ) ) ? esc_attr( wp_unslash( $_POST['wishlist_name'] ) ) : $this->get_wishlist_name(); ?>"  placeholder="<?php esc_attr_e( 'Wishlist name', 'cartify' ); ?>" />
						<button type="submit" class="woocommerce-wishlist-name agni-add-to-wishlist-form__submit"><?php echo esc_html__( 'Submit', 'cartify' ); ?></button>
					</form>
				</div>
				<div class="agni-wishlist__loader"><?php echo esc_html__( 'Adding to list', 'cartify' ); ?></div>
			</div>
		</div>
		<?php
	}


	public function add_to_wishlist_button_url(){

		if( $this->get_user_id() ){
			$url = add_query_arg(array( 
				'user_id' => $this->get_user_id(), 
				'product_id' => get_the_id(), 				'wishlist_name' => $this->get_wishlist_name() 
			), '');
					}
		else{
			global $wp;
			$current_page_url = home_url( $wp->request );
			$login_url = get_permalink( get_option('woocommerce_myaccount_page_id') );

			$url = add_query_arg( 'redirect', urlencode( $current_page_url ), $login_url );
		}

			return $url;
	}


	public function enqueue_scripts(){

					wp_register_script('cartify-wishlist', AGNI_FRAMEWORK_JS_URL . '/agni-wishlist/agni-wishlist.js', array('jquery'), wp_get_theme()->get('Version'), true);
		wp_localize_script('cartify-wishlist', 'cartify_wishlist', array(
			'ajaxurl' => admin_url('admin-ajax.php'),
			'ajaxurl_wc' => WC_AJAX::get_endpoint( "%%endpoint%%" ),
			'resturl' => esc_url_raw( rest_url('agni-wishlist/v1') ),
									
				'security' => wp_create_nonce('agni_ajax_wishlist_nonce'),
					));

		}

}

$agni_wishlist = new Agni_Wishlist();

?>
© 2026 GrazzMean