summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/generators.c39
-rw-r--r--templates/template_picture.html3
2 files changed, 14 insertions, 28 deletions
diff --git a/src/generators.c b/src/generators.c
index cc1cc0a..a7f94cb 100644
--- a/src/generators.c
+++ b/src/generators.c
@@ -938,9 +938,10 @@ write_html_page (TGallerySetup *setup,
GHashTable *defines;
GHashTable *local_defines;
TImageSize *image_size, *thumb_image_size;
- ExifData *exif;
+ ExifData *exif, *local_exif;
res = TRUE;
+ exif = NULL;
fin = fopen (template_src, "r");
if (fin == NULL) {
@@ -970,7 +971,7 @@ write_html_page (TGallerySetup *setup,
replace_table_add_key (global_replace_table, "PAGE_TITLE", s1);
g_free (s1);
} else {
- /* Single image title is filled in by process_img_item() */
+ /* Filled below for picture page */
}
/* Simple placeholders */
@@ -1011,16 +1012,19 @@ write_html_page (TGallerySetup *setup,
thumb_image_size = lookup_image_size_for_name (setup, items->type == GALLERY_TYPE_ALBUM ? theme->album_thumb_size : theme->index_thumb_size);
}
- /* Previous and next links, next image preload */
- if (item != NULL)
+ /* Picture page tags */
+ if (item != NULL) {
add_next_prev_links (setup, path_info, theme, items, item, global_replace_table, image_size);
+ if (image_size != NULL)
+ exif = get_img_exif_data (setup, path_info, items, item, image_size);
+ process_img_item (setup, path_info, theme, items, item, block_parser, global_replace_table, defines, image_size, thumb_image_size, exif, FALSE);
+ }
/* Setup block parser */
block_parser_register_key (block_parser, "IMG_LIST", "IMG_LIST");
block_parser_register_key (block_parser, "LIST_PICTURE", NULL);
block_parser_register_key (block_parser, "LIST_SEPARATOR", NULL);
block_parser_register_key (block_parser, "LIST_INTERSPACE", NULL);
- block_parser_register_key (block_parser, "SINGLE_PICTURE", "SINGLE_PICTURE");
block_parser_register_key (block_parser, "NAV_BAR", "NAV_BAR");
block_parser_register_key (block_parser, "NAV_BAR_FIRST", NULL);
block_parser_register_key (block_parser, "NAV_BAR_ELEM", NULL);
@@ -1048,15 +1052,15 @@ write_html_page (TGallerySetup *setup,
local_replace_table = replace_table_new ();
local_defines = clone_string_hash_table (defines);
s1 = NULL;
- exif = NULL;
+ local_exif = NULL;
switch (iter_item->type) {
case INDEX_ITEM_TYPE_PICTURE:
if (! iter_item->hidden) {
s1 = block_parser_get_data (block_parser, "LIST_PICTURE");
if (image_size != NULL)
- exif = get_img_exif_data (setup, path_info, items, iter_item, image_size);
- process_img_item (setup, path_info, theme, items, iter_item, local_block_parser, local_replace_table, local_defines, image_size, thumb_image_size, exif, TRUE);
+ local_exif = get_img_exif_data (setup, path_info, items, iter_item, image_size);
+ process_img_item (setup, path_info, theme, items, iter_item, local_block_parser, local_replace_table, local_defines, image_size, thumb_image_size, local_exif, TRUE);
}
break;
@@ -1077,7 +1081,7 @@ write_html_page (TGallerySetup *setup,
g_free (s2);
g_free (s1);
}
- exif_data_free (exif);
+ exif_data_free (local_exif);
block_parser_free (local_block_parser);
replace_table_free (local_replace_table);
g_hash_table_destroy (local_defines);
@@ -1091,22 +1095,6 @@ write_html_page (TGallerySetup *setup,
block_parser_set_as_used (block_parser, "IMG_LIST");
}
- if (block_parser_has_unused_data (block_parser, "SINGLE_PICTURE")) {
- local_block_parser = block_parser_new ();
- exif = NULL;
- if (image_size != NULL)
- exif = get_img_exif_data (setup, path_info, items, item, image_size);
- process_img_item (setup, path_info, theme, items, item, local_block_parser, global_replace_table, defines, image_size, thumb_image_size, exif, FALSE);
- s1 = block_parser_get_data (block_parser, "SINGLE_PICTURE");
- s2 = process_block (setup, local_block_parser, global_replace_table, defines, s1);
- replace_table_process (&s2, global_replace_table);
- replace_table_add_key (global_replace_table, "SINGLE_PICTURE", s2);
- exif_data_free (exif);
- block_parser_free (local_block_parser);
- g_free (s1);
- g_free (s2);
- }
-
if (block_parser_has_unused_data (block_parser, "NAV_BAR")) {
s2 = item != NULL ? GET_ITEM_TARGET_FILENAME (item) : NULL;
s1 = make_navbar_string (setup, theme, block_parser, defines, items, item ? get_item_index (items, item) : -1, s2 ? s2 : items->ID);
@@ -1133,6 +1121,7 @@ write_html_page (TGallerySetup *setup,
fclose (fout);
fclose (fin);
g_free (buffer);
+ exif_data_free (exif);
g_hash_table_destroy (defines);
replace_table_free (global_replace_table);
block_parser_free (block_parser);
diff --git a/templates/template_picture.html b/templates/template_picture.html
index f7e553e..d4115d1 100644
--- a/templates/template_picture.html
+++ b/templates/template_picture.html
@@ -3,7 +3,6 @@
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head profile="http://www.w3.org/2005/10/profile">
<meta http-equiv="content-type" content="text/html; charset=UTF-8" />
-<!-- $(BEGIN_SINGLE_PICTURE) -->
<title>$(PAGE_TITLE)</title>
<!-- $(CGG_META_TAGS) -->
<!-- $(CGG_ATOM_FEED_TAGS) -->
@@ -92,8 +91,6 @@
</div>
<!-- $(endif(SHOW_EXIF_TABLE)) -->
-<!-- $(END_SINGLE_PICTURE) -->
-
<!-- ## Footnote, also acts as a bottom border -->
<div class="footnote"></div>
</div> <!-- end of master_content -->