diff options
Diffstat (limited to 'src/generators.c')
| -rw-r--r-- | src/generators.c | 14 |
1 files changed, 11 insertions, 3 deletions
diff --git a/src/generators.c b/src/generators.c index 051ee28..4f0963d 100644 --- a/src/generators.c +++ b/src/generators.c @@ -280,6 +280,7 @@ write_html_album (TGallerySetup *setup, ReplaceTable *local_replace_table; BlockParser *block_parser; TImageSize *image_size, *thumb_image_size; + GHashTable *defines; fin = fopen (template_src, "r"); @@ -296,8 +297,10 @@ write_html_album (TGallerySetup *setup, res = TRUE; - global_replace_table = replace_table_new (); + global_replace_table = replace_table_new_from_defines (theme->defines); block_parser = block_parser_new (); + defines = clone_string_hash_table (theme->defines); + block_parser_set_conditionals (block_parser, defines); /* Get number of real pictures in the list */ real_total_items = 0; @@ -460,7 +463,7 @@ write_html_album (TGallerySetup *setup, } /* Generate images (preview, original, thumbnail) */ - local_replace_table = replace_table_new (); + local_replace_table = replace_table_new_from_defines (defines); s1 = NULL; switch (item->type) { @@ -546,6 +549,7 @@ write_html_album (TGallerySetup *setup, fclose (fout); fclose (fin); + g_hash_table_destroy (defines); replace_table_free (global_replace_table); block_parser_free (block_parser); return res; @@ -600,6 +604,7 @@ write_html_image (TGallerySetup *setup, ReplaceTable *replace_table; BlockParser *block_parser; TImageSize *image_size; + GHashTable *defines; fin = fopen (template_src, "r"); @@ -620,8 +625,10 @@ write_html_image (TGallerySetup *setup, preload_imgname = NULL; res = TRUE; - replace_table = replace_table_new (); + replace_table = replace_table_new_from_defines (theme->defines); block_parser = block_parser_new (); + defines = clone_string_hash_table (theme->defines); + block_parser_set_conditionals (block_parser, defines); /* Get our index in the album */ item_index = 0; @@ -927,6 +934,7 @@ write_html_image (TGallerySetup *setup, g_free (img_orig_dst_page); g_free (imgname); g_free (preload_imgname); + g_hash_table_destroy (defines); free_exif_data (exif); replace_table_free (replace_table); block_parser_free (block_parser); |
