public static function show_admin_options($curr_options = null)
    {
        ?>
		<div class="rs-info">
			<p class="rs-awesome-paragraph"><?php 
        _e('Here you can create gallery from any Flickr photoset', 'new_royalslider');
        ?>
</p>
			<p><?php 
        _e('To create such gallery go to your <a href="http://www.flickr.com/services/api/keys/" target="_blank">Flickr account</a> and request your API key. Then simply enter your data in settings below.<br/>Requested Flickr image thumbnail size is 75x75px, 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-flickr-photoset" target="_blank"><?php 
        _e('View help video about how to create Flickr gallery', 'new_royalslider');
        ?>
</a></div><br/>
        </div>
        <?php 
        $fields = array(array('name' => 'api_key', 'label' => __('Flickr API key', 'new_royalslider'), 'desc' => __('API key', 'new_royalslider'), 'type' => 'text', 'default' => '', 'data-type' => 'str', 'size' => 'short', 'ignore' => true), array('desc' => __('Your <a href="http://www.flickr.com/services/api/keys/" target="_blank">Flickr API key</a>.', 'new_royalslider')), array('name' => 'photoset_id', 'label' => __('Flickr photoset ID', 'new_royalslider'), 'desc' => __('', 'new_royalslider'), 'type' => 'text', 'default' => '', 'data-type' => 'str', 'size' => 'short', 'ignore' => true), array('desc' => __('Any <a href="http://help.dimsemenov.com/kb/wordpress-royalslider-tutorials/wp-how-to-find-flickr-photoset-id" target="_blank">Flickr photoset ID</a>', 'new_royalslider'), 'delimiter' => true), array('name' => 'max_items', 'label' => __('Maximum items', 'new_royalslider'), 'desc' => __('Maximum items  to fetch from Flickr', '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')), array('name' => 'medSize', 'label' => __('Image size', 'new_royalslider'), 'desc' => __('', 'new_royalslider'), 'type' => 'select', 'data-type' => 'str', 'options' => array('' => __('500 on longest side', 'new_royalslider'), '_z' => __('640 on longest side', 'new_royalslider'), '_c' => __('800 on longest side', 'new_royalslider'), '_b' => __('1024 on longest side', 'new_royalslider')), 'default' => 'image', 'ignore' => true), array('desc' => __('Size of default main slider image', 'new_royalslider')));
        if (isset($curr_options) && isset($curr_options['flickr'])) {
            $flickr_opts = $curr_options['flickr'];
            $fields = NewRoyalSliderOptions::parseCurrentOptions($fields, $flickr_opts);
        }
        echo '<div id="rs-flickr-options" class="rs-body-options">';
        echo '<h3>' . __('Flickr Settings', 'new_royalslider') . '</h3>';
        foreach ($fields as $key => $field) {
            echo NewRoyalSliderOptions::get_field_html($field, 'flickr');
        }
        echo '</div>';
    }
    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' => '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' => '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 show_admin_options($curr_options = null)
    {
        ?>
		<div class="rs-info">
			<p class="rs-awesome-paragraph"><?php 
        _e('Here you may create RoyalSlider from your posts', 'new_royalslider');
        ?>
</p>
			<p><?php 
        _e('Slider uses Post Featured Image as a default source for images.<br/>To create custom layout use Slide Markup Editor - you may use shortcodes and get custom meta data from eacho post.', '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-your-posts" target="_blank"><?php 
        _e('View help video about how to create such slider', 'new_royalslider');
        ?>
</a></div><br/>
        </div>
		<?php 
        $post_types = get_post_types(array('_builtin' => false));
        $post_types = array("post" => "post", "page" => "page") + $post_types;
        $post_types_arr = array();
        foreach ($post_types as $key => $post_type) {
            $selected = "";
            $posttype_obj = get_post_type_object($key);
            $post_types_arr[$key] = $posttype_obj->labels->singular_name;
        }
        $fields = array(array('name' => 'post_type', 'label' => __('Post type', 'new_royalslider'), 'desc' => __('', 'new_royalslider'), 'type' => 'select', 'data-type' => 'str', 'options' => $post_types_arr, 'default' => 'post', 'ignore' => true), array('desc' => __('Post type to include in slider. Changing this option will automatically reload taxonomies (tags,categories...)', 'new_royalslider')), array('name' => 'max_posts', 'label' => __('Max posts', 'new_royalslider'), 'desc' => __('', 'new_royalslider'), 'type' => 'number', 'data-type' => 'num', 'default' => '5', 'ignore' => true), array('desc' => __('Maximum number of posts to include in slider', 'new_royalslider')), array('name' => 'orderby', 'label' => __('Order posts by', 'new_royalslider'), 'desc' => __('', 'new_royalslider'), 'type' => 'select', 'data-type' => 'str', 'options' => array('date' => __('Date', 'new_royalslider'), 'comment_count' => __('Comments', 'new_royalslider')), 'default' => 'date', 'ignore' => true), array('desc' => __('(random order can be set in Miscellaneous options)', 'new_royalslider')), array('name' => 'relation', 'label' => __('Relation', 'new_royalslider'), 'desc' => __('', 'new_royalslider'), 'type' => 'select', 'data-type' => 'str', 'options' => array('OR' => __('Match any selected taxonomy', 'new_royalslider'), 'AND' => __('Match all selected taxonomies', 'new_royalslider')), 'default' => 'OR', 'ignore' => true), array('desc' => __('Relation between terms. "Match all" will select only posts that have all selected taxonomies.', 'new_royalslider')), array('name' => 'link_the_slide', 'label' => __('Link slide to post', 'new_royalslider'), 'desc' => __('', 'new_royalslider'), 'type' => 'select', 'data-type' => 'str', 'options' => array('yes' => __('Yes, make link overlay over slide', 'new_royalslider'), 'no' => __('No', 'new_royalslider')), 'default' => 'no', 'ignore' => true), array('desc' => __('If enabled, links whole slide to corresponding post. Please note that such link doesn\'t work with auto-height option. You may edit slide markup to link specific button or image just by wrapping it with "a" HTML tag . {{link_url}} will return you URL to post.')));
        if (isset($curr_options) && isset($curr_options['posts'])) {
            $opts = $curr_options['posts'];
            $fields = NewRoyalSliderOptions::parseCurrentOptions($fields, $opts);
        } else {
            $opts = array('taxonomies' => array());
        }
        echo '<div id="rs-postssource-options" class="rs-body-options">';
        echo '<h3>' . __('Posts Settings', 'new_royalslider') . '</h3>';
        foreach ($fields as $key => $field) {
            echo NewRoyalSliderOptions::get_field_html($field, 'posts');
        }
        echo '<div id="rs-taxonomies-fields">';
        echo self::get_taxonomies_fields(isset($opts['post_type']) ? $opts['post_type'] : 'post', isset($opts['taxonomies']) ? $opts['taxonomies'] : null);
        echo '</div>';
        echo '<p style="color:#888;"><br/>' . __('If you need custom order, you can filter this query via PHP with help of WordPress filters. <a target="_blank" href="http://help.dimsemenov.com/kb/wordpress-royalslider-advanced/wp-modifying-order-of-posts-in-slider">Read more</a>') . '</p>';
        echo '</div>';
    }
Ejemplo n.º 4
0
    public static function show_admin_options($curr_options = null)
    {
        ?>
		<div class="rs-info">
			<p class="rs-awesome-paragraph"><?php 
        _e('Here you may create <a href="http://instagram.com" target="_blank">Instagram</a> gallery from  recent photos, filtered by username or tag.', 'new_royalslider');
        ?>
</p>

			<?php 
        self::$access_token = get_option('new_royalslider_instagram_oauth_token');
        if (!self::$access_token || !isset(self::$access_token->access_token)) {
            printf(__('<p style="padding: 12px;background: rgb(255, 236, 236);font-size: 14px;line-height: 20px;"><strong style="color:#C00;">Important note!</strong> Before you start, you need to register Instagram API client.<br/>Please go to <a href="%s">RoyalSlider global settings</a>, enter "Instagram client ID" and "client secret key" and connect to Instagram.</p>', 'new_royalslider'), get_admin_url() . "admin.php?page=new_royalslider_settings");
        }
        ?>

			<p><?php 
        _e('Instagram thumbnail image size is 150x150px, for some templates you might need to change default size of thumbnail area ("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-instagram-photos" target="_blank"><?php 
        _e('View help video about how to create Instagram gallery', 'new_royalslider');
        ?>
</a></div><br/>
        </div>
		<?php 
        $fields = array(array('name' => 'usernameortag', 'label' => __('Username or tag', 'new_royalslider'), 'desc' => __('', 'new_royalslider'), 'type' => 'text', 'default' => '', 'data-type' => 'str', 'size' => 'short', 'ignore' => true), array('desc' => __('Enter Instagram username or #tag. The tag must start with <strong>#</strong> symbol. For example: <strong>david</strong> or <strong>#winter</strong>', 'new_royalslider'), 'delimiter' => true), array('name' => 'limit', 'label' => __('Limit', 'new_royalslider'), 'desc' => __('', 'new_royalslider'), 'type' => 'number', 'default' => '10', 'data-type' => 'num', 'size' => 'short', 'ignore' => true), array('desc' => __('Maximum number of images to fetch from Instagram and include in slider. Max 250.', 'new_royalslider')));
        if (isset($curr_options) && isset($curr_options['rs_instagram'])) {
            $opts = $curr_options['rs_instagram'];
            $fields = NewRoyalSliderOptions::parseCurrentOptions($fields, $opts);
        }
        echo '<div id="rs-instagram-options" class="rs-body-options">';
        echo '<h3>' . __('Instagram Settings', 'new_royalslider') . '</h3>';
        ?>

		

		<?php 
        foreach ($fields as $key => $field) {
            echo NewRoyalSliderOptions::get_field_html($field, 'rs_instagram');
        }
        echo '</div>';
    }
        static function getImageTab($slide_data, $image_src)
        {
            $out = '';
            $attachment_id = '';
            $big_image = '';
            $big_image_src = '';
            $image_data = '';
            if (isset($slide_data['image'])) {
                $image_data = $slide_data['image'];
                if (isset($slide_data['image']['attachment_id'])) {
                    $attachment_id = $slide_data['image']['attachment_id'];
                    $big_image = wp_get_attachment_image_src($attachment_id, 'large');
                    $big_image_src = $big_image[0];
                }
            }
            $add_label = $image_data ? __('Change image', 'new_royalslider') : __('Add image', 'new_royalslider');
            $hidden = !$image_data ? 'style="display:none"' : '';
            $out .= '<div class="rs-image-change-wrap">
							<img src="' . $image_src . '" />
							<a class="rs-select-image button button-primary" href="#">' . $add_label . '</a>
							<a class="rs-remove-image button" href="#"' . $hidden . '>' . __('Remove image', 'new_royalslider') . '</a>
				</div>';
            $out .= '<div class="rs-image-inputs-wrap">';
            $out .= NewRoyalSliderOptions::get_field_html(array('name' => 'title', 'label' => __('Title & alt <i class="help-ico"></i>', 'new_royalslider'), 'desc' => __('Title of the slide. Alt tag of image. Caption. (by default).<br/> In Slide Markup Editor use <strong>{{title}}</strong> to get value of this field.', 'new_royalslider'), 'type' => 'text', 'default' => isset($slide_data['title']) ? $slide_data['title'] : ''), 'slides');
            $out .= NewRoyalSliderOptions::get_field_html(array('name' => 'description', 'label' => __('Description <i class="help-ico"></i>', 'new_royalslider'), 'desc' => __('Short description of slide, used by some templates (like content slider). <br/>In Slide Markup Editor use <strong>{{description}}</strong>} to get value of this field.', 'new_royalslider'), 'type' => 'textarea', 'default' => isset($slide_data['description']) ? $slide_data['description'] : ''), 'slides');
            $out .= NewRoyalSliderOptions::get_field_html(array('name' => 'link', 'label' => __('Link <i class="help-ico"></i>', 'new_royalslider'), 'desc' => __('Links whole slide to URL in this field. <br/><strong>Please note</strong> that full slide link doesn\'t work with auto-height option and overlays video. You can edit Slide Markup to link just specific button or image by wrapping it with "a" HTML tag .<br/>In Slide Markup Editor use <strong>{{link_url}}</strong> to get value of this field.', 'new_royalslider'), 'type' => 'text', 'default' => isset($slide_data['link']) ? $slide_data['link'] : ''), 'slides');
            $out .= '<div class="rs-video-select">';
            if (!isset($slide_data['video'])) {
                $video_data = array('url' => '', 'thumb' => '', 'image' => '');
            } else {
                $video_data = $slide_data['video'];
            }
            $out .= NewRoyalSliderOptions::get_field_html(array('name' => 'url', 'label' => __('YouTube or Vimeo video URL <i class="help-ico"></i>', 'new_royalslider'), 'desc' => __('Link to YouTube or Vimeo video page. In formats like:<br/>vimeo.com/123123<br/>www.youtube.com/watch?v=7iIld0Z_wlc<br/>youtu.be/7iIld0Z_wlc<br/>In Slide Markup Editor use <strong>{{video_url}}</strong> to get value of this field.', 'new_royalslider'), 'type' => 'text', 'default' => $video_data['url']), 'slides[video]');
            $out .= NewRoyalSliderOptions::get_field_html(array('name' => 'image', 'type' => 'hidden', 'default' => isset($video_data['image']) ? $video_data['image'] : ''), 'slides[video]');
            $out .= NewRoyalSliderOptions::get_field_html(array('name' => 'thumb', 'type' => 'hidden', 'default' => isset($video_data['thumb']) ? $video_data['thumb'] : ''), 'slides[video]');
            $out .= '</div>';
            $out .= NewRoyalSliderOptions::get_field_html(array('name' => 'attachment_id', 'type' => 'hidden', 'default' => $attachment_id), 'slides[image]');
            $out .= NewRoyalSliderOptions::get_field_html(array('name' => 'large', 'type' => 'hidden', 'default' => $big_image_src), 'adminarea');
            $out .= NewRoyalSliderOptions::get_field_html(array('name' => 'large_gen', 'type' => 'hidden', 'default' => $big_image_src), 'adminarea');
            $out .= NewRoyalSliderOptions::get_field_html(array('name' => 'large_width', 'type' => 'hidden', 'default' => $big_image ? $big_image[1] : ''), 'adminarea');
            $out .= NewRoyalSliderOptions::get_field_html(array('name' => 'large_height', 'type' => 'hidden', 'default' => $big_image ? $big_image[2] : ''), 'adminarea');
            $out .= '</div>';
            return $out;
        }