%PDF- %PDF-
Direktori : /var/www/html/shaban/laviva/wp-content/plugins/new-royalslider/classes/sources/ |
Current File : /var/www/html/shaban/laviva/wp-content/plugins/new-royalslider/classes/sources/500px.php |
<?php if( !defined('WPINC') ) exit('No direct access permitted'); class NewRoyalSlider500pxSource { function __construct( $curr_options = null ) { } public static function show_admin_options( $curr_options = null ) { ?> <div class="rs-info"> <p class="rs-awesome-paragraph"><?php _e('Here you can create RoyalSlider from <a href="http://500px.com" target="_blank">500px</a> photos', 'new_royalslider'); ?></p> <p><?php _e('To create such gallery go to your 500px account and request your API consumer key. Then simply enter your data in settings below.<br/>Requested 500px image thumbnail size is 70x70, so for some templates you need to change default size of them, you can do this in right sidebar options "Thumbnails,tabs,bullets" -> "Thumbnail Width" and "Thumbnail Height.', 'new_royalslider'); ?></p> <div class="help-video"><a class="in-page-action" href="http://help.dimsemenov.com/kb/wordpress-royalslider-tutorials/wp-creating-royalslider-from-500px-photos" target="_blank"><?php _e('View help video about how to create 500px gallery', 'new_royalslider'); ?></a></div><br/> </div> <?php $fields = array( array( 'name' => 'consumer_key', 'label' => __( 'Consumer key', 'new_royalslider' ), 'desc' => '', 'type' => 'text', 'default' => '', 'data-type' => 'str', 'size' => 'short', 'ignore' => true ), array( 'desc' => __( 'Your <a href="http://help.dimsemenov.com/kb/wordpress-royalslider-tutorials/wp-where-to-get-500px-consumer-key" target="_blank">500px consumer key</a>.', 'new_royalslider' ) ), array( 'name' => 'feature', 'label' => __( 'Photos source', 'new_royalslider' ), 'desc' => __( '', 'new_royalslider' ), 'type' => 'select', 'data-type' => 'str', 'options' => array( 'user' => __('By [username]', 'new_royalslider'), 'user_friends' => __('From [username] friends', 'new_royalslider'), 'user_favorites' => __('[username] favorites', 'new_royalslider'), 'popular' => __('Popular (globally)', 'new_royalslider'), 'editors' => __('Editors choice ', 'new_royalslider'), 'fresh_today' => __('Fresh today ', 'new_royalslider'), 'upcoming' => __('Upcoming ', 'new_royalslider') ), 'default' => 'image', 'ignore' => true ), array( 'desc' => __( 'The source of photos for gallery.', 'new_royalslider' ) ), // array( // 'name' => 'display_by', // 'label' => __( 'Display by', 'new_royalslider' ), // 'desc' => __( '', 'new_royalslider' ), // 'type' => 'select', // 'data-type' => 'str', // 'options' => array( // '' => __('Username', 'new_royalslider'), // 'set' => __('Photo set', 'new_royalslider') // ), // 'default' => 'image', // 'ignore' => true // ), // array( // 'desc' => __( 'Get photos by username, or by photoset (premium feature).', 'new_royalslider' ) // ), // array( // 'name' => 'photoset', // 'label' => __( 'Photo set', 'new_royalslider' ), // 'desc' => __( '', 'new_royalslider' ), // 'type' => 'text', // 'default' => '', // 'data-type' => 'str', // 'size' => 'short', // 'ignore' => true // ), // array( // 'desc' => __( 'Photoset ID', 'new_royalslider' ), // 'delimiter' => true // ), array( 'name' => 'username', 'label' => __( 'Username', 'new_royalslider' ), 'desc' => __( '', 'new_royalslider' ), 'type' => 'text', 'default' => '', 'data-type' => 'str', 'size' => 'short', 'ignore' => true ), array( 'desc' => __( '500px username to get photos from', 'new_royalslider' ), 'delimiter' => true ), array( 'name' => 'category', 'label' => __( 'Category', 'new_royalslider' ), 'desc' => __( '', 'new_royalslider' ), 'type' => 'select', 'data-type' => 'str', 'options' => array( '' => __('Any Category', 'new_royalslider'), 'Abstract' => __('Abstract', 'new_royalslider'), 'Animals' => __('Animals', 'new_royalslider'), 'Black and White' => __("Black and White", 'new_royalslider'), 'Celebrities' => __('Celebrities', 'new_royalslider'), 'City and Architecture' => __('Fresh today', 'new_royalslider'), 'Commercial' => __('Commercial', 'new_royalslider'), 'Concert' => __("Concert", 'new_royalslider'), 'Family' => __("Family", 'new_royalslider'), 'Fashion' => __("Fashion", 'new_royalslider'), 'Film' => __("Film", 'new_royalslider'), 'Fine Art' => __("Fine Art", 'new_royalslider'), 'Food' => __("Food", 'new_royalslider'), 'Journalism' => __("Journalism", 'new_royalslider'), 'Landscapes' => __("Landscapes", 'new_royalslider'), 'Macro' => __("Macro", 'new_royalslider'), 'Nature' => __("Nature", 'new_royalslider'), 'Nude' => __("Nude", 'new_royalslider'), 'People' => __("People", 'new_royalslider'), 'Performing Arts' => __("Performing Arts", 'new_royalslider'), 'Sport' => __("Sport", 'new_royalslider'), 'Still Life' => __("Still Life", 'new_royalslider'), 'Street' => __("Street", 'new_royalslider'), 'Transportation' => __("Transportation", 'new_royalslider'), 'Travel' => __("Travel", 'new_royalslider'), 'Underwater' => __("Underwater", 'new_royalslider'), 'Urban Exploration' => __("Urban Exploration", 'new_royalslider'), 'Wedding' => __("Wedding", 'new_royalslider') ), 'default' => 'image', 'ignore' => true ), array( 'desc' => __( 'Optional', 'new_royalslider' ) ), // array( // 'name' => 'Tags', // 'label' => __( '', 'new_royalslider' ), // 'desc' => __( '', 'new_royalslider' ), // 'type' => 'text', // 'default' => '', // 'data-type' => 'str', // 'size' => 'short', // 'ignore' => true // ), // array( // 'desc' => __( 'Comma separated list of tags', 'new_royalslider' ), // 'delimiter' => true // ), array( 'name' => 'sort', 'label' => __( 'Sort by', 'new_royalslider' ), 'desc' => __( '', 'new_royalslider' ), 'type' => 'select', 'data-type' => 'str', 'options' => array( '' => __('Default', 'new_royalslider'), 'rating' => __('Rating', 'new_royalslider'), 'times_viewed' => __('Views', 'new_royalslider'), 'votes_count' => __('Votes', 'new_royalslider'), 'created_at' => __('Creation date, newest first.', 'new_royalslider') ), 'default' => 'image', 'ignore' => true ), array( 'desc' => __( 'Photos sort order', 'new_royalslider' ) ), array( 'name' => 'rpp', 'label' => __( 'Maximum items', 'new_royalslider' ), 'desc' => __( '', 'new_royalslider' ), 'type' => 'number', 'default' => '10', 'data-type' => 'num', 'size' => 'short', 'ignore' => true ), array( 'desc' => __( 'Maximum number of items to include in slider.', 'new_royalslider' ) ) ); if( isset($curr_options) && isset($curr_options['rs_500px']) ) { $opts = $curr_options['rs_500px']; $fields = NewRoyalSliderOptions::parseCurrentOptions($fields, $opts); } echo '<div id="rs-500px-options" class="rs-body-options">'; echo '<h3>' . __('500px Settings', 'new_royalslider') .'</h3>'; foreach ( $fields as $key => $field ) { echo NewRoyalSliderOptions::get_field_html($field, 'rs_500px'); } echo '</div>'; } public static function get_data($slides, $options, $type) { if($type === '500px') { if(isset($options['rs_500px'])) { $options = $options['rs_500px']; $data = array( 'consumer_key' => $options['consumer_key'], 'username' => $options['username'], //'MichaelEggers', 'feature' => $options['feature'],//'user', //user_favorites, user_friends 'rpp' => $options['rpp'], // max photos to return, max 100 'only' => $options['category'], // category 'sort' => $options['sort'] //'feature' => 'popular' ); //https://api.500px.com/v1/photos? //https://api.500px.com/v1/collections/ $url = 'https://api.500px.com/v1/photos?'.http_build_query($data); $url .= '&image_size[]=1&image_size[]=4'; $response = wp_remote_get($url, array( 'timeout' => 30, 'redirection' => 5, 'sslverify' => false )); if (is_wp_error($response)) { return print_r($response, true) . ' Request URL: '.$url;; } $response = $response['body']; $response = json_decode($response, ARRAY_A); $images = array(); if (isset($response['photos'])) { $photos = $response['photos']; foreach($photos as $key => $value) { $image = &$images[$key]; $image['image'] = $value['image_url'][1]; $image['thumbnail'] = $value['image_url'][0]; $image['title'] = $value['name']; $image['description'] = $value['description']; } } if( count($images) > 0) { return $images; } else { return sprintf(__(' Unable to fetch data from 500px. %s', 'new_royalslider'), isset($response['error']) ? $response['error'] : ''); } } } return $slides; } private function parse_flickr_data() { $url = 'http://api.flickr.com/services/feeds/photos_public.gne?id=' . $this->options['user_id'] . '&format=rss2'; $feed_data = fetch_feed( $url ); if( !is_wp_error( $feed_data ) ) { $maxitems = $feed_data->get_item_quantity( $this->options['max_items'] ); $rss_items = $feed_data->get_items( 0, $maxitems ); // Loop through each item to build an array of slides $counter = 0; foreach( $rss_items as $key => $item ){ $image = &$images[$key]; $image['title'] = $item->get_title(); $image['description'] = $item->get_enclosure()->description; $image['image'] = $item->get_enclosure()->link; $image['width'] = $item->get_enclosure()->width; $image['height'] = $item->get_enclosure()->height; $image['thumbnail'] = $item->get_enclosure()->thumbnails[0]; $image['link'] = $item->get_permalink(); $image['author'] = $item->get_enclosure()->credits[0]->name; } } return $images; } }