File: /var/www/vhosts/aceitunaslosada.com/web/wp-content/plugins/insta-gallery/includes/frontend.php
<?php
if ( ! defined( 'ABSPATH' ) ) {
exit;
}
require_once QLIGG_PLUGIN_DIR . 'includes/models/Feed.php';
if ( ! class_exists( 'QLIGG_Frontend' ) ) {
class QLIGG_Frontend {
protected static $instance;
function add_js() {
$frontend = include_once QLIGG_PLUGIN_DIR . 'build/frontend/js/index.asset.php';
wp_register_style( 'insta-gallery', plugins_url( '/build/frontend/css/style.css', QLIGG_PLUGIN_FILE ), null, QLIGG_PLUGIN_VERSION );
wp_register_script( 'insta-gallery', plugins_url( '/build/frontend/js/index.js', QLIGG_PLUGIN_FILE ), $frontend['dependencies'], $frontend['version'], true );
wp_localize_script(
'insta-gallery',
'qligg',
array(
'ajax_url' => admin_url( 'admin-ajax.php' ),
)
);
// Masonry
// -----------------------------------------------------------------------
wp_register_script( 'masonry', plugins_url( '/assets/frontend/masonry/masonry.pkgd.min.js', QLIGG_PLUGIN_FILE ), null, QLIGG_PLUGIN_VERSION, true );
// Swiper
// -----------------------------------------------------------------------
wp_register_style( 'swiper', plugins_url( '/assets/frontend/swiper/swiper.min.css', QLIGG_PLUGIN_FILE ), null, QLIGG_PLUGIN_VERSION );
wp_register_script( 'swiper', plugins_url( '/assets/frontend/swiper/swiper.min.js', QLIGG_PLUGIN_FILE ), array( 'jquery' ), QLIGG_PLUGIN_VERSION, true );
// Popup
// -----------------------------------------------------------------------
wp_register_style( 'magnific-popup', plugins_url( '/assets/frontend/magnific-popup/magnific-popup.min.css', QLIGG_PLUGIN_FILE ), null, QLIGG_PLUGIN_VERSION );
wp_register_script( 'magnific-popup', plugins_url( '/assets/frontend/magnific-popup/jquery.magnific-popup.min.js', QLIGG_PLUGIN_FILE ), array( 'jquery' ), QLIGG_PLUGIN_VERSION, true );
}
function get_items( $feed = false, $next_max_id = false ) {
if ( isset( $feed['type'] ) ) {
if ( $feed['type'] == 'username' ) {
return qligg_get_user_media( $feed, $next_max_id );
}
if ( $feed['type'] == 'tag' ) {
return qligg_get_tag_items( $feed, $next_max_id );
}
}
return array();
}
function ajax_load_item_images() {
global $qliggAPI;
if ( ! isset( $_REQUEST['feed'] ) ) {
wp_send_json_error( esc_html__( 'Invalid item id', 'insta-gallery' ) );
}
$feed = json_decode( stripslashes( $_REQUEST['feed'] ), true );
$next_max_id = isset( $_REQUEST['next_max_id'] ) ? $_REQUEST['next_max_id'] : null;
ob_start();
if ( is_array( $feed_items = $this->get_items( $feed, $next_max_id ) ) ) {
// Template
// ---------------------------------------------------------------------
$i = 1;
foreach ( $feed_items as $item ) {
$image = $item['images'][ $feed['resolution'] ];
// premium compatibility 2.6.6
$instagram_feed = $feed;
$instagram_feed['hover'] = $feed['mask']['display'];
$instagram_feed['likes'] = $feed['mask']['likes'];
$instagram_feed['comments'] = $feed['mask']['comments'];
include self::template_path( 'item/item.php' );
$i++;
if ( ( $feed['limit'] != 0 ) && ( $i > $feed['limit'] ) ) {
break;
}
}
wp_send_json_success( ob_get_clean() );
}
$messages = $qliggAPI->FEED->getMessages();
include self::template_path( 'alert.php' );
wp_send_json_error( ob_get_clean() );
}
public static function template_path( $template_name, $template_file = false ) {
if ( file_exists( QLIGG_PLUGIN_DIR . "templates/{$template_name}" ) ) {
$template_file = QLIGG_PLUGIN_DIR . "templates/{$template_name}";
}
if ( file_exists( trailingslashit( get_stylesheet_directory() ) . "insta-gallery/{$template_name}" ) ) {
$template_file = trailingslashit( get_stylesheet_directory() ) . "insta-gallery/{$template_name}";
}
return apply_filters( 'qligg_template_file', $template_file, $template_name );
}
public static function create_shortcut( $feed = array(), $id = 0 ) {
if ( isset( $feed['type'] ) ) {
$profile_info = $feed['profile'];
// if ($feed['type'] == 'username') {
$profile_info = qligg_get_user_profile( $feed['username'] );
$feed['profile'] = array_merge( $profile_info, array_filter( $feed['profile'] ) );
// }
}
$profile_info['user'] = @$profile_info['username'];
$profile_info['name'] = @$profile_info['name'];
$profile_info['pic_url'] = @$profile_info['profile_picture_url'];
$profile_info['picture'] = @$profile_info['profile_picture_url'];
$profile_info['username'] = $feed['profile']['name'];
if ( ! $feed['profile']['profile_picture_url'] ) {
$feed['profile']['profile_picture_url'] = @$profile_info['profile_picture_url'];
}
$feed['box']['desc'] = $feed['profile']['biography'];
$feed['spacing'] = $feed['spacing'] / 2;
$feed['insta_layout'] = $feed['layout'];
$feed['insta_box'] = $feed['box']['display'];
$feed['insta_box-padding'] = $feed['box']['padding'];
$feed['insta_box-radius'] = $feed['box']['radius'];
$feed['insta_box-background'] = $feed['box']['background'];
$feed['insta_box-profile'] = $feed['box']['profile'];
$feed['insta_box-desc'] = $feed['box']['desc'];
$feed['insta_box-color-text'] = $feed['box']['color_text'];
$feed['insta_button_load'] = $feed['button_load']['display'];
$feed['insta_button_load-background-hover'] = $feed['button_load']['background_hover'];
$feed['insta_button_load-background'] = $feed['button_load']['background'];
$feed['insta_button_load-text'] = $feed['button_load']['text'];
$feed['insta_button'] = $feed['button']['display'];
$feed['insta_button-background-hover'] = $feed['button']['background_hover'];
$feed['insta_button-background'] = $feed['button']['background'];
$feed['insta_button-text'] = $feed['button']['text'];
$feed['insta_card'] = $feed['card']['display'];
$feed['insta_card-font-size'] = $feed['card']['font_size'];
$feed['insta_card-color-text'] = $feed['card']['text_color'];
$feed['insta_card-padding'] = $feed['card']['padding'];
$feed['insta_card-radius'] = $feed['card']['radius'];
$feed['insta_card-background'] = $feed['card']['background'];
$feed['highlight'] = explode( ',', trim( str_replace( ' ', '', "{$feed['highlight']['tag']},{$feed['highlight']['id']},{$feed['highlight']['position']}" ), ',' ) );
$options = $instagram_feed = $feed;
wp_enqueue_style( 'insta-gallery' );
wp_enqueue_script( 'insta-gallery' );
if ( ! empty( $feed['popup']['display'] ) ) {
wp_enqueue_style( 'magnific-popup' );
wp_enqueue_script( 'magnific-popup' );
}
if ( $feed['layout'] == 'carousel' ) {
wp_enqueue_style( 'swiper' );
wp_enqueue_script( 'swiper' );
}
if ( in_array( $feed['layout'], array( 'masonry', 'highlight' ) ) ) {
wp_enqueue_script( 'masonry' );
}
$item_selector = "insta-gallery-feed-{$id}";
ob_start();
?>
<style>
<?php
if ( $feed['layout'] != 'carousel' ) {
if ( ! empty( $feed['spacing'] ) ) {
echo "#{$item_selector} .insta-gallery-list {margin: 0 -{$feed['spacing']}px;}";
}
if ( ! empty( $feed['spacing'] ) ) {
echo "#{$item_selector} .insta-gallery-list .insta-gallery-item {padding: {$feed['spacing']}px;}";
}
}
if ( $feed['layout'] == 'carousel' ) {
if ( ! empty( $feed['carousel']['pagination_color'] ) ) {
echo "#{$item_selector} .swiper-pagination-bullet-active {background-color: {$feed['carousel']['pagination_color']};}";
}
if ( ! empty( $feed['carousel']['navarrows_color'] ) ) {
echo "#{$item_selector} .swiper-button-next > i, #{$item_selector} .swiper-button-prev > i {color: {$feed['carousel']['navarrows_color']};}";
}
}
if ( ! empty( $feed['mask']['background'] ) ) {
echo "#{$item_selector} .insta-gallery-list .insta-gallery-item .insta-gallery-image-wrap .insta-gallery-image-mask {background-color: {$feed['mask']['background']};}";
}
if ( ! empty( $feed['button']['background'] ) ) {
echo "#{$item_selector} .insta-gallery-actions .insta-gallery-button {background-color: {$feed['button']['background']};}";
echo "#{$item_selector} .info .follow {color: {$feed['button']['background']}!important;}";
}
if ( ! empty( $feed['button']['background_hover'] ) ) {
echo "#{$item_selector} .insta-gallery-actions .insta-gallery-button:hover {background-color: {$feed['button']['background_hover']};}";
echo "#{$item_selector} .info .follow:hover {color: {$feed['button']['background_hover']}!important;}";
}
if ( ! empty( $settings['insta_spinner_image_id'] ) ) {
$spinner = wp_get_attachment_image_src( $settings['insta_spinner_image_id'], 'full' );
if ( ! empty( $spinner[0] ) ) {
echo "#{$item_selector} .insta-gallery-spinner {background-image:url($spinner[0])}";
}
}
do_action( 'qligg_template_style', $item_selector, $feed );
?>
</style>
<?php
if ( $template_file = self::template_path( "{$feed['layout']}.php" ) ) {
include $template_file;
return ob_get_clean();
}
$messages = array(
sprintf( esc_html__( 'The layout %s is not a available.', 'insta-gallery' ), $feed['layout'] ),
);
include self::template_path( 'alert.php' );
return ob_get_clean();
}
function do_shortcode( $atts, $content = null ) {
global $qliggAPI;
$feed_model = new QLIGG_Feed();
$feeds = $feed_model->get_feeds();
$settings_model = new QLIGG_Setting();
$settings = $settings_model->get_settings();
$atts = shortcode_atts(
array(
'id' => 0,
),
$atts
);
// Start loading
// -----------------------------------------------------------------------
$id = absint( $atts['id'] );
if ( count( $feeds ) ) {
if ( isset( $feeds[ $id ] ) ) {
$feed = wp_parse_args( $feeds[ $id ], $feed_model->get_args() );
return self::create_shortcut( $feed, $id );
}
}
}
// }
function init() {
add_action( 'wp_ajax_nopriv_qligg_load_item_images', array( $this, 'ajax_load_item_images' ) );
add_action( 'wp_ajax_qligg_load_item_images', array( $this, 'ajax_load_item_images' ) );
add_action( 'wp_enqueue_scripts', array( $this, 'add_js' ) );
add_action( 'admin_enqueue_scripts', array( $this, 'add_js' ) );
add_shortcode( 'insta-gallery', array( $this, 'do_shortcode' ) );
}
public static function instance() {
if ( ! isset( self::$instance ) ) {
self::$instance = new self();
self::$instance->init();
}
return self::$instance;
}
}
QLIGG_Frontend::instance();
}