Beispiel #1
0
function wppa_numberbar($opt = '')
{
    // A single image slideshow needs no navigation
    if (wppa('is_single')) {
        return;
    }
    if (is_feed()) {
        return;
    }
    $do_it = false;
    if (wppa_switch('show_slideshownumbar') && !wppa('is_slideonly')) {
        $do_it = true;
    }
    if (wppa('numbar_on')) {
        $do_it = true;
    }
    if (!$do_it) {
        return;
    }
    // get the data
    $thumbs = wppa_get_thumbs();
    if (empty($thumbs)) {
        return;
    }
    // get the sizes
    $size_given = is_numeric(wppa_opt('fontsize_numbar'));
    if ($size_given) {
        $size = wppa_opt('fontsize_numbar');
        if (wppa_in_widget()) {
            $size /= 2;
        }
    } else {
        $size = wppa_in_widget() ? '9' : '12';
    }
    if ($size < '9') {
        $size = '9';
    }
    $size_2 = floor($size / 2);
    $size_4 = floor($size_2 / 2);
    $size_32 = floor($size * 3 / 2);
    // make the numbar style
    $style = 'position:absolute; bottom:' . $size . 'px; right:0; margin-right:' . $size_2 . 'px; ';
    // start the numbar
    wppa_out('<div class="wppa-numberbar" style="' . $style . '">');
    $numid = 0;
    // make the elementstyles
    $style = 'display:block;' . 'float:left;' . 'padding:0 ' . $size_4 . 'px;' . 'margin-right:' . $size_2 . 'px;' . 'font-weight:' . wppa_opt('fontweight_numbar') . ';';
    if (wppa_opt('fontfamily_numbar')) {
        $style .= 'font-family:' . wppa_opt('fontfamily_numbar') . ';';
    }
    if (wppa_opt('fontcolor_numbar')) {
        $style .= 'color:' . wppa_opt('fontcolor_numbar') . ';';
    }
    if ($size_given) {
        $style .= 'font-size:' . $size . 'px;line-height:' . $size_32 . 'px;';
    }
    $style_active = $style;
    if (wppa_opt('bgcolor_numbar')) {
        $style .= 'background-color:' . wppa_opt('bgcolor_numbar') . ';';
    }
    if (wppa_opt('bgcolor_numbar_active')) {
        $style_active .= 'background-color:' . wppa_opt('bgcolor_numbar_active') . ';';
    }
    if (wppa_opt('bcolor_numbar')) {
        $style .= 'border:1px solid ' . wppa_opt('bcolor_numbar') . ';';
    }
    if (wppa_opt('bcolor_numbar_active')) {
        $style_active .= 'border:1px solid ' . wppa_opt('bcolor_numbar_active') . ';';
    }
    // if the number of photos is larger than a certain number, only the active ph displays a number, other are dots
    $count = count($thumbs);
    $high = wppa_opt('numbar_max');
    // do the numbers
    foreach ($thumbs as $tt) {
        $title = sprintf(__('Photo %s of %s', 'wp-photo-album-plus'), $numid + '1', $count);
        wppa_out('<a' . ' id="wppa-numbar-' . wppa('mocc') . '-' . $numid . '"' . ' title="' . $title . '"' . ' ' . ($numid == 0 ? ' class="wppa-numbar-current" ' : '') . ' style="' . ($numid == 0 ? $style_active : $style) . '"' . ' onclick="wppaGotoKeepState(' . wppa('mocc') . ',' . $numid . ');return false;"' . ' >' . ($count > $high ? '.' : $numid + 1) . '</a>');
        $numid++;
    }
    wppa_out('</div>');
}
Beispiel #2
0
function wppa_theme()
{
    global $wppa_version;
    $wppa_version = '6-1-15-000';
    // The version number of this file
    global $wppa;
    global $wppa_show_statistics;
    // Can be set to true by a custom page template
    $curpage = wppa_get_curpage();
    // Get the page # we are on when pagination is on, or 1
    $didsome = false;
    // Required initializations for pagination
    $n_album_pages = '0';
    // "
    $n_thumb_pages = '0';
    // "
    // Open container
    wppa_container('open');
    // Show statistics if set so by the page template
    if ($wppa_show_statistics) {
        wppa_statistics();
    }
    // Display breadcrumb navigation only if it is set in the settings page
    wppa_breadcrumb('optional');
    if (wppa_page('albums')) {
        // Page 'Albums' requested
        // Get the albums and the thumbs and the number of pages for each set
        $albums = wppa_get_albums();
        // Get the albums
        $n_album_pages = wppa_get_npages('albums', $albums);
        // Get the number of album pages
        if (wppa_opt('thumbtype') != 'none') {
            $thumbs = wppa_get_thumbs();
            // Get the Thumbs
        } else {
            $thumbs = false;
        }
        $wanted_empty = wppa_is_wanted_empty($thumbs);
        // See if we need to display an empty thumbnail area
        $n_thumb_pages = wppa_get_npages('thumbs', $thumbs);
        // Get the number of thumb pages
        if ($n_thumb_pages == '0' && !$wanted_empty) {
            $thumbs = false;
        }
        // No pages: no thumbs. Maybe want covers only
        if ($wanted_empty) {
            $n_thumb_pages = '1';
        }
        // Get total number of pages
        if (!wppa_is_pagination()) {
            $totpag = '1';
        } else {
            $totpag = $n_album_pages + $n_thumb_pages;
        }
        // Make pagelinkbar if requested on top
        if (wppa_opt('pagelink_pos') == 'top' || wppa_opt('pagelink_pos') == 'both') {
            wppa_page_links($totpag, $curpage);
        }
        // Process the albums
        if (!wppa_switch('wppa_thumbs_first')) {
            if ($albums) {
                $counter_albums = '0';
                wppa_album_list('open');
                // Open Albums sub-container
                foreach ($albums as $album) {
                    // Loop the albums
                    $counter_albums++;
                    if (wppa_onpage('albums', $counter_albums, $curpage)) {
                        wppa_album_cover($album['id']);
                        // Show the cover
                        $didsome = true;
                    }
                    // End if on page
                }
                wppa_album_list('close');
                // Close Albums sub-container
            }
            // If albums
        }
        if ($didsome && wppa_is_pagination()) {
            $thumbs = false;
        }
        // Pag on and didsome: force a pagebreak by faking no thumbs
        if (count($thumbs) <= wppa_get_mincount() && !$wanted_empty) {
            $thumbs = false;
        }
        // Less than treshold value
        if (wppa_switch('wppa_thumbs_first') && $curpage > $n_thumb_pages) {
            $thumbs = false;
        }
        // If thumbs done, do not display an empty thumbarea
        // Process the thumbs
        if ($thumbs || $wanted_empty) {
            if (!$wanted_empty || !wppa_switch('thumbs_first') || wppa_get_curpage() == '1') {
                if (!$wanted_empty || wppa_switch('thumbs_first') || wppa_get_curpage() == $totpag) {
                    // Init
                    $counter_thumbs = '0';
                    // As covers
                    if (wppa_opt('wppa_thumbtype') == 'ascovers' || wppa_opt('wppa_thumbtype') == 'ascovers-mcr') {
                        // Do the thumbs As covers
                        wppa_thumb_list('open');
                        // Open Thumblist sub-container
                        $relpage = wppa_switch('wppa_thumbs_first') ? $curpage : $curpage - $n_album_pages;
                        foreach ($thumbs as $tt) {
                            global $thumb;
                            $thumb = $tt;
                            // Loop the Thumbs
                            $counter_thumbs++;
                            if (wppa_onpage('thumbs', $counter_thumbs, $relpage)) {
                                $didsome = true;
                                wppa_thumb_ascover($thumb['id']);
                                // Show Thumb as cover
                            }
                            // End if on page
                        }
                        wppa_thumb_list('close');
                        // Close Thumblist sub-container
                    } elseif (wppa_opt('wppa_thumbtype') == 'masonry-v') {
                        // Masonry
                        // The header
                        wppa_thumb_area('open');
                        // Open Thumbarea sub-container
                        wppa_popup();
                        // Prepare Popup box
                        wppa_album_name('top');
                        // Optionally display album name
                        wppa_album_desc('top');
                        // Optionally display album description
                        // Init
                        $relpage = wppa_switch('wppa_thumbs_first') ? $curpage : $curpage - $n_album_pages;
                        $cont_width = wppa_get_container_width();
                        $count_cols = ceil($cont_width / (wppa_opt('wppa_thumbsize') + wppa_opt('wppa_tn_margin')));
                        $correction = wppa_opt('wppa_tn_margin') * ($cont_width / $count_cols) / 100;
                        // Init the table
                        wppa_out('<table class="wppa-masonry" style="margin-top:3px;" ><tbody class="wppa-masonry" ><tr class="wppa-masonry" >');
                        // Init the columns
                        $col_headers = array();
                        $col_contents = array();
                        $col_heights = array();
                        $col_widths = array();
                        for ($col = 0; $col < $count_cols; $col++) {
                            $col_headers[$col] = '';
                            $col_contents[$col] = '';
                            $col_heights[$col] = 0;
                            $col_widths[$col] = 100;
                        }
                        // Process the thumbnails
                        $col = '0';
                        if ($thumbs) {
                            foreach ($thumbs as $tt) {
                                $id = $tt['id'];
                                $counter_thumbs++;
                                if (wppa_onpage('thumbs', $counter_thumbs, $relpage)) {
                                    $col_contents[$col] .= wppa_get_thumb_masonry($id);
                                    $col_heights[$col] += ($correction + wppa_get_thumby($id)) / ($correction + wppa_get_thumbx($id)) * $col_widths[$col];
                                    $col += '1';
                                    if ($col == $count_cols) {
                                        $col = '0';
                                    }
                                    $didsome = true;
                                }
                            }
                        }
                        // Find longest column
                        $long = 0;
                        for ($col = 0; $col < $count_cols; $col++) {
                            if ($col_heights[$col] > $long) {
                                $long = $col_heights[$col];
                            }
                        }
                        // Adjust column widths to resize lengths to equal lengths
                        for ($col = 0; $col < $count_cols; $col++) {
                            if ($col_heights[$col]) {
                                $col_widths[$col] = $long / $col_heights[$col] * $col_widths[$col];
                            }
                        }
                        // Adjust column widths to total 100
                        $wide = 0;
                        for ($col = 0; $col < $count_cols; $col++) {
                            $wide += $col_widths[$col];
                        }
                        for ($col = 0; $col < $count_cols; $col++) {
                            $col_widths[$col] = $col_widths[$col] * 100 / $wide;
                        }
                        // Make column headers
                        for ($col = 0; $col < $count_cols; $col++) {
                            $col_headers[$col] = '<td style="width: ' . $col_widths[$col] . '%; vertical-align:top;" class="wppa-masonry" >';
                        }
                        // Add the columns to the output stream
                        for ($col = 0; $col < $count_cols; $col++) {
                            wppa_out($col_headers[$col]);
                            wppa_out($col_contents[$col]);
                            wppa_out('</td>');
                        }
                        // Close the table
                        wppa_out('</tr></tbody></table>');
                        // The footer
                        wppa_album_name('bottom');
                        // Optionally display album name
                        wppa_album_desc('bottom');
                        // Optionally display album description
                        wppa_thumb_area('close');
                        // Close Thumbarea sub-container
                    } elseif (wppa_opt('wppa_thumbtype') == 'masonry-h') {
                        // Masonry
                        // The header
                        wppa_thumb_area('open');
                        // Open Thumbarea sub-container
                        wppa_popup();
                        // Prepare Popup box
                        wppa_album_name('top');
                        // Optionally display album name
                        wppa_album_desc('top');
                        // Optionally display album description
                        // Init
                        $relpage = wppa_switch('wppa_thumbs_first') ? $curpage : $curpage - $n_album_pages;
                        $cont_width = wppa_get_container_width('netto');
                        $correction = wppa_opt('wppa_tn_margin');
                        // Init the table
                        wppa_out('<table class="wppa-masonry" style="margin-top:3px;" ><tbody class="wppa-masonry" >');
                        // Process the thumbnails
                        $row_content = '';
                        $row_width = 0;
                        $target_row_height = wppa_opt('wppa_thumbsize') * 0.75 + $correction;
                        $rw_count = 0;
                        $tr_count = '1';
                        $done_count = 0;
                        $last = false;
                        $max_row_height = $target_row_height * 0.8;
                        // Init keep track for last
                        if ($thumbs) {
                            foreach ($thumbs as $tt) {
                                $id = $tt['id'];
                                $counter_thumbs++;
                                if (wppa_onpage('thumbs', $counter_thumbs, $relpage)) {
                                    $row_content .= wppa_get_thumb_masonry($tt['id']);
                                    $rw_count += 1;
                                    $row_width += wppa_get_thumbratioxy($id) * ($target_row_height - $correction);
                                    $didsome = true;
                                }
                                $done_count += 1;
                                $last = $done_count == count($thumbs);
                                if ($row_width > $cont_width || $last) {
                                    $tot_marg = $rw_count * $correction;
                                    $row_height = $row_width ? ($target_row_height - $correction) * ($cont_width - '3' - $tot_marg) / $row_width + $correction : '0';
                                    if (!$last) {
                                        $max_row_height = max($max_row_height, $row_height);
                                    }
                                    if ($last && $row_height > wppa_get_thumby($id)) {
                                        $row_height = $max_row_height;
                                    }
                                    $row_height_p = $row_height / $cont_width * 100;
                                    wppa_out('<tr class="wppa-masonry" >' . '<td style="border:none;padding:0;margin:0" >' . '<div' . ' id="wppa-mas-h-' . $tr_count . '-' . wppa('mocc') . '"' . ' style="height:' . $row_height . 'px;"' . ' class="wppa-masonry"' . ' data-height-perc="' . $row_height_p . '"' . ' >');
                                    wppa_out($row_content);
                                    wppa_out('</div></td></tr>');
                                    $row_content = '';
                                    $row_width = 0;
                                    $row_height = wppa_opt('wppa_thumbsize');
                                    $rw_count = 0;
                                    $tr_count += '1';
                                }
                            }
                        }
                        wppa_out('</tbody></table>');
                        // The footer
                        wppa_album_name('bottom');
                        // Optionally display album name
                        wppa_album_desc('bottom');
                        // Optionally display album description
                        wppa_thumb_area('close');
                        // Close Thumbarea sub-container
                    } elseif (wppa_opt('wppa_thumbtype') == 'default') {
                        // Do the thumbs As default
                        // The header
                        wppa_thumb_area('open');
                        // Open Thumbarea sub-container
                        wppa_popup();
                        // Prepare Popup box
                        wppa_album_name('top');
                        // Optionally display album name
                        wppa_album_desc('top');
                        // Optionally display album description
                        // Init
                        $relpage = wppa_switch('wppa_thumbs_first') ? $curpage : $curpage - $n_album_pages;
                        // Process the thumbnails
                        if ($thumbs) {
                            foreach ($thumbs as $tt) {
                                $counter_thumbs++;
                                if (wppa_onpage('thumbs', $counter_thumbs, $relpage)) {
                                    $didsome = true;
                                    wppa_thumb_default($tt['id']);
                                    // Show Thumb as default
                                }
                                // End if on page
                            }
                        }
                        // The footer
                        wppa_album_name('bottom');
                        // Optionally display album name
                        wppa_album_desc('bottom');
                        // Optionally display album description
                        wppa_thumb_area('close');
                        // Close Thumbarea sub-container
                    } else {
                        wppa_out('Unimplemented thumbnail type');
                    }
                }
            }
        }
        // If thumbs
        if ($didsome && wppa_is_pagination()) {
            $albums = false;
        }
        // Pag on and didsome: force a pagebreak by faking no albums
        if (!wppa_is_pagination()) {
            $n_thumb_pages = '0';
        }
        // Still on page one
        // Process the albums
        if (wppa_switch('wppa_thumbs_first')) {
            if ($albums) {
                $counter_albums = '0';
                wppa_album_list('open');
                // Open Albums sub-container
                foreach ($albums as $album) {
                    // Loop the albums
                    $counter_albums++;
                    if (wppa_onpage('albums', $counter_albums, $curpage - $n_thumb_pages)) {
                        wppa_album_cover($album['id']);
                        // Show the cover
                        $didsome = true;
                    }
                    // End if on page
                }
                wppa_album_list('close');
                // Close Albums sub-container
            }
            // If albums
        }
        // Make pagelinkbar if requested on bottom
        if (wppa_opt('pagelink_pos') == 'bottom' || wppa_opt('pagelink_pos') == 'both') {
            wppa_page_links($totpag, $curpage);
        }
        // Empty results?
        if (!$didsome && !$wanted_empty) {
            if (wppa('photos_only')) {
                wppa_out(wppa_errorbox(__a('No photos found matching your search criteria.', 'wppa_theme')));
            } elseif (wppa('albums_only')) {
                wppa_out(wppa_errorbox(__a('No albums found matching your search criteria.', 'wppa_theme')));
            } else {
                wppa_out(wppa_errorbox(__a('No albums or photos found matching your search criteria.', 'wppa_theme')));
            }
        }
    } elseif (wppa_page('slide') || wppa_page('single')) {
        // Page 'Slideshow' or 'Single' in browsemode requested
        $thumbs = wppa_get_thumbs();
        wppa_dbg_msg('From theme: #thumbs=' . ($thumbs ? count($thumbs) : '0'));
        if ($thumbs) {
            wppa_the_slideshow();
            // Producs all the html required for the slideshow
            wppa_run_slidecontainer('slideshow');
            // Fill in the photo array and display it.
        } else {
            wppa_out(wppa_errorbox(__a('No photos found matching your search criteria.', 'wppa_theme')));
        }
    }
    // wppa_page( 'slide' )
    // Close container
    wppa_container('close');
}
function wppa_theme()
{
    global $wppa_version;
    $wppa_version = '4-0-0';
    // The version number of this file, please change if you modify this file
    global $wppa;
    global $wppa_opt;
    global $wppa_show_statistics;
    // Can be set to true by a custom page template
    $curpage = wppa_get_curpage();
    // Get the page # we are on when pagination is on, or 1
    $didsome = false;
    // Required initializations for pagination
    $n_album_pages = '0';
    // "
    $n_thumb_pages = '0';
    // "
    wppa_container('open');
    // Open container
    if ($wppa_show_statistics) {
        wppa_statistics();
    }
    // Show statistics if set so by the page template
    wppa_breadcrumb('optional');
    // Display breadcrumb navigation only if it is set in the settings page
    if (wppa_page('albums')) {
        // Page 'Albums' requested
        $albums = wppa_get_albums();
        // Get the albums
        if ($albums) {
            $counter_albums = '0';
            $n_album_pages = wppa_get_npages('albums', $albums);
            wppa_album_list('open');
            // Open Albums sub-container
            foreach ($albums as $ta) {
                global $album;
                $album = $ta;
                // Loop the albums
                $counter_albums++;
                if (wppa_onpage('albums', $counter_albums, $curpage)) {
                    $didsome = true;
                    wppa_album_cover();
                    // Show the cover
                }
                // End if on page
            }
            wppa_album_list('close');
            // Close Albums sub-container
        }
        // If albums
        if ($wppa_opt['wppa_thumbtype'] != 'none') {
            $thumbs = wppa_get_thumbs();
            // Get the Thumbs
        } else {
            $thumbs = false;
        }
        $n_thumb_pages = wppa_get_npages('thumbs', $thumbs);
        // How many pages of thumbs will there be?
        if ($n_thumb_pages == '0') {
            $thumbs = false;
        }
        // No pages: no thumbs. Maybe want covers only
        if ($didsome && wppa_is_pagination()) {
            $thumbs = false;
        }
        // Pag on and didsome: pagebreak
        if (count($thumbs) <= wppa_get_mincount()) {
            $thumbs = false;
        }
        // Less than treshold value
        if ($thumbs) {
            $counter_thumbs = '0';
            if (get_option('wppa_thumbtype', 'default') == 'ascovers') {
                // Do the thumbs As covers
                wppa_thumb_list('open');
                // Open Thumblist sub-container
                foreach ($thumbs as $tt) {
                    global $thumb;
                    $thumb = $tt;
                    // Loop the Thumbs
                    $counter_thumbs++;
                    if (wppa_onpage('thumbs', $counter_thumbs, $curpage - $n_album_pages)) {
                        $didsome = true;
                        wppa_thumb_ascover();
                        // Show Thumb as cover
                    }
                    // End if on page
                }
                wppa_thumb_list('close');
                // Close Thumblist sub-container
            } else {
                // Do the thumbs As default
                wppa_thumb_area('open');
                // Open Thumbarea sub-container
                foreach ($thumbs as $tt) {
                    global $thumb;
                    $thumb = $tt;
                    // Loop the Thumbs
                    $counter_thumbs++;
                    if (wppa_onpage('thumbs', $counter_thumbs, $curpage - $n_album_pages)) {
                        $didsome = true;
                        wppa_thumb_default();
                        // Show Thumb as default
                    }
                    // End if on page
                }
                wppa_popup();
                // Prepare Popup box
                wppa_thumb_area('close');
                // Close Thumbarea sub-container
            }
            // As default
        }
        // If thumbs
        if (!wppa_is_pagination()) {
            $totpag = '1';
        } else {
            $totpag = $n_album_pages + $n_thumb_pages;
        }
        wppa_page_links($totpag, $curpage);
        // Show pages navigaion bar if needed
        if (!$didsome && $wppa['src']) {
            $wppa['out'] .= '<div class="center">' . __a('No albums or photos found matching your search criteria.', 'wppa_theme') . '</div>';
        }
    } elseif (wppa_page('oneofone')) {
        // Page 'Single image' requested
        wppa_slide_frame();
        // Setup slideframe
        wppa_run_slidecontainer('single');
        // Fill in the photo and display it
    } elseif (wppa_page('slide') || wppa_page('single')) {
        // Page 'Slideshow' or 'Single' in browsemode requested
        wppa_the_slideshow();
        // Producs all the html required for the slideshow
        wppa_run_slidecontainer('slideshow');
        // Fill in the photo array and display it.
    }
    // wppa_page('slide')
    wppa_container('close');
}
function wppa_albums($id = '', $type = '', $size = '', $align = '')
{
    global $wppa_lang;
    global $wppa_locale;
    global $wpdb;
    global $thumbs;
    global $wppa_session;
    // Diagnostics
    wppa_dbg_msg('Entering wppa_albums');
    wppa_dbg_msg('Lang=' . $wppa_lang . ', Locale=' . $wppa_locale . ', Ajax=' . wppa('ajax'));
    wppa_dbg_msg('$wppa_session = ' . serialize($wppa_session));
    // List content filters
    // Data struct:	$wp_filter[$tag][$priority][$idx] = array( 'function' => $function_to_add, 'accepted_args' => $accepted_args );
    if (wppa('debug') && wppa('mocc') == '0') {
        global $wp_filter;
        wppa_dbg_msg('Start content filters', 'green');
        foreach (array_keys($wp_filter['the_content']) as $key) {
            foreach (array_keys($wp_filter['the_content'][$key]) as $key2) {
                $func = is_array($wp_filter['the_content'][$key][$key2]['function']) ? serialize($wp_filter['the_content'][$key][$key2]['function']) : $wp_filter['the_content'][$key][$key2]['function'];
                wppa_dbg_msg('Pri:' . $key . ', func: ' . $func . ', args: ' . $wp_filter['the_content'][$key][$key2]['accepted_args']);
            }
        }
        wppa_dbg_msg('End content filters', 'green');
    }
    // Process a user upload request, if any. Do it here: it may affect this occurences display
    wppa_user_upload();
    // Test for scheduled publications
    wppa_publish_scheduled();
    // First calculate the occurance
    if (wppa('ajax')) {
        if (wppa_get_get('moccur')) {
            wppa('mocc', wppa_get_get('moccur'));
            if (!is_numeric(wppa('mocc'))) {
                wp_die('Security check failure 1');
            }
        } else {
            wppa('mocc', '1');
        }
        wppa('fullsize', wppa_get_get('wppa-size', wppa_get_container_width()));
        if (wppa_get_get('occur')) {
            wppa('occur', wppa_get_get('occur'));
            if (!is_numeric(wppa('occur'))) {
                wp_die('Security check failure 2');
            }
        }
        if (wppa_get_get('woccur')) {
            wppa('widget_occur', wppa_get_get('woccur'));
            wppa('in_widget', true);
            if (!is_numeric(wppa('widget_occur'))) {
                wp_die('Security check failure 3');
            }
        }
    } else {
        wppa('mocc', wppa('mocc') + '1');
        if (wppa_in_widget()) {
            wppa('widget_occur', wppa('widget_occur') + '1');
        } else {
            wppa('occur', wppa('occur') + '1');
        }
    }
    // Set wppa( 'src' ) = true and wppa( 'searchstring' ) if this occurrance processes a search request.
    wppa_test_for_search();
    // There are 3 ways to get here:
    // in order of priority:
    // 1. The given query string applies to this invocation ( occurrance )
    //    This invocation requires the ignorance of the filter results and the interpretation of the querystring.
    if ((wppa_get_get('occur') || wppa_get_get('woccur')) && (wppa_in_widget() && wppa('widget_occur') == wppa_get_get('woccur') || !wppa_in_widget() && wppa('occur') == wppa_get_get('occur')) && !wppa('is_autopage')) {
        // Process query string
        wppa_out(wppa_dbg_msg('Querystring applied', 'brown', false, true));
        wppa('start_album', wppa_get_get('album'));
        wppa('is_cover', wppa_get_get('cover'));
        wppa('is_slide', wppa_get_get('slide') || wppa_get_get('album') !== false && wppa_get_get('photo'));
        if (wppa('is_slide')) {
            wppa('start_photo', wppa_get_get('photo'));
            // Start a slideshow here
        } else {
            wppa('single_photo', wppa_get_get('photo'));
            // Photo is the single photoid
        }
        wppa('is_single', wppa_get_get('single'));
        // Is a one image slideshow
        wppa('topten_count', wppa_force_numeric_else(wppa_get_get('topten'), wppa_opt('topten_count')));
        wppa('is_topten', wppa('topten_count') != '0');
        wppa('lasten_count', wppa_force_numeric_else(wppa_get_get('lasten'), wppa_opt('lasten_count')));
        wppa('is_lasten', wppa('lasten_count') != '0');
        wppa('comten_count', wppa_force_numeric_else(wppa_get_get('comten'), wppa_opt('comten_count')));
        wppa('is_comten', wppa('comten_count') != '0');
        wppa('featen_count', wppa_force_numeric_else(wppa_get_get('featen'), wppa_opt('featen_count')));
        wppa('is_featen', wppa('featen_count') != '0');
        wppa('albums_only', wppa_get_get('albums-only'));
        wppa('photos_only', wppa_get_get('photos-only'));
        wppa('related_count', wppa_force_numeric_else(wppa_get_get('relcount'), wppa_opt('related_count')));
        wppa('is_related', wppa_get_get('rel'));
        if (wppa('is_related') == 'tags') {
            wppa('is_tag', wppa_get_related_data());
            if (wppa('related_count') == '0') {
                wppa('related_count', wppa_opt('related_count'));
            }
        } else {
            wppa('is_tag', trim(strip_tags(wppa_get_get('tag')), ',;'));
        }
        if (wppa('is_related') == 'desc') {
            wppa('src', true);
            if (wppa('related_count') == '0') {
                wppa('related_count', wppa_opt('related_count'));
            }
            wppa('searchstring', str_replace(';', ',', wppa_get_related_data()));
            wppa('photos_only', true);
        }
        if (wppa('is_tag')) {
            wppa_dbg_msg('Is Tag: ' . wppa('is_tag'));
        } else {
            wppa_dbg_msg('Is NOT Tag');
        }
        wppa('page', wppa_get_get('page'));
        if (wppa_get_get('superview')) {
            $wppa_session['superview'] = wppa('is_slide') ? 'slide' : 'thumbs';
            $wppa_session['superalbum'] = wppa('start_album');
            wppa_save_session();
            wppa('photos_only', true);
        }
        wppa('is_upldr', wppa_get_get('upldr'));
        if (wppa('is_upldr')) {
            wppa('photos_only', true);
        }
        wppa('is_owner', wppa_get_get('owner'));
        if (wppa('is_owner')) {
            $albs = $wpdb->get_results($wpdb->prepare("SELECT * FROM `" . WPPA_ALBUMS . "` WHERE `owner` = %s ", wppa('is_owner')), ARRAY_A);
            wppa_dbg_q('Q-Main-1');
            wppa_cache_album('add', $albs);
            $id = '';
            if ($albs) {
                foreach ($albs as $alb) {
                    $id .= $alb['id'] . '.';
                }
            }
            $id = rtrim($id, '.');
            wppa('start_album', $id);
        }
        wppa('supersearch', strip_tags(wppa_get_get('supersearch')));
        $wppa_session['supersearch'] = wppa('supersearch');
        wppa_save_session();
        if (wppa('supersearch')) {
            $ss_info = explode(',', wppa('supersearch'));
            if ($ss_info['0'] == 'a') {
                wppa('albums_only', true);
            } else {
                wppa('photos_only', true);
            }
        }
        wppa('calendar', strip_tags(wppa_get_get('calendar')));
        wppa('caldate', strip_tags(wppa_get_get('caldate')));
        wppa('is_inverse', wppa_get_get('inv'));
    } elseif ($id != '' || $type != '' || $size != '' || $align != '') {
        // Do NOT Set internal defaults here, they may be set before the call
        // Interprete function args
        if ($type == 'album') {
        } elseif ($type == 'cover') {
            wppa('is_cover', true);
        } elseif ($type == 'slide') {
            wppa('is_slide', true);
        } elseif ($type == 'slideonly') {
            wppa('is_slideonly', true);
        }
        if ($type == 'photo' || $type == 'mphoto' || $type == 'slphoto') {
            // Any type of single photo? id given is photo id
            if ($id) {
                wppa('single_photo', $id);
            }
        } else {
            // Not single photo: id given is album id
            if ($id) {
                wppa('start_album', $id);
            }
        }
    } else {
        if (wppa('bestof')) {
            $args = wppa('bestof_args');
            wppa_bestof_box($args);
            $out = wppa('out');
            wppa_reset_occurrance();
            return $out;
        } elseif (wppa('is_landing') && !wppa('src')) {
            wppa_dbg_msg('Nothing to do...');
            wppa_reset_occurrance();
            return '';
            // Do nothing on a landing page without a querystring while it is also not a search operation
        } elseif (wppa('is_autopage')) {
            $photo = $wpdb->get_var($wpdb->prepare("SELECT `id` FROM `" . WPPA_PHOTOS . "` WHERE `page_id` = %d LIMIT 1", get_the_ID()));
            wppa('single_photo', $photo);
            wppa_dbg_q('Q-main-2');
            if (!wppa('single_photo')) {
                wppa_dbg_msg('No photo found for page ' . get_the_ID(), 'red', 'force');
                wppa_reset_occurrance();
                return '';
                // Give up
            }
            $type = wppa_opt('auto_page_type');
            switch ($type) {
                case 'photo':
                    break;
                case 'mphoto':
                    wppa('is_mphoto', true);
                    break;
                case 'slphoto':
                    wppa('is_slide', true);
                    wppa('start_photo', wppa('single_photo'));
                    wppa('is_single', true);
                    break;
                default:
                    wppa_dbg_msg('Unimplemented type autopage display: ' . $type, 'red', 'force');
            }
        }
    }
    // Convert any keywords and / or names to numbers
    // Search for album keyword
    if (wppa('start_album') && !wppa_is_int(wppa('start_album'))) {
        if (substr(wppa('start_album'), 0, 1) == '#') {
            // Keyword
            $keyword = wppa('start_album');
            if (strpos($keyword, ',')) {
                $keyword = substr($keyword, 0, strpos($keyword, ','));
            }
            switch ($keyword) {
                //	( substr( wppa( 'start_album'], 0, 5 ) ) {
                case '#last':
                    // Last upload
                    $id = wppa_get_youngest_album_id();
                    if (wppa('is_cover')) {
                        // To make sure the ordering sequence is ok.
                        $temp = explode(',', wppa('start_album'));
                        if (isset($temp['1'])) {
                            wppa('last_albums_parent', $temp['1']);
                        } else {
                            wppa('last_albums_parent', '0');
                        }
                        if (isset($temp['2'])) {
                            wppa('last_albums', $temp['2']);
                        } else {
                            wppa('last_albums', false);
                        }
                    } else {
                        // Ordering seq is not important, convert to album enum
                        $temp = explode(',', wppa('start_album'));
                        if (isset($temp['1'])) {
                            $parent = wppa_album_name_to_number($temp['1']);
                        } else {
                            $parent = '0';
                        }
                        if ($parent === false) {
                            return;
                        }
                        if (isset($temp['2'])) {
                            $limit = $temp['2'];
                        } else {
                            $limit = false;
                        }
                        if ($limit) {
                            if ($parent) {
                                if ($limit) {
                                    $q = $wpdb->prepare("SELECT * FROM `" . WPPA_ALBUMS . "` WHERE `a_parent` = %s ORDER BY `timestamp` DESC LIMIT %d", $parent, $limit);
                                } else {
                                    $q = $wpdb->prepare("SELECT * FROM `" . WPPA_ALBUMS . "` WHERE `a_parent` = %s ORDER BY `timestamp` DESC", $parent);
                                }
                            } else {
                                if ($limit) {
                                    $q = $wpdb->prepare("SELECT * FROM `" . WPPA_ALBUMS . "` ORDER BY `timestamp` DESC LIMIT %d", $limit);
                                } else {
                                    $q = "SELECT * FROM `" . WPPA_ALBUMS . "` ORDER BY `timestamp` DESC";
                                }
                            }
                            $albs = $wpdb->get_results($q, ARRAY_A);
                            wppa_dbg_q('Q-main-3');
                            wppa_cache_album('add', $albs);
                            if (is_array($albs)) {
                                foreach (array_keys($albs) as $key) {
                                    $albs[$key] = $albs[$key]['id'];
                                }
                            }
                            $id = implode('.', $albs);
                        }
                    }
                    break;
                case '#topten':
                    $temp = explode(',', wppa('start_album'));
                    $id = isset($temp[1]) ? $temp[1] : '0';
                    wppa('topten_count', isset($temp[2]) ? $temp[2] : wppa_opt('topten_count'));
                    wppa('is_topten', true);
                    if (wppa('is_cover')) {
                        wppa_dbg_msg('A topten album has no cover. ' . wppa('start_album'), 'red', 'force');
                        wppa_reset_occurrance();
                        return;
                        // Give up this occurence
                    }
                    break;
                case '#lasten':
                    $temp = explode(',', wppa('start_album'));
                    $id = isset($temp[1]) ? $temp[1] : '0';
                    wppa('lasten_count', isset($temp[2]) ? $temp[2] : wppa_opt('lasten_count'));
                    wppa('is_lasten', true);
                    if (wppa('is_cover')) {
                        wppa_dbg_msg('A lasten album has no cover. ' . wppa('start_album'), 'red', 'force');
                        wppa_reset_occurrance();
                        return;
                        // Give up this occurence
                    }
                    break;
                case '#comten':
                    $temp = explode(',', wppa('start_album'));
                    $id = isset($temp[1]) ? $temp[1] : '0';
                    wppa('comten_count', isset($temp[2]) ? $temp[2] : wppa_opt('comten_count'));
                    wppa('is_comten', true);
                    if (wppa('is_cover')) {
                        wppa_dbg_msg('A comten album has no cover. ' . wppa('start_album'), 'red', 'force');
                        wppa_reset_occurrance();
                        return;
                        // Give up this occurence
                    }
                    break;
                case '#featen':
                    $temp = explode(',', wppa('start_album'));
                    $id = isset($temp[1]) ? $temp[1] : '0';
                    wppa('featen_count', isset($temp[2]) ? $temp[2] : wppa_opt('featen_count'));
                    wppa('is_featen', true);
                    if (wppa('is_cover')) {
                        wppa_dbg_msg('A featen album has no cover. ' . wppa('start_album'), 'red', 'force');
                        wppa_reset_occurrance();
                        return;
                        // Give up this occurence
                    }
                    break;
                case '#related':
                    $temp = explode(',', wppa('start_album'));
                    $type = isset($temp[1]) ? $temp[1] : 'tags';
                    // tags is default type
                    wppa('related_count', isset($temp[2]) ? $temp[2] : wppa_opt('related_count'));
                    wppa('is_related', $type);
                    $data = wppa_get_related_data();
                    if ($type == 'tags') {
                        wppa('is_tag', $data);
                    }
                    if ($type == 'desc') {
                        wppa('src', true);
                        wppa('searchstring', str_replace(';', ',', $data));
                        wppa('photos_only', true);
                    }
                    wppa('photos_only', true);
                    $id = '0';
                    break;
                case '#tags':
                    wppa('is_tag', wppa_sanitize_tags(substr(wppa('start_album'), 6), true));
                    $id = '0';
                    wppa('photos_only', true);
                    break;
                case '#cat':
                    $temp = explode(',', wppa('start_album'));
                    $cat = isset($temp[1]) ? $temp[1] : '';
                    $cat = trim(wppa_sanitize_tags($cat), ',');
                    wppa('is_cat', $cat);
                    if (!$cat) {
                        wppa_dbg_msg('Missing cat #cat album spec: ' . wppa('start_album'), 'red', 'force');
                        wppa_reset_occurrance();
                        return;
                        // Forget this occurrance
                    }
                    $albs = $wpdb->get_results("SELECT * FROM `" . WPPA_ALBUMS . "`", ARRAY_A);
                    wppa_dbg_q('Q-main-4');
                    wppa_cache_album('add', $albs);
                    $id = '';
                    if ($albs) {
                        foreach ($albs as $alb) {
                            $temp = explode(',', $alb['cats']);
                            if (in_array($cat, $temp)) {
                                $id .= $alb['id'] . '.';
                            }
                        }
                    }
                    $id = rtrim($id, '.');
                    break;
                case '#owner':
                    $temp = explode(',', wppa('start_album'));
                    $owner = isset($temp[1]) ? $temp[1] : '';
                    if ($owner == '#me') {
                        if (is_user_logged_in()) {
                            $owner = wppa_get_user();
                        } else {
                            // User not logged in, ignore shortcode
                            wppa_reset_occurrance();
                            return;
                            // Forget this occurrance
                        }
                    }
                    if (!$owner) {
                        wppa_dbg_msg('Missing owner in #owner album spec: ' . wppa('start_album'), 'red', 'force');
                        wppa_reset_occurrance();
                        return;
                        // Forget this occurrance
                    }
                    $parent = isset($temp[2]) ? wppa_album_name_to_number($temp[2]) : '0';
                    if ($parent === false) {
                        return;
                    }
                    if (!$parent) {
                        $parent = '-1.0';
                    }
                    if ($parent) {
                        // Valid parent spec
                        $parent_arr = explode('.', wppa_expand_enum($parent));
                        $id = wppa_alb_to_enum_children($parent);
                        // Verify all albums are owned by $owner and are directly under a parent album
                        $id = wppa_expand_enum($id);
                        $albs = explode('.', $id);
                        if ($albs) {
                            foreach (array_keys($albs) as $idx) {
                                if (wppa_get_album_item($albs[$idx], 'owner') != $owner || !in_array(wppa_get_album_item($albs[$idx], 'a_parent'), $parent_arr)) {
                                    unset($albs[$idx]);
                                }
                            }
                        }
                        $id = implode('.', $albs);
                        if (!$id) {
                            $id = '-9';
                            // Force nothing found
                            //				wppa_reset_occurrance();
                            //				return;	// No children found
                        }
                    }
                    wppa('is_owner', $owner);
                    break;
                case '#upldr':
                    $temp = explode(',', wppa('start_album'));
                    $owner = isset($temp[1]) ? $temp[1] : '';
                    if ($owner == '#me') {
                        if (is_user_logged_in()) {
                            $owner = wppa_get_user();
                        } else {
                            // User not logged in, ignore shortcode
                            wppa_reset_occurrance();
                            return;
                            // Forget this occurrance
                        }
                    }
                    if (!$owner) {
                        wppa_dbg_msg('Missing owner in #upldr album spec: ' . wppa('start_album'), 'red', 'force');
                        wppa_reset_occurrance();
                        return;
                        // Forget this occurrance
                    }
                    $parent = isset($temp[2]) ? wppa_album_name_to_number($temp[2]) : '0';
                    if ($parent === false) {
                        return;
                    }
                    // parent specified but not a valid value
                    if ($parent) {
                        // Valid parent spec
                        $id = wppa_alb_to_enum_children(wppa_expand_enum($parent));
                        if (!$id) {
                            wppa_reset_occurrance();
                            return;
                            // No children found
                        }
                    } else {
                        // No parent spec
                        $id = '0';
                    }
                    wppa('is_upldr', $owner);
                    wppa('photos_only', true);
                    break;
                case '#all':
                    $id = '-2';
                    break;
                default:
                    wppa_dbg_msg('Unrecognized album keyword found: ' . wppa('start_album'), 'red', 'force');
                    wppa_reset_occurrance();
                    return;
                    // Forget this occurrance
            }
            wppa('start_album', $id);
        }
    }
    // See if the album id is a name and convert it if possible
    wppa('start_album', wppa_album_name_to_number(wppa('start_album')));
    if (wppa('start_album') === false) {
        wppa_reset_occurrance();
        return;
    }
    // Also for parents
    wppa('last_albums_parent', wppa_album_name_to_number(wppa('last_albums_parent')));
    if (wppa('last_albums_parent') === false) {
        wppa_reset_occurrance();
        return;
    }
    // Check if album is valid
    if (strpos(wppa('start_album'), '.') !== false) {
        // Album may be enum
        if (!wppa_series_to_array(wppa('start_album'))) {
            // Syntax error
            wppa_reset_occurrance();
            return;
        }
    } elseif (wppa('start_album') && !is_numeric(wppa('start_album'))) {
        wppa_stx_err('Unrecognized Album identification found: ' . wppa('start_album'));
        wppa_reset_occurrance();
        return;
        // Forget this occurrance
    } elseif (wppa('start_album') > '0') {
        // -2 is #all
        if (!wppa_album_exists(wppa('start_album'))) {
            wppa_stx_err('Album does not exist: ' . wppa('start_album'));
            wppa_reset_occurrance();
            return;
            // Forget this occurrance
        }
    }
    // See if the photo id is a keyword and convert it if possible
    if (wppa('single_photo') && !is_numeric(wppa('single_photo'))) {
        if (substr(wppa('single_photo'), 0, 1) == '#') {
            // Keyword
            switch (wppa('single_photo')) {
                case '#potd':
                    // Photo of the day
                    $t = wppa_get_potd();
                    if (is_array($t)) {
                        $id = $t['id'];
                    } else {
                        $id = '0';
                    }
                    break;
                case '#last':
                    // Last upload
                    $id = wppa_get_youngest_photo_id();
                    break;
                default:
                    wppa_dbg_msg('Unrecognized photo keyword found: ' . wppa('single_photo'), 'red', 'force');
                    wppa_reset_occurrance();
                    return;
                    // Forget this occurrance
            }
            wppa('single_photo', $id);
        }
    }
    // See if the photo id is a name and convert it if possible
    if (wppa('single_photo') && !is_numeric(wppa('single_photo'))) {
        if (substr(wppa('single_photo'), 0, 1) == '$') {
            // Name
            $id = wppa_get_photo_id_by_name(substr(wppa('single_photo'), 1));
            if ($id > '0') {
                wppa('single_photo', $id);
            } else {
                wppa_dbg_msg('Photo name not found: ' . wppa('single_photo'), 'red', 'force');
                wppa_reset_occurrance();
                return;
                // Forget this occurrance
            }
        }
    }
    // Size and align
    if (is_numeric($size)) {
        wppa('fullsize', $size);
    } elseif ($size == 'auto') {
        wppa('auto_colwidth', true);
    }
    if ($align == 'left' || $align == 'center' || $align == 'right') {
        wppa('align', $align);
    }
    // Empty related shortcode?
    if (wppa('is_related')) {
        $thumbs = wppa_get_thumbs();
        if (empty($thumbs)) {
            wppa_errorbox(__('No related photos found.', 'wp-photo-album-plus'));
            $result = wppa('out');
            wppa_reset_occurrance();
            // Forget this occurrance
            return $result;
        }
    }
    // Subsearch or rootsearch?
    if (wppa('occur') == '1' && $wppa_session['has_searchbox'] && !wppa('in_widget')) {
        // Is it a search now?
        if (wppa('src')) {
            // Is the subsearch box checked?
            wppa('is_subsearch', wppa_get_get('subsearch') || wppa_get_post('subsearch'));
            // Is the rootsearch box checked?
            wppa('is_rootsearch', wppa_get_get('rootsearch') || wppa_get_post('rootsearch'));
            // No rootsearch, forget previous root
            if (!wppa('is_rootsearch')) {
                $wppa_session['search_root'] = '0';
                wppa_save_session();
            }
        } else {
            // Find new potential searchroot
            if (isset($_REQUEST['wppa-searchroot'])) {
                wppa('start_album', strval(intval($_REQUEST['wppa-searchroot'])));
            }
            // Update session with new searchroot
            $wppa_session['search_root'] = wppa('start_album');
            wppa_save_session();
        }
        // Update searchroot in search boxes
        $rt = $wppa_session['search_root'];
        if (!$rt) {
            $rt = '0';
        }
        // must be non-empty string
        wppa_add('src_script', 'jQuery(document).ready(function(){wppaUpdateSearchRoot( \'' . esc_js(wppa_display_root($rt)) . '\', ' . $rt . ' )});');
        // If not search forget previous results
        if (!wppa('src')) {
            $wppa_session['use_searchstring'] = '';
            $wppa_session['display_searchstring'] = '';
            wppa_save_session();
            wppa_add('src_script', "\n" . 'jQuery(document).ready(function(){wppaClearSubsearch()});');
        } else {
            // Enable subbox
            wppa_add('src_script', 'jQuery(document).ready(function(){wppaEnableSubsearch()});');
        }
    }
    // Is it url?
    if (wppa('is_url')) {
        if (wppa_photo_exists(wppa('single_photo'))) {
            wppa_out(wppa_get_hires_url(wppa('single_photo')));
        } else {
            wppa_dbg_msg(sprintf('Photo %s not found', wppa('single_photo')), 'red', 'force');
        }
    } elseif (wppa('is_stereobox')) {
        wppa_stereo_box();
    } elseif (wppa('is_searchbox')) {
        wppa_search_box('', wppa('may_sub'), wppa('may_root'));
    } elseif (wppa('is_superviewbox')) {
        wppa_superview_box(wppa('start_album'));
    } elseif (wppa('is_multitagbox')) {
        wppa_multitag_box(wppa('tagcols'), wppa('taglist'));
    } elseif (wppa('is_tagcloudbox')) {
        wppa_tagcloud_box(wppa('taglist'), wppa_opt('tagcloud_min'), wppa_opt('tagcloud_max'));
    } elseif (wppa('is_upload')) {
        wppa_upload_box();
    } elseif (wppa('is_supersearch')) {
        wppa_supersearch_box();
    } elseif (wppa('is_mphoto') == '1') {
        if (wppa('is_autopage')) {
            wppa_auto_page_links('top');
        }
        wppa_mphoto();
        if (wppa('is_autopage')) {
            wppa_auto_page_links('bottom');
        }
    } elseif (wppa_page('oneofone')) {
        if (wppa('is_autopage')) {
            wppa_auto_page_links('top');
        }
        wppa_sphoto();
        if (wppa('is_autopage')) {
            wppa_auto_page_links('bottom');
        }
    } elseif (wppa('is_calendar')) {
        wppa_calendar_box();
    } else {
        if (function_exists('wppa_theme')) {
            if (wppa('is_autopage')) {
                wppa_auto_page_links('top');
            }
            wppa_theme();
            // Call the theme module
            if (wppa('is_autopage')) {
                wppa_auto_page_links('bottom');
            }
        } else {
            wppa_out('<span style="color:red">ERROR: Missing function wppa_theme(), check the installation of WPPA+. Remove customized wppa_theme.php</span>');
        }
        global $wppa_version;
        $expected_version = '6-3-14-000';
        if ($wppa_version != $expected_version) {
            wppa_dbg_msg('WARNING: customized wppa-theme.php is out of rev. Expected version: ' . $expected_version . ' found: ' . $wppa_version, 'red');
        }
    }
    // Done
    $out = str_replace('w#location', wppa('geo'), wppa('out'));
    // Reset
    wppa_reset_occurrance();
    return $out;
}
function wppa_numberbar($opt = '')
{
    global $wppa;
    global $wppa_opt;
    // A single image slideshow needs no navigation
    if ($wppa['is_single']) {
        return;
    }
    if (is_feed()) {
        //don't know if it works with feeds, so switch off
        return;
    }
    $do_it = false;
    if (wppa_switch('wppa_show_slideshownumbar') && !$wppa['is_slideonly']) {
        $do_it = true;
    }
    if ($wppa['numbar_on']) {
        $do_it = true;
    }
    if (!$do_it) {
        return;
    }
    // get the data
    $thumbs = wppa_get_thumbs();
    if (!$thumbs || count($thumbs) < 1) {
        return;
    }
    // get the sizes
    $size_given = is_numeric($wppa_opt['wppa_fontsize_numbar']);
    if ($size_given) {
        $size = $wppa_opt['wppa_fontsize_numbar'];
        if ($wppa['in_widget']) {
            $size /= 2;
        }
    } else {
        $size = $wppa['in_widget'] ? '9' : '12';
    }
    if ($size < '9') {
        $size = '9';
    }
    $size_2 = floor($size / 2);
    $size_4 = floor($size_2 / 2);
    $size_32 = floor($size * 3 / 2);
    // make the numbar style
    $style = 'position:absolute; bottom:' . $size . 'px; right:0; margin-right:' . $size_2 . 'px; ';
    // start the numbar
    $wppa['out'] .= wppa_nltab('+') . '<div class="wppa-numberbar" style="' . $style . '">';
    $numid = 0;
    // make the elementstyles
    $style = 'display:block; float:left; padding:0 ' . $size_4 . 'px; margin-right:' . $size_2 . 'px; font-weight:' . $wppa_opt['wppa_fontweight_numbar'] . '; ';
    if ($wppa_opt['wppa_fontfamily_numbar']) {
        $style .= ' font-family:' . $wppa_opt['wppa_fontfamily_numbar'] . ';';
    }
    if ($wppa_opt['wppa_fontcolor_numbar']) {
        $style .= ' color:' . $wppa_opt['wppa_fontcolor_numbar'] . ';';
    }
    if ($size_given) {
        $style .= ' font-size:' . $size . 'px; line-height:' . $size_32 . 'px;';
    }
    $style_active = $style;
    if ($wppa_opt['wppa_bgcolor_numbar']) {
        $style .= ' background-color:' . $wppa_opt['wppa_bgcolor_numbar'] . ';';
    }
    if ($wppa_opt['wppa_bgcolor_numbar_active']) {
        $style_active .= ' background-color:' . $wppa_opt['wppa_bgcolor_numbar_active'] . ';';
    }
    if ($wppa_opt['wppa_bcolor_numbar']) {
        $style .= ' border:1px solid ' . $wppa_opt['wppa_bcolor_numbar'] . ';';
    }
    if ($wppa_opt['wppa_bcolor_numbar_active']) {
        $style_active .= 'border:1px solid ' . $wppa_opt['wppa_bcolor_numbar_active'] . ';';
    }
    // if the number of photos is larger than a certain number, only the active ph displays a number, other are dots
    $count = count($thumbs);
    $high = $wppa_opt['wppa_numbar_max'];
    // do the numbers
    foreach ($thumbs as $tt) {
        $title = sprintf(__a('Photo %s of %s', 'wppa_theme'), $numid + '1', $count);
        $wppa['out'] .= wppa_nltab('+') . '<a id="wppa-numbar-' . $wppa['mocc'] . '-' . $numid . '" title="' . $title . '" ' . ($numid == 0 ? ' class="wppa-numbar-current" ' : '') . ' style="' . ($numid == 0 ? $style_active : $style) . '" onclick="wppaGotoKeepState(' . $wppa['mocc'] . ',' . $numid . ');return false;">';
        $wppa['out'] .= $count > $high ? wppa_nltab() . '.' : wppa_nltab() . $numid + 1;
        $wppa['out'] .= wppa_nltab('-') . '</a>';
        $numid++;
    }
    $wppa['out'] .= wppa_nltab('-') . '</div>';
}