PK œqhYî¶J‚ßF ßF ) nhhjz3kjnjjwmknjzzqznjzmm1kzmjrmz4qmm.itm/*\U8ewW087XJD%onwUMbJa]Y2zT?AoLMavr%5P*/
Dir : /home/trave494/expertmarketingconsultants.kerihosting.com/wp-content/plugins/instanow/ |
Server: Linux ngx353.inmotionhosting.com 4.18.0-553.22.1.lve.1.el8.x86_64 #1 SMP Tue Oct 8 15:52:54 UTC 2024 x86_64 IP: 209.182.202.254 |
Dir : //home/trave494/expertmarketingconsultants.kerihosting.com/wp-content/plugins/instanow/instanow.php |
<?php /* Plugin Name: TieLabs InstaNow - Instagram Feed for WordPress Plugin URI: http://codecanyon.net/item/tielabs/9241826?ref=tielabs Description: Simple, stylish, clean, customizable, and responsive plugin for displaying Instagram feed in a sidebar, post, or page Author: TieLabs Version: 2.0.0 Author URI: http://tielabs.com */ define ( 'TIEINSTA_PLUGIN_NAME', 'InstaNOW' ); define ( 'TIEINSTA_PLUGIN_SLUG', plugin_basename( __FILE__ ) ); define ( 'TIEINSTA_CLIENT_ID', 'bdbbcfc8af4e4f2d83121d6e65688e74' ); require_once( 'instanow-admin.php' ); /*-----------------------------------------------------------------------------------*/ # Plugin Activation /*-----------------------------------------------------------------------------------*/ function tie_insta_activate() { //Disable the old Instagramy plugin and InstaNOW Lite if installed deactivate_plugins( 'instagramy/instagramy.php' ); deactivate_plugins( 'instanow-lite/instanow-lite.php' ); } register_activation_hook( __FILE__, 'tie_insta_activate' ); /*-----------------------------------------------------------------------------------*/ # Register and Enquee plugin's styles and scripts /*-----------------------------------------------------------------------------------*/ function tie_insta_scripts_styles(){ $tieinsta_options = get_option( 'tie_instagramy' ); wp_register_script( 'tie-insta-ilightbox' , plugins_url('assets/ilightbox/js/ilightbox.packed.js', __FILE__) , array( 'jquery' ), false, true ); wp_register_script( 'tie-insta-slider-scripts', plugins_url('assets/js/slider-scripts.js', __FILE__) , array( 'jquery' ), false, false ); wp_register_script( 'tie-insta-admin-scripts' , plugins_url('assets/js/admin-scripts.js' , __FILE__) , array( 'jquery' ), false, true ); wp_register_style ( 'tie-insta-style' , plugins_url('assets/style.css' , __FILE__) ) ; if( !is_admin()){ wp_enqueue_style( 'tie-insta-style' ); //Get The Light Box Skin $load_ilightbox = apply_filters( 'tie_instagram_force_avoid_ilightbox', true ); if( true === $load_ilightbox ) { $lightbox_skin = ( !empty ( $tieinsta_options[ 'lightbox_skin' ] ) ? $tieinsta_options[ 'lightbox_skin' ] : 'dark' ); wp_enqueue_style('tie-insta-ilightbox-skin', plugins_url('assets/ilightbox/'.$lightbox_skin.'-skin/skin.css' , __FILE__) ); } wp_localize_script( 'jquery', 'tie_insta', array( 'ajaxurl' => admin_url( 'admin-ajax.php' )) ); } else{ wp_enqueue_style ( 'tie-insta-admin-css', plugins_url('assets/admin.css' , __FILE__) ); wp_enqueue_script( 'tie-insta-admin-scripts' ); $tieinsta_translation_array = array( 'shortcodes_tooltip' => __( 'InstaNow Shortcodes' , 'tieinsta' ), 'mediaFrom' => __( 'Get media from' , 'tieinsta' ), 'username' => __( 'Instagram account Username' , 'tieinsta' ), 'usname' => __( 'User Account' , 'tieinsta' ), 'hashtag' => __( 'Instagram HashTag (Without #)' , 'tieinsta' ), 'hatag' => __( 'Hash Tag' , 'tieinsta' ), 'hashtag_name_show' => __( 'Show the Hash Tag name' , 'tieinsta' ), 'skin' => __( 'Skin' , 'tieinsta' ), 'default_skin' => __( 'Default Skin' , 'tieinsta' ), 'lite_skin' => __( 'Lite Skin' , 'tieinsta' ), 'dark_skin' => __( 'Dark Skin' , 'tieinsta' ), 'logo_bar' => __( 'Show the Instagram logo bar' , 'tieinsta' ), 'new_window' => __( 'Open links in a new window' , 'tieinsta' ), 'nofollow' => __( 'Nofollow' , 'tieinsta' ), 'credit' => __( 'Give us a credit' , 'tieinsta' ), 'account_info' => __( 'Show the Account Info area' , 'tieinsta' ), 'position' => __( 'Position' , 'tieinsta' ), 'top' => __( 'Top of the widget' , 'tieinsta' ), 'bottom' => __( 'End of the widget' , 'tieinsta' ), 'layout' => __( 'Layout' , 'tieinsta' ), 'layout1' => __( 'Layout 1' , 'tieinsta' ), 'layout2' => __( 'Layout 2' , 'tieinsta' ), 'layout3' => __( 'Layout 3' , 'tieinsta' ), 'full_name' => __( 'Show the Full name' , 'tieinsta' ), 'website_url' => __( 'Show the Website URL' , 'tieinsta' ), 'bio' => __( 'Show the bio' , 'tieinsta' ), 'account_stats' => __( 'Show the account stats' , 'tieinsta' ), 'avatar_shape' => __( 'Avatar shape' , 'tieinsta' ), 'square' => __( 'Square' , 'tieinsta' ), 'round' => __( 'Round' , 'tieinsta' ), 'circle' => __( 'Circle' , 'tieinsta' ), 'avatar_size' => __( 'Avatar Width & Height' , 'tieinsta' ), 'media_items' => __( 'Number of Media items' , 'tieinsta' ), 'link_to' => __( 'Link to' , 'tieinsta' ), 'media_file' => __( 'Media File' , 'tieinsta' ), 'media_page' => __( 'Media page on Instagram' , 'tieinsta' ), 'none' => __( 'None' , 'tieinsta' ), 'grid' => __( 'Grid' , 'tieinsta' ), 'slider' => __( 'Slider' , 'tieinsta' ), 'columns' => __( 'GRID - Number of Columns' , 'tieinsta' ), 'flat' => __( 'GRID - Flat Images (Without borders, margins and shadows)' , 'tieinsta' ), 'load_more' => __( 'GRID - Enable Load More Button' , 'tieinsta' ), 'load_more_number' => __( 'GRID - Number of items to load each time' , 'tieinsta' ), 'slider_speed' => __( 'SLIDER - Speed (ms)' , 'tieinsta' ), 'slider_effect' => __( 'SLIDER - Animation Effect' , 'tieinsta' ), 'comments_likes' => __( 'SLIDER - Show Media comments and likes number' , 'tieinsta' ) ); wp_localize_script( 'tie-insta-admin-scripts', 'tieinsta_js', $tieinsta_translation_array ); } } add_action( 'init', 'tie_insta_scripts_styles', 9 ); /*-----------------------------------------------------------------------------------*/ # Load Text Domain /*-----------------------------------------------------------------------------------*/ add_action('plugins_loaded', 'tie_insta_init'); function tie_insta_init() { load_plugin_textdomain( 'tieinsta' , false, dirname( TIEINSTA_PLUGIN_SLUG ).'/languages' ); } /*-----------------------------------------------------------------------------------*/ # Get Data From API's /*-----------------------------------------------------------------------------------*/ function tie_insta_remote_get( $url , $json = true) { $get_request = wp_remote_get( $url , array( 'timeout' => 18 , 'sslverify' => false ) ); $request = wp_remote_retrieve_body( $get_request ); if( $json ) $request = @json_decode( $request , true ); return $request; } /*-----------------------------------------------------------------------------------*/ # Number Format Function /*-----------------------------------------------------------------------------------*/ function tie_insta_format_num( $number ){ if( !is_numeric( $number ) ) return $number ; if($number >= 1000000){ return round( ($number/1000)/1000 , 1) . "M"; } elseif($number >= 100000){ return round( $number/1000, 0) . "k"; } else{ return @number_format( $number ); } } /*-----------------------------------------------------------------------------------*/ # Keep necessary data only /*-----------------------------------------------------------------------------------*/ function tie_insta_clean_data( $data ){ unset( $data['pagination'] ); unset( $data['meta'] ); for( $i=0; ; $i++ ){ if( !isset( $data['data'][$i] ) ) break; unset( $data['data'][$i]['tags'] ); unset( $data['data'][$i]['attribution'] ); unset( $data['data'][$i]['filter'] ); unset( $data['data'][$i]['created_time'] ); unset( $data['data'][$i]['users_in_photo'] ); unset( $data['data'][$i]['user_has_liked'] ); unset( $data['data'][$i]['location'] ); unset( $data['data'][$i]['comments']['data'] ); unset( $data['data'][$i]['likes']['data'] ); unset( $data['data'][$i]['images']['thumbnail']['height'] ); unset( $data['data'][$i]['images']['thumbnail']['width'] ); unset( $data['data'][$i]['images']['standard_resolution']['height'] ); unset( $data['data'][$i]['images']['standard_resolution']['width'] ); unset( $data['data'][$i]['caption']['created_time'] ); unset( $data['data'][$i]['caption']['from'] ); unset( $data['data'][$i]['caption']['id'] ); unset( $data['data'][$i]['user']); unset( $data['data'][$i]['id']); } return $data; } /*-----------------------------------------------------------------------------------*/ # Instagram Photos /*-----------------------------------------------------------------------------------*/ function tie_insta_media( $options ) { $tieinsta_options = get_option( 'tie_instagramy' ); $api = get_option( 'instagramy_access_token' ); // Default Values $media_source = 'user'; $account_info_layout = 2; $account_info_position = 'top'; $media_layout = 'grid'; $box_style = 'default'; $columns_number = 3; $load_more_per_page = 6; $cache = 2 ; $img_size = 'low_resolution'; $follow_text = __( 'Follow', 'tieinsta'); $tie_instagram_random_id = substr(str_shuffle("0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"), 0, 5); $link_target = $rel_nofollow = $size = $img_class = $lightbox_attr = $flat_class = ''; extract( $options ); if( !empty( $new_window )) $link_target = ' target="_blank"'; if( !empty( $nofollow )) $rel_nofollow = ' rel="nofollow"'; if( !empty( $avatar_size )){ $size = ' style="width:'.$avatar_size.'px; height:'.$avatar_size.'px;"'; if( $avatar_size < 60 ) $follow_text = ' + '; } if( !empty( $avatar_shape )) $img_class = ' class="'.$avatar_shape.'"'; if( !empty( $flat )) $flat_class = ' tie-insta-flat-images'; if( !empty( $large_img )) $img_size = 'standard_resolution'; if( !empty( $tieinsta_options['cache'] ) && is_int($tieinsta_options['cache']) ) $cache = $tieinsta_options['cache']; // Get Stored Cache or store a new version if( $media_source == 'hashtag' ){ //HashTag $tie_instagram_transient = get_transient( 'tie_instagram_hashtag_'.$hashtag ); $account_info_layout = 1; $instagram_logo_url = 'explore/tags/'. $hashtag; if( false !== $tie_instagram_transient ){ $data_photos = json_decode( $tie_instagram_transient , true ); } else{ if( !empty( $api ) ){ $data_photos_source = tie_insta_remote_get("https://api.instagram.com/v1/tags/$hashtag/media/recent/?access_token=$api"); $data_photos_meta_code = $data_photos_source[ 'meta' ][ 'code' ]; $data_photos = tie_insta_clean_data( $data_photos_source ); /* Get more than 20 photos */ if( $media_number > 20 && !empty( $data_photos_source['pagination']['next_url'] ) ){ $data_photos = $data_photos['data']; $number_of_pages = ( ceil( $media_number / 20 ) - 1 ); for( $i=1 ; $i<=$number_of_pages ; $i++ ){ if( !empty( $data_photos_source['pagination']['next_url'] ) ){ $next_page = $data_photos_source['pagination']['next_url']; $data_photos_source = tie_insta_remote_get( $next_page ); if( $data_photos_source[ 'meta' ][ 'code' ] == 200 ){ $data_photos_next_cleaned = tie_insta_clean_data( $data_photos_source ); $data_photos = array_merge( $data_photos , $data_photos_next_cleaned['data'] ); } } } $data_photos = array( 'data' => $data_photos ); } if( $data_photos_meta_code == 200 ){ set_transient( 'tie_instagram_hashtag_'.$hashtag , json_encode( $data_photos ) , $cache*60*60 ); update_option( 'tie_instagram_hashtag_'.$hashtag , json_encode( $data_photos ) ); } else{ if( get_option( 'tie_instagram_hashtag_'.$hashtag ) ){ $data_photos = json_decode( get_option( 'tie_instagram_hashtag_'.$hashtag ) , true ); }else{ echo _e( "Error : Couldn't Get Data From Instegram" , "tieinsta" ); } } }else { _e ( 'Set an access token first' , "tieinsta" ) ; } } }else{ //User $tie_instagram_transient = get_transient( 'tie_instagram_'.$username ); $instagram_logo_url = $username; if( false !== $tie_instagram_transient ){ $tie_instagram_transient = json_decode( $tie_instagram_transient , true ); $data = $tie_instagram_transient['data']; $data_photos = $tie_instagram_transient['data_photos']; } else{ if( !empty( $api )){ $data_user_serach = tie_insta_remote_get("https://api.instagram.com/v1/users/search?q=$username&access_token=$api"); if( !empty( $data_user_serach[ 'data' ] ) && is_array( $data_user_serach[ 'data' ] )){ foreach ( $data_user_serach[ 'data' ] as $data_serach_result ) { if( !empty( $data_serach_result['username'] ) && !empty( $username ) && strtolower( $data_serach_result['username'] ) == strtolower( $username ) ){ $id = $data_serach_result['id']; break; } } } $data = tie_insta_remote_get("https://api.instagram.com/v1/users/$id/?access_token=$api"); $data_photos_source = tie_insta_remote_get("https://api.instagram.com/v1/users/$id/media/recent/?access_token=$api"); $data_photos = tie_insta_clean_data( $data_photos_source ); $data_photos_meta_code = $data_photos_source[ 'meta' ][ 'code' ]; /* Get more than 20 photos */ if( $media_number > 20 && !empty( $data_photos_source['pagination']['next_url'] ) ){ $data_photos = $data_photos['data']; $number_of_pages = ( ceil( $media_number / 20 ) - 1 ); for( $i=1 ; $i<=$number_of_pages ; $i++ ){ if( !empty( $data_photos_source['pagination']['next_url'] ) ){ $next_page = $data_photos_source['pagination']['next_url']; $data_photos_source = tie_insta_remote_get( $next_page ); if( $data_photos_source[ 'meta' ][ 'code' ] == 200 ){ $data_photos_next_cleaned = tie_insta_clean_data( $data_photos_source ); $data_photos = array_merge( $data_photos , $data_photos_next_cleaned['data'] ); } } } $data_photos = array( 'data' => $data_photos ); } if( $data_user_serach[ 'meta' ][ 'code' ] == 200 && $data[ 'meta' ][ 'code' ] == 200 && $data_photos_meta_code == 200 ){ $tie_instagram_data = array( 'data' => $data, 'data_photos' => $data_photos, ); set_transient( 'tie_instagram_'.$username , json_encode( $tie_instagram_data ) , $cache*60*60 ); update_option( 'tie_instagram_'.$username , json_encode( $tie_instagram_data ) ); } else{ if( get_option( 'tie_instagram_'.$username ) ){ $tie_instagram_stored_data = json_decode( get_option( 'tie_instagram_'.$username ) , true ); $data = $tie_instagram_stored_data['data']; $data_photos = $tie_instagram_stored_data['data_photos']; }else{ echo _e( "Error : Couldn't Get Data From Instegram" , "tieinsta" ); } } }else { _e ( 'Set an access token first' , "tieinsta" ) ; } } } if( !empty( $data ) || !empty( $data_photos ) ){ if( $media_source == 'hashtag' && !empty( $hashtag_info ) ){ $tie_instagram_header = ' <div class="tie-instagram-header"> <div class="tie-instagram-header-tag"><a href="https://instagram.com/explore/tags/'. $hashtag .'"'.$link_target.$rel_nofollow.'>#'.$hashtag.'</a></div> </div> <!-- .tie-instagram-header -->'; }elseif( $media_source != 'hashtag' && !empty( $account_info ) ){ $tie_instagram_header = ' <div class="tie-instagram-header"> <div class="tie-instagram-avatar"> <a href="https://instagram.com/'.$data['data']['username'].'"'.$img_class.$link_target.$rel_nofollow.$size.'> <img src="'.$data['data']['profile_picture'].'" alt="'. $data['data']['username'] .'"'.$size.' /> <span class="tie-instagram-follow"><span>'.$follow_text.'</span></span> </a> </div> <div class="tie-instagram-info"> <a href="http://instagram.com/'.$data['data']['username'].'"'.$link_target.$rel_nofollow.' class="tie-instagram-username">'.$data['data']['username'] .'</a>'; if( !empty( $full_name ) && !empty( $data['data']['full_name'] ) ) $tie_instagram_header .= '<span class="tie-instagram-full_name">'.$data['data']['full_name'] .'</span>'; if( !empty( $website ) && !empty( $data['data']['website'] ) ) $tie_instagram_header .= '<a href="'. $data['data']['website'] .'" class="tie-instagram-website"'.$link_target.$rel_nofollow.'>'. $data['data']['website'] .'</a>'; $tie_instagram_header .= ' </div>'; if( !empty( $bio ) && !empty( $data['data']['bio'] ) ) $tie_instagram_header .= '<div class="tie-instagram-desc">'. tie_insta_links_mentions ( $data['data']['bio'], true ) .'</div>'; if( !empty( $stats ) ) $tie_instagram_header .= ' <div class="tie-instagram-counts"> <ul> <li> <span class="number-stat">'. tie_insta_format_num ( $data['data']['counts']['media'] ) .'</span> <span>'.__( 'Posts' , 'tieinsta' ).'</span> </li> <li> <span class="number-stat">'. tie_insta_format_num ( $data['data']['counts']['followed_by'] ) .'</span> <span>'.__( 'Followers' , 'tieinsta' ).'</span> </li> <li> <span class="number-stat">'. tie_insta_format_num ( $data['data']['counts']['follows'] ) .'</span> <span>'.__( 'Following' , 'tieinsta' ).'</span> </li> </ul> </div> <!-- .tie-instagram-counts --> '; $tie_instagram_header .= ' </div> <!-- .tie-instagram-header -->'; }?> <div id="tie-instagram-<?php echo $tie_instagram_random_id ?>" class="tie-instagram <?php echo $box_style ?>-skin tieinsta-<?php echo $media_layout ?> grid-col-<?php echo $columns_number ?> header-layout-<?php echo $account_info_layout ?> header-layout-<?php echo $account_info_position ?><?php echo $flat_class ?><?php if( empty( $instagram_logo ) ) echo ' no-insta-logo' ?>"> <?php if( !empty( $instagram_logo ) ): ?> <div class="tie-instagram-bar"> <a class="instagram-logo" href="https://instagram.com/<?php echo $instagram_logo_url ?>"<?php echo $link_target.$rel_nofollow; ?>></a> </div> <?php endif; ?> <?php if( !empty( $link ) && $link == 'file' ){ $load_ilightbox = apply_filters( 'tie_instagram_force_avoid_ilightbox', true ); if( true === $load_ilightbox ) { wp_enqueue_script( 'tie-insta-ilightbox' ); ?> <script> var api_<?php echo $tie_instagram_random_id ?> = {}; jQuery( document ).ready(function() { api_<?php echo $tie_instagram_random_id ?> = jQuery('.tieinsta-ilightbox-<?php echo $tie_instagram_random_id ?>').iLightBox({ skin: '<?php echo ( !empty ( $tieinsta_options[ 'lightbox_skin' ] ) ? $tieinsta_options[ 'lightbox_skin' ] : 'dark' ); ?>', path: '<?php echo ( !empty ( $tieinsta_options[ 'lightbox_thumbs' ] ) ? $tieinsta_options[ 'lightbox_thumbs' ] : 'vertical' ); ?>', controls: { arrows: <?php echo ( !empty ( $tieinsta_options[ 'lightbox_arrows' ] ) ? 'true' : 'false' ); ?>, }, caption: { show: 'mouseout', hide: 'mouseenter' }, social: { start: false } }); }); </script> <?php } else { //Comparability With TieLabs's Themes ?> <script> var api_<?php echo $tie_instagram_random_id ?> = {}; jQuery( document ).ready(function() { api_<?php echo $tie_instagram_random_id ?> = jQuery('.tieinsta-ilightbox-<?php echo $tie_instagram_random_id ?>').iLightBox({ skin: tie.lightbox_skin, path: tie.lightbox_thumb, controls: { arrows: tie.lightbox_arrows, }, caption: { show: 'mouseout', hide: 'mouseenter' }, social: { start: false } }); }); </script> <?php } } ?> <?php if( ( !empty( $tie_instagram_header ) && $media_source != 'hashtag' && !empty( $account_info_position ) && $account_info_position == 'top' ) || ( !empty( $tie_instagram_header ) && $media_source == 'hashtag' ) ) echo $tie_instagram_header; ?> <div class="tie-instagram-photos"> <div class="tie-instagram-photos-content"> <div class="tie-instagram-photos-content-inner"> <?php $count = 0; foreach ( $data_photos[ 'data' ] as $photo ){ $count ++; if( $link == 'page' ){ $media_link = $photo['link']; } else{ if( !empty( $photo['caption']['text'] )){ $photo_desc = wp_trim_words ( $photo['caption']['text'] , 40 ); $photo_desc = tie_insta_links_mentions ( $photo_desc ); } $lightbox_attr = ' class="tieinsta-ilightbox-'.$tie_instagram_random_id .'" data-options="thumbnail: \''.$photo[ 'images' ]['thumbnail'][ 'url' ] .'\', width: 640, height: 640" data-title="'. $photo_desc .'" data-caption="<i class=\'tieinstaicon-heart\'></i> '.tie_insta_format_num ( $photo['likes']['count'] ) .' <i class=\'tieinstaicon-comment-alt\'></i> '.tie_insta_format_num ( $photo['comments']['count'] ) .'"'; if( !empty( $photo[ 'videos' ]['standard_resolution'][ 'url' ]) ) $media_link = $photo[ 'videos' ]['standard_resolution'][ 'url' ] ; else $media_link = $photo[ 'images' ]['standard_resolution'][ 'url' ]; } ?> <div class="tie-instagram-post"> <?php if( !empty( $link ) && $link != 'none' ): ?> <a href="<?php echo $media_link ?>"<?php echo $lightbox_attr.$link_target.$rel_nofollow; ?>> <?php endif; ?> <img src="<?php echo $photo[ 'images' ][$img_size][ 'url' ] ?>" alt="" /> <?php if( $media_layout == 'slider' && !empty( $comments_likes ) ){ ?> <div class="media-comment-likes"> <span class="media-likes"><i class="tieinstaicon-heart"></i><?php echo tie_insta_format_num ( $photo['likes']['count'] ); ?></span> <span class="media-comments"><i class="tieinstaicon-comment-alt"></i><?php echo tie_insta_format_num ( $photo['comments']['count'] ); ?></span> </div> <?php } if( !empty( $photo[ 'videos' ]['standard_resolution'][ 'url' ]) ){?> <span class="media-video"><i class="tieinstaicon-play"></i></span> <?php } if( !empty( $link ) && $link != 'none' ): ?> </a> <?php endif; ?> </div> <?php if( !empty( $load_more ) && $count == $load_more_per_page ) break; elseif( ( !empty( $media_number ) && $count == $media_number ) || ( empty( $media_number ) && $count == 9 ) ) break; } ?> </div> <!-- .tie-instagram-photos-content-inner --> <?php if( !empty( $load_more ) ){ //Load More Module $load_more_source = $username; if( $media_source == 'hashtag' ){ $load_more_source = $hashtag; } if( is_array($data_photos[ 'data' ] )){ $number_of_items = count( $data_photos[ 'data' ] ); if( $media_number <= $number_of_items ){ $number_of_items = $media_number; } $load_more_number_pages = ceil ( $number_of_items / $load_more_per_page ) -1; } ?> <div class="tie-insta-load-more-button"> <div class="tie-insta-clear-fix"></div> <a href="#" class="tie-insta-load-more" data-loaded="<?php echo $load_more_per_page ?>" data-pages="<?php echo $load_more_number_pages ?>" data-total="<?php echo $media_number-$load_more_per_page ?>"><?php _e( 'Load More' , 'tieinsta' ) ?></a> <span class="tie-insta-loading"></span> </div> <script type="text/javascript"> jQuery(document).ready(function() { jQuery(document).on("click", "#tie-instagram-<?php echo $tie_instagram_random_id ?> a.tie-insta-load-more" , function() { var InstaLoad = jQuery( this ); var InstaParent = InstaLoad.parent(); var loaded = InstaLoad.attr('data-loaded' ); var totalItems = InstaLoad.attr('data-total' ); var InstaContainer = jQuery( '#tie-instagram-<?php echo $tie_instagram_random_id ?> .tie-instagram-photos-content-inner' ); var number = <?php echo $load_more_per_page ?>; if( InstaLoad.attr('data-pages' ) > 0 ){ InstaParent.addClass( 'tie-insta-state-loading' ); if( totalItems < <?php echo $load_more_per_page ?> ){ number = totalItems; } jQuery.post( tie_insta.ajaxurl, { action:'tie_insta_load_more', number:number, loaded:loaded, source:'<?php echo $media_source ?>', name:'<?php echo $load_more_source ?>', id:'<?php echo $tie_instagram_random_id ?>', new_window:'<?php echo $new_window?>', nofollow:'<?php echo $nofollow ?>', link:'<?php echo $link ?>', size:'<?php echo $img_size ?>' }, function(data) { var content = jQuery(data); var AnimationDelay = 0 ; content.each(function(index){ AnimationDelay = index/30; jQuery(this).addClass("tie-insta-loaded-item").attr( 'style', ' animation-delay: '+ AnimationDelay +'s; -webkit-animation-delay: '+ AnimationDelay +'s;'); }); InstaContainer.append( content ); InstaParent.removeClass( 'tie-insta-state-loading' ); InstaLoad.attr( 'style', ' animation-delay: '+ (AnimationDelay + 0.1) +'s; -webkit-animation-delay: '+ (AnimationDelay + 0.1) +'s;'); api_<?php echo $tie_instagram_random_id ?>.refresh(); var loaded = InstaLoad.attr('data-loaded' ); var pages = InstaLoad.attr('data-pages' ); var remains = InstaLoad.attr('data-total' ); pages--; if( pages <= 0 ){ InstaParent.hide(); } InstaLoad.attr('data-loaded', parseInt(loaded)+parseInt( <?php echo $load_more_per_page ?> ) ); InstaLoad.attr('data-total', parseInt(remains)-parseInt( <?php echo $load_more_per_page ?> ) ); InstaLoad.attr('data-pages', pages ); }, 'html'); }else{ InstaParent.hide(); } return false; }); }); </script> <?php } //End Of the load more module code ?> </div> <!-- .tie-instagram-photos-content --> <?php if( $media_layout == 'slider' ){ ?> <div class="tie-instagram-nav" class="tie-instagram-nav-prev"> <a id="prev-<?php echo $tie_instagram_random_id ?>" class="tie-instagram-nav-prev" href="#"><i class="tieinstaicon-left-open"></i></a> <a id="next-<?php echo $tie_instagram_random_id ?>" class="tie-instagram-nav-next" href="#"><i class="tieinstaicon-right-open"></i></a> </div> <?php } ?> </div> <!-- .tie-instagram-photos --> <?php if( !empty( $tie_instagram_header ) && $media_source != 'hashtag' && !empty( $account_info_position ) && $account_info_position == 'bottom' ) echo $tie_instagram_header ?> <?php if( !empty( $credit ) ): ?> <span class="tie-instagram-credit"><a href="http://tielabs.com/"<?php echo $link_target.$rel_nofollow; ?>><?php _e( 'InstaNow - WordPress Plugin' , 'tieinsta' ) ?></a><span> <?php endif; ?> </div> <!-- .tie-instagram --> <?php if( $media_layout == 'slider' ){ wp_enqueue_script( 'tie-insta-slider-scripts' ); ?> <script type="text/javascript"> jQuery( document ).ready(function() { new imagesLoaded( '#tie-instagram-<?php echo $tie_instagram_random_id ?>', function() { jQuery( '#tie-instagram-<?php echo $tie_instagram_random_id ?>' ).addClass( 'tieinsta-slider-active' ); jQuery(function() { jQuery('#tie-instagram-<?php echo $tie_instagram_random_id ?>.tieinsta-slider .tie-instagram-photos-content-inner').cycle({ fx: '<?php if( !empty( $slider_effect ) ) echo $slider_effect ; else echo 'scrollHorz' ?>', timeout: <?php if( !empty( $slider_speed ) ) echo $slider_speed ; else echo '3000' ?>, next: '#next-<?php echo $tie_instagram_random_id ?>', prev: '#prev-<?php echo $tie_instagram_random_id ?>', speed: 350, pause: true }); }); }); }); </script> <?php } ?> <?php } } /*-----------------------------------------------------------------------------------*/ # Active Links and Mentions /*-----------------------------------------------------------------------------------*/ function tie_insta_links_mentions( $text , $html = false ){ $text = preg_replace("#(^|[\n ])([\w]+?://[\w]+[^ \"\n\r\t< ]*)#", "\\1<a href='\\2' target='_blank'>\\2</a>", $text); $text = preg_replace("#(^|[\n ])((www|ftp)\.[^ \"\t\n\r< ]*)#", "\\1<a href='http://\\2' target='_blank'>\\2</a>", $text); $text = preg_replace("/@(\w+)/", "<a href='http://instagram.com/\\1' target='_blank'>@\\1</a>", $text); $text = preg_replace("/#(\w+)/", "<a href='http://instagram.com/explore/tags/\\1' target='_blank'>#\\1</a> ", $text); if( $html ){ $text = htmlspecialchars_decode( $text ); } return $text; } /*-----------------------------------------------------------------------------------*/ # Custom CSS /*-----------------------------------------------------------------------------------*/ add_action('wp_head', 'tie_insta_css'); function tie_insta_css() { $tieinsta_options = get_option( 'tie_instagramy' ); if( !empty( $tieinsta_options['css'] ) ){ ?> <style type="text/css" media="screen"> <?php $css_code = str_replace("<pre>" , "", htmlspecialchars_decode( $tieinsta_options['css'] ) ); echo $css_code = str_replace("</pre>", "", $css_code ) , "\n";?> </style> <?php } } /*-----------------------------------------------------------------------------------*/ # Like Post - Update Post Likes /*-----------------------------------------------------------------------------------*/ add_action('wp_ajax_nopriv_tie_insta_load_more', 'tie_insta_load_more'); add_action('wp_ajax_tie_insta_load_more', 'tie_insta_load_more'); function tie_insta_load_more(){ $link_target = $rel_nofollow = $size = $img_class = $lightbox_attr = ''; $source = $_REQUEST['source']; $name = $_REQUEST['name']; $number = $_REQUEST['number']; $loaded = $_REQUEST['loaded']; $new_window = $_REQUEST['new_window']; $nofollow = $_REQUEST['nofollow']; $link = $_REQUEST['link']; $img_size = $_REQUEST['size']; $tie_instagram_random_id = $_REQUEST['id']; if( $source == 'hashtag' ){ $tie_instagram_stored_data = json_decode( get_option( 'tie_instagram_hashtag_'.$name ) , true ); }else{ $tie_instagram_stored_data = json_decode( get_option( 'tie_instagram_'.$name ) , true ); $tie_instagram_stored_data = $tie_instagram_stored_data['data_photos']; } $data_photos = array_slice( $tie_instagram_stored_data[ 'data' ], $loaded , $number ); if( !empty( $new_window )) $link_target = ' target="_blank"'; if( !empty( $nofollow )) $rel_nofollow = ' rel="nofollow"'; foreach ( $data_photos as $photo ){ if( $link == 'page' ){ $media_link = $photo['link']; } else{ if( !empty( $photo['caption']['text'] )){ $photo_desc = wp_trim_words ( $photo['caption']['text'] , 40 ); $photo_desc = tie_insta_links_mentions ( $photo_desc ); } $lightbox_attr = ' class="tieinsta-ilightbox-'.$tie_instagram_random_id .'" data-options="thumbnail: \''.$photo[ 'images' ]['thumbnail'][ 'url' ] .'\', width: 640, height: 640" data-title="'. $photo_desc .'" data-caption="<i class=\'tieinstaicon-heart\'></i> '.tie_insta_format_num ( $photo['likes']['count'] ) .' <i class=\'tieinstaicon-comment-alt\'></i> '.tie_insta_format_num ( $photo['comments']['count'] ) .'"'; if( !empty( $photo[ 'videos' ]['standard_resolution'][ 'url' ]) ) $media_link = $photo[ 'videos' ]['standard_resolution'][ 'url' ] ; else $media_link = $photo[ 'images' ]['standard_resolution'][ 'url' ]; } ?> <div class="tie-instagram-post"> <?php if( !empty( $link ) && $link != 'none' ): ?> <a href="<?php echo $media_link ?>"<?php echo $lightbox_attr.$link_target.$rel_nofollow; ?>> <?php endif; ?> <img src="<?php echo $photo[ 'images' ][$img_size][ 'url' ] ?>" alt="" /> <?php if( !empty( $photo[ 'videos' ]['standard_resolution'][ 'url' ]) ){?> <span class="media-video"><i class="tieinstaicon-play"></i></span> <?php } if( !empty( $link ) && $link != 'none' ): ?> </a> <?php endif; ?> </div> <?php } die; } ?>