예제 #1
0
function wppa_page_links($npages = '1', $curpage = '1', $slide = false)
{
    if ($npages < '2') {
        return;
    }
    // Nothing to display
    if (is_feed()) {
        return;
    }
    // Compose the Previous and Next Page urls
    // Get the main link
    $link_url = wppa_get_permalink();
    $ajax_url = wppa_get_ajaxlink();
    // cover
    if (wppa_get_get('cover')) {
        $ic = wppa_get_get('cover');
    } else {
        if (wppa('is_cover') == '1') {
            $ic = '1';
        } else {
            $ic = '0';
        }
    }
    $extra_url = 'wppa-cover=' . $ic;
    // occur
    $occur = wppa_in_widget() ? wppa_get_get('woccur') : wppa_get_get('occur');
    $ref_occur = wppa_in_widget() ? wppa('widget_occur') : wppa('occur');
    // album
    if (($occur == $ref_occur || wppa('ajax')) && wppa_get_get('album')) {
        $alb = wppa_get_get('album');
    } elseif (wppa('start_album')) {
        $alb = wppa('start_album');
    } else {
        $alb = '0';
    }
    $extra_url .= '&amp;wppa-album=' . $alb;
    // slide or photo
    if ($slide) {
        $extra_url .= '&amp;wppa-slide=1';
    } elseif (wppa_get_get('photo')) {
        $extra_url .= '&amp;wppa-photo=' . wppa_get_get('photo');
    }
    // occur
    if (!wppa('ajax')) {
        $occur = wppa_in_widget() ? wppa('widget_occur') : wppa('occur');
        $w = wppa_in_widget() ? 'w' : '';
        $extra_url .= '&amp;wppa-' . $w . 'occur=' . $occur;
    } else {
        if (wppa_get_get('occur')) {
            $occur = wppa_get_get('occur');
            $extra_url .= '&amp;wppa-occur=' . strval(intval($occur));
        } elseif (wppa_get_get('woccur')) {
            $occur = wppa_get_get('woccur');
            $extra_url .= '&amp;wppa-woccur=' . strval(intval($occur));
        } else {
            $extra_url .= '&amp;wppa-occur=' . wppa('occur');
            // Should never get here?
        }
    }
    // Topten?
    if (wppa('is_topten')) {
        $extra_url .= '&amp;wppa-topten=' . wppa('topten_count');
    }
    // Lasten?
    if (wppa('is_lasten')) {
        $extra_url .= '&amp;wppa-lasten=' . wppa('lasten_count');
    }
    // Comten?
    if (wppa('is_comten')) {
        $extra_url .= '&amp;wppa-comten=' . wppa('comten_count');
    }
    // Featen?
    if (wppa('is_featen')) {
        $extra_url .= '&amp;wppa-featen=' . wppa('featen_count');
    }
    // Tag?
    if (wppa('is_tag') && !wppa('is_related')) {
        $extra_url .= '&amp;wppa-tag=' . wppa('is_tag');
    }
    // Search?
    if (wppa('src') && !wppa('is_related')) {
        $extra_url .= '&amp;wppa-searchstring=' . urlencode(wppa('searchstring'));
    }
    // Supersearch?
    if (wppa('supersearch')) {
        $extra_url .= '&amp;wppa-supersearch=' . urlencode(wppa('supersearch'));
    }
    // Related
    if (wppa('is_related')) {
        $extra_url .= '&amp;wppa-rel=' . wppa('is_related') . '&amp;wppa-relcount=' . wppa('related_count');
    }
    // Uploader?
    if (wppa('is_upldr')) {
        $extra_url .= '&amp;wppa-upldr=' . wppa('is_upldr');
    }
    // Calendar ?
    if (wppa('calendar')) {
        $extra_url .= '&amp;wppa-calendar=' . wppa('calendar') . '&amp;wppa-caldate=' . wppa('caldate');
    }
    // Photos only?
    if (wppa('photos_only')) {
        $extra_url .= '&amp;wppa-photos-only=1';
    }
    // Albums only?
    if (wppa('albums_only')) {
        $extra_url .= '&amp;wppa-albums-only=1';
    }
    // Inverse?
    if (wppa('is_inverse')) {
        $extra_url .= '&amp;wppa-inv=1';
    }
    // Almost ready
    $link_url .= $extra_url;
    $ajax_url .= $extra_url;
    // Compress
    $link_url = wppa_trim_wppa_($link_url);
    $ajax_url = wppa_trim_wppa_($ajax_url);
    // Adjust display range
    $from = 1;
    $to = $npages;
    if ($npages > wppa_opt('pagelinks_max')) {
        $delta = floor(wppa_opt('pagelinks_max') / 2);
        $from = $curpage - $delta;
        $to = $curpage + $delta;
        while ($from < '1') {
            $from++;
            $to++;
        }
        while ($to > $npages) {
            $from--;
            $to--;
        }
    }
    // Doit
    wppa_out("\n" . '<div class="wppa-nav-text wppa-box wppa-nav" style="clear:both; text-align:center; ' . __wcs('wppa-box') . __wcs('wppa-nav') . '" >');
    $vis = $curpage == '1' ? 'visibility: hidden;' : '';
    wppa_out('<div style="float:left; text-align:left; ' . $vis . '">');
    wppa_out('<span class="wppa-arrow" style="' . __wcs('wppa-arrow') . 'cursor: default;">&laquo;&nbsp;</span>');
    if (wppa_switch('wppa_allow_ajax')) {
        wppa_out('<a style="cursor:pointer;" onclick="wppaDoAjaxRender(' . wppa('mocc') . ', \'' . $ajax_url . '&amp;wppa-page=' . ($curpage - 1) . '\', \'' . wppa_convert_to_pretty($link_url . '&amp;wppa-page=' . ($curpage - 1)) . '\')" >' . __('Previous', 'wp-photo-album-plus') . '</a>');
    } else {
        wppa_out('<a style="cursor:pointer;" href="' . $link_url . '&amp;wppa-page=' . ($curpage - 1) . '" >' . __('Previous', 'wp-photo-album-plus') . '</a>');
    }
    wppa_out('</div><!-- #prev-page -->');
    $vis = $curpage == $npages ? 'visibility: hidden;' : '';
    wppa_out('<div style="float:right; text-align:right; ' . $vis . '">');
    if (wppa_switch('wppa_allow_ajax')) {
        wppa_out('<a style="cursor:pointer;" onclick="wppaDoAjaxRender(' . wppa('mocc') . ', \'' . $ajax_url . '&amp;wppa-page=' . ($curpage + 1) . '\', \'' . wppa_convert_to_pretty($link_url . '&amp;wppa-page=' . ($curpage + 1)) . '\')" >' . __('Next', 'wp-photo-album-plus') . '</a>');
    } else {
        wppa_out('<a style="cursor:pointer;" href="' . $link_url . '&amp;wppa-page=' . ($curpage + 1) . '" >' . __('Next', 'wp-photo-album-plus') . '</a>');
    }
    wppa_out('<span class="wppa-arrow" style="' . __wcs('wppa-arrow') . 'cursor: default;">&nbsp;&raquo;</span>');
    wppa_out('</div><!-- #next-page -->');
    // The numbered pagelinks ?
    if (wppa_opt('pagelinks_max')) {
        if ($from > '1') {
            wppa_out('.&nbsp;.&nbsp;.&nbsp;');
        }
        for ($i = $from; $i <= $to; $i++) {
            if ($curpage == $i) {
                wppa_out('<div class="wppa-mini-box wppa-alt wppa-black" style="display:inline; text-align:center; ' . __wcs('wppa-mini-box') . __wcs('wppa-alt') . __wcs('wppa-black') . ' text-decoration: none; cursor: default; font-weight:normal; " >');
                wppa_out('&nbsp;' . $i . '&nbsp;');
                wppa_out('</div>');
            } else {
                wppa_out('<div class="wppa-mini-box wppa-even" style="display:inline; text-align:center; ' . __wcs('wppa-mini-box') . __wcs('wppa-even') . '" >');
                if (!$slide && wppa_switch('wppa_allow_ajax') || $slide && wppa_switch('wppa_slideshow_page_allow_ajax')) {
                    wppa_out('<a style="cursor:pointer;" onclick="wppaDoAjaxRender(' . wppa('mocc') . ', \'' . $ajax_url . '&amp;wppa-page=' . $i . '\', \'' . wppa_convert_to_pretty($link_url . '&amp;wppa-page=' . $i) . '\')">&nbsp;' . $i . '&nbsp;</a>');
                } else {
                    wppa_out('<a style="cursor:pointer;" href="' . $link_url . '&amp;wppa-page=' . $i . '">&nbsp;' . $i . '&nbsp;</a>');
                }
                wppa_out('</div>');
            }
        }
        if ($to < $npages) {
            wppa_out('&nbsp;.&nbsp;.&nbsp;.');
        }
    } else {
        wppa_out($curpage . '/' . $npages);
    }
    wppa_out('</div><!-- #prevnext-a-' . wppa('mocc') . ' -->');
}
예제 #2
0
function wppa_get_calendar_html()
{
    global $wpdb;
    // Init
    $result = '';
    $secinday = 24 * 60 * 60;
    $calendar_type = wppa('calendar');
    $autoall = wppa('calendarall');
    $albums = wppa('start_album') ? wppa_expand_enum(wppa_alb_to_enum_children(wppa('start_album'))) : '';
    $alb_clause = $albums ? ' AND `album` IN ( ' . str_replace('.', ',', $albums) . ' ) ' : '';
    $alb_arg = wppa('start_album') ? 'wppa-album=' . wppa_alb_to_enum_children(wppa('start_album')) . '&' : '';
    $reverse = wppa('reverse') ? ' DESC ' : '';
    // Get todays daynumber and range
    $today = floor(time() / $secinday);
    switch ($calendar_type) {
        case 'exifdtm':
            $photos = $wpdb->get_results("SELECT `id`, `exifdtm` " . "FROM `" . WPPA_PHOTOS . "` " . "WHERE `exifdtm` <> '' " . "AND `status` <> 'pending' " . "AND `status` <> 'scheduled' " . $alb_clause . "ORDER BY `exifdtm`" . $reverse, ARRAY_A);
            $dates = array();
            foreach ($photos as $photo) {
                $date = substr($photo['exifdtm'], 0, 10);
                if (wppa_is_exif_date($date)) {
                    if (isset($dates[$date])) {
                        $dates[$date]++;
                    } else {
                        $dates[$date] = '1';
                    }
                }
            }
            $from = 0;
            $to = count($dates);
            break;
        case 'timestamp':
        case 'modified':
            $photos = $wpdb->get_results("SELECT `id`, `" . $calendar_type . "` " . "FROM `" . WPPA_PHOTOS . "` " . "WHERE `" . $calendar_type . "` > 0 " . "AND `status` <> 'pending' " . "AND `status` <> 'scheduled' " . $alb_clause . "ORDER BY `" . $calendar_type . "`" . $reverse, ARRAY_A);
            $dates = array();
            foreach ($photos as $photo) {
                $date = floor($photo[$calendar_type] / $secinday);
                if (isset($dates[$date])) {
                    $dates[$date]++;
                } else {
                    $dates[$date] = '1';
                }
            }
            $from = 0;
            $to = count($dates);
            break;
    }
    // Display minicovers
    $result .= '<div' . ' style="' . 'width:' . 33 * ($to - $from) . 'px;' . 'position:relative;' . '"' . ' >';
    $result .= '<style type="text/css" scoped >' . '.wppa-minicover-current div {' . 'color:blue;' . '}' . '.wppa-minicover {' . 'box-sizing:content-box;' . '}' . '</style>';
    $result .= '<script type="text/javascript" >' . 'wppaWaitForCounter = 0;' . '</script>';
    switch ($calendar_type) {
        case 'exifdtm':
            $keys = array_keys($dates);
            for ($day = $from; $day < $to; $day++) {
                $date = date_create_from_format('Y:m:d', $keys[$day]);
                if (is_object($date)) {
                    $ajaxurl = wppa_get_ajaxlink('', '1') . 'wppa-calendar=exifdtm&' . 'wppa-caldate=' . $keys[$day] . '&' . $alb_arg . 'wppa-occur=1';
                    if ($autoall) {
                        $onclick = '';
                    } else {
                        $onclick = 'jQuery( \'.wppa-minicover-' . wppa('mocc') . '\' ).removeClass( \'wppa-minicover-current\' );' . 'jQuery( this ).addClass( \'wppa-minicover-current\' );' . 'wppaDoAjaxRender( ' . (wppa('mocc') + '1') . ', \'' . $ajaxurl . '\', \'\' );';
                    }
                    $result .= '<a' . ($autoall ? ' href="#wppa-' . $day . '"' : '') . ' class="wppa-minicover-' . wppa('mocc') . '"' . ' onclick="' . $onclick . '"' . ' >' . '<div' . ' id="wppa-minicover-' . $day . '"' . ' class="wppa-minicover"' . ' style="' . 'border:1px solid gray;' . 'margin-right:1px;' . 'float:left;' . 'text-align:center;' . 'width:30px;"' . ' >' . $date->format('M') . '<br />' . $date->format('d') . '<br />' . $date->format('D') . '<br />' . $date->format('Y') . '<br />' . '(' . $dates[$keys[$day]] . ')' . '</div>' . '</a>';
                    if ($autoall) {
                        $addlabel = '<a id=\\"wppa-' . $day . '\\" ></a>';
                        $result .= '<script type="text/javascript" >' . 'wppaDoAjaxRender( ' . (wppa('mocc') + '1') . ', \'' . str_replace('&amp;', '&', $ajaxurl) . '\', \'\', \'' . $addlabel . '\', ' . ($day + '1') . ' );' . '</script>';
                    }
                }
            }
            break;
        case 'timestamp':
        case 'modified':
            $keys = array_keys($dates);
            for ($day = $from; $day < $to; $day++) {
                $date = $keys[$day];
                $ajaxurl = wppa_get_ajaxlink('', '1') . 'wppa-calendar=' . $calendar_type . '&' . 'wppa-caldate=' . $keys[$day] . '&' . $alb_arg . 'wppa-occur=1';
                if ($autoall) {
                    $onclick = '';
                } else {
                    $onclick = 'jQuery( \'.wppa-minicover-' . wppa('mocc') . '\' ).removeClass( \'wppa-minicover-current\' );' . 'jQuery( this ).addClass( \'wppa-minicover-current\' );' . 'wppaDoAjaxRender( ' . (wppa('mocc') + '1') . ', \'' . $ajaxurl . '\', \'\' );';
                }
                $result .= '<a' . ' class="wppa-minicover-' . wppa('mocc') . '"' . ' onclick="' . $onclick . '"' . ' >' . '<div' . ' id="wppa-minicover-' . $day . '"' . ' class="wppa-minicover"' . ' style="' . 'border:1px solid gray;' . 'margin-right:1px;' . 'float:left;' . 'text-align:center;' . 'width:30px;"' . ' >' . date('M', $date * $secinday) . '<br />' . date('d', $date * $secinday) . '<br />' . date('D', $date * $secinday) . '<br />' . date('Y', $date * $secinday) . '<br />' . '(' . $dates[$keys[$day]] . ')' . '</div>' . '</a>';
                if ($autoall) {
                    $addlabel = '<a id=\\"wppa-' . $day . '\\" ></a>';
                    $result .= '<script type="text/javascript" >' . 'wppaDoAjaxRender( ' . (wppa('mocc') + '1') . ', \'' . str_replace('&amp;', '&', $ajaxurl) . '\', \'\', \'' . $addlabel . '\', ' . ($day + '1') . ' );' . '</script>';
                }
            }
            break;
    }
    $result .= '<script type="text/javascript" >' . 'jQuery(document).ready(function(){ wppaWaitForCounter = 1; });' . '</script>';
    $result .= '</div>';
    return $result;
}
예제 #3
0
function wppa_breadcrumb($opt = '')
{
    global $wpdb;
    global $wppa_session;
    // See if they need us
    // Check Table II-A1 a and b
    if ($opt == 'optional') {
        $pid = wppa_get_the_page_id();
        $type = $wpdb->get_var($wpdb->prepare("SELECT `post_type` FROM `" . $wpdb->posts . "` WHERE `ID` = %s", $pid));
        wppa_dbg_q('Q-bc1');
        if ($type == 'post' && !wppa_switch('show_bread_posts')) {
            return;
            // Nothing to do here
        }
        if ($type != 'post' && !wppa_switch('show_bread_pages')) {
            return;
            // Nothing to do here
        }
    }
    // Check special cases
    if (wppa('is_single')) {
        return;
    }
    // A single image slideshow needs no navigation
    if (wppa_page('oneofone')) {
        return;
    }
    // Never at a single image page
    if (wppa('is_slideonly')) {
        return;
    }
    // Not when slideonly
    if (wppa_in_widget()) {
        return;
    }
    // Not in a widget
    if (is_feed()) {
        return;
    }
    // Not in a feed
    $thumbhref = '';
    // Any special selection has its own switch
    if (wppa('is_topten') && !wppa_switch('bc_on_topten')) {
        return;
    }
    if (wppa('is_lasten') && !wppa_switch('bc_on_lasten')) {
        return;
    }
    if (wppa('is_comten') && !wppa_switch('bc_on_comten')) {
        return;
    }
    if (wppa('is_featen') && !wppa_switch('bc_on_featen')) {
        return;
    }
    if (wppa('is_related') && !wppa_switch('bc_on_related')) {
        return;
    }
    if (wppa('is_tag') && !wppa_switch('bc_on_tag')) {
        return;
    }
    if (wppa('src') && !wppa_switch('bc_on_search')) {
        return;
    }
    // Get the album number
    $alb = wppa_is_int(wppa('start_album')) ? wppa('start_album') : '0';
    // A single album or all ( all = 0 here )
    $is_albenum = strlen(wppa('start_album')) > '0' && !wppa_is_int(wppa('start_album'));
    wppa_dbg_msg('alb=' . $alb . ', albenum=' . $is_albenum, 'green');
    $virtual = wppa_is_virtual() || wppa('last_albums');
    if (wppa('last_albums')) {
        $alb = wppa('last_albums_parent');
    }
    wppa_dbg_msg('alb=' . $alb . ', albenum=' . $is_albenum . ', l_a=' . wppa('last_albums') . ', l_a_p=' . wppa('last_albums_parent'), 'green');
    // See if the album is a 'stand alone' album
    $separate = wppa_is_separate($alb);
    // See if the album links to slides in stead of thumbnails
    $slide = wppa_get_album_title_linktype($alb) == 'slide' ? '&amp;wppa-slide' : '';
    // See if we link to covers or to contents
    $to_cover = wppa_opt('thumbtype') == 'none' ? '1' : '0';
    // Photo number?
    $photo = wppa('start_photo');
    wppa_dbg_msg('pid=' . $pid . ', type=' . $type . ', alb=' . $alb . ', sep=' . $separate . ', slide=' . $slide . ', t_c=0, ph=' . $photo, 'green');
    // Open the breadcrumb box
    wppa_out('<div' . ' id="wppa-bc-' . wppa('mocc') . '"' . ' class="wppa-nav wppa-box wppa-nav-text" ' . 'style="' . __wcs('wppa-nav') . __wcs('wppa-box') . __wcs('wppa-nav-text') . '" >');
    // Do we need Home?
    if (wppa_switch('show_home')) {
        $value = __(wppa_opt('home_text'));
        $href = wppa_dbg_url(get_bloginfo('url'));
        $title = get_bloginfo('title');
        wppa_bcitem($value, $href, $title, 'b1');
    }
    // Page ( grand )parents ?
    if ($type == 'page' && wppa_switch('show_page')) {
        wppa_crumb_page_ancestors($pid);
    }
    // Do the post/page
    if (wppa_switch('show_page')) {
        $value = __(stripslashes($wpdb->get_var($wpdb->prepare("SELECT `post_title` FROM `" . $wpdb->posts . "` WHERE `post_status` = 'publish' AND `ID` = %s LIMIT 0,1", $pid))));
        wppa_dbg_q('Q-bc2');
        $href = $alb || $virtual || $is_albenum ? wppa_get_permalink($pid, true) : '';
        $title = $type == 'post' ? __('Post:', 'wp-photo-album-plus') . ' ' . $value : __('Page:', 'wp-photo-album-plus') . ' ' . $value;
        wppa_bcitem($value, $href, $title, 'b3');
    }
    // The album ( grand ) parents if not separate
    //		if ( ! $separate ) {
    wppa_crumb_ancestors($alb, $to_cover);
    //		}
    // The album and optional placeholder for photo
    // Supersearch ?
    if (wppa('supersearch')) {
        $value = ' ';
        $ss_data = explode(',', wppa('supersearch'));
        switch ($ss_data['0']) {
            case 'a':
                $value .= ' ' . __('Albums', 'wp-photo-album-plus');
                switch ($ss_data['1']) {
                    case 'c':
                        $value .= ' ' . __('with category:', 'wp-photo-album-plus');
                        break;
                    case 'n':
                        $value .= ' ' . __('with name:', 'wp-photo-album-plus');
                        break;
                    case 't':
                        $value .= ' ' . __('with words:', 'wp-photo-album-plus');
                        break;
                }
                $value .= ' <b>' . str_replace('.', '</b> ' . __('and', 'wp-photo-album-plus') . ' <b>', $ss_data['3']) . '</b>';
                break;
            case 'p':
                $value .= ' ' . __('Photos', 'wp-photo-album-plus');
                switch ($ss_data['1']) {
                    case 'g':
                        $value .= ' ' . __('with tag:', 'wp-photo-album-plus') . ' <b>' . str_replace('.', '</b> ' . __('and', 'wp-photo-album-plus') . ' <b>', $ss_data['3']) . '</b>';
                        break;
                    case 'n':
                        $value .= ' ' . __('with name:', 'wp-photo-album-plus') . ' <b>' . $ss_data['3'] . '</b>';
                        break;
                    case 't':
                        $ss_data['3'] = str_replace('...', '***', $ss_data['3']);
                        $value .= ' ' . __('with words:', 'wp-photo-album-plus') . ' <b>' . str_replace('.', '</b> ' . __('and', 'wp-photo-album-plus') . ' <b>', $ss_data['3']) . '</b>';
                        $value = str_replace('***', '...', $value);
                        break;
                    case 'o':
                        $value .= ' ' . __('of owner:', 'wp-photo-album-plus') . ' <b>' . $ss_data['3'] . '</b>';
                        break;
                    case 'i':
                        $label = $wpdb->get_var($wpdb->prepare("SELECT `description` FROM `" . WPPA_IPTC . "` WHERE `tag` = %s AND `photo` = '0'", str_replace('H', '#', $ss_data['2'])));
                        $label = trim($label, ':');
                        $value .= ' ' . __('with iptc tag:', 'wp-photo-album-plus') . ' <b>' . __($label, 'wp-photo-album-plus') . '</b> ' . __('with content:', 'wp-photo-album-plus') . ' <b>' . $ss_data['3'] . '</b>';
                        break;
                    case 'e':
                        $label = $wpdb->get_var($wpdb->prepare("SELECT `description` FROM `" . WPPA_EXIF . "` WHERE `tag` = %s AND `photo` = '0'", str_replace('H', '#', $ss_data['2'])));
                        $label = trim($label, ':');
                        $value .= ' ' . __('with exif tag:', 'wp-photo-album-plus') . ' <b>' . __($label, 'wp-photo-album-plus') . '</b> ' . __('with content:', 'wp-photo-album-plus') . ' <b>' . $ss_data['3'] . '</b>';
                        break;
                }
                break;
        }
        if (wppa('is_slide')) {
            $thumbhref = wppa_get_permalink() . 'wppa-cover=0&amp;wppa-occur=' . wppa('occur') . '&amp;wppa-supersearch=' . stripslashes(wppa('supersearch'));
            $thumbajax = wppa_get_ajaxlink() . 'wppa-cover=0&amp;wppa-occur=' . wppa('occur') . '&amp;wppa-supersearch=' . stripslashes(wppa('supersearch'));
            $title = __('View the thumbnails', 'wp-photo-album-plus');
            wppa_bcitem($value, $thumbhref, $title, 'b8', $thumbajax);
        }
        $href = '';
        $title = '';
        wppa_bcitem($value, $href, $title, 'b9');
    } elseif (wppa('src') && !wppa('is_related')) {
        $searchroot = $wppa_session['search_root'];
        if (!$searchroot) {
            $searchroot = '-2';
            // To get 'All albums'
        }
        $albtxt = wppa('is_rootsearch') ? ' <span style="cursor:pointer;" title="' . esc_attr(sprintf(__('Searchresults from album %s and its subalbums', 'wp-photo-album-plus'), wppa_display_root($searchroot))) . '">*</span> ' : '';
        if (wppa('is_slide')) {
            $value = __('Searchstring:', 'wp-photo-album-plus') . ' ' . (isset($wppa_session['display_searchstring']) ? $wppa_session['display_searchstring'] : stripslashes(wppa('searchstring'))) . $albtxt;
            $thumbhref = wppa_get_permalink() . 'wppa-cover=0&amp;wppa-occur=' . wppa('occur') . '&amp;wppa-searchstring=' . stripslashes(str_replace(' ', '+', $wppa_session['use_searchstring']));
            $thumbajax = wppa_get_ajaxlink() . 'wppa-cover=0&amp;wppa-occur=' . wppa('occur') . '&amp;wppa-searchstring=' . stripslashes(str_replace(' ', '+', $wppa_session['use_searchstring']));
            $title = __('View the thumbnails', 'wp-photo-album-plus');
            wppa_bcitem($value, $thumbhref, $title, 'b8', $thumbajax);
        }
        $value = __('Searchstring:', 'wp-photo-album-plus') . ' ' . (isset($wppa_session['display_searchstring']) ? $wppa_session['display_searchstring'] : stripslashes(wppa('searchstring'))) . $albtxt;
        $href = '';
        $title = isset($wppa_session['display_searchstring']) ? wppa_dss_to_title($wppa_session['display_searchstring']) : '';
        wppa_bcitem($value, $href, $title, 'b9');
    } elseif (wppa('calendar')) {
        if (wppa('is_slide')) {
            switch (wppa('calendar')) {
                case 'exifdtm':
                    $value = __('Photos by EXIF date', 'wp-photo-album-plus') . ': ' . wppa('caldate');
                    break;
                case 'timestamp':
                    $value = __('Photos by date of upload', 'wp-photo-album-plus') . ': ' . date('M d D Y', wppa('caldate') * 24 * 60 * 60);
                    break;
                case 'modified':
                    $value = __('Photos by date last modified', 'wp-photo-album-plus') . ': ' . date('M d D Y', wppa('caldate') * 24 * 60 * 60);
                    break;
            }
            $thumbhref = '#';
            $title = 'T8';
            wppa_bcitem($value, $thumbhref, $title, 'b8');
        }
        switch (wppa('calendar')) {
            case 'exifdtm':
                $value = __('Photos by EXIF date', 'wp-photo-album-plus') . ': ' . wppa('caldate');
                break;
            case 'timestamp':
                $value = __('Photos by date of upload', 'wp-photo-album-plus') . ': ' . date('M d D Y', wppa('caldate') * 24 * 60 * 60);
                break;
            case 'modified':
                $value = __('Photos by date last modified', 'wp-photo-album-plus') . ': ' . date('M d D Y', wppa('caldate') * 24 * 60 * 60);
                break;
        }
        $href = '';
        $title = '';
        wppa_bcitem($value, $href, $title, 'b9');
    } elseif (wppa('is_upldr')) {
        $usr = get_user_by('login', wppa('is_upldr'));
        if ($usr) {
            $user = $usr->display_name;
        } else {
            $user = wppa('is_upldr');
        }
        if (wppa('is_slide')) {
            $value = sprintf(__('Photos by %s', 'wp-photo-album-plus'), $user);
            if (wppa('start_album')) {
                $thumbhref = wppa_get_permalink() . 'wppa-cover=0&amp;wppa-occur=' . wppa('occur') . '&amp;wppa-upldr=' . wppa('is_upldr') . '&amp;wppa-album=' . wppa('start_album');
                $thumbajax = wppa_get_ajaxlink() . 'wppa-cover=0&amp;wppa-occur=' . wppa('occur') . '&amp;wppa-upldr=' . wppa('is_upldr') . '&amp;wppa-album=' . wppa('start_album');
            } else {
                $thumbhref = wppa_get_permalink() . 'wppa-cover=0&amp;wppa-occur=' . wppa('occur') . '&amp;wppa-upldr=' . wppa('is_upldr');
                $thumbajax = wppa_get_ajaxlink() . 'wppa-cover=0&amp;wppa-occur=' . wppa('occur') . '&amp;wppa-upldr=' . wppa('is_upldr');
            }
            $title = __('View the thumbnails', 'wp-photo-album-plus');
            wppa_bcitem($value, $thumbhref, $title, 'b8', $thumbajax);
        }
        $value = sprintf(__('Photos by %s', 'wp-photo-album-plus'), $user);
        $href = '';
        $title = '';
        wppa_bcitem($value, $href, $title, 'b9');
    } elseif (wppa('is_topten')) {
        // TopTen
        if (wppa('start_album')) {
            $value = $is_albenum ? __('Various albums', 'wp-photo-album-plus') : wppa_get_album_name($alb);
            $href = wppa_get_permalink() . 'wppa-cover=0&amp;wppa-occur=' . wppa('occur') . '&amp;wppa-album=' . wppa('start_album');
            $ajax = wppa_get_ajaxlink() . 'wppa-cover=0&amp;wppa-occur=' . wppa('occur') . '&amp;wppa-album=' . wppa('start_album');
            $title = $is_albenum ? __('Albums:', 'wp-photo-album-plus') . ' ' . wppa('start_album') : __('Album:', 'wp-photo-album-plus') . ' ' . $value;
            wppa_bcitem($value, $href, $title, 'b7', $ajax);
        }
        if (wppa('is_slide')) {
            $value = __('Top rated photos', 'wp-photo-album-plus');
            $thumbhref = wppa_get_permalink() . 'wppa-cover=0&amp;wppa-occur=' . wppa('occur') . '&amp;wppa-topten=' . wppa('topten_count') . '&amp;wppa-album=' . wppa('start_album');
            $thumbajax = wppa_get_ajaxlink() . 'wppa-cover=0&amp;wppa-occur=' . wppa('occur') . '&amp;wppa-topten=' . wppa('topten_count') . '&amp;wppa-album=' . wppa('start_album');
            $title = __('View the thumbnails', 'wp-photo-album-plus');
            wppa_bcitem($value, $thumbhref, $title, 'b8', $thumbajax);
        }
        $value = __('Top rated photos', 'wp-photo-album-plus');
        $href = '';
        $title = '';
        wppa_bcitem($value, $href, $title, 'b9');
    } elseif (wppa('is_lasten')) {
        // Lasten
        if (wppa('start_album')) {
            $value = $is_albenum ? __('Various albums', 'wp-photo-album-plus') : wppa_get_album_name($alb);
            $href = wppa_get_permalink() . 'wppa-cover=0&amp;wppa-occur=' . wppa('occur') . '&amp;wppa-album=' . wppa('start_album');
            $ajax = wppa_get_ajaxlink() . 'wppa-cover=0&amp;wppa-occur=' . wppa('occur') . '&amp;wppa-album=' . wppa('start_album');
            $title = $is_albenum ? __('Albums:', 'wp-photo-album-plus') . ' ' . wppa('start_album') : __('Album:', 'wp-photo-album-plus') . ' ' . $value;
            wppa_bcitem($value, $href, $title, 'b7', $ajax);
        }
        if (wppa('is_slide')) {
            if (wppa_switch('lasten_use_modified')) {
                $value = __('Recently modified photos', 'wp-photo-album-plus');
            } else {
                $value = __('Recently uploaded photos', 'wp-photo-album-plus');
            }
            $thumbhref = wppa_get_permalink() . 'wppa-cover=0&amp;wppa-occur=' . wppa('occur') . '&amp;wppa-lasten=' . wppa('lasten_count') . '&amp;wppa-album=' . wppa('start_album');
            $thumbajax = wppa_get_ajaxlink() . 'wppa-cover=0&amp;wppa-occur=' . wppa('occur') . '&amp;wppa-lasten=' . wppa('lasten_count') . '&amp;wppa-album=' . wppa('start_album');
            $title = __('View the thumbnails', 'wp-photo-album-plus');
            wppa_bcitem($value, $thumbhref, $title, 'b8', $thumbajax);
        }
        if (wppa_switch('lasten_use_modified')) {
            $value = __('Recently modified photos', 'wp-photo-album-plus');
        } else {
            $value = __('Recently uploaded photos', 'wp-photo-album-plus');
        }
        $href = '';
        $title = '';
        wppa_bcitem($value, $href, $title, 'b9');
    } elseif (wppa('is_comten')) {
        // Comten
        if (wppa('start_album')) {
            $value = $is_albenum ? __('Various albums', 'wp-photo-album-plus') : wppa_get_album_name($alb);
            $href = wppa_get_permalink() . 'wppa-cover=0&amp;wppa-occur=' . wppa('occur') . '&amp;wppa-album=' . wppa('start_album');
            $ajax = wppa_get_ajaxlink() . 'wppa-cover=0&amp;wppa-occur=' . wppa('occur') . '&amp;wppa-album=' . wppa('start_album');
            $title = $is_albenum ? __('Albums:', 'wp-photo-album-plus') . ' ' . wppa('start_album') : __('Album:', 'wp-photo-album-plus') . ' ' . $value;
            wppa_bcitem($value, $href, $title, 'b7', $ajax);
        }
        if (wppa('is_slide')) {
            $value = __('Recently commented photos', 'wp-photo-album-plus');
            $thumbhref = wppa_get_permalink() . 'wppa-cover=0&amp;wppa-occur=' . wppa('occur') . '&amp;wppa-comten=' . wppa('comten_count') . '&amp;wppa-album=' . wppa('start_album');
            $thumbajax = wppa_get_ajaxlink() . 'wppa-cover=0&amp;wppa-occur=' . wppa('occur') . '&amp;wppa-comten=' . wppa('comten_count') . '&amp;wppa-album=' . wppa('start_album');
            $title = __('View the thumbnails', 'wp-photo-album-plus');
            wppa_bcitem($value, $thumbhref, $title, 'b8', $thumbajax);
        }
        $value = __('Recently commented photos', 'wp-photo-album-plus');
        $href = '';
        $title = '';
        wppa_bcitem($value, $href, $title, 'b9');
    } elseif (wppa('is_featen')) {
        // Featen
        if (wppa('start_album')) {
            $value = $is_albenum ? __('Various albums', 'wp-photo-album-plus') : wppa_get_album_name($alb);
            $href = wppa_get_permalink() . 'wppa-cover=0&amp;wppa-occur=' . wppa('occur') . '&amp;wppa-album=' . wppa('start_album');
            $ajax = wppa_get_ajaxlink() . 'wppa-cover=0&amp;wppa-occur=' . wppa('occur') . '&amp;wppa-album=' . wppa('start_album');
            $title = $is_albenum ? __('Albums:', 'wp-photo-album-plus') . ' ' . wppa('start_album') : __('Album:', 'wp-photo-album-plus') . ' ' . $value;
            wppa_bcitem($value, $href, $title, 'b7', $ajax);
        }
        if (wppa('is_slide')) {
            $value = __('Featured photos', 'wp-photo-album-plus');
            $thumbhref = wppa_get_permalink() . 'wppa-cover=0&amp;wppa-occur=' . wppa('occur') . '&amp;wppa-featen=' . wppa('featen_count') . '&amp;wppa-album=' . wppa('start_album');
            $thumbajax = wppa_get_ajaxlink() . 'wppa-cover=0&amp;wppa-occur=' . wppa('occur') . '&amp;wppa-featen=' . wppa('featen_count') . '&amp;wppa-album=' . wppa('start_album');
            $title = __('View the thumbnails', 'wp-photo-album-plus');
            wppa_bcitem($value, $thumbhref, $title, 'b8', $thumbajax);
        }
        $value = __('Featured photos', 'wp-photo-album-plus');
        $href = '';
        $title = '';
        wppa_bcitem($value, $href, $title, 'b9');
    } elseif (wppa('is_related')) {
        // Related photos
        if (wppa('is_slide')) {
            $value = __('Related photos', 'wp-photo-album-plus');
            $href = wppa_get_permalink() . 'wppa-cover=0&amp;wppa-occur=' . wppa('occur') . '&amp;wppa-tag=' . wppa('is_tag') . '&amp;wppa-album=' . wppa('start_album');
            $ajax = wppa_get_ajaxlink() . 'wppa-cover=0&amp;wppa-occur=' . wppa('occur') . '&amp;wppa-tag=' . wppa('is_tag') . '&amp;wppa-album=' . wppa('start_album');
            $title = __('View the thumbnails', 'wp-photo-album-plus');
            wppa_bcitem($value, $href, $title, 'b8', $ajax);
        }
        $value = __('Related photos', 'wp-photo-album-plus');
        $href = '';
        $title = '';
        wppa_bcitem($value, $href, $title, 'b9');
    } elseif (wppa('is_tag')) {
        // Tagged photos
        if (wppa('is_slide')) {
            $value = __('Tagged photos:', 'wp-photo-album-plus') . '&nbsp;' . str_replace(';', ' ' . __('or', 'wp-photo-album-plus') . ' ', str_replace(',', ' ' . __('and', 'wp-photo-album-plus') . ' ', trim(wppa('is_tag'), ',;')));
            if (wppa_get_get('inv')) {
                $value .= ' (' . __('Inverted', 'wp-photo-album-plus') . ')';
            }
            $thumbhref = wppa_get_permalink() . 'wppa-cover=0&amp;wppa-occur=' . wppa('occur') . '&amp;wppa-tag=' . wppa('is_tag') . '&amp;wppa-album=' . wppa('start_album');
            $thumbajax = wppa_get_ajaxlink() . 'wppa-cover=0&amp;wppa-occur=' . wppa('occur') . '&amp;wppa-tag=' . wppa('is_tag') . '&amp;wppa-album=' . wppa('start_album');
            if (wppa('is_inverse')) {
                $thumbhref .= '&amp;wppa-inv=1';
                $thumbajax .= '&amp;wppa-inv=1';
            }
            $title = __('View the thumbnails', 'wp-photo-album-plus');
            wppa_bcitem($value, $thumbhref, $title, 'b8', $thumbajax);
        }
        $value = __('Tagged photos:', 'wp-photo-album-plus') . '&nbsp;' . str_replace(';', ' ' . __('or', 'wp-photo-album-plus') . ' ', str_replace(',', ' ' . __('and', 'wp-photo-album-plus') . ' ', trim(wppa('is_tag'), ',;')));
        if (wppa_get_get('inv')) {
            $value .= ' (' . __('Inverted', 'wp-photo-album-plus') . ')';
        }
        $href = '';
        $title = '';
        wppa_bcitem($value, $href, $title, 'b9');
    } elseif (wppa('is_cat')) {
        // Categorized albums
        if (wppa('is_slide')) {
            $value = __('Category:', 'wp-photo-album-plus') . '&nbsp;' . wppa('is_cat');
            //str_replace( ';', ' '.__( 'or' ).' ', str_replace( ',', ' '.__( 'and' ).' ', trim( wppa( 'is_tag' ), ',;' ) ) );
            $thumbhref = wppa_get_permalink() . 'wppa-cover=0&amp;wppa-occur=' . wppa('occur') . '&amp;wppa-cat=' . wppa('is_cat') . '&amp;wppa-album=' . wppa('start_album');
            $thumbajax = wppa_get_ajaxlink() . 'wppa-cover=0&amp;wppa-occur=' . wppa('occur') . '&amp;wppa-cat=' . wppa('is_cat') . '&amp;wppa-album=' . wppa('start_album');
            $title = __('View the thumbnails', 'wp-photo-album-plus');
            wppa_bcitem($value, $thumbhref, $title, 'b8', $thumbajax);
        }
        $value = __('Category:', 'wp-photo-album-plus') . '&nbsp;' . wppa('is_cat');
        //str_replace( ';', ' '.__( 'or' ).' ', str_replace( ',', ' '.__( 'and' ).' ', trim( wppa( 'is_tag' ), ',;' ) ) );
        $href = '';
        $title = '';
        wppa_bcitem($value, $href, $title, 'b9');
    } elseif (wppa('last_albums')) {
        // Recently modified albums( s )
        if (wppa('last_albums_parent')) {
            $value = wppa_get_album_name($alb);
            $href = wppa_get_permalink() . 'wppa-cover=0&amp;wppa-occur=' . wppa('occur') . '&amp;wppa-album=' . wppa('start_album');
            $ajax = wppa_get_ajaxlink() . 'wppa-cover=0&amp;wppa-occur=' . wppa('occur') . '&amp;wppa-album=' . wppa('start_album');
            $title = __('Album:', 'wp-photo-album-plus') . ' ' . $value;
            wppa_bcitem($value, $href, $title, 'b7', $ajax);
        }
        if (wppa('is_slide')) {
            $value = __('Recently updated albums', 'wp-photo-album-plus');
            $thumbhref = wppa_get_permalink() . 'wppa-cover=0&amp;wppa-occur=' . wppa('occur') . '&amp;wppa-album=' . wppa('start_album');
            $thumbajax = wppa_get_ajaxlink() . 'wppa-cover=0&amp;wppa-occur=' . wppa('occur') . '&amp;wppa-album=' . wppa('start_album');
            $title = __('View the thumbnails', 'wp-photo-album-plus');
            wppa_bcitem($value, $thumbhref, $title, 'b8', $thumbajax);
        }
        $value = __('Recently updated albums', 'wp-photo-album-plus');
        $href = '';
        $title = '';
        wppa_bcitem($value, $href, $title, 'b9');
    } else {
        // Maybe a simple normal standard album???
        if (wppa('is_owner')) {
            $usr = get_user_by('login', wppa('is_owner'));
            if ($usr) {
                $dispname = $usr->display_name;
            } else {
                $dispname = wppa('is_owner');
            }
            // User deleted
            $various = sprintf(__('Various albums by %s', 'wp-photo-album-plus'), $dispname);
        } else {
            $various = __('Various albums', 'wp-photo-album-plus');
        }
        if (wppa('is_slide')) {
            $value = $is_albenum ? $various : wppa_get_album_name($alb);
            $href = wppa_get_permalink() . 'wppa-cover=0&amp;wppa-occur=' . wppa('occur') . '&amp;wppa-album=' . wppa('start_album');
            $ajax = wppa_get_ajaxlink() . 'wppa-cover=0&amp;wppa-occur=' . wppa('occur') . '&amp;wppa-album=' . wppa('start_album');
            $title = $is_albenum ? __('Albums:', 'wp-photo-album-plus') . ' ' . wppa('start_album') : __('Album:', 'wp-photo-album-plus') . ' ' . $value;
            wppa_bcitem($value, $href, $title, 'b7', $ajax);
        }
        $value = $is_albenum ? $various : wppa_get_album_name($alb);
        $href = '';
        $title = '';
        $class = 'b10';
        wppa_bcitem($value, $href, $title, $class);
    }
    // 'Go to thumbnail display' - icon
    if (wppa('is_slide') && !wppa('calendar')) {
        if (wppa_switch('bc_slide_thumblink')) {
            //				$pg = ( ( wppa_opt('thumb_page_size' ) == wppa_opt( 'slideshow_pagesize' ) ) && wppa_get_curpage() != '1' ) ? '&wppa-page='.wppa_get_curpage() : '';
            //				$thumbhref .= $pg;
            if ($virtual) {
                if ($thumbhref) {
                    $thumbhref = wppa_trim_wppa_($thumbhref);
                    $fs = wppa_opt('fontsize_nav');
                    if ($fs != '') {
                        $fs += 3;
                    } else {
                        $fs = '15';
                    }
                    // iconsize = fontsize+3, Default to 15
                    $imgs = 'height: ' . $fs . 'px; margin:0 0 -3px 0; padding:0; box-shadow:none;';
                    wppa_out('<a href="' . $thumbhref . '" title="' . __('Thumbnail view', 'wp-photo-album-plus') . '" class="wppa-nav-text" style="' . __wcs('wppa-nav-text') . 'float:right; cursor:pointer;" ' . 'onmouseover="jQuery(\'#wppa-tnv-' . wppa('mocc') . '\').css(\'display\', \'none\'); jQuery(\'#wppa-tnvh-' . wppa('mocc') . '\').css(\'display\', \'\')" ' . 'onmouseout="jQuery(\'#wppa-tnv-' . wppa('mocc') . '\').css(\'display\', \'\'); jQuery(\'#wppa-tnvh-' . wppa('mocc') . '\').css(\'display\', \'none\')" >' . '<img id="wppa-tnv-' . wppa('mocc') . '" class="wppa-tnv" src="' . wppa_get_imgdir() . 'application_view_icons.png" alt="' . __('Thumbs', 'wp-photo-album-plus') . '" style="' . $imgs . '" />' . '<img id="wppa-tnvh-' . wppa('mocc') . '" class="wppa-tnv" src="' . wppa_get_imgdir() . 'application_view_icons_hover.png" alt="' . __('Thumbs', 'wp-photo-album-plus') . '" style="display:none;' . $imgs . '" />' . '</a>');
                }
            } else {
                $s = wppa('src') ? '&wppa-searchstring=' . urlencode(wppa('searchstring')) : '';
                $onclick = "wppaDoAjaxRender( " . wppa('mocc') . ", '" . wppa_get_album_url_ajax(wppa('start_album'), '0') . "&amp;wppa-photos-only=1" . $s . "', '" . wppa_convert_to_pretty(wppa_get_album_url(wppa('start_album'), '0') . '&wppa-photos-only=1' . $s) . "' )";
                $fs = wppa_opt('fontsize_nav');
                if ($fs != '') {
                    $fs += 3;
                } else {
                    $fs = '15';
                }
                // iconsize = fontsize+3, Default to 15
                $imgs = 'height: ' . $fs . 'px; margin:0 0 -3px 0; padding:0; box-shadow:none;';
                wppa_out('<a title="' . __('Thumbnail view', 'wp-photo-album-plus') . '" class="wppa-nav-text" style="' . __wcs('wppa-nav-text') . 'float:right; cursor:pointer;" ' . 'onclick="' . $onclick . '" ' . 'onmouseover="jQuery(\'#wppa-tnv-' . wppa('mocc') . '\').css(\'display\', \'none\'); jQuery(\'#wppa-tnvh-' . wppa('mocc') . '\').css(\'display\', \'\')" ' . 'onmouseout="jQuery(\'#wppa-tnv-' . wppa('mocc') . '\').css(\'display\', \'\'); jQuery(\'#wppa-tnvh-' . wppa('mocc') . '\').css(\'display\', \'none\')" >' . '<img id="wppa-tnv-' . wppa('mocc') . '" class="wppa-tnv" src="' . wppa_get_imgdir() . 'application_view_icons.png" alt="' . __('Thumbs', 'wp-photo-album-plus') . '" style="' . $imgs . '" />' . '<img id="wppa-tnvh-' . wppa('mocc') . '" class="wppa-tnv" src="' . wppa_get_imgdir() . 'application_view_icons_hover.png" alt="' . __('Thumbs', 'wp-photo-album-plus') . '" style="display:none;' . $imgs . '" />' . '</a>');
            }
        }
    }
    // Close the breadcrumb box
    wppa_out('<div style="clear:both;" ></div>');
    wppa_out('</div>');
}
function wppa_crumb_ancestors($alb, $to_cover)
{
    global $wpdb;
    // Find parent
    $parent = wppa_get_parentalbumid($alb);
    if ($parent < '1') {
        return;
    }
    // No parent -> toplevel -> done.
    wppa_crumb_ancestors($parent, $to_cover);
    // Find the album specific link type ( content, slide, page or none )
    $slide = wppa_get_album_title_linktype($parent) == 'slide' ? '&amp;wppa-slide' : '';
    // NOT SLIDE when there are no photos
    if (!wppa_get_photo_count($parent, 'use_treecounts')) {
        $slide = '';
    }
    $pagid = $wpdb->get_var($wpdb->prepare("SELECT `cover_linkpage` FROM `" . WPPA_ALBUMS . "` WHERE `id` = %s", $parent));
    $value = wppa_get_album_name($parent);
    $href = wppa_get_permalink($pagid) . 'wppa-album=' . $parent . '&amp;wppa-cover=' . $to_cover . $slide . '&amp;wppa-occur=' . wppa('occur');
    $ajax = wppa_get_ajaxlink() . 'wppa-album=' . $parent . '&amp;wppa-cover=' . $to_cover . $slide . '&amp;wppa-occur=' . wppa('occur');
    $title = __('Album:', 'wp-photo-album-plus') . ' ' . wppa_get_album_name($parent);
    $class = 'b20';
    wppa_bcitem($value, $href, $title, $class, $ajax);
    return;
}