Пример #1
0
/**
 * Share bar
 * Includes social buttons to share page url: Facebook, Google+, Twitter, Pinterest and Linkedin
 */
function share_bar($args = array())
{
    // Facebook defaults
    $fb_options = array('data-type' => 'button_count');
    // Google defaults
    $gg_options = array('data-annotation' => 'bubble', 'data-align' => 'left', 'data-expandTo' => '');
    // Twitter defaults
    $tw_options = array('data-count' => 'horizontal', 'data-lang' => 'en', 'data-dnt' => 'true');
    $tw_language = array('en' => 'Tweet', 'es' => 'Twittear');
    // Pinterest defaults
    $pin_options = array('data-pin-color' => 'white', 'data-pin-config' => 'beside');
    // Linkedin defaults
    $in_options = array('data-counter' => 'right');
    // Assign options to variables
    if (is_array($args['facebook'])) {
        foreach ($args['facebook'] as $key => $value) {
            $fb_defaults[$key] = $value;
        }
    }
    if (is_array($args['google'])) {
        foreach ($args['google'] as $key => $value) {
            $gg_options[$key] = $value;
        }
    }
    if (is_array($args['twitter'])) {
        foreach ($args['twitter'] as $key => $value) {
            $tw_options[$key] = $value;
        }
    }
    if (is_array($args['pinterest'])) {
        foreach ($args['pinterest'] as $key => $value) {
            $pin_options[$key] = $value;
        }
    }
    if (is_array($args['linkedin'])) {
        foreach ($args['linkedin'] as $key => $value) {
            $in_options[$key] = $value;
        }
    }
    if ($args['bar_style'] == 'standard' || $args['bar_style'] == null || empty($args['bar_style'])) {
        $bar_class = 'standard-bar';
        // print starting container
        printf('<div class="share-bar %s"><ul>', $bar_class);
        if (!empty($args['bar_text'])) {
            printf('<li class="wgt-text" >%s</li>', $args['bar_text']);
        }
        // Print facebook share
        if ($args['facebook'] !== false) {
            printf('<li class="wgt-button"><div class="fb-share-button"');
            foreach ($fb_options as $data => $value) {
                printf(' %1$s="%2$s"', $data, $value);
            }
            printf('></div></li><!-- facebook -->');
        }
        // Print google share
        if ($args['google'] !== false) {
            printf('<li class="wgt-button"><div class="g-plus" data-action="share"');
            foreach ($gg_options as $data => $value) {
                printf(' %1$s="%2$s"', $data, $value);
            }
            printf('></div></li><!-- googleplus -->');
        }
        // Print linkedin share
        if ($args['linkedin'] !== false) {
            printf('<li class="wgt-button"><script type="IN/Share"');
            foreach ($in_options as $data => $value) {
                printf(' %1$s="%2$s"', $data, $value);
            }
            printf('></script></li><!-- linkedin -->');
        }
        // Print Pin it button
        if ($args['pinterest'] !== false) {
            $pin_do;
            $pin_urlencoded;
            $pin_button_image;
            // Pin Button images
            $pin_large = array('rect' => 'pinit_fg_en_rect_%s_28.png', 'round' => 'pinit_fg_en_round_red_28.png');
            $pin_height = array('small' => '20', 'large' => '28');
            $pin_small = array('rect' => 'pinit_fg_en_rect_%s_20.png', 'round' => 'pinit_fg_en_round_red_16.png');
            // Set the url and image to be pinned if pin-image is defined
            if (!empty($pin_options['pin-image'])) {
                $pin_urlencoded = '?url=';
                $pin_urlencoded .= $pin_options['pin-url'] == null || empty($pin_options['pin-url']) ? rawurlencode(get_site_url() . '/' . get_current_file()) : rawurlencode($pin_options['pin-url']);
                $pin_urlencoded .= '&media=' . rawurlencode($pin_options['pin-image']);
                $pin_do = 'buttonPin';
            } else {
                $pin_urlencoded = '';
                $pin_do = 'buttonBookmark';
            }
            // Set button image according to data-pin-height, data-pin-color and data-pin-shape
            if (empty($pin_options['data-pin-shape']) || $pin_options['data-pin-shape'] == null || $pin_options['data-pin-shape'] == 'rect') {
                if (empty($pin_options['data-pin-height']) || $pin_options['data-pin-height'] == null || $pin_options['data-pin-height'] == 'small') {
                    $pin_button_image = $pin_small['rect'];
                } elseif ($pin_options['data-pin-height'] == 'large') {
                    $pin_button_image = $pin_large['rect'];
                }
            } else {
                if (empty($pin_options['data-pin-height']) || $pin_options['data-pin-height'] == null) {
                    $pin_button_image = $pin_small[$pin_options['data-pin-shape']];
                } elseif ($pin_options['data-pin-height'] == 'large') {
                    $pin_button_image = $pin_large[$pin_options['data-pin-shape']];
                }
            }
            // Start Printing actual button
            printf('<li class="wgt-button">');
            printf('<a href="//www.pinterest.com/pin/create/button/%1$s" data-pin-do="%2$s" data-pin-height="%3$s"', $pin_urlencoded, $pin_do, $pin_height[$pin_options['data-pin-height']]);
            foreach ($pin_options as $data => $value) {
                if ($data != 'pin-url' || $data != 'pin-image' || $data != 'data-pin-height') {
                    printf(' %1$s="%2$s"', $data, $value);
                }
            }
            printf('><img src="//assets.pinterest.com/images/pidgets/');
            printf($pin_button_image, $pin_options['data-pin-color']);
            printf('"/></a></li><!-- pinterest -->');
        }
        // Print tweet button
        if ($args['twitter'] !== false) {
            printf('<li class="wgt-button"><a href="https://twitter.com/share" class="twitter-share-button"');
            foreach ($tw_options as $data => $value) {
                printf(' %1$s="%2$s"', $data, $value);
            }
            printf('>%s</a></li><!-- twitter -->', $tw_language[$tw_options['data-lang']]);
        }
        printf('</ul></div>');
    } elseif ($args['bar_style'] == 'drawer') {
    }
}
?>
]]></title>
<link><![CDATA[<?php 
echo abs_uri('');
?>
]]></link>
<description><![CDATA[<?php 
echo settings('description');
?>
]]></description>
 
	<?php 
while ($item = loop_items()) {
    if (item_has_files()) {
        while (loop_files_for_item($item)) {
            $file = get_current_file();
            if ($file->hasThumbnail()) {
                ?>
 
	<item>
		<title><![CDATA[<?php 
                echo item('Dublin Core', 'Title');
                ?>
]]></title>
		<media:description><![CDATA[<?php 
                echo item('Dublin Core', 'Description');
                ?>
]]></media:description>
		<link><?php 
                echo abs_item_uri();
                ?>
 public function pages_bar($options)
 {
     $bar_text = empty($options['bar_text']) || $options['bar_text'] == null ? 'Pages' : $options['bar_text'];
     $ul_class = 'paginator';
     if ($this->items_count > $this->items_page) {
         printf('<ul class="%1$s"><li class="bar-text">%2$s</li>', $ul_class, $bar_text);
         if ($this->actual_page > 0) {
             $prev_url = 'href="' . get_site_url() . '/' . get_current_file() . '?p=' . ($this->actual_page - 1) . '"';
             printf('<li class="prev-page page-button"><a %s>&lt;</a></li>', $prev_url);
         }
         foreach ($this->get_pages() as $page) {
             $url;
             if ($page == $this->actual_page) {
                 $url = '';
                 $li_class = 'page-button current-page';
             } else {
                 $url = 'href="' . get_site_url() . '/' . get_current_file() . '?p=' . $page . '"';
                 $li_class = 'page-button';
             }
             printf('<li class="%1$s"><a %3$s>%2$d</a></li>', $li_class, $page + 1, $url);
         }
         if ($this->actual_page < count($this->get_pages()) - 1) {
             $next_url = 'href="' . get_site_url() . '/' . get_current_file() . '?p=' . ($this->actual_page + 1) . '"';
             printf('<li class="next-page page-button"><a %s>&gt;</a></li>', $next_url);
         }
         printf('</ul>');
     }
 }