File: /var/www/ippmt.kauko.lt/wp-content/plugins/wp-photo-album-plus/wppa-breadcrumb.php
<?php
/* wppa-breadcrumb.php
* Package: wp-photo-album-plus
*
* Functions for breadcrumbs
* Version 9.0.03.002
*
*/
if ( ! defined( 'ABSPATH' ) ) die( "Can't load this file directly" );
// shows the breadcrumb navigation
function wppa_breadcrumb( $opt = '' ) {
global $wpdb;
global $wppa_session;
static $post_page_value;
static $post_type_value;
// Never breadcrumbs in widgets
if ( wppa( 'in_widget' ) ) {
return;
}
// See if they need us
if ( $opt == 'optional' ) {
$pid = wppa_get_the_ID();
if ( ! is_array( $post_type_value ) ) $post_type_value = array();
if ( isset( $post_type_value[$pid] ) ) {
$type = $post_type_value[$pid];
}
else {
$query = $wpdb->prepare( "SELECT post_type FROM $wpdb->posts WHERE ID = %s", $pid );
$type = wppa_get_var( $query );
$post_type_value[$pid] = $type;
}
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 )
if ( $alb < 0 ) $alb = 0;
$is_albenum = strlen( wppa( 'start_album' ) ) > 0 && ! wppa_is_int( wppa( 'start_album' ) );
$virtual = wppa_is_virtual() || wppa( 'last_albums' );
if ( wppa( 'last_albums' ) ) {
$alb = wppa( 'last_albums_parent' );
}
// See if the album is a 'stand alone' album
$separate = wppa_is_separate( $alb );
// See if the album links to slides instead of thumbnails
$slide = ( wppa_get_album_title_linktype( $alb ) == 'slide' ) ? '&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' );
// Open the breadcrumb box
wppa_out( '<div' .
' id="wppa-bc-'.wppa( 'mocc' ) . '"' .
' class="wppa-nav wppa-box wppa-nav-text wppa-bc"' .
' style="' .
'" >' );
// Do we need Home?
if ( wppa_switch( 'show_home' ) ) {
$value = wppa_translate( wppa_opt( 'home_text' ) );
$href = 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' ) ) {
if ( ! is_array( $post_page_value ) ) $post_page_value = array();
if ( isset( $post_page_value[$pid] ) ) {
$value = $post_page_value[$pid];
}
else {
$query = $wpdb->prepare( "SELECT post_title FROM $wpdb->posts WHERE post_status = 'publish' AND ID = %s LIMIT 0,1", $pid );
$value = wppa_get_var( $query );
if ( $value ) {
$value = wppa_translate( stripslashes( $value ) );
}
else {
$value = false; // Null is not save as arry elm
}
$post_page_value[$pid] = $value;
}
if ( $alb || $virtual || $is_albenum ) {
$href = wppa_get_permalink( $pid, true );
$ajax = '';//wppa_get_ajaxlink( $pid ); // fails
}
else {
$href = '';
$ajax = '';
}
$title = $type == 'post' ? __( 'Post:' , 'wp-photo-album-plus' ).' '.$value : __( 'Page:' , 'wp-photo-album-plus' ).' '.$value;
wppa_bcitem( $value, $href, $title, 'b3', $ajax, false ); //, $hash );
}
// The album ( grand ) parents if not separate
wppa_crumb_ancestors( $alb, $to_cover );
// The album and optional placeholder for photo
// Supersearch ?
if ( wppa( 'supersearch' ) ) {
$value = ' ';
$ss_data = explode( ',', wppa( 'supersearch' ) );
// To preserve comma's in data[3], reconstruct a possible exploded data
$data = $ss_data;
unset( $data[0] );
unset( $data[1] );
unset( $data[2] );
$data = implode( ',', $data );
$ss_data[3] = $data;
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;
default:
$value = '';
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':
$query = $wpdb->prepare( "SELECT description FROM $wpdb->wppa_iptc WHERE tag = %s AND photo = 0", str_replace( 'H', '#', $ss_data['2'] ) );
$label = wppa_get_var( $query );
$label = trim( $label, ':' );
$value .= ' ' . __('with iptc tag:', 'wp-photo-album-plus' ) . ' <b>' . wppa_translate($label) . '</b> ' . __('with content:', 'wp-photo-album-plus' ) .' <b>' . $ss_data['3'] . '</b>';
break;
case 'e':
$tag = substr( $ss_data[2], 0, 1 ) . '#' . substr( $ss_data[2], 2, 4 );
$brand = substr( $ss_data[2], 6 );
if ( $brand ) {
$label = wppa_exif_tagname( $tag, $brand, 'brandonly' ) . ' ('. ucfirst( strtolower( $brand ) ) .')';
}
else {
$label = wppa_exif_tagname( $tag );
}
$label = trim( $label, ':' );
$value .= ' ' . __('with exif tag:', 'wp-photo-album-plus' ) . ' <b>' . wppa_translate($label) . '</b> ' . __('with content:', 'wp-photo-album-plus' ) .' <b>' . $ss_data['3'] . '</b>';
break;
default:
break;
}
break;
default:
break;
}
$value = stripslashes( $value );
if ( wppa( 'is_slide' ) ) {
$thumbhref = wppa_get_permalink().'wppa-cover=0&wppa-occur='.wppa( 'mocc' ).'&wppa-supersearch='.stripslashes( wppa( 'supersearch' ) );
$thumbajax = wppa_get_ajaxlink().'wppa-cover=0&wppa-occur='.wppa( 'mocc' ).'&wppa-supersearch='.stripslashes( wppa( 'supersearch' ) );
$title = __( 'View the thumbnails' , 'wp-photo-album-plus' );
wppa_bcitem( $value, $thumbhref, $title, 'b8', $thumbajax, true );
}
$href = '';
$title = '';
wppa_bcitem( $value, $href, $title, 'b9' );
}
// Search ?
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="'.
/* translators: album name */
esc_attr( sprintf( __( 'Searchresults from album %s and its sub albums' , 'wp-photo-album-plus' ),
wppa_display_root( $searchroot ) ) ).'">*</span> ' :
'';
// Make the searchstring text
$value = __( 'Searchstring:', 'wp-photo-album-plus' ) . ' ';
if ( isset ( $wppa_session['display_searchstring'] ) && $wppa_session['display_searchstring'] ) {
$value .= $wppa_session['display_searchstring'];
}
elseif ( wppa( 'searchstring' ) ) {
$value .= stripslashes( wppa( 'searchstring' ) );
}
else {
$value .= wppa_get( 'searchstring' );
}
if ( wppa( 'catbox' ) ) {
$value .= ', ' . __( 'in category:', 'wp-photo-album-plus' ) . ' ' . trim( wppa( 'catbox' ), ',' );
}
$value .= $albtxt;
if ( wppa( 'is_slide' ) ) {
$thumbhref = wppa_get_permalink().'wppa-cover=0&wppa-occur='.wppa( 'mocc' ).'&wppa-searchstring='.stripslashes( str_replace( ' ', '+', $wppa_session['use_searchstring'] ) );
$thumbajax = wppa_get_ajaxlink().'wppa-cover=0&wppa-occur='.wppa( 'mocc' ).'&wppa-searchstring='.stripslashes( str_replace( ' ', '+', $wppa_session['use_searchstring'] ) );
if ( wppa( 'catbox' ) ) {
$thumbhref .= '&wppa-catbox=' . trim( wppa( 'catbox' ), ',' );
$thumbajax .= '&wppa-catbox=' . trim( wppa( 'catbox' ), ',' );
}
$title = __( 'View the thumbnails' , 'wp-photo-album-plus' );
wppa_bcitem( $value, $thumbhref, $title, 'b8', $thumbajax, true );
}
$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 date taken' , 'wp-photo-album-plus' ) . ': ' . wppa_exif_date_to_wp_date( wppa( 'caldate' ) );
break;
case 'timestamp':
$value = __( 'Photos by date of upload' , 'wp-photo-album-plus' ) . ': ' . wppa_local_date( wppa_get_option( 'date_format' ), wppa( 'caldate' ) * 24*60*60 );
break;
case 'modified':
$value = __( 'Photos by date last modified' , 'wp-photo-album-plus' ) . ': ' . wppa_local_date( wppa_get_option( 'date_format' ), wppa( 'caldate' ) * 24*60*60 );
break;
default:
break;
}
$thumbhref = '#';
$title = 'T8';
wppa_bcitem( $value, $thumbhref, $title, 'b8' );
}
switch( wppa( 'calendar' ) ) {
case 'exifdtm':
$value = __( 'Photos by date taken' , 'wp-photo-album-plus' ) . ': ' . wppa_exif_date_to_wp_date( wppa( 'caldate' ) );
break;
case 'timestamp':
$value = __( 'Photos by date of upload' , 'wp-photo-album-plus' ) . ': ' . wppa_local_date( wppa_get_option( 'date_format' ), wppa( 'caldate' ) * 24*60*60 );
break;
case 'modified':
$value = __( 'Photos by date last modified' , 'wp-photo-album-plus' ) . ': ' . wppa_local_date( wppa_get_option( 'date_format' ), wppa( 'caldate' ) * 24*60*60 );
break;
default:
$value = '';
wppa_log( 'err', sprintf( 'Unimplemented calender type %s encountered in wppa_breadcrumb()', wppa( 'calendar' ) ) );
}
$href = '';
$title = '';
wppa_bcitem( $value, $href, $title, 'b9' );
}
elseif ( wppa( 'is_upldr' ) ) {
// $usr = wppa_get_user_by( 'login', wppa( 'is_upldr' ) );
// if ( $usr ) $user = $usr->display_name; else $user = wppa( 'is_upldr' );
$user = wppa_get_user_display( wppa( 'is_upldr' ) );
if ( wppa( 'is_lasten' ) ) {
/* translators: username */
$value = sprintf( __('Most recently uploaded photos by %s', 'wp-photo-album-plus' ), $user );
}
else {
/* translators: username */
$value = sprintf( __( 'Photos by %s' , 'wp-photo-album-plus' ), $user );
}
if ( wppa( 'is_slide' ) ) {
if ( wppa( 'start_album' ) ) {
$thumbhref = wppa_get_permalink().'wppa-cover=0&wppa-occur='.wppa( 'mocc' ).'&wppa-upldr='.wppa( 'is_upldr' ).'&wppa-album='.wppa( 'start_album' );
$thumbajax = wppa_get_ajaxlink().'wppa-cover=0&wppa-occur='.wppa( 'mocc' ).'&wppa-upldr='.wppa( 'is_upldr' ).'&wppa-album='.wppa( 'start_album' );
}
else {
$thumbhref = wppa_get_permalink().'wppa-cover=0&wppa-occur='.wppa( 'mocc' ).'&wppa-upldr='.wppa( 'is_upldr' );
$thumbajax = wppa_get_ajaxlink().'wppa-cover=0&wppa-occur='.wppa( 'mocc' ).'&wppa-upldr='.wppa( 'is_upldr' );
}
$title = __( 'View the thumbnails' , 'wp-photo-album-plus' );
wppa_bcitem( $value, $thumbhref, $title, 'b8', $thumbajax, true );
}
// $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&wppa-occur='.wppa( 'mocc' ).'&wppa-album='.wppa( 'start_album' );
$ajax = wppa_get_ajaxlink().'wppa-cover=0&wppa-occur='.wppa( 'mocc' ).'&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&wppa-occur='.wppa( 'mocc' ).'&wppa-topten='.wppa( 'topten_count' ).'&wppa-album='.wppa( 'start_album' );
$thumbajax = wppa_get_ajaxlink().'wppa-cover=0&wppa-occur='.wppa( 'mocc' ).'&wppa-topten='.wppa( 'topten_count' ).'&wppa-album='.wppa( 'start_album' );
if ( wppa( 'medals_only' ) ) {
$thumbhref .= '&wppa-medals-only=1';
$thumbajax .= '&wppa-medals-only=1';
}
$title = __( 'View the thumbnails' , 'wp-photo-album-plus' );
wppa_bcitem( $value, $thumbhref, $title, 'b8', $thumbajax, true );
}
$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&wppa-occur='.wppa( 'mocc' ).'&wppa-album='.wppa( 'start_album' );
$ajax = wppa_get_ajaxlink().'wppa-cover=0&wppa-occur='.wppa( 'mocc' ).'&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&wppa-occur='.wppa( 'mocc' ).'&wppa-lasten='.wppa( 'lasten_count' ).'&wppa-album='.wppa( 'start_album' );
$thumbajax = wppa_get_ajaxlink().'wppa-cover=0&wppa-occur='.wppa( 'mocc' ).'&wppa-lasten='.wppa( 'lasten_count' ).'&wppa-album='.wppa( 'start_album' );
$title = __( 'View the thumbnails' , 'wp-photo-album-plus' );
wppa_bcitem( $value, $thumbhref, $title, 'b8', $thumbajax, true );
}
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&wppa-occur='.wppa( 'mocc' ).'&wppa-album='.wppa( 'start_album' );
$ajax = wppa_get_ajaxlink().'wppa-cover=0&wppa-occur='.wppa( 'mocc' ).'&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&wppa-occur='.wppa( 'mocc' ).'&wppa-comten='.wppa( 'comten_count' ).'&wppa-album='.wppa( 'start_album' );
$thumbajax = wppa_get_ajaxlink().'wppa-cover=0&wppa-occur='.wppa( 'mocc' ).'&wppa-comten='.wppa( 'comten_count' ).'&wppa-album='.wppa( 'start_album' );
$title = __( 'View the thumbnails' , 'wp-photo-album-plus' );
wppa_bcitem( $value, $thumbhref, $title, 'b8', $thumbajax, true );
}
$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&wppa-occur='.wppa( 'mocc' ).'&wppa-album='.wppa( 'start_album' );
$ajax = wppa_get_ajaxlink().'wppa-cover=0&wppa-occur='.wppa( 'mocc' ).'&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&wppa-occur='.wppa( 'mocc' ).'&wppa-featen='.wppa( 'featen_count' ).'&wppa-album='.wppa( 'start_album' );
$thumbajax = wppa_get_ajaxlink().'wppa-cover=0&wppa-occur='.wppa( 'mocc' ).'&wppa-featen='.wppa( 'featen_count' ).'&wppa-album='.wppa( 'start_album' );
$title = __( 'View the thumbnails' , 'wp-photo-album-plus' );
wppa_bcitem( $value, $thumbhref, $title, 'b8', $thumbajax, true );
}
$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&wppa-occur='.wppa( 'mocc' ).'&wppa-tag='.wppa( 'is_tag' ).'&wppa-album='.wppa( 'start_album' );
$ajax = wppa_get_ajaxlink().'wppa-cover=0&wppa-occur='.wppa( 'mocc' ).'&wppa-tag='.wppa( 'is_tag' ).'&wppa-album='.wppa( 'start_album' );
$title = __( 'View the thumbnails' , 'wp-photo-album-plus' );
wppa_bcitem( $value, $href, $title, 'b8', $ajax, true );
}
$value = __( 'Related photos' , 'wp-photo-album-plus' );
$href = '';
$title = '';
wppa_bcitem( $value, $href, $title, 'b9' );
}
elseif ( wppa( 'is_potdhis' ) ) {
if ( wppa( 'is_slide' ) ) {
$value = __( 'Photo of the day history' , 'wp-photo-album-plus' );
$href = wppa_get_permalink().'wppa-cover=0&wppa-occur='.wppa( 'mocc' ).'&potdhis=1';
$ajax = wppa_get_ajaxlink().'wppa-cover=0&wppa-occur='.wppa( 'mocc' ).'&potdhis=1';
$title = __( 'View the thumbnails' , 'wp-photo-album-plus' );
wppa_bcitem( $value, $href, $title, 'b8', $ajax, true );
}
$value = __( 'Photo of the day history' , 'wp-photo-album-plus' );
$href = '';
$title = '';
wppa_bcitem( $value, $href, $title, 'b9' );
}
elseif ( wppa( 'is_tag' ) && wppa( 'is_cat' ) ) {
if ( wppa( 'is_slide' ) ) {
$value = __( 'Tagged photos:' , 'wp-photo-album-plus' ).' '.str_replace( ';', ' '.__( 'or' , 'wp-photo-album-plus' ).' ', str_replace( ',', ' '.__( 'and' , 'wp-photo-album-plus' ).' ', trim( wppa( 'is_tag' ), ',;' ) ) );
$value .= ' ' . __( 'From albums with', 'wp-photo-album-plus' ) . ' ';
$value .= __( 'Category:' , 'wp-photo-album-plus' ).' '.str_replace( ';', ' '.__( 'or', 'wp-photo-album-plus' ).' ', str_replace( ',', ' '.__( 'and', 'wp-photo-album-plus' ).' ', trim( wppa( 'is_cat' ), ',;' ) ) );
$thumbhref = wppa_get_permalink().'wppa-cover=0&wppa-occur='.wppa( 'mocc' ).'&wppa-cat='.wppa( 'is_cat' ).'&wppa-album='.wppa( 'start_album' );
$thumbajax = wppa_get_ajaxlink().'wppa-cover=0&wppa-occur='.wppa( 'mocc' ).'&wppa-cat='.wppa( 'is_cat' ).'&wppa-album='.wppa( 'start_album' );
$title = __( 'View the thumbnails' , 'wp-photo-album-plus' );
wppa_bcitem( $value, $thumbhref, $title, 'b8', $thumbajax, true );
}
$value = __( 'Tagged photos:' , 'wp-photo-album-plus' ).' '.str_replace( ';', ' '.__( 'or' , 'wp-photo-album-plus' ).' ', str_replace( ',', ' '.__( 'and' , 'wp-photo-album-plus' ).' ', trim( wppa( 'is_tag' ), ',;' ) ) );
$value .= ' ' . __( 'From albums with', 'wp-photo-album-plus' ) . ' ';
$value .= __( 'Category:' , 'wp-photo-album-plus' ).' '.str_replace( ';', ' '.__( 'or', 'wp-photo-album-plus' ).' ', str_replace( ',', ' '.__( 'and', 'wp-photo-album-plus' ).' ', trim( wppa( 'is_cat' ), ',;' ) ) );
$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' ).' '.str_replace( ';', ' '.__( 'or' , 'wp-photo-album-plus' ).' ', str_replace( ',', ' '.__( 'and' , 'wp-photo-album-plus' ).' ', trim( wppa( 'is_tag' ), ',;' ) ) );
if ( wppa( 'start_album' ) ) {
$value .= ' ' . __( 'out of various albums' , 'wp-photo-album-plus' );
}
if ( wppa_get( 'inv' ) ) {
$value .= ' (' . __( 'Inverted', 'wp-photo-album-plus' ) . ')';
}
$thumbhref = wppa_get_permalink().'wppa-cover=0&wppa-occur='.wppa( 'mocc' ).'&wppa-tag='.wppa( 'is_tag' ).'&wppa-album='.wppa( 'start_album' );
$thumbajax = wppa_get_ajaxlink().'wppa-cover=0&wppa-occur='.wppa( 'mocc' ).'&wppa-tag='.wppa( 'is_tag' ).'&wppa-album='.wppa( 'start_album' );
if ( wppa( 'is_inverse' ) ) {
$thumbhref .= '&wppa-inv=1';
$thumbajax .= '&wppa-inv=1';
}
$title = __( 'View the thumbnails' , 'wp-photo-album-plus' );
wppa_bcitem( $value, $thumbhref, $title, 'b8', $thumbajax, true );
}
$value = __( 'Tagged photos:' , 'wp-photo-album-plus' ).' '.str_replace( ';', ' '.__( 'or' , 'wp-photo-album-plus' ).' ', str_replace( ',', ' '.__( 'and' , 'wp-photo-album-plus' ).' ', trim( wppa( 'is_tag' ), ',;' ) ) );
if ( wppa( 'start_album' ) ) {
$value .= ' ' . __( 'out of various albums' , 'wp-photo-album-plus' );
}
if ( wppa_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' ).' '.str_replace( ';', ' '.__( 'or', 'wp-photo-album-plus' ).' ', str_replace( ',', ' '.__( 'and', 'wp-photo-album-plus' ).' ', trim( wppa( 'is_cat' ), ',;' ) ) );
$thumbhref = wppa_get_permalink().'wppa-cover=0&wppa-occur='.wppa( 'mocc' ).'&wppa-cat='.wppa( 'is_cat' ).'&wppa-album='.wppa( 'start_album' );
$thumbajax = wppa_get_ajaxlink().'wppa-cover=0&wppa-occur='.wppa( 'mocc' ).'&wppa-cat='.wppa( 'is_cat' ).'&wppa-album='.wppa( 'start_album' );
$title = __( 'View the thumbnails' , 'wp-photo-album-plus' );
wppa_bcitem( $value, $thumbhref, $title, 'b8', $thumbajax, true );
}
$value = __( 'Category:' , 'wp-photo-album-plus' ).' '.str_replace( ';', ' '.__( 'or', 'wp-photo-album-plus' ).' ', str_replace( ',', ' '.__( 'and', 'wp-photo-album-plus' ).' ', trim( wppa( 'is_cat' ), ',;' ) ) );
$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&wppa-occur='.wppa( 'mocc' ).'&wppa-album='.wppa( 'start_album' );
$ajax = wppa_get_ajaxlink().'wppa-cover=0&wppa-occur='.wppa( 'mocc' ).'&wppa-album='.wppa( 'start_album' );
$title = __( 'Album:' , 'wp-photo-album-plus' ).' '.$value;
wppa_bcitem( $value, $href, $title, 'b7', $ajax, true );
}
if ( wppa( 'is_slide' ) ) {
$value = __( 'Recently updated albums' , 'wp-photo-album-plus' );
$thumbhref = wppa_get_permalink().'wppa-cover=0&wppa-occur='.wppa( 'mocc' ).'&wppa-album='.wppa( 'start_album' );
$thumbajax = wppa_get_ajaxlink().'wppa-cover=0&wppa-occur='.wppa( 'mocc' ).'&wppa-album='.wppa( 'start_album' );
$title = __( 'View the thumbnails' , 'wp-photo-album-plus' );
wppa_bcitem( $value, $thumbhref, $title, 'b8', $thumbajax, true );
}
$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 = wppa_get_user_by( 'login', wppa( 'is_owner' ) );
if ( $usr ) $dispname = $usr->display_name;
else $dispname = wppa( 'is_owner' ); // User deleted
/* translators: username */
$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&wppa-occur='.wppa( 'mocc' ).'&wppa-album='.wppa( 'start_album' );
$ajax = wppa_get_ajaxlink().'wppa-cover=0&wppa-occur='.wppa( 'mocc' ).'&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, true );
}
$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-paged='.wppa_get_curpage() : '&wppa-paged=1';
$thumbhref .= $pg;
if ( $virtual ) {
if ( $thumbhref ) {
$thumbhref = wppa_trim_wppa_( $thumbhref );
wppa_out( '<a' .
' href="' . $thumbhref . '"' .
' title="' . __( 'Thumbnail view' , 'wp-photo-album-plus' ) . '"' .
' class="wppa-nav-text"' .
' style="float:right; cursor:pointer; text-decoration:none;"' .
' >' .
wppa_get_svghtml( 'Content-View', wppa_icon_size( '1.5em' ), false, false, 10, 10, 10, 10 ) .
'</a>' );
}
}
else {
$s = wppa( 'src' ) ? '&wppa-searchstring='.urlencode( wppa( 'searchstring' ) ) : '';
$ajax_url = wppa_get_album_url_ajax( array( 'album' => wppa( 'start_album' ),
'type' => 'thumbs' ) );
$ajax_url = str_replace( 'cache=1', 'cache=0', $ajax_url );
$href_url = wppa_get_album_url( array( 'album' => wppa( 'start_album' ),
'type' => 'thumbs' ) );
$href_url = str_replace( 'cache=1', 'cache=0', $href_url );
// $onclick = "wppaDoAjaxRender(event, " . wppa( 'mocc' ) . ", '" . $ajax_url . $s . "+wppaPageArg, '" . $href_url . $s . $pg . "', true )";
$mocc = wppa( 'mocc' );
wppa_out( '<span' .
' title="' . __( 'Thumbnail view', 'wp-photo-album-plus' ) . '"' .
' class="wppa-nav-text"' .
' style="float:right; cursor:pointer"' .
' onclick="wppaDoAjaxRender(event,'.wppa('mocc').', \''.$ajax_url.$s.'&wppa-paged=\'+wppaThumbPage['.$mocc.']+\'&wppa-hilite=\'+_wppaId['.$mocc.'][_wppaCurIdx['.$mocc.']], \''.$href_url.$s.'&wppa-paged=\'+wppaThumbPage['.$mocc.']+\'&wppa-hilite=\'+_wppaId['.$mocc.'][_wppaCurIdx['.$mocc.']],true)"' .
' >' .
wppa_get_svghtml( 'Content-View', wppa_icon_size( '1.5em' ), false, false, 10, 10, 10, 10 ) .
'</span>' );
}
}
}
// Close the breadcrumb box
wppa_out( '<div style="clear:both"></div>' );
wppa_out( '</div>' );
}
// Display a breadcrumb item with optionally a seperator if it is a link.
// If it's a link, it's not the last item
function wppa_bcitem( $value = '', $href = '', $title = '', $class = '', $ajax = '', $is_pname = false, $hash = '#wppa-container-' ) {
static $sep;
global $wppa_lang;
$value = str_replace( '-none-', wppa_translate( '-none-' ), $value );
// ucfirst translatable tags
$glue = '[:' . $wppa_lang . ']';
if ( $value ) {
$temp = explode( $glue, $value );
}
else {
$temp = array();
}
if ( count( $temp ) > 1 ) {
foreach ( array_keys( $temp ) as $key ) {
$temp[$key] = ucfirst( $temp[$key] );
}
$value = implode( $glue, $temp );
}
// Translate value
if ( $value ) {
$value = wppa_translate( stripslashes( $value ) );
}
// Encrypt
if ( $href ) {
$href = wppa_encrypt_url( $href );
}
if ( $ajax ) {
$ajax = wppa_encrypt_url( $ajax );
}
// Convert url to pretty
if ( $href ) {
$href = wppa_convert_to_pretty( $href ) . $hash . wppa( 'mocc' );
}
// Has content?
if ( ! $value ) return; // No content
// If in ajax modal dialog, distinguish from original bc for update during slideshow
$bc_pname = 'bc-pname-';
if ( wppa( 'ajax' ) && wppa_switch( 'ajax_render_modal' ) ) {
$bc_pname = 'bc-pname-modal-';
}
if ( $href ) {
wppa_out( '<a' .
( $ajax ?
' onclick="wppaDoAjaxRender(event,' . wppa( 'mocc' ) . ', \'' . $ajax . '\', \'' . $href . '\' );"' :
' href="' . $href . '"' ) .
' class="wppa-nav-text ' . $class . '"' .
' style="cursor:pointer"' .
' title="' . esc_attr( $title ) . '" >' .
$value .
'</a>' );
}
else { // No link, its the last item
wppa_out( '<span' .
' id="' . $bc_pname . wppa( 'mocc' ) . '"' .
' class="wppa-nav-text ' . $class . ( wppa( 'is_slide' ) ? ' bc-pname sdn-'.wppa('mocc') : '' ) . '"' .
' style="' .
( $title ? 'cursor:pointer;' : '' ) .
'"' .
' title="' . esc_attr( $title ) . '"' .
' >' .
$value .
'</span>' );
return;
}
// Add seperator
if ( ! $sep ) { // Compute the seperator
$temp = wppa_opt( 'bc_separator' );
switch ( $temp ) {
case 'url':
$size = wppa_opt( 'fontsize_nav' );
if ( $size == '' ) $size = '12';
$style = 'height:' . $size . 'px;';
$sep = ' ' . wppa_html_tag( 'img', ['src' => wppa_opt('bc_url'), 'class' => "no-shadow", 'style' => $style] );
break;
case 'txt':
$sep = ' ' .
html_entity_decode( stripslashes( wppa_opt( 'bc_txt' ) ), ENT_QUOTES ) .
' ';
break;
default:
$sep = ' &' . $temp . '; ';
}
}
wppa_out( '<span' .
' class="wppa-nav-text ' . $class . ( wppa( 'is_slide' ) && $is_pname ? ' bc-pname' : '' ) . '"' .
' >' .
$sep .
'</span>' );
}
// Recursive process to display the ( grand )parent albums
function wppa_crumb_ancestors( $alb, $to_cover ) {
global $wpdb;
// No real album -> done.
if ( ! wppa_is_posint( $alb ) ) {
return;
}
// Find parent
$parent = wppa_get_parentalbumid( $alb );
// No parent -> toplevel -> done.
if ( $parent < 1 ) {
return;
}
// Next level
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' ) ? '&wppa-slide' : '';
// NOT SLIDE when there are no photos
if ( ! wppa_get_visible_photo_count( $parent, 'use_treecounts' ) ) {
$slide = '';
}
$query = $wpdb->prepare( "SELECT cover_linkpage FROM $wpdb->wppa_albums WHERE id = %s", $parent );
$pagid = wppa_get_var( $query );
$value = wppa_get_album_name( $parent );
$href =
wppa_get_permalink( $pagid ) .
'wppa-album=' . $parent . '&wppa-cover=' . $to_cover . $slide .
'&wppa-occur=' . wppa( 'mocc' );
$ajax =
wppa_get_ajaxlink() .
'wppa-album=' . $parent . '&wppa-cover=' . $to_cover . $slide .
'&wppa-occur=' . wppa( 'mocc' );
$title = __( 'Album:' , 'wp-photo-album-plus' ) . ' ' . wppa_get_album_name( $parent );
$class = 'b20';
wppa_bcitem( $value, $href, $title, $class, $ajax );
return;
}
// Recursive process to display the ( grand )parent pages
function wppa_crumb_page_ancestors( $page = 0 ) {
global $wpdb;
static $parents;
if ( ! $parents ) $parents = array();
if ( isset( $parents[$page] ) ) {
$parent = $parents[$page];
}
else {
$query = $wpdb->prepare( "SELECT post_parent FROM $wpdb->posts WHERE post_type = 'page' AND post_status = 'publish' AND id = %s LIMIT 0,1", $page );
$parent = wppa_get_var( $query );
$parents[$page] = $parent;
}
if ( ! is_numeric( $parent ) || $parent == 0 ) return;
wppa_crumb_page_ancestors( $parent );
$query = $wpdb->prepare( "SELECT post_title FROM " . $wpdb->posts . " WHERE post_type = 'page' AND post_status = 'publish' AND id = %s LIMIT 0,1", $parent );
$title = wppa_get_var( $query );
$title = wppa_translate( stripslashes( $title ) );
if ( ! $title ) {
$title = '****'; // Page exists but is not publish
wppa_bcitem( $title, '#', __( 'Unpublished' , 'wp-photo-album-plus' ), 'b2' );
} else {
wppa_bcitem( $title, get_page_link( $parent ), __( 'Page:' , 'wp-photo-album-plus' ).' '.$title, 'b2' );
}
}
// Convert display searchstring into readable format for use in title tooltip
// Reurns value only if intersection or unioun symbols are in the input text
function wppa_dss_to_title( $txt ) {
$result = '';
// AND OR
if ( strpos( $txt, '∩' ) === false && strpos( $txt, '∪' ) === false ) {
return '';
}
$orarr = explode( '∪', $txt );
$result = __( 'Found photos will meet the search criteria as follows:', 'wp-photo-album-plus' ) . ' ';
foreach ( array_keys( $orarr ) as $orkey ) {
if ( strpos( $orarr[ $orkey ], '∩' ) !== false ) {
$oritem = str_replace( '∩', __( 'AND', 'wp-photo-album-plus' ), $orarr[ $orkey ] );
$orarr[ $orkey ] = ' ( ' . $oritem . ' ) ';
}
}
$result .= implode ( __( 'OR', 'wp-photo-album-plus' ) , $orarr );
return $result;
}