summaryrefslogtreecommitdiff
path: root/themes/greydragon_old
diff options
context:
space:
mode:
Diffstat (limited to 'themes/greydragon_old')
-rw-r--r--themes/greydragon_old/admin/controllers/admin_theme_options.php866
-rw-r--r--themes/greydragon_old/admin/views/admin_theme_options.html.php38
-rw-r--r--themes/greydragon_old/changelog.txt616
-rw-r--r--themes/greydragon_old/controllers/greydragon.php14
-rw-r--r--themes/greydragon_old/css/base.css321
-rw-r--r--themes/greydragon_old/css/colorpacks/blackhawk/css/colors.css170
-rw-r--r--themes/greydragon_old/css/colorpacks/blackhawk/images/ajax-loading.gifbin0 -> 4782 bytes
-rw-r--r--themes/greydragon_old/css/colorpacks/blackhawk/images/colorpack.pngbin0 -> 307 bytes
-rw-r--r--themes/greydragon_old/css/colorpacks/blackhawk/images/ico-album.pngbin0 -> 351 bytes
-rw-r--r--themes/greydragon_old/css/colorpacks/blackhawk/images/ico-error.pngbin0 -> 701 bytes
-rw-r--r--themes/greydragon_old/css/colorpacks/blackhawk/images/ico-help.pngbin0 -> 786 bytes
-rw-r--r--themes/greydragon_old/css/colorpacks/blackhawk/images/ico-info.pngbin0 -> 778 bytes
-rw-r--r--themes/greydragon_old/css/colorpacks/blackhawk/images/ico-warning.pngbin0 -> 666 bytes
-rw-r--r--themes/greydragon_old/css/colorpacks/blackhawk/images/loading-large.gifbin0 -> 8238 bytes
-rw-r--r--themes/greydragon_old/css/colorpacks/blackhawk/images/loading-small.gifbin0 -> 673 bytes
-rw-r--r--themes/greydragon_old/css/colorpacks/blackhawk/images/search.pngbin0 -> 969 bytes
-rw-r--r--themes/greydragon_old/css/colorpacks/blackhawk/images/ui-icons.pngbin0 -> 13169 bytes
-rw-r--r--themes/greydragon_old/css/colorpacks/blackhawk/images/view-calendar-b.pngbin0 -> 653 bytes
-rw-r--r--themes/greydragon_old/css/colorpacks/blackhawk/images/view-calendar.pngbin0 -> 429 bytes
-rw-r--r--themes/greydragon_old/css/colorpacks/blackhawk/images/view-comments-b.pngbin0 -> 600 bytes
-rw-r--r--themes/greydragon_old/css/colorpacks/blackhawk/images/view-comments.pngbin0 -> 492 bytes
-rw-r--r--themes/greydragon_old/css/colorpacks/blackhawk/images/view-fullsize-b.pngbin0 -> 699 bytes
-rw-r--r--themes/greydragon_old/css/colorpacks/blackhawk/images/view-fullsize.pngbin0 -> 407 bytes
-rw-r--r--themes/greydragon_old/css/colorpacks/blackhawk/images/view-info-b.pngbin0 -> 493 bytes
-rw-r--r--themes/greydragon_old/css/colorpacks/blackhawk/images/view-info-o.pngbin0 -> 259 bytes
-rw-r--r--themes/greydragon_old/css/colorpacks/blackhawk/images/view-info.pngbin0 -> 938 bytes
-rw-r--r--themes/greydragon_old/css/colorpacks/blackhawk/images/view-slideshow-b.pngbin0 -> 1179 bytes
-rw-r--r--themes/greydragon_old/css/colorpacks/carbon/css/colors.css188
-rw-r--r--themes/greydragon_old/css/colorpacks/carbon/images/ajax-loading.gifbin0 -> 4782 bytes
-rw-r--r--themes/greydragon_old/css/colorpacks/carbon/images/colorpack.pngbin0 -> 307 bytes
-rw-r--r--themes/greydragon_old/css/colorpacks/carbon/images/ico-album.pngbin0 -> 351 bytes
-rw-r--r--themes/greydragon_old/css/colorpacks/carbon/images/ico-error.pngbin0 -> 701 bytes
-rw-r--r--themes/greydragon_old/css/colorpacks/carbon/images/ico-help.pngbin0 -> 786 bytes
-rw-r--r--themes/greydragon_old/css/colorpacks/carbon/images/ico-info.pngbin0 -> 778 bytes
-rw-r--r--themes/greydragon_old/css/colorpacks/carbon/images/ico-warning.pngbin0 -> 666 bytes
-rw-r--r--themes/greydragon_old/css/colorpacks/carbon/images/loading-large.gifbin0 -> 8238 bytes
-rw-r--r--themes/greydragon_old/css/colorpacks/carbon/images/loading-small.gifbin0 -> 673 bytes
-rw-r--r--themes/greydragon_old/css/colorpacks/carbon/images/search.pngbin0 -> 969 bytes
-rw-r--r--themes/greydragon_old/css/colorpacks/carbon/images/section.pngbin0 -> 192 bytes
-rw-r--r--themes/greydragon_old/css/colorpacks/carbon/images/ui-icons.pngbin0 -> 13162 bytes
-rw-r--r--themes/greydragon_old/css/colorpacks/carbon/images/view-calendar-b.pngbin0 -> 653 bytes
-rw-r--r--themes/greydragon_old/css/colorpacks/carbon/images/view-calendar.pngbin0 -> 429 bytes
-rw-r--r--themes/greydragon_old/css/colorpacks/carbon/images/view-comments-b.pngbin0 -> 600 bytes
-rw-r--r--themes/greydragon_old/css/colorpacks/carbon/images/view-comments.pngbin0 -> 492 bytes
-rw-r--r--themes/greydragon_old/css/colorpacks/carbon/images/view-fullsize-b.pngbin0 -> 699 bytes
-rw-r--r--themes/greydragon_old/css/colorpacks/carbon/images/view-fullsize.pngbin0 -> 407 bytes
-rw-r--r--themes/greydragon_old/css/colorpacks/carbon/images/view-info-b.pngbin0 -> 493 bytes
-rw-r--r--themes/greydragon_old/css/colorpacks/carbon/images/view-info-o.pngbin0 -> 259 bytes
-rw-r--r--themes/greydragon_old/css/colorpacks/carbon/images/view-info.pngbin0 -> 938 bytes
-rw-r--r--themes/greydragon_old/css/colorpacks/carbon/images/view-slideshow-b.pngbin0 -> 1179 bytes
-rw-r--r--themes/greydragon_old/css/colorpacks/greydragon/css/colors.css174
-rw-r--r--themes/greydragon_old/css/colorpacks/greydragon/images/ajax-loading.gifbin0 -> 4782 bytes
-rw-r--r--themes/greydragon_old/css/colorpacks/greydragon/images/background-bottom.gifbin0 -> 1040 bytes
-rw-r--r--themes/greydragon_old/css/colorpacks/greydragon/images/background-top.gifbin0 -> 862 bytes
-rw-r--r--themes/greydragon_old/css/colorpacks/greydragon/images/background.gifbin0 -> 1098 bytes
-rw-r--r--themes/greydragon_old/css/colorpacks/greydragon/images/colorpack.pngbin0 -> 414 bytes
-rw-r--r--themes/greydragon_old/css/colorpacks/greydragon/images/footer.pngbin0 -> 376 bytes
-rw-r--r--themes/greydragon_old/css/colorpacks/greydragon/images/ico-album.pngbin0 -> 351 bytes
-rw-r--r--themes/greydragon_old/css/colorpacks/greydragon/images/ico-error.pngbin0 -> 701 bytes
-rw-r--r--themes/greydragon_old/css/colorpacks/greydragon/images/ico-help.pngbin0 -> 786 bytes
-rw-r--r--themes/greydragon_old/css/colorpacks/greydragon/images/ico-info.pngbin0 -> 778 bytes
-rw-r--r--themes/greydragon_old/css/colorpacks/greydragon/images/ico-warning.pngbin0 -> 666 bytes
-rw-r--r--themes/greydragon_old/css/colorpacks/greydragon/images/image-thumb.gifbin0 -> 830 bytes
-rw-r--r--themes/greydragon_old/css/colorpacks/greydragon/images/loading-large.gifbin0 -> 8238 bytes
-rw-r--r--themes/greydragon_old/css/colorpacks/greydragon/images/loading-small.gifbin0 -> 673 bytes
-rw-r--r--themes/greydragon_old/css/colorpacks/greydragon/images/search.pngbin0 -> 969 bytes
-rw-r--r--themes/greydragon_old/css/colorpacks/greydragon/images/section.pngbin0 -> 192 bytes
-rw-r--r--themes/greydragon_old/css/colorpacks/greydragon/images/ui-icons.pngbin0 -> 13160 bytes
-rw-r--r--themes/greydragon_old/css/colorpacks/greydragon/images/view-calendar-b.pngbin0 -> 653 bytes
-rw-r--r--themes/greydragon_old/css/colorpacks/greydragon/images/view-calendar.pngbin0 -> 429 bytes
-rw-r--r--themes/greydragon_old/css/colorpacks/greydragon/images/view-comments-b.pngbin0 -> 600 bytes
-rw-r--r--themes/greydragon_old/css/colorpacks/greydragon/images/view-comments.pngbin0 -> 492 bytes
-rw-r--r--themes/greydragon_old/css/colorpacks/greydragon/images/view-fullsize-b.pngbin0 -> 699 bytes
-rw-r--r--themes/greydragon_old/css/colorpacks/greydragon/images/view-fullsize.pngbin0 -> 407 bytes
-rw-r--r--themes/greydragon_old/css/colorpacks/greydragon/images/view-info-b.pngbin0 -> 493 bytes
-rw-r--r--themes/greydragon_old/css/colorpacks/greydragon/images/view-info-o.pngbin0 -> 259 bytes
-rw-r--r--themes/greydragon_old/css/colorpacks/greydragon/images/view-info.pngbin0 -> 938 bytes
-rw-r--r--themes/greydragon_old/css/colorpacks/greydragon/images/view-slideshow-b.pngbin0 -> 1179 bytes
-rw-r--r--themes/greydragon_old/css/colorpacks/roundrobin/css/colors.css193
-rw-r--r--themes/greydragon_old/css/colorpacks/roundrobin/images/ajax-loading.gifbin0 -> 2545 bytes
-rw-r--r--themes/greydragon_old/css/colorpacks/roundrobin/images/bg-body.jpgbin0 -> 13916 bytes
-rw-r--r--themes/greydragon_old/css/colorpacks/roundrobin/images/bg-header.jpgbin0 -> 13609 bytes
-rw-r--r--themes/greydragon_old/css/colorpacks/roundrobin/images/colorpack.pngbin0 -> 475 bytes
-rw-r--r--themes/greydragon_old/css/colorpacks/roundrobin/images/gallery.pngbin0 -> 553 bytes
-rw-r--r--themes/greydragon_old/css/colorpacks/roundrobin/images/ico-album.pngbin0 -> 351 bytes
-rw-r--r--themes/greydragon_old/css/colorpacks/roundrobin/images/ico-error.pngbin0 -> 701 bytes
-rw-r--r--themes/greydragon_old/css/colorpacks/roundrobin/images/ico-help.pngbin0 -> 786 bytes
-rw-r--r--themes/greydragon_old/css/colorpacks/roundrobin/images/ico-info.pngbin0 -> 778 bytes
-rw-r--r--themes/greydragon_old/css/colorpacks/roundrobin/images/ico-warning.pngbin0 -> 666 bytes
-rw-r--r--themes/greydragon_old/css/colorpacks/roundrobin/images/loading-large.gifbin0 -> 8238 bytes
-rw-r--r--themes/greydragon_old/css/colorpacks/roundrobin/images/loading-small.gifbin0 -> 673 bytes
-rw-r--r--themes/greydragon_old/css/colorpacks/roundrobin/images/search.pngbin0 -> 550 bytes
-rw-r--r--themes/greydragon_old/css/colorpacks/roundrobin/images/ui-icons.pngbin0 -> 14168 bytes
-rw-r--r--themes/greydragon_old/css/colorpacks/roundrobin/images/view-calendar-b.pngbin0 -> 891 bytes
-rw-r--r--themes/greydragon_old/css/colorpacks/roundrobin/images/view-calendar.pngbin0 -> 260 bytes
-rw-r--r--themes/greydragon_old/css/colorpacks/roundrobin/images/view-comments-b.pngbin0 -> 600 bytes
-rw-r--r--themes/greydragon_old/css/colorpacks/roundrobin/images/view-comments.pngbin0 -> 298 bytes
-rw-r--r--themes/greydragon_old/css/colorpacks/roundrobin/images/view-fullsize-b.pngbin0 -> 670 bytes
-rw-r--r--themes/greydragon_old/css/colorpacks/roundrobin/images/view-fullsize.pngbin0 -> 275 bytes
-rw-r--r--themes/greydragon_old/css/colorpacks/roundrobin/images/view-info-b.pngbin0 -> 698 bytes
-rw-r--r--themes/greydragon_old/css/colorpacks/roundrobin/images/view-info-o.pngbin0 -> 259 bytes
-rw-r--r--themes/greydragon_old/css/colorpacks/roundrobin/images/view-info.pngbin0 -> 286 bytes
-rw-r--r--themes/greydragon_old/css/colorpacks/roundrobin/images/view-slideshow-b.pngbin0 -> 1179 bytes
-rw-r--r--themes/greydragon_old/css/colorpacks/slateblue/css/colors.css177
-rw-r--r--themes/greydragon_old/css/colorpacks/slateblue/images/ajax-loading.gifbin0 -> 4782 bytes
-rw-r--r--themes/greydragon_old/css/colorpacks/slateblue/images/background.jpgbin0 -> 907 bytes
-rw-r--r--themes/greydragon_old/css/colorpacks/slateblue/images/colorpack.pngbin0 -> 414 bytes
-rw-r--r--themes/greydragon_old/css/colorpacks/slateblue/images/footer.pngbin0 -> 376 bytes
-rw-r--r--themes/greydragon_old/css/colorpacks/slateblue/images/ico-album.pngbin0 -> 351 bytes
-rw-r--r--themes/greydragon_old/css/colorpacks/slateblue/images/ico-error.pngbin0 -> 701 bytes
-rw-r--r--themes/greydragon_old/css/colorpacks/slateblue/images/ico-help.pngbin0 -> 786 bytes
-rw-r--r--themes/greydragon_old/css/colorpacks/slateblue/images/ico-info.pngbin0 -> 778 bytes
-rw-r--r--themes/greydragon_old/css/colorpacks/slateblue/images/ico-warning.pngbin0 -> 666 bytes
-rw-r--r--themes/greydragon_old/css/colorpacks/slateblue/images/loading-large.gifbin0 -> 8238 bytes
-rw-r--r--themes/greydragon_old/css/colorpacks/slateblue/images/loading-small.gifbin0 -> 673 bytes
-rw-r--r--themes/greydragon_old/css/colorpacks/slateblue/images/search.pngbin0 -> 969 bytes
-rw-r--r--themes/greydragon_old/css/colorpacks/slateblue/images/section.pngbin0 -> 192 bytes
-rw-r--r--themes/greydragon_old/css/colorpacks/slateblue/images/ui-icons.pngbin0 -> 13160 bytes
-rw-r--r--themes/greydragon_old/css/colorpacks/slateblue/images/view-calendar-b.pngbin0 -> 653 bytes
-rw-r--r--themes/greydragon_old/css/colorpacks/slateblue/images/view-calendar.pngbin0 -> 429 bytes
-rw-r--r--themes/greydragon_old/css/colorpacks/slateblue/images/view-comments-b.pngbin0 -> 600 bytes
-rw-r--r--themes/greydragon_old/css/colorpacks/slateblue/images/view-comments.pngbin0 -> 492 bytes
-rw-r--r--themes/greydragon_old/css/colorpacks/slateblue/images/view-fullsize-b.pngbin0 -> 699 bytes
-rw-r--r--themes/greydragon_old/css/colorpacks/slateblue/images/view-fullsize.pngbin0 -> 407 bytes
-rw-r--r--themes/greydragon_old/css/colorpacks/slateblue/images/view-info-b.pngbin0 -> 493 bytes
-rw-r--r--themes/greydragon_old/css/colorpacks/slateblue/images/view-info-o.pngbin0 -> 259 bytes
-rw-r--r--themes/greydragon_old/css/colorpacks/slateblue/images/view-info.pngbin0 -> 938 bytes
-rw-r--r--themes/greydragon_old/css/colorpacks/slateblue/images/view-slideshow-b.pngbin0 -> 1179 bytes
-rw-r--r--themes/greydragon_old/css/colorpacks/whitehawk/css/colors.css174
-rw-r--r--themes/greydragon_old/css/colorpacks/whitehawk/images/ajax-loading.gifbin0 -> 2545 bytes
-rw-r--r--themes/greydragon_old/css/colorpacks/whitehawk/images/colorpack.pngbin0 -> 417 bytes
-rw-r--r--themes/greydragon_old/css/colorpacks/whitehawk/images/gallery.pngbin0 -> 1383 bytes
-rw-r--r--themes/greydragon_old/css/colorpacks/whitehawk/images/ico-album.pngbin0 -> 351 bytes
-rw-r--r--themes/greydragon_old/css/colorpacks/whitehawk/images/ico-error.pngbin0 -> 701 bytes
-rw-r--r--themes/greydragon_old/css/colorpacks/whitehawk/images/ico-help.pngbin0 -> 786 bytes
-rw-r--r--themes/greydragon_old/css/colorpacks/whitehawk/images/ico-info.pngbin0 -> 778 bytes
-rw-r--r--themes/greydragon_old/css/colorpacks/whitehawk/images/ico-warning.pngbin0 -> 666 bytes
-rw-r--r--themes/greydragon_old/css/colorpacks/whitehawk/images/loading-large.gifbin0 -> 8238 bytes
-rw-r--r--themes/greydragon_old/css/colorpacks/whitehawk/images/loading-small.gifbin0 -> 673 bytes
-rw-r--r--themes/greydragon_old/css/colorpacks/whitehawk/images/search.pngbin0 -> 571 bytes
-rw-r--r--themes/greydragon_old/css/colorpacks/whitehawk/images/ui-icons.pngbin0 -> 9914 bytes
-rw-r--r--themes/greydragon_old/css/colorpacks/whitehawk/images/view-calendar-b.pngbin0 -> 891 bytes
-rw-r--r--themes/greydragon_old/css/colorpacks/whitehawk/images/view-calendar.pngbin0 -> 260 bytes
-rw-r--r--themes/greydragon_old/css/colorpacks/whitehawk/images/view-comments-b.pngbin0 -> 600 bytes
-rw-r--r--themes/greydragon_old/css/colorpacks/whitehawk/images/view-comments.pngbin0 -> 298 bytes
-rw-r--r--themes/greydragon_old/css/colorpacks/whitehawk/images/view-fullsize-b.pngbin0 -> 670 bytes
-rw-r--r--themes/greydragon_old/css/colorpacks/whitehawk/images/view-fullsize.pngbin0 -> 275 bytes
-rw-r--r--themes/greydragon_old/css/colorpacks/whitehawk/images/view-info-b.pngbin0 -> 698 bytes
-rw-r--r--themes/greydragon_old/css/colorpacks/whitehawk/images/view-info-o.pngbin0 -> 259 bytes
-rw-r--r--themes/greydragon_old/css/colorpacks/whitehawk/images/view-info.pngbin0 -> 286 bytes
-rw-r--r--themes/greydragon_old/css/colorpacks/whitehawk/images/view-slideshow-b.pngbin0 -> 1179 bytes
-rw-r--r--themes/greydragon_old/css/colorpacks/wind/css/colors.css176
-rw-r--r--themes/greydragon_old/css/colorpacks/wind/images/ajax-loading.gifbin0 -> 2545 bytes
-rw-r--r--themes/greydragon_old/css/colorpacks/wind/images/colorpack.pngbin0 -> 397 bytes
-rw-r--r--themes/greydragon_old/css/colorpacks/wind/images/ico-album.pngbin0 -> 351 bytes
-rw-r--r--themes/greydragon_old/css/colorpacks/wind/images/ico-error.pngbin0 -> 701 bytes
-rw-r--r--themes/greydragon_old/css/colorpacks/wind/images/ico-help.pngbin0 -> 786 bytes
-rw-r--r--themes/greydragon_old/css/colorpacks/wind/images/ico-info.pngbin0 -> 778 bytes
-rw-r--r--themes/greydragon_old/css/colorpacks/wind/images/ico-view-fullsize.pngbin0 -> 1207 bytes
-rw-r--r--themes/greydragon_old/css/colorpacks/wind/images/ico-view-slideshow-rtl.pngbin0 -> 1013 bytes
-rw-r--r--themes/greydragon_old/css/colorpacks/wind/images/ico-view-slideshow.pngbin0 -> 854 bytes
-rw-r--r--themes/greydragon_old/css/colorpacks/wind/images/ico-warning.pngbin0 -> 666 bytes
-rw-r--r--themes/greydragon_old/css/colorpacks/wind/images/loading-large.gifbin0 -> 8238 bytes
-rw-r--r--themes/greydragon_old/css/colorpacks/wind/images/loading-small.gifbin0 -> 673 bytes
-rw-r--r--themes/greydragon_old/css/colorpacks/wind/images/section.pngbin0 -> 314 bytes
-rw-r--r--themes/greydragon_old/css/colorpacks/wind/images/ui-icons.pngbin0 -> 10682 bytes
-rw-r--r--themes/greydragon_old/css/colorpacks/wind/images/view-calendar.pngbin0 -> 637 bytes
-rw-r--r--themes/greydragon_old/css/colorpacks/wind/images/view-comments-b.pngbin0 -> 892 bytes
-rw-r--r--themes/greydragon_old/css/colorpacks/wind/images/view-comments.pngbin0 -> 347 bytes
-rw-r--r--themes/greydragon_old/css/colorpacks/wind/images/view-fullsize.pngbin0 -> 365 bytes
-rw-r--r--themes/greydragon_old/css/colorpacks/wind/images/view-info-b.pngbin0 -> 698 bytes
-rw-r--r--themes/greydragon_old/css/colorpacks/wind/images/view-info-o.pngbin0 -> 259 bytes
-rw-r--r--themes/greydragon_old/css/colorpacks/wind/images/view-info.pngbin0 -> 383 bytes
-rw-r--r--themes/greydragon_old/css/colorpacks/wind/images/view-slideshow-b.pngbin0 -> 1179 bytes
-rw-r--r--themes/greydragon_old/css/custom.css2
-rw-r--r--themes/greydragon_old/css/forms.css113
-rw-r--r--themes/greydragon_old/css/framepacks/android/css/frame.css32
-rw-r--r--themes/greydragon_old/css/framepacks/android/images/thumb-dgt-e.pngbin0 -> 1482 bytes
-rw-r--r--themes/greydragon_old/css/framepacks/android/images/thumb-dgt-eext.pngbin0 -> 1939 bytes
-rw-r--r--themes/greydragon_old/css/framepacks/android/images/thumb-dgt-ext.pngbin0 -> 1791 bytes
-rw-r--r--themes/greydragon_old/css/framepacks/android/images/thumb-dgt.pngbin0 -> 1447 bytes
-rw-r--r--themes/greydragon_old/css/framepacks/android/images/thumb-flm-e.pngbin0 -> 1443 bytes
-rw-r--r--themes/greydragon_old/css/framepacks/android/images/thumb-flm-eext.pngbin0 -> 1796 bytes
-rw-r--r--themes/greydragon_old/css/framepacks/android/images/thumb-flm-ext.pngbin0 -> 1737 bytes
-rw-r--r--themes/greydragon_old/css/framepacks/android/images/thumb-flm.pngbin0 -> 1413 bytes
-rw-r--r--themes/greydragon_old/css/framepacks/android/images/thumb-sqr-e.pngbin0 -> 1579 bytes
-rw-r--r--themes/greydragon_old/css/framepacks/android/images/thumb-sqr-eext.pngbin0 -> 1916 bytes
-rw-r--r--themes/greydragon_old/css/framepacks/android/images/thumb-sqr-ext.pngbin0 -> 1900 bytes
-rw-r--r--themes/greydragon_old/css/framepacks/android/images/thumb-sqr.pngbin0 -> 1544 bytes
-rw-r--r--themes/greydragon_old/css/framepacks/android/images/thumb-wd-e.pngbin0 -> 1428 bytes
-rw-r--r--themes/greydragon_old/css/framepacks/android/images/thumb-wd-eext.pngbin0 -> 1720 bytes
-rw-r--r--themes/greydragon_old/css/framepacks/android/images/thumb-wd-ext.pngbin0 -> 1659 bytes
-rw-r--r--themes/greydragon_old/css/framepacks/android/images/thumb-wd.pngbin0 -> 1379 bytes
-rw-r--r--themes/greydragon_old/css/framepacks/book/css/frame.css59
-rw-r--r--themes/greydragon_old/css/framepacks/book/images/a-thumb-dgt-e.pngbin0 -> 1130 bytes
-rw-r--r--themes/greydragon_old/css/framepacks/book/images/a-thumb-dgt-eext.pngbin0 -> 1579 bytes
-rw-r--r--themes/greydragon_old/css/framepacks/book/images/a-thumb-dgt-ext.pngbin0 -> 1513 bytes
-rw-r--r--themes/greydragon_old/css/framepacks/book/images/a-thumb-dgt.pngbin0 -> 1062 bytes
-rw-r--r--themes/greydragon_old/css/framepacks/book/images/a-thumb-flm-e.pngbin0 -> 1105 bytes
-rw-r--r--themes/greydragon_old/css/framepacks/book/images/a-thumb-flm-eext.pngbin0 -> 1478 bytes
-rw-r--r--themes/greydragon_old/css/framepacks/book/images/a-thumb-flm-ext.pngbin0 -> 1300 bytes
-rw-r--r--themes/greydragon_old/css/framepacks/book/images/a-thumb-flm.pngbin0 -> 1030 bytes
-rw-r--r--themes/greydragon_old/css/framepacks/book/images/a-thumb-sqr-e.pngbin0 -> 1283 bytes
-rw-r--r--themes/greydragon_old/css/framepacks/book/images/a-thumb-sqr-eext.pngbin0 -> 1863 bytes
-rw-r--r--themes/greydragon_old/css/framepacks/book/images/a-thumb-sqr-ext.pngbin0 -> 1733 bytes
-rw-r--r--themes/greydragon_old/css/framepacks/book/images/a-thumb-sqr.pngbin0 -> 1225 bytes
-rw-r--r--themes/greydragon_old/css/framepacks/book/images/a-thumb-wd-e.pngbin0 -> 1073 bytes
-rw-r--r--themes/greydragon_old/css/framepacks/book/images/a-thumb-wd-eext.pngbin0 -> 1371 bytes
-rw-r--r--themes/greydragon_old/css/framepacks/book/images/a-thumb-wd-ext.pngbin0 -> 1265 bytes
-rw-r--r--themes/greydragon_old/css/framepacks/book/images/a-thumb-wd.pngbin0 -> 991 bytes
-rw-r--r--themes/greydragon_old/css/framepacks/book/images/thumb-dgt-e.pngbin0 -> 619 bytes
-rw-r--r--themes/greydragon_old/css/framepacks/book/images/thumb-dgt-eext.pngbin0 -> 802 bytes
-rw-r--r--themes/greydragon_old/css/framepacks/book/images/thumb-dgt-ext.pngbin0 -> 773 bytes
-rw-r--r--themes/greydragon_old/css/framepacks/book/images/thumb-dgt.pngbin0 -> 575 bytes
-rw-r--r--themes/greydragon_old/css/framepacks/book/images/thumb-flm-e.pngbin0 -> 613 bytes
-rw-r--r--themes/greydragon_old/css/framepacks/book/images/thumb-flm-eext.pngbin0 -> 783 bytes
-rw-r--r--themes/greydragon_old/css/framepacks/book/images/thumb-flm-ext.pngbin0 -> 625 bytes
-rw-r--r--themes/greydragon_old/css/framepacks/book/images/thumb-flm.pngbin0 -> 587 bytes
-rw-r--r--themes/greydragon_old/css/framepacks/book/images/thumb-sqr-e.pngbin0 -> 676 bytes
-rw-r--r--themes/greydragon_old/css/framepacks/book/images/thumb-sqr-eext.pngbin0 -> 902 bytes
-rw-r--r--themes/greydragon_old/css/framepacks/book/images/thumb-sqr-ext.pngbin0 -> 864 bytes
-rw-r--r--themes/greydragon_old/css/framepacks/book/images/thumb-sqr.pngbin0 -> 648 bytes
-rw-r--r--themes/greydragon_old/css/framepacks/book/images/thumb-wd-e.pngbin0 -> 600 bytes
-rw-r--r--themes/greydragon_old/css/framepacks/book/images/thumb-wd-eext.pngbin0 -> 727 bytes
-rw-r--r--themes/greydragon_old/css/framepacks/book/images/thumb-wd-ext.pngbin0 -> 695 bytes
-rw-r--r--themes/greydragon_old/css/framepacks/book/images/thumb-wd.pngbin0 -> 575 bytes
-rw-r--r--themes/greydragon_old/css/framepacks/darkglass/css/frame.css32
-rw-r--r--themes/greydragon_old/css/framepacks/darkglass/images/thumb-dgt-e.pngbin0 -> 1876 bytes
-rw-r--r--themes/greydragon_old/css/framepacks/darkglass/images/thumb-dgt-eext.pngbin0 -> 2132 bytes
-rw-r--r--themes/greydragon_old/css/framepacks/darkglass/images/thumb-dgt-ext.pngbin0 -> 2097 bytes
-rw-r--r--themes/greydragon_old/css/framepacks/darkglass/images/thumb-dgt.pngbin0 -> 1873 bytes
-rw-r--r--themes/greydragon_old/css/framepacks/darkglass/images/thumb-flm-e.pngbin0 -> 1814 bytes
-rw-r--r--themes/greydragon_old/css/framepacks/darkglass/images/thumb-flm-eext.pngbin0 -> 2092 bytes
-rw-r--r--themes/greydragon_old/css/framepacks/darkglass/images/thumb-flm-ext.pngbin0 -> 2048 bytes
-rw-r--r--themes/greydragon_old/css/framepacks/darkglass/images/thumb-flm.pngbin0 -> 1811 bytes
-rw-r--r--themes/greydragon_old/css/framepacks/darkglass/images/thumb-sqr-e.pngbin0 -> 1896 bytes
-rw-r--r--themes/greydragon_old/css/framepacks/darkglass/images/thumb-sqr-eext.pngbin0 -> 2220 bytes
-rw-r--r--themes/greydragon_old/css/framepacks/darkglass/images/thumb-sqr-ext.pngbin0 -> 2187 bytes
-rw-r--r--themes/greydragon_old/css/framepacks/darkglass/images/thumb-sqr.pngbin0 -> 3675 bytes
-rw-r--r--themes/greydragon_old/css/framepacks/darkglass/images/thumb-wd-e.pngbin0 -> 1787 bytes
-rw-r--r--themes/greydragon_old/css/framepacks/darkglass/images/thumb-wd-eext.pngbin0 -> 2051 bytes
-rw-r--r--themes/greydragon_old/css/framepacks/darkglass/images/thumb-wd-ext.pngbin0 -> 2006 bytes
-rw-r--r--themes/greydragon_old/css/framepacks/darkglass/images/thumb-wd.pngbin0 -> 1767 bytes
-rw-r--r--themes/greydragon_old/css/framepacks/greydragon/css/frame.css40
-rw-r--r--themes/greydragon_old/css/framepacks/iphone/css/frame.css31
-rw-r--r--themes/greydragon_old/css/framepacks/iphone/images/thumb-dgt-e.pngbin0 -> 2923 bytes
-rw-r--r--themes/greydragon_old/css/framepacks/iphone/images/thumb-dgt-eext.pngbin0 -> 3544 bytes
-rw-r--r--themes/greydragon_old/css/framepacks/iphone/images/thumb-dgt-ext.pngbin0 -> 3449 bytes
-rw-r--r--themes/greydragon_old/css/framepacks/iphone/images/thumb-dgt.pngbin0 -> 2813 bytes
-rw-r--r--themes/greydragon_old/css/framepacks/iphone/images/thumb-flm-e.pngbin0 -> 2734 bytes
-rw-r--r--themes/greydragon_old/css/framepacks/iphone/images/thumb-flm-eext.pngbin0 -> 3414 bytes
-rw-r--r--themes/greydragon_old/css/framepacks/iphone/images/thumb-flm-ext.pngbin0 -> 3272 bytes
-rw-r--r--themes/greydragon_old/css/framepacks/iphone/images/thumb-flm.pngbin0 -> 2612 bytes
-rw-r--r--themes/greydragon_old/css/framepacks/iphone/images/thumb-sqr-e.pngbin0 -> 2848 bytes
-rw-r--r--themes/greydragon_old/css/framepacks/iphone/images/thumb-sqr-eext.pngbin0 -> 3930 bytes
-rw-r--r--themes/greydragon_old/css/framepacks/iphone/images/thumb-sqr-ext.pngbin0 -> 3850 bytes
-rw-r--r--themes/greydragon_old/css/framepacks/iphone/images/thumb-sqr.pngbin0 -> 2759 bytes
-rw-r--r--themes/greydragon_old/css/framepacks/iphone/images/thumb-wd-e.pngbin0 -> 2769 bytes
-rw-r--r--themes/greydragon_old/css/framepacks/iphone/images/thumb-wd-eext.pngbin0 -> 3108 bytes
-rw-r--r--themes/greydragon_old/css/framepacks/iphone/images/thumb-wd-ext.pngbin0 -> 3012 bytes
-rw-r--r--themes/greydragon_old/css/framepacks/iphone/images/thumb-wd.pngbin0 -> 2676 bytes
-rw-r--r--themes/greydragon_old/css/framepacks/iphoto/css/frame.css31
-rw-r--r--themes/greydragon_old/css/framepacks/iphoto/images/thumb-dgt-e.pngbin0 -> 1093 bytes
-rw-r--r--themes/greydragon_old/css/framepacks/iphoto/images/thumb-dgt-eext.pngbin0 -> 1294 bytes
-rw-r--r--themes/greydragon_old/css/framepacks/iphoto/images/thumb-dgt-ext.pngbin0 -> 1251 bytes
-rw-r--r--themes/greydragon_old/css/framepacks/iphoto/images/thumb-dgt.pngbin0 -> 1065 bytes
-rw-r--r--themes/greydragon_old/css/framepacks/iphoto/images/thumb-flm-e.pngbin0 -> 1071 bytes
-rw-r--r--themes/greydragon_old/css/framepacks/iphoto/images/thumb-flm-eext.pngbin0 -> 1258 bytes
-rw-r--r--themes/greydragon_old/css/framepacks/iphoto/images/thumb-flm-ext.pngbin0 -> 1218 bytes
-rw-r--r--themes/greydragon_old/css/framepacks/iphoto/images/thumb-flm.pngbin0 -> 1045 bytes
-rw-r--r--themes/greydragon_old/css/framepacks/iphoto/images/thumb-sqr-e.pngbin0 -> 1141 bytes
-rw-r--r--themes/greydragon_old/css/framepacks/iphoto/images/thumb-sqr-eext.pngbin0 -> 1382 bytes
-rw-r--r--themes/greydragon_old/css/framepacks/iphoto/images/thumb-sqr-ext.pngbin0 -> 1342 bytes
-rw-r--r--themes/greydragon_old/css/framepacks/iphoto/images/thumb-sqr.pngbin0 -> 1110 bytes
-rw-r--r--themes/greydragon_old/css/framepacks/iphoto/images/thumb-wd-e.pngbin0 -> 1056 bytes
-rw-r--r--themes/greydragon_old/css/framepacks/iphoto/images/thumb-wd-eext.pngbin0 -> 1209 bytes
-rw-r--r--themes/greydragon_old/css/framepacks/iphoto/images/thumb-wd-ext.pngbin0 -> 1168 bytes
-rw-r--r--themes/greydragon_old/css/framepacks/iphoto/images/thumb-wd.pngbin0 -> 1015 bytes
-rw-r--r--themes/greydragon_old/css/framepacks/iphoto/views/frame.html.php5
-rw-r--r--themes/greydragon_old/css/framepacks/panel/css/frame.css35
-rw-r--r--themes/greydragon_old/css/framepacks/roundcorners/css/frame.css42
-rw-r--r--themes/greydragon_old/css/framepacks/simple/css/frame.css33
-rw-r--r--themes/greydragon_old/css/framepacks/wall/css/frame.css46
-rw-r--r--themes/greydragon_old/css/gd_common.css59
-rw-r--r--themes/greydragon_old/css/ipad.css20
-rw-r--r--themes/greydragon_old/css/layout.css67
-rw-r--r--themes/greydragon_old/css/menus.css58
-rw-r--r--themes/greydragon_old/css/modules.css164
-rw-r--r--themes/greydragon_old/css/normalize.css431
-rw-r--r--themes/greydragon_old/css/rtl.css47
-rw-r--r--themes/greydragon_old/css/screen.css17
-rw-r--r--themes/greydragon_old/helpers/exif_event.php45
-rw-r--r--themes/greydragon_old/helpers/greydragon_event.php92
-rw-r--r--themes/greydragon_old/helpers/greydragon_installer.php30
-rw-r--r--themes/greydragon_old/helpers/greydragon_theme.php20
-rw-r--r--themes/greydragon_old/images/apple-touch-icon.pngbin0 -> 9420 bytes
-rw-r--r--themes/greydragon_old/images/arrows_left.pngbin0 -> 1895 bytes
-rw-r--r--themes/greydragon_old/images/arrows_right.pngbin0 -> 1826 bytes
-rw-r--r--themes/greydragon_old/images/avatar.jpgbin0 -> 1442 bytes
-rw-r--r--themes/greydragon_old/images/blue-grad.pngbin0 -> 337 bytes
-rw-r--r--themes/greydragon_old/images/button-grad-active-vs.pngbin0 -> 152 bytes
-rw-r--r--themes/greydragon_old/images/button-grad-vs.pngbin0 -> 155 bytes
-rw-r--r--themes/greydragon_old/images/close.pngbin0 -> 564 bytes
-rw-r--r--themes/greydragon_old/images/donate.pngbin0 -> 399 bytes
-rw-r--r--themes/greydragon_old/images/gallery.pngbin0 -> 627 bytes
-rw-r--r--themes/greydragon_old/images/ico-allowed.pngbin0 -> 715 bytes
-rw-r--r--themes/greydragon_old/images/ico-denied-inactive.pngbin0 -> 604 bytes
-rw-r--r--themes/greydragon_old/images/ico-denied-passive.pngbin0 -> 916 bytes
-rw-r--r--themes/greydragon_old/images/ico-denied.pngbin0 -> 715 bytes
-rw-r--r--themes/greydragon_old/images/ico-error.pngbin0 -> 701 bytes
-rw-r--r--themes/greydragon_old/images/ico-help.pngbin0 -> 786 bytes
-rw-r--r--themes/greydragon_old/images/ico-info.pngbin0 -> 778 bytes
-rw-r--r--themes/greydragon_old/images/ico-lock.pngbin0 -> 749 bytes
-rw-r--r--themes/greydragon_old/images/ico-success-inactive.pngbin0 -> 261 bytes
-rw-r--r--themes/greydragon_old/images/ico-success-passive.pngbin0 -> 561 bytes
-rw-r--r--themes/greydragon_old/images/ico-success.pngbin0 -> 537 bytes
-rw-r--r--themes/greydragon_old/images/ico-warning.pngbin0 -> 666 bytes
-rw-r--r--themes/greydragon_old/images/missing-img.pngbin0 -> 33136 bytes
-rw-r--r--themes/greydragon_old/js/jquery.cycle.js1544
-rw-r--r--themes/greydragon_old/js/ui.support.js80
-rw-r--r--themes/greydragon_old/libraries/MY_Theme_View.php902
-rw-r--r--themes/greydragon_old/module.info9
-rw-r--r--themes/greydragon_old/theme.info11
-rw-r--r--themes/greydragon_old/thumbnail.pngbin0 -> 25791 bytes
-rw-r--r--themes/greydragon_old/views/album.html.php68
-rw-r--r--themes/greydragon_old/views/block.html.php29
-rw-r--r--themes/greydragon_old/views/calpage.html.php257
-rw-r--r--themes/greydragon_old/views/dynamic.html.php38
-rw-r--r--themes/greydragon_old/views/exif_sidebar.html.php18
-rw-r--r--themes/greydragon_old/views/gd_admin_include.html.php180
-rw-r--r--themes/greydragon_old/views/info_block.html.php29
-rw-r--r--themes/greydragon_old/views/movie.html.php38
-rw-r--r--themes/greydragon_old/views/no_sidebar.html.php19
-rw-r--r--themes/greydragon_old/views/page.html.php259
-rw-r--r--themes/greydragon_old/views/paginator.html.php194
-rw-r--r--themes/greydragon_old/views/photo.html.php124
-rw-r--r--themes/greydragon_old/views/rootpage.html.php59
-rw-r--r--themes/greydragon_old/views/rootpage.html.php_fix46
-rw-r--r--themes/greydragon_old/views/rss_block.html.php30
-rw-r--r--themes/greydragon_old/views/search.html.php35
-rw-r--r--themes/greydragon_old/views/sidebar.html.php27
-rw-r--r--themes/greydragon_old/views/user_profile.html.php44
342 files changed, 8698 insertions, 0 deletions
diff --git a/themes/greydragon_old/admin/controllers/admin_theme_options.php b/themes/greydragon_old/admin/controllers/admin_theme_options.php
new file mode 100644
index 0000000..c72cd62
--- /dev/null
+++ b/themes/greydragon_old/admin/controllers/admin_theme_options.php
@@ -0,0 +1,866 @@
+<?php defined("SYSPATH") or die("No direct script access.");
+/**
+ * Grey Dragon Theme - a custom theme for Gallery 3
+ * This theme was designed and built by Serguei Dosyukov, whose blog you will find at http://blog.dragonsoft.us
+ * Copyright (C) 2009-2011 Serguei Dosyukov
+ *
+ * This program is free software; you can redistribute it and/or modify it under the terms of the GNU General
+ * Public License as published by the Free Software Foundation; either version 2 of the License, or (at your
+ * option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the
+ * implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * for more details.
+ *
+ * You should have received a copy of the GNU General Public License along with this program; if not, write to
+ * the Free Software Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA.
+ */
+?>
+<?
+class Admin_Theme_Options_Controller extends Admin_Controller {
+
+ protected $min_gallery_ver = 49;
+
+ private function load_theme_info() {
+ $file = THEMEPATH . "greydragon/theme.info";
+ $theme_info = new ArrayObject(parse_ini_file($file), ArrayObject::ARRAY_AS_PROPS);
+ return $theme_info;
+ }
+
+ private function get_theme_version() {
+ $theme_info = $this->load_theme_info();
+ return ($theme_info->version);
+ }
+
+ private function get_theme_name() {
+ $theme_info = $this->load_theme_info();
+ return ($theme_info->name);
+ }
+
+ private function get_packlist($type, $filename) {
+ $packlist = array();
+ $packroot = THEMEPATH . 'greydragon/css/' . $type . '/';
+
+ foreach (scandir($packroot) as $pack_name):
+ if (file_exists($packroot . "$pack_name/css/" . $filename . ".css")):
+ if ($pack_name[0] == "."):
+ continue;
+ endif;
+
+ $packlist[$pack_name] = t($pack_name);
+ endif;
+ endforeach;
+ return $packlist;
+ }
+
+ private function get_colorpacks() {
+ return $this->get_packlist('colorpacks', 'colors');
+ }
+
+ private function get_framepacks() {
+ return $this->get_packlist('framepacks', 'frame');
+ }
+
+ private function prerequisite_check($group, $id, $is_ok, $caption, $caption_ok, $caption_failed, $iswarning, $msg_error) {
+ $confirmation_caption = ($is_ok)? $caption_ok : $caption_failed;
+ $checkbox = $group->checkbox($id)
+ ->label($caption . " " . $confirmation_caption)
+ ->checked($is_ok)
+ ->disabled(true);
+ if ($is_ok):
+ $checkbox->class("g-success");
+ elseif ($iswarning):
+ $checkbox->class("g-prerequisite g-warning")->error_messages("failed", $msg_error)->add_error("failed", 1);
+ else:
+ $checkbox->class("g-error")->error_messages("failed", $msg_error)->add_error("failed", 1);
+ endif;
+ }
+
+ /* Convert old values ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
+ protected function upgrade_settings() {
+ if (module::get_var("th_greydragon", "hide_thumbmeta")):
+ module::set_var("th_greydragon", "thumb_metamode", "hide");
+ module::clear_var("th_greydragon", "hide_thumbmeta");
+ endif;
+
+ if (module::get_var("gallery", "appletouchicon_url")):
+ $temp = module::get_var("gallery", "appletouchicon_url");
+ module::set_var("gallery", "apple_touch_icon_url", $temp);
+ module::clear_var("gallery", "appletouchicon_url");
+ endif;
+
+ if (module::get_var("th_greydragon", "flex_rows", FALSE)):
+ module::set_var("th_greydragon", "column_count", -1);
+ module::clear_var("th_greydragon", "flex_rows");
+ endif;
+
+ if (module::get_var("th_greydragon", "thumb_descmode") == "overlay_static"):
+ module::set_var("th_greydragon", "thumb_descmode", "overlay_top");
+ endif;
+
+ if (module::get_var("th_greydragon", "mainmenu_position") == "1"):
+ module::set_var("th_greydragon", "mainmenu_position", "top");
+ endif;
+
+ if (module::get_var("th_greydragon", "hide_breadcrumbs")):
+ module::set_var("th_greydragon", "breadcrumbs_position", "hide");
+ module::clear_var("th_greydragon", "hide_breadcrumbs");
+ endif;
+
+ if (module::get_var("th_greydragon", "photonav_position")):
+ $temp = module::get_var("th_greydragon", "photonav_position");
+ module::set_var("th_greydragon", "paginator_album", $temp);
+ module::set_var("th_greydragon", "paginator_photo", $temp);
+ module::clear_var("th_greydragon", "photonav_position");
+ endif;
+
+ if (module::get_var("th_greydragon", "sidebar_allowed") == "none"):
+ module::set_var("th_greydragon", "sidebar_allowed", "default");
+ endif;
+
+ if (module::get_var("th_greydragon", "thumb_topalign")):
+ module::set_var("th_greydragon", "thumb_imgalign", "top");
+ module::clear_var("th_greydragon", "thumb_topalign");
+ elseif ((module::get_var("th_greydragon", "thumb_ratio") == "photo") && (!module::get_var("th_greydragon", "thumb_imgalign"))):
+ module::set_var("th_greydragon", "thumb_imgalign", "center");
+ endif;
+ }
+
+ protected function isCurlInstalled() {
+ if (in_array('curl', get_loaded_extensions())) {
+ return true;
+ } else {
+ return false;
+ }
+ }
+
+ protected function get_edit_form_admin() {
+ $this->upgrade_settings();
+
+ $form = new Forge("admin/theme_options/save/", "", null, array("id" =>"g-theme-options-form"));
+
+ $rssmodulecheck = (module::is_active("rss") && module::info("rss"));
+
+ /* Prerequisites ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
+
+ $group = $form->group("requirements")->label(t("Prerequisites"));
+ $gallery_ver = module::get_version("gallery");
+ $this->prerequisite_check($group, "vercheck", $gallery_ver >= $this->min_gallery_ver,
+ t("Gallery 3 Core v.") . $this->min_gallery_ver . "+", t("Installed"), t("Required"), FALSE, sprintf(t("Check Failed. Minimum Required Version is %s. Found %s."), $this->min_gallery_ver, $gallery_ver));
+ if (module::get_var("th_greydragon", "allow_root_page")):
+ $this->prerequisite_check($group, "rsscheck", $rssmodulecheck,
+ t("RSS Module"), t("Found"), t("not Found"), TRUE, t("Install RSS module to Enable Root Page Support"));
+ endif;
+ $this->prerequisite_check($group, "curlcheck", ($this->isCurlInstalled()),
+ t("PHP CURL Support is"), t("Enabled"), t("Disabled"), TRUE, t("Please make sure CURL support is enabled in PHP"));
+
+ /* Suggested Modules ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
+
+ $group = $form->group("recommended")->label(t("Suggested Modules"));
+
+ $check_infos = array();
+ if (!module::get_var("th_greydragon", "hide_thumbmeta")):
+ $this->prerequisite_check($group, "info", (module::is_active("info") and module::info("info")),
+ t("Info Module"), t("Found"), t("Required"), FALSE, t("Check Failed. Module is required to display Thumb metadata."));
+ endif;
+
+ if (module::is_active("fancybox") && module::info("fancybox")):
+ $check_infos[] = array("module" => "fancybox", "module_name" => "Fancybox", "link" => '<a href="http://codex.gallery2.org/Gallery3:Modules:fancybox" target="_blank">');
+ endif;
+ if (module::is_active("colorbox") && module::info("colorbox")):
+ $check_infos[] = array("module" => "colorbox", "module_name" => "Colorbox", "link" => '<a href="http://codex.gallery2.org/Gallery3:Modules:colorbox" target="_blank">');
+ endif;
+ if (module::is_active("shadowbox") && module::info("shadowbox")):
+ $check_infos[] = array("module" => "shadowbox", "module_name" => "Shadowbox", "link" => '<a href="http://codex.gallery2.org/Gallery3:Modules:shadowbox" target="_blank">');
+ endif;
+
+ switch (count($check_infos)):
+ case 0:
+ $check_infos[] = array("module" => "fancybox", "module_name" => "Fancybox", "link" => '<a href="http://codex.gallery2.org/Gallery3:Modules:fancybox" target="_blank">');
+ $this->prerequisite_check($group, "fancybox", FALSE,
+ t("Fancybox/Colorbox/Shadowbox") . " " . t("Module"), t("Found"), t("not Found"), TRUE, sprintf(t("Install %smodule%s to Enable %s Support"), '<a href="http://codex.gallery2.org/Gallery3:Modules:fancybox" target="_blank">', '</a>', t("Fancybox")));
+ break;
+ case 1:
+ $check_info = $check_infos[0];
+ $this->prerequisite_check($group, $check_info["module"], TRUE,
+ t($check_info["module_name"]) . " " . t("Module"), t("Found"), t("not Found"), TRUE, sprintf(t("Install %smodule%s to Enable %s Support"), $check_info["link"], '</a>', t($check_info["module_name"])));
+ break;
+ default:
+ $list = "";
+ $first = TRUE;
+ foreach ($check_infos as $key => $check_info):
+ if ($first):
+ $list .= $check_infos[$key]["module_name"];
+ $first = FALSE;
+ else:
+ $list .= ", " . $check_infos[$key]["module_name"];
+ endif;
+ endforeach;
+
+ $this->prerequisite_check($group, "fancybox", FALSE,
+ t($list . " Modules are Active"),
+ "",
+ "",
+ TRUE,
+ t("Slideshow feature would not work correctly. Please activate just one of these modules."));
+
+ break;
+ endswitch;
+
+ $check_info = $check_infos[0];
+ $thumbnavcheck = module::is_active("thumbnav") and module::info("thumbnav");
+
+ $this->prerequisite_check($group, "kbdnavcheck", ((module::is_active("kbd_nav")) and (module::info("kbd_nav"))),
+ t("Kbd Navigation Module"), t("Found"), t("not Found"), TRUE, sprintf(t("Install %smodule%s to Enable Keyboard Navigation Support"), '<a href="http://codex.gallery2.org/Gallery3:Modules:kbd_nav" target="_blank">', '</a>'));
+ $this->prerequisite_check($group, "thumbnavcheck", $thumbnavcheck,
+ t("ThumbNav Module"), t("Found"), t("not Found"), TRUE, sprintf(t("Install %smodule%s to Enable Thumb Navigation Support"), '<a href="http://codex.gallery2.org/Gallery3:Modules:thumbnav" target="_blank">', '</a>'));
+
+ $thumb_ratio = module::get_var("th_greydragon", "thumb_ratio", "photo");
+ $thumb_ratio_ex = FALSE;
+ switch ($thumb_ratio):
+ case "photo_ex":
+ $thumb_ratio = "photo";
+ $thumb_ratio_ex = TRUE;
+ break;
+ case "film_ex":
+ $thumb_ratio = "film";
+ $thumb_ratio_ex = TRUE;
+ break;
+ case "digital_ex":
+ $thumb_ratio = "digital";
+ $thumb_ratio_ex = TRUE;
+ break;
+ case "wide_ex":
+ $thumb_ratio = "wide";
+ $thumb_ratio_ex = TRUE;
+ break;
+ default:
+ break;
+ endswitch;
+
+ /* General Settings ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
+
+ $sidebar_allowed = module::get_var("th_greydragon", "sidebar_allowed");
+ $sidebar_visible = module::get_var("th_greydragon", "sidebar_visible");
+
+ $group = $form->group("edit_theme")->label(t("General Settings"));
+ $group->hidden("g_auto_delay")
+ ->value(module::get_var("th_greydragon", "auto_delay", 30));
+ $group->input("row_count")
+ ->label(t("Rows per Album Page"))
+ ->rules("required|valid_digit")
+ ->error_messages("required", t("You must enter a number"))
+ ->error_messages("valid_digit", t("You must enter a number"))
+ ->value(module::get_var("th_greydragon", "row_count", 3));
+ $group->dropdown("column_count")
+ ->label(t("Columns per Album Page"))
+ ->options(array("2" => t("2 columns"), "3" => t("3 columns"), "4" => t("4 columns"), "5" => t("5 columns"), "-1" => t("Flexible (3 x Number of Rows)")))
+ ->selected(module::get_var("th_greydragon", "column_count", 3));
+ $group->input("resize_size")
+ ->label(t("Resized Image Size (in pixels)"))
+ ->rules("required|valid_digit")
+ ->error_messages("required", t("You must enter a number"))
+ ->error_messages("valid_digit", t("You must enter a number"))
+ ->value(module::get_var("gallery", "resize_size"));
+ $group->input("logo_path")
+ ->label(t("Alternate Logo Image"))
+ ->value(module::get_var("th_greydragon", "logo_path"));
+ $group->input("favicon")
+ ->label(t("URL (or relative path) to your favicon.ico"))
+ ->value(module::get_var("gallery", "favicon_url"));
+ $group->input("appletouchicon")
+ ->label(t("URL (or relative path) to your Apple Touch icon"))
+ ->value(module::get_var("gallery", "apple_touch_icon_url"));
+ $group->input("header_text")
+ ->label(t("Header Text"))
+ ->value(module::get_var("gallery", "header_text"));
+ $group->input("footer_text")
+ ->label(t("Footer Text"))
+ ->value(module::get_var("gallery", "footer_text"));
+ $group->input("copyright")
+ ->label(t("Copyright Message"))
+ ->value(module::get_var("th_greydragon", "copyright"));
+ $group->dropdown("colorpack")
+ ->label(t("Color Pack/Site theme"))
+ ->options(self::get_colorpacks())
+ ->selected(module::get_var("th_greydragon", "color_pack", "greydragon"));
+ $group->dropdown("framepack")
+ ->label(t("Thumb Frame Pack"))
+ ->options(self::get_framepacks())
+ ->selected(module::get_var("th_greydragon", "frame_pack", "greydragon"));
+
+ /* Advanced Options - General ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
+
+ $group = $form->group("edit_theme_adv_main")->label(t("Advanced Options - General"));
+ $group->dropdown("viewmode")
+ ->label(t("Theme View Mode"))
+ ->options(array("default" => t("Full Mode (Default)"), "mini" => t("Mini Mode")))
+ ->selected(module::get_var("th_greydragon", "viewmode", "default"));
+ $group->dropdown("mainmenu_position")
+ ->label(t("Main Menu Position"))
+ ->options(array("default" => t("Bottom-Left (Default)"), "top" => t("Top-Left"), "bar" => t("Top Bar")))
+ ->selected(module::get_var("th_greydragon", "mainmenu_position"));
+ $group->dropdown("loginmenu_position")
+ ->label(t("Login Menu Position"))
+ ->options(array("header" => t("Header"), "default" => t("Footer (Default)"), "hide" => t("Hide")))
+ ->selected(module::get_var("th_greydragon", "loginmenu_position", "default"));
+ $group->dropdown("breadcrumbs_position")
+ ->label(t("Breadcrumbs Position"))
+ ->options(array("default" => t("Bottom-Right (Default)"), "bottom-left" => t("Bottom-Left"), "top-right" => t("Top-Right"), "top-left" => t("Top-Left"), "hide" => t("Hide")))
+ ->selected(module::get_var("th_greydragon", "breadcrumbs_position"));
+ $group->dropdown("title_source")
+ ->label(t("Title Source"))
+ ->options(array("default" => t("Title (Default)"), "no-filename" => t("Title/Suppress File Name"), "description" => t("Description")))
+ ->selected(module::get_var("th_greydragon", "title_source", "default"));
+ $group->input("custom_css_path")
+ ->label(t("File Name of custom.css or equivalent"))
+ ->value(module::get_var("th_greydragon", "custom_css_path"));
+ $group->input("thumb_quality")
+ ->label(t("Thumb Image Quallity (in %)"))
+ ->rules("required|valid_digit")
+ ->error_messages("required", t("You must enter a number"))
+ ->error_messages("valid_digit", t("You must enter a number"))
+ ->value(module::get_var("th_greydragon", "thumb_quality", 100));
+ $group->input("resize_quality")
+ ->label(t("Resized Image Quallity (in %)"))
+ ->rules("required|valid_digit")
+ ->error_messages("required", t("You must enter a number"))
+ ->error_messages("valid_digit", t("You must enter a number"))
+ ->value(module::get_var("th_greydragon", "resize_quality", 100));
+ $group->input("visible_title_length")
+ ->label(t("Visible Title Length"))
+ ->rules("required|valid_digit")
+ ->error_messages("required", t("You must enter a number"))
+ ->error_messages("valid_digit", t("You must enter a number"))
+ ->value(module::get_var("gallery", "visible_title_length", 15));
+
+ $group->checkbox("show_guest_menu")
+ ->label(t("Show Main Menu for Guest Users"))
+ ->checked(module::get_var("th_greydragon", "show_guest_menu"));
+ $group->checkbox("toolbar_large")
+ ->label(t("Use Large Toolbar Buttons"))
+ ->checked(module::get_var("th_greydragon", "toolbar_large"));
+ $group->checkbox("show_credits")
+ ->label(t("Show Site Credits"))
+ ->checked(module::get_var("gallery", "show_credits"));
+ $group->checkbox("breadcrumbs_showinroot")
+ ->label(t("Show Breadcrumbs in root album/root page"))
+ ->checked(module::get_var("th_greydragon", "breadcrumbs_showinroot"));
+ $group->checkbox("disable_seosupport")
+ ->label(t("Disallow Search Engine Indexing (No Bots)"))
+ ->checked(module::get_var("th_greydragon", "disable_seosupport"));
+ $group->checkbox("desc_allowbbcode")
+ ->label(t("Allow BBCode/HTML in Descriptions"))
+ ->checked(module::get_var("th_greydragon", "desc_allowbbcode"));
+ $group->checkbox("use_permalinks")
+ ->label(t("Use Permalinks for Navigation"))
+ ->checked(module::get_var("th_greydragon", "use_permalinks"));
+
+ /* Advanced Options - Album page ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
+
+ $group = $form->group("edit_theme_adv_album")->label(t("Advanced Options - Album Page"));
+ $group->dropdown("paginator_album")
+ ->label(t("Paginator Position"))
+ ->options(array("top" => t("Top"), "bottom" => t("Bottom"), "both" => t("Both"), "none" => t("None")))
+ ->selected(module::get_var("th_greydragon", "paginator_album"));
+ $group->dropdown("album_descmode")
+ ->label(t("Description Display Mode"))
+ ->options(array("hide" => t("Hide"), "top" => t("Top"), "bottom" => t("Bottom")))
+ ->selected(module::get_var("th_greydragon", "album_descmode"));
+ $group->checkbox("disablephotopage")
+ ->label(t("Disable Photo Page (use Slideshow Mode)"))
+ ->checked(module::get_var("th_greydragon", "disablephotopage"));
+ $group->checkbox("hidecontextmenu")
+ ->label(t("Hide Context Menu"))
+ ->checked(module::get_var("th_greydragon", "hidecontextmenu"));
+
+ /* Advanced Options - Album page - Thumbs ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
+
+ $group = $form->group("edit_theme_adv_thumb")->label(t("Advanced Options - Album page - Thumbs"));
+ $group->dropdown("thumb_ratio")
+ ->label(t("Aspect Ratio"))
+ ->options(array("photo" => t("Actual"), "film" => t("Film/Full Frame 3:2"), "digital" => t("Digital 4:3"), "wide" => t("Wide/HDTV 16:9")))
+ ->selected($thumb_ratio);
+ $group->checkbox("thumb_ratio_ex")
+ ->label(t("Expanded Aspect Ratio (300px wide)"))
+ ->checked($thumb_ratio_ex);
+ $group->dropdown("thumb_imgalign")
+ ->label(t("Thumb Image Align"))
+ ->options(array("top" => t("Top"), "center" => t("Center"), "bottom" => t("Bottom"), "fit" => t("Fit")))
+ ->selected(module::get_var("th_greydragon", "thumb_imgalign"));
+
+ $group->dropdown("thumb_descmode_a")
+ ->label(t("Title Display Mode (Album)"))
+ ->options(array("overlay" => t("Overlay Top"), "overlay_top" => t("Overlay Top (Static)"),
+ "overlay_bottom" => t("Overlay Bottom (Static)"), "bottom" => t("Bottom"), "hide" => t("Hide")))
+ ->selected(module::get_var("th_greydragon", "thumb_descmode_a"));
+ $group->dropdown("thumb_descmode")
+ ->label(t("Title Display Mode (Photo)"))
+ ->options(array("overlay" => t("Overlay Top"), "overlay_top" => t("Overlay Top (Static)"),
+ "overlay_bottom" => t("Overlay Bottom (Static)"), "bottom" => t("Bottom"), "hide" => t("Hide")))
+ ->selected(module::get_var("th_greydragon", "thumb_descmode"));
+ $group->dropdown("thumb_metamode")
+ ->label(t("Meta Data Display Mode"))
+ ->options(array("default" => t("Overlay (Default)"), "merged" => t("Merge with Title"), "hide" => t("Hide")))
+ ->selected(module::get_var("th_greydragon", "thumb_metamode", "default"));
+ $group->checkbox("thumb_random")
+ ->label(t("Randomize Thumb Image"))
+ ->checked(module::get_var("th_greydragon", "thumb_random"));
+
+ /* Advanced Options - Photo page ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
+
+ $group = $form->group("edit_theme_adv_photo")->label(t("Advanced Options - Photo Page"));
+ $group->dropdown("paginator_photo")
+ ->label(t("Paginator Position"))
+ ->options(array("top" => t("Top"), "bottom" => t("Bottom"), "both" => t("Both"), "none" => t("None")))
+ ->selected(module::get_var("th_greydragon", "paginator_photo"));
+ $group->dropdown("photo_descmode")
+ ->label(t("Description Display Mode"))
+ ->options(array("overlay_top" => t("Overlay Top"), "overlay_bottom" => t("Overlay Bottom"), "overlay_top_s" => t("Overlay Top (Static)"),
+ "overlay_bottom_s" => t("Overlay Bottom (Static)"), "bottom" => t("Bottom"), "top" => t("Top"), "hide" => t("Hide")))
+ ->selected(module::get_var("th_greydragon", "photo_descmode"));
+ $group->dropdown("photo_popupbox")
+ ->label(t($check_info["module_name"]) . " " . t("Mode"))
+ ->options(array("default" => t("Default (Slideshow/Preview)"), "preview" => t("Preview Only"), "none" => t("Disable")))
+ ->selected(module::get_var("th_greydragon", "photo_popupbox"));
+ $group->checkbox("thumb_inpage")
+ ->label(t("Keep Thumb Nav Block on the side"))
+ ->checked(module::get_var("th_greydragon", "thumb_inpage"));
+ if (!$thumbnavcheck):
+ $group->thumb_inpage->disabled(true);
+ endif;
+ $group->checkbox("hide_photometa")
+ ->label(t("Hide Item Meta Data"))
+ ->checked(module::get_var("th_greydragon", "hide_photometa", TRUE));
+
+ /* Advanced Options - Root Page ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
+
+ $group = $form->group("edit_theme_adv_root")->label(t("Advanced Options - Root Page"));
+ $group->checkbox("allow_root_page")
+ ->label(t("Allow root page"))
+ ->checked(module::get_var("th_greydragon", "allow_root_page"));
+ $group->checkbox("show_root_desc")
+ ->label(t("Show Gallery Description"))
+ ->checked(!module::get_var("th_greydragon", "hide_root_desc"));
+ $group->input("root_feed")
+ ->label(t("Slideshow RSS Feed URL"))
+ ->value(module::get_var("th_greydragon", "root_feed", "/gallery3/index.php/rss/feed/gallery/latest"));
+ $group->dropdown("root_cyclemode")
+ ->label(t("Cycle Effect (Default: Fade)"))
+ ->options(array("fade" => t("Fade"), "fadeZoom" => t("Fade Zoom"), "blindX" => t("Blind X"), "blindY" => t("Blind Y"),
+ "blindZ" => t("Blind Z"), "cover" => t("Cover"), "curtainX" => t("Curtain X"), "curtainY" => t("Curtain Y"),
+ "growX" => t("Grow X"), "growY" => t("Grow Y"), "none" => t("None"), "scrollUp" => t("Scroll Up"),
+ "scrollDown" => t("Scroll Down"), "scrollLeft" => t("Scroll Left"), "scrollRight" => t("Scroll Right"),
+ "scrollHorz" => t("Scroll Horz"), "scrollVert" => t("Scroll Vert"), "shuffle" => t("Shuffle"),
+ "slideX" => t("Slide X"), "slideY" => t("Slide Y"), "toss" => t("Toss"), "turnUp" => t("Turn Up"),
+ "turnDown" => t("Turn Down"), "turnLeft" => t("Turn Left"), "turnRight" => t("Turn Right"), "uncover" => t("Uncover"),
+ "wipe" => t("Wipe"), "zoom" => t("Zoom")))
+ ->selected(module::get_var("th_greydragon", "root_cyclemode"));
+ $group->input("root_delay")
+ ->label(t("Slideshow Delay (Default: 15)"))
+ ->rules("required|valid_digit")
+ ->error_messages("required", t("You must enter a number"))
+ ->error_messages("valid_digit", t("You must enter a number"))
+ ->value(module::get_var("th_greydragon", "root_delay", "15"));
+ $group->checkbox("hide_root_sidebar")
+ ->label(t("Hide Sidebar"))
+ ->checked(module::get_var("th_greydragon", "hide_root_sidebar"));
+ $group->textarea("root_description")
+ ->label(t("Alternative Description (optional)"))
+ ->value(module::get_var("th_greydragon", "root_description"));
+
+ /* Sidebar Options ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
+
+ $group = $form->group("edit_theme_side")->label(t("Sidebar Options"));
+ $group->checkbox("hide_blockheader")
+ ->label(t("Hide Block Header"))
+ ->checked(module::get_var("th_greydragon", "hide_blockheader"));
+ $group->checkbox("sidebar_albumonly")
+ ->label(t("Show Sidebar for Albums Only"))
+ ->checked(module::get_var("th_greydragon", "sidebar_albumonly"));
+ $group->checkbox("sidebar_hideguest")
+ ->label(t("Show Sidebar for Guest Users"))
+ ->checked(!module::get_var("th_greydragon", "sidebar_hideguest"));
+ $group->dropdown("sidebar_allowed")
+ ->label(t("Allowed Sidebar Positions"))
+ ->options(array("any" => t("Any"), "left" => t("Left"), "right" => t("Right"), "bottom" => t("Bottom"), "top" => t("Top"), "default" => t("Default Only")))
+ ->selected($sidebar_allowed);
+ $group->dropdown("sidebar_visible")
+ ->label(t("Default Sidebar Position"))
+ ->options(array("right" => t("Right"), "left" => t("Left"), "bottom" => t("Bottom"), "top" => t("Top"), "none" => t("No sidebar")))
+ ->selected($sidebar_visible);
+
+ /* Maintenance ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
+
+ $group = $form->group("maintenance")->label(t("Maintenance"));
+ $group->checkbox("build_thumbs")->label(t("Mark all Thumbnails for Rebuild"))->checked(false);
+ $group->checkbox("build_resize")->label(t("Mark all Image Resizes for Rebuild"))->checked(false);
+ $group->checkbox("build_exif")->label(t("Mark Exif Info data for reload"))->checked(false);
+ $group->checkbox("purge_cache")->label(t("Purge cache data"))->checked(false);
+ $group->checkbox("reset_theme")->label(t("Reset Theme to a Default State"))->checked(false);
+
+ module::event("theme_edit_form", $form);
+
+ $form->submit("g-theme-options-save")->value(t("Save Changes"));
+
+ return $form;
+ }
+
+ protected function get_edit_form_help() {
+ $help = '<fieldset>';
+ $help .= '<legend>' . t("Help") . '</legend><ul>';
+ $help .= '<li><h3>' . t("Prerequisites") . '</h3>
+ <p><b>' . t("REQUIREMENTS NEED TO BE MET FOR THE THEME TO FUNCTION PROPERLY.") . '</b><br />
+ ' . t("Please refer to the section on the left.") . '
+ </li>';
+
+ $help .= '<li><h3>' . t("General Settings") . '</h3>
+ ' . t("<p>Theme is designed to display thumbnails as a table.
+ You can choose different number of <b>Rows/Columns per Album Page</b> or can use <b>Flexible Columns</b>.
+ <p>Default G3 logo can be replaced with your own by providing <b>Alternate Logo Image</b>. Recommended logo size
+ is within 300x80px. If you need bigger space for your logo, CSS would have to be adjusted. Otherwise, Logo could be
+ suppressed altogether by providing <b>Header Text</b> to replace it. <b>Footer Text</b> would be simply placed next
+ to Site\'s credits.
+ <p><b>Copyright Message</b> can be placed in the right top corner of the footer.
+ <p>Important feature of the theme is a support for Color Packs which is managed by <b>Selected Color Pack</b> Option.
+ <b>Color Pack</b> allows changing colors, styles, theme for the pages. By default 6 color packs are included,
+ but it could be easily extended. Visit Theme\'s Download page for additional information.
+ <b>Frame Pack</b> allows change Frames used for Thumbs in album pages.") . '
+ </li>';
+
+ $help .= '<li><h3>' . t("Advanced Options - General") . '</h3>
+ ' . t("<p>In order to allow easier integration of Gallery 3 within other site infrastructure, Theme supports Special <b>View Mode</b>
+ - when <i>Mini Mode</i> is selected, attempt would be made to minimize space associated with Header/Footer by trimming of
+ the some information. Use with caution. Theme supports CMD parameter to override this selection - add
+ \"?viewmode=default|full|mini\" to site URL in order to trigger a switch for specific browser session. When browser session
+ is restarted, view mode would revert back to default set in Admin Panel.
+ <p>Show your appreciation for our hard work by allowing <b>Show Site Credits</b> or contributing to our Coffee Fund.
+ <p>If main menu has functionality intended for guest users you can use <b>Show Main Menu for Guest Users</b> to keep it
+ visible.
+ <br />You can go even further and move main menu to the top of the header with breadcrumbs taking it place by selecting
+ <b>Alternate Header Layout</b>. <br />Then if you prefer breadcrumbs not being used, simply hide it with <b>Hide
+ Breadcrumbs</b> option.
+ <br />Then you can decide if you want to <b>Show Breadcrumbs</b> in the root album/root page.
+ <p>If you like to add some cool effects while navigating between pages,
+ enable <b>Blend Page Transition</b>.
+ <p><b>Paginator Position</b> could be changed to display it above and/or below the main content.
+ <p>You can further fine tune theme using custom CSS file by providing file name (file need to be located in <b>themes/custom</b>
+ folder) or more specific location in form of <b>your_path/your_file_name.css</b> if different.
+ <p>Block web crawlers from indexing your Gallery with <b>Disallow Search Engine Indexing</b> Option.") . '
+ </li>';
+ $help .= '<li><h3>' . t("Advanced Options - Album page - Thumbs") . '</h3>
+ ' . t("<p>Options in this section adjust how Photo\'s Thumb images are displayed.
+ <p><b>Aspect Ratio</b> specifies layout/size of the thumb. Setting should be used with understanding that some
+ information may be out of visible area (crop). When switching to/from <b>Actual Size</b>, it is recommended to rebuild
+ thumbs so that proper settings are used for thumb resize logic (see Maintenance section below). Combined with
+ <b>Expanded Aspect Ratio (300px wide)</b> you can switch between 200px and 300px wide thumb images.
+ <p><b>Title Display Mode</b> and <b>Meta Data Display Mode</b> allows changing how Item\'s caption and Meta Data is
+ displayed. And selecting <b>Merge with Title</b> would place meta data with the Title.
+ <p>Randomize your thumbs by enabling <b>Randomize Thumb Image</b> (Please use with caution as it does introduce extra
+ load for database.).") . '
+ </li>';
+ $help .= '<li><h3>' . t("Advanced Options - Photo Page") . '</h3>
+ ' . t("<p>Options in this section adjust how individual Photo are presented to the viewer.
+ <p>With <b>ShadowBox Mode</b>, theme\'s logic could be adjusted in how Slideshow module is integrated.
+ <br />As with Title in Photo Thumbs, <b>Description Display Mode</b> changes how Photo Description is displayed.
+ <br />You can choose to <b>Keep Thumb Nav Block on the side</b> of the Photo when Page is displayed with bottom aligned
+ or hidden Sidebar.
+ <br />And if metadata (owner/clicks/etc.) is unnecessary, it could be removed with <b>Hide Item Meta Data</b>.
+ <p>Theme allows use of BBCode/HTML in item\'s descriptions, to enable it select <b>Allow BBCode/HTML in Descriptions</b>.") . '
+ </li>';
+ $help .= '<li><h3>' . t("Advanced Options - Root Page") . '</h3>
+ ' . t("<p>Special option which allows adding special root/landing page with slideshow utilizing specified <b>Slideshow RSS Feed
+ URL</b> (Default: /gallery3/index.php/rss/feed/gallery/latest).
+ <p>To enable it, select <b>Allow root page</b>.
+ <p>Add small description on the side of the slideshow with <b>Show Gallery Description</b>.
+ <br />Adjust rotation delay with <b>Slideshow Delay</b>.
+ <br />If Sidebar is not desired in the Root Page it could be hidden with <b>Hide Sidebar</b> option.
+ <br />By default, description content is populated from description of the root album, but by providing <b>Alternative
+ Description</b> you can overwrite it.") . '
+ </li>';
+ $help .= '<li><h3>' . t("Sidebar Options") . '</h3>
+ ' . t("<p>If Block\'s header is not desired, it could be removed using <b>Hide Block Header</b>.
+ <p>Sidebar visibility could be limited to individual Photo pages with
+ <b>Show Sidebar for Albums Only</b>.
+ <p>When sidebar is visible it can be placed on the left or right of the
+ screen or removed altogether using <b>Allowed Sidebar Positions</b>.
+ If more than one position is allowed, <b>Default Sidebar Position</b>
+ would indicate default state, but visitor would able change it later.") . '
+ </li>';
+ $help .= '<li><h3>' . t("Maintenance") . '</h3>
+ ' . t("<p>Without changing image size, you can <b>Mark all Resizes for Rebuild</b>.
+ Then you need to visit Admin\Maintenance to initiate the process.
+ <p>Same can be done for image thumbs with <b>Mark all Thumbnails for Rebuild</b>.
+ <p><b>Mark Exif/IPTC Info for reload</b> would mark all Exif or IPTC records as \"Dirty\" allowing it to be repopulated.
+ <p>And just in case you think that something is not right, you can always <b>Reset Theme to a Default State</b>.") . '
+ </li>';
+ $help .= '</ul></fieldset>';
+ return $help;
+ }
+
+ private function save_item_state($statename, $state, $value) {
+ if ($state):
+ module::set_var("th_greydragon", $statename, $value);
+ else:
+ module::clear_var("th_greydragon", $statename);
+ endif;
+ }
+
+ protected function legacy() {
+ module::clear_var("th_greydragon", "photonav_top");
+ module::clear_var("th_greydragon", "photonav_bottom");
+ module::clear_var("th_greydragon", "hide_sidebar_photo");
+ module::clear_var("th_greydragon", "hide_thumbdesc");
+ module::clear_var("th_greydragon", "use_detailview");
+ module::clear_var("th_greydragon", "horizontal_crop");
+ module::clear_var("th_greydragon", "photo_shadowbox");
+ module::clear_var("th_greydragon", "root_text");
+ module::clear_var("th_greydragon", "enable_pagecache");
+
+ module::clear_var("th_greydragon", "navigator_album");
+ module::clear_var("th_greydragon", "navigator_photo");
+
+ module::clear_var("th_greydragon", "blendpagetrans");
+ module::clear_var("th_greydragon", "last_update");
+ }
+
+ protected function reset_theme() {
+ // Default core theme settings
+ module::set_var("gallery", "page_size", 9);
+ module::set_var("gallery", "resize_size", 640);
+ module::set_var("gallery", "thumb_size", 200);
+ module::set_var("gallery", "header_text", "");
+ module::set_var("gallery", "footer_text", "");
+ module::set_var("gallery", "show_credits", FALSE);
+
+ module::clear_all_vars("th_greydragon");
+ }
+
+ public function save() {
+ site_status::clear("gd_init_configuration");
+ access::verify_csrf();
+
+ $form = self::get_edit_form_admin();
+
+ if ($form->validate()):
+ $this->legacy();
+
+ if ($form->maintenance->reset_theme->value):
+ $this->reset_theme();
+ module::event("theme_edit_form_completed", $form);
+ message::success(t("Theme details are reset"));
+ else:
+ // * General Settings ****************************************************
+
+ $resize_size = $form->edit_theme->resize_size->value;
+
+ $build_resize = $form->maintenance->build_resize->value;
+ $build_thumbs = $form->maintenance->build_thumbs->value;
+ $build_exif = $form->maintenance->build_exif->value;
+ if (module::is_active("iptc") and module::info("iptc")):
+ $build_iptc = $form->maintenance->build_iptc->value;
+ else:
+ $build_iptc = FALSE;
+ endif;
+ $purge_cache = $form->maintenance->purge_cache->value;
+
+ $color_pack = $form->edit_theme->colorpack->value;
+ $frame_pack = $form->edit_theme->framepack->value;
+ $thumb_imgalign = $form->edit_theme_adv_thumb->thumb_imgalign->value;
+ $thumb_descmode_a = $form->edit_theme_adv_thumb->thumb_descmode_a->value;
+ $thumb_descmode = $form->edit_theme_adv_thumb->thumb_descmode->value;
+ $thumb_metamode = $form->edit_theme_adv_thumb->thumb_metamode->value;
+ $photo_descmode = $form->edit_theme_adv_photo->photo_descmode->value;
+ $photo_popupbox = $form->edit_theme_adv_photo->photo_popupbox->value;
+ $resize_quality = $form->edit_theme_adv_main->resize_quality->value;
+ $thumb_quality = $form->edit_theme_adv_main->thumb_quality->value;
+
+ if ($build_resize):
+ graphics::remove_rule("gallery", "resize", "gallery_graphics::resize");
+ graphics::add_rule("gallery", "resize", "gallery_graphics::resize",
+ array("width" => $resize_size, "height" => $resize_size, "master" => Image::AUTO), $resize_quality);
+ endif;
+
+ if (module::get_var("gallery", "resize_size") != $resize_size):
+ module::set_var("gallery", "resize_size", $resize_size);
+ endif;
+
+ $_priorratio = module::get_var("th_greydragon", "thumb_ratio", "photo");
+ $thumb_ratio = $form->edit_theme_adv_thumb->thumb_ratio->value;
+ $thumb_ratio_ex = $form->edit_theme_adv_thumb->thumb_ratio_ex->value;
+ if ($thumb_ratio_ex):
+ $thumb_ratio .= "_ex";
+ endif;
+
+ if ($thumb_ratio_ex):
+ $thumb_size = 300;
+ else:
+ $thumb_size = 200;
+ endif;
+
+ if ($thumb_ratio == "photo"):
+ $rule = Image::AUTO;
+ else:
+ $rule = Image::WIDTH;
+ endif;
+
+ if ($build_thumbs):
+ graphics::remove_rule("gallery", "thumb", "gallery_graphics::resize");
+ graphics::add_rule("gallery", "thumb", "gallery_graphics::resize",
+ array("width" => $thumb_size, "height" => $thumb_size, "master" => $rule), $thumb_quality);
+ endif;
+
+ if (module::get_var("gallery", "thumb_size") != $thumb_size):
+ module::set_var("gallery", "thumb_size", $thumb_size);
+ endif;
+
+ $row_count = $form->edit_theme->row_count->value;
+ $column_count = $form->edit_theme->column_count->value;
+ $this->save_item_state("row_count", 3, $row_count);
+ $this->save_item_state("column_count", 3, $column_count);
+ if ($column_count == -1):
+ $column_count = 3;
+ endif;
+ module::set_var("gallery", "page_size", $row_count * $column_count);
+ module::set_var("gallery", "header_text", $form->edit_theme->header_text->value);
+ module::set_var("gallery", "footer_text", $form->edit_theme->footer_text->value);
+ module::set_var("gallery", "favicon_url", $form->edit_theme->favicon->value);
+ module::set_var("gallery", "apple_touch_icon_url", $form->edit_theme->appletouchicon->value);
+
+ $this->save_item_state("copyright", $form->edit_theme->copyright->value, $form->edit_theme->copyright->value);
+ $this->save_item_state("logo_path", $form->edit_theme->logo_path->value, $form->edit_theme->logo_path->value);
+ $this->save_item_state("color_pack", (($color_pack) and ($color_pack != "greydragon")), $color_pack);
+ $this->save_item_state("frame_pack", (($frame_pack) and ($frame_pack != "greydragon")), $frame_pack);
+
+ $auto_delay = $form->edit_theme->g_auto_delay->value;
+ $this->save_item_state("auto_delay", $auto_delay != 30, $auto_delay);
+
+ // * Advanced Options - General ******************************************
+
+ $this->save_item_state("viewmode", $form->edit_theme_adv_main->viewmode->value != "default", $form->edit_theme_adv_main->viewmode->value);
+ $this->save_item_state("toolbar_large", $form->edit_theme_adv_main->toolbar_large->value, TRUE);
+ module::set_var("gallery", "show_credits", $form->edit_theme_adv_main->show_credits->value);
+ $this->save_item_state("show_guest_menu", $form->edit_theme_adv_main->show_guest_menu->value, TRUE);
+ $this->save_item_state("loginmenu_position", $form->edit_theme_adv_main->loginmenu_position->value != "default", $form->edit_theme_adv_main->loginmenu_position->value);
+ $this->save_item_state("mainmenu_position", $form->edit_theme_adv_main->mainmenu_position->value != "default", $form->edit_theme_adv_main->mainmenu_position->value);
+ $this->save_item_state("breadcrumbs_position", $form->edit_theme_adv_main->breadcrumbs_position->value != "default", $form->edit_theme_adv_main->breadcrumbs_position->value);
+ $this->save_item_state("breadcrumbs_showinroot",$form->edit_theme_adv_main->breadcrumbs_showinroot->value, TRUE);
+ $this->save_item_state("custom_css_path", $form->edit_theme_adv_main->custom_css_path->value != "", $form->edit_theme_adv_main->custom_css_path->value);
+ $this->save_item_state("disable_seosupport", $form->edit_theme_adv_main->disable_seosupport->value, TRUE);
+ $this->save_item_state("desc_allowbbcode", $form->edit_theme_adv_main->desc_allowbbcode->value, TRUE);
+ $this->save_item_state("resize_quality", $resize_quality != 100, $resize_quality);
+ $this->save_item_state("thumb_quality", $thumb_quality != 100, $thumb_quality);
+ module::set_var("gallery", "visible_title_length", $form->edit_theme_adv_main->visible_title_length->value);
+ $this->save_item_state("title_source", $form->edit_theme_adv_main->title_source->value != "default", $form->edit_theme_adv_main->title_source->value);
+ $this->save_item_state("use_permalinks", $form->edit_theme_adv_main->use_permalinks->value, TRUE);
+
+ // * Advanced Options - Album page ***************************************
+
+ $this->save_item_state("album_descmode", $form->edit_theme_adv_album->album_descmode->value != "hide", $form->edit_theme_adv_album->album_descmode->value);
+ $this->save_item_state("paginator_album", $form->edit_theme_adv_album->paginator_album->value != "top", $form->edit_theme_adv_album->paginator_album->value);
+ $this->save_item_state("disablephotopage", $form->edit_theme_adv_album->disablephotopage->value, TRUE);
+ $this->save_item_state("hidecontextmenu", $form->edit_theme_adv_album->hidecontextmenu->value, TRUE);
+
+ // * Advanced Options - Album page - Thumbs ******************************
+
+ $this->save_item_state("thumb_ratio", $thumb_ratio != "photo", $thumb_ratio);
+ $this->save_item_state("thumb_imgalign", $thumb_imgalign != "top", $thumb_imgalign);
+ $this->save_item_state("thumb_descmode_a", $thumb_descmode_a != "overlay", $thumb_descmode_a);
+ $this->save_item_state("thumb_descmode", $thumb_descmode != "overlay", $thumb_descmode);
+ $this->save_item_state("thumb_metamode", $thumb_metamode != "default", $thumb_metamode);
+ $this->save_item_state("thumb_random", $form->edit_theme_adv_thumb->thumb_random->value, TRUE);
+
+ // * Advanced Options - Photo page ***************************************
+
+ $this->save_item_state("paginator_photo", $form->edit_theme_adv_photo->paginator_photo->value != "top", $form->edit_theme_adv_photo->paginator_photo->value);
+ $this->save_item_state("photo_descmode", $photo_descmode != "overlay_top", $photo_descmode);
+ $this->save_item_state("photo_popupbox", $photo_popupbox != "default", $photo_popupbox);
+ $this->save_item_state("thumb_inpage", $form->edit_theme_adv_photo->thumb_inpage->value, TRUE);
+ $this->save_item_state("hide_photometa", !$form->edit_theme_adv_photo->hide_photometa->value, FALSE);
+
+ // * Advanced Options - Root page ****************************************
+
+ $rssmodulecheck = module::is_active("rss") and module::info("rss");
+
+ $root_feed = $form->edit_theme_adv_root->root_feed->value;
+ $root_cyclemode = $form->edit_theme_adv_root->root_cyclemode->value;
+ $root_delay = $form->edit_theme_adv_root->root_delay->value;
+ $root_description = $form->edit_theme_adv_root->root_description->value;
+
+ $this->save_item_state("allow_root_page", $form->edit_theme_adv_root->allow_root_page->value, TRUE);
+ $this->save_item_state("hide_root_desc", !$form->edit_theme_adv_root->show_root_desc->value, TRUE);
+ $this->save_item_state("root_feed", $root_feed != "gallery/latest", $root_feed);
+ $this->save_item_state("root_cyclemode", $root_cyclemode != "fade", $root_cyclemode);
+ $this->save_item_state("root_delay", $root_delay != "15", $root_delay);
+ $this->save_item_state("hide_root_sidebar", $form->edit_theme_adv_root->hide_root_sidebar->value, TRUE);
+ $this->save_item_state("root_description", $root_description, $root_description);
+
+ // * Sidebar Options *****************************************************
+
+ $sidebar_allowed = $form->edit_theme_side->sidebar_allowed->value;
+ $sidebar_visible = $form->edit_theme_side->sidebar_visible->value;
+
+ if ($sidebar_allowed == "right"):
+ $sidebar_visible = "right";
+ endif;
+ if ($sidebar_allowed == "left"):
+ $sidebar_visible = "left";
+ endif;
+
+ $this->save_item_state("hide_blockheader", $form->edit_theme_side->hide_blockheader->value, TRUE);
+ $this->save_item_state("sidebar_albumonly", $form->edit_theme_side->sidebar_albumonly->value, TRUE);
+ $this->save_item_state("sidebar_hideguest", !$form->edit_theme_side->sidebar_hideguest->value, TRUE);
+ $this->save_item_state("sidebar_allowed", $sidebar_allowed != "any", $sidebar_allowed);
+ $this->save_item_state("sidebar_visible", $sidebar_visible != "right", $sidebar_visible);
+
+ $this->save_item_state("last_update", TRUE, time());
+
+ module::event("theme_edit_form_completed", $form);
+
+ if ($_priorratio != $thumb_ratio):
+ message::warning(t("Thumb aspect ratio has been changed. Consider rebuilding thumbs if needed."));
+ endif;
+
+ message::success(t("Updated theme details"));
+
+ if ($build_exif):
+ db::update('exif_records')
+ ->set(array('dirty'=>'1'))
+ ->execute();
+ endif;
+
+ if ($build_iptc):
+ db::update('iptc_records')
+ ->set(array('dirty'=>'1'))
+ ->execute();
+ endif;
+
+ if ($purge_cache):
+ db::build()
+ ->delete("caches")
+ ->execute();
+ endif;
+ endif;
+ url::redirect("admin/theme_options");
+ else:
+ print $this->get_admin_view();
+ endif;
+ }
+
+ protected function get_admin_view() {
+ $view = new Admin_View("admin.html");
+ $view->page_title = t("Grey Dragon Theme");
+ $view->content = new View("admin_theme_options.html");
+ $view->content->name = self::get_theme_name();
+ $view->content->version = self::get_theme_version();
+ $view->content->form = self::get_edit_form_admin();
+ $view->content->help = self::get_edit_form_help();
+ return $view;
+ }
+
+ public function index() {
+ site_status::clear("gd_init_configuration");
+ print $this->get_admin_view();
+ }
+}
+?> \ No newline at end of file
diff --git a/themes/greydragon_old/admin/views/admin_theme_options.html.php b/themes/greydragon_old/admin/views/admin_theme_options.html.php
new file mode 100644
index 0000000..0e9f404
--- /dev/null
+++ b/themes/greydragon_old/admin/views/admin_theme_options.html.php
@@ -0,0 +1,38 @@
+<?php defined("SYSPATH") or die("No direct script access.");
+/**
+ * Grey Dragon Theme - a custom theme for Gallery 3
+ * This theme was designed and built by Serguei Dosyukov, whose blog you will find at http://blog.dragonsoft.us
+ * Copyright (C) 2009-2011 Serguei Dosyukov
+ *
+ * This program is free software; you can redistribute it and/or modify it under the terms of the GNU General
+ * Public License as published by the Free Software Foundation; either version 2 of the License, or (at your
+ * option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the
+ * implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * for more details.
+ *
+ * You should have received a copy of the GNU General Public License along with this program; if not, write to
+ * the Free Software Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA.
+ */
+?>
+<?
+ $gd_shared_installed = (module::is_active("greydragon") && module::info("greydragon"));
+ if ($gd_shared_installed):
+ $view = new View("gd_admin_include.html");
+ $view->is_module = FALSE;
+ $view->downloadid = 1;
+ $view->name = "greydragon";
+ $view->form = $form;
+ $view->help = $help;
+ else:
+ $view = '<div id="g-greydragon-admin" class="g-block">';
+ $view .= "<h1>" . t("Prerequisite") . "</h1><hr>";
+ $view .= "<p>" . t("This theme requires GreyDragon shared module to be installed and actived first.") . "</p>";
+ $view .= "<p>" . t("Please download it") . ' <a href="http://codex.gallery2.org/Gallery3:Modules:greydragon" target="_blank">' . t("here") . "</a> " . t("and install. Make sure it is activated.") . "</p>";
+ $view .= "</div>";
+ endif;
+
+ print $view;
+?>
+
diff --git a/themes/greydragon_old/changelog.txt b/themes/greydragon_old/changelog.txt
new file mode 100644
index 0000000..3d234da
--- /dev/null
+++ b/themes/greydragon_old/changelog.txt
@@ -0,0 +1,616 @@
+=== Grey Dragon Theme ===
+Grey Dragon Theme - a custom theme for Gallery 3
+
+This theme was designed and built by Serguei Dosyukov, whose blog you will find
+at http://blog.dragonsoft.us/
+Copyright (C) 2009-2012 Serguei Dosyukov
+
+Tested up to: G3 3.0.3 build 55
+Minimum requirement: G3 3.0.2 build 49
+
+This program is free software; you can redistribute it and/or modify it under
+the terms of the GNU General Public License as published by the Free Software
+Foundation; either version 2 of the License, or (at your option) any later
+version. This program is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
+details. You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software Foundation, Inc.,
+51 Franklin Street Fifth Floor, Boston, MA 02110-1301, USA.
+
+=== Open issues ===
+- RTL layout support
+
+=== Changelog ===
+version 3.2.2
+- CSS: Fixes a phenomenon where dialog content not aligning properly under some conditions
+- CSS: Fixes a phenomenon where login dialog for error/login and reauthenticate pages were not in sync
+- Movie thumb and Photo IDs are adjusted to comply with 3.0.3 notation
+- Photo page image precache javascript moved into .ready to speed up the page load
+- CP: Roundrobin styles improvements - top login positioning adjusted, removed padding for root page when sidebar is used
+- ADMIN: Added prerequisite check for CURL support in PHP
+
+version 3.2.1
+- Logic to process command line parameters changed to prevent unhandled exception on some LAMP instances
+
+version 3.2.0
+- Theme is now HTML 5
+- CSS: Dropped support for IE 6
+- IMPORTANT: .g-extended class moved from .g-item level into a <body> to allow layout manipulation based on thumb formats. Styles are affected.
+- Added class marker to page's <body> element to indicate current sidebar mode - g-sidebar-xxxxxxxx
+- CSS: Min width of the gallery is now enforced based on number of columns and sidebar visibility - extended thumbs 3/4 columns
+- CSS: Decrease size of the column for 3 column layout to 31% to prevent wrapping in some browser modes
+- ADMIN: Logic added to inform site owner about new versions of the theme
+- ADMIN: Admin page layout is now based on shared GreyDragon module which is now required
+- ADMIN: "Visible Title Length" option - access to G3 title length setting.
+- ADMIN: Use Permalinks for navigation - allows /root, /enter be used for root page access.
+ Requires the following rules added in .htaccess <mod_rewrite.c> section
+
+ ########## Enable /root url ################
+ #
+ RewriteRule ^root ?root=yes [NC]
+ RewriteRule ^enter ?root=no [NC]
+ #
+ ############################################
+
+- Visible Title Length is now taken in consideration when displaying Photo Titles in thumbs, breadcrumbs, etc.
+- Improved file name detection for Title Source
+- CP: new color pack - Round Robin \
+- FP: new frame pack - Round Corners / combined would give look of Clean Canvas theme
+- FP: Book frame pack : removed right padding to prevent wrapping on smaller resolutions
+- FP: Wall frame pack : min width decreased to all proper alignment of tiles
+- jquery.cycle.js updated to v.2.9999.4
+- Synchronize Calendar page with page.html.php
+- CSS: forms.css - fixed two misspelled rules
+- Added code protection from Camel case in CMD parameters
+- Fixed issue with missing status icons for some colorpacks in Upload dialog
+- Added code protection in Root page to detect situation when roller is empty and then do not initialize the cycle plugin
+- Added translation support for default thumb caption (Photo #, Movie #, etc)
+
+version 3.1.4
+- ADMIN: Option to specify image quality level for Photo resizes and Thumbs
+- ADMIN: Additional Description Display Mode for Photo page : Overlay Top (Static), Overlay Bottom (Static)
+- ADMIN: Title Source - manage what thumb/image title is based on : Title | Title/Suppress Filename | Description
+- Added support for normalize.css - see http://necolas.github.com/normalize.css/ for more details
+- Added rel=nofollow for sidebar mode switch links to prevent indexing
+- Fix: module check failing in admin section when none of colorbox, shadowbox or fancybox is intalled
+- Fix: CSS: Added missing rule for size of the thumb in Wall frame pack for "Actual" aspect ratio
+- Fix: CSS: Fixed "Forgot password" misalignment in Login dialog
+- G3 version requirement increased to 3.0.2
+
+version 3.1.3
+- Removed validation for ImageBlockEx preventing use of RootPage option
+- Removed JS code - attempt to have fadeIn effect
+
+version 3.1.2
+- CSS: Fixed issue with breadcrumbs divider in colorpacks
+- CSS: Fixed issue with thumb description positioning
+
+version 3.1.1
+- Removed some redundant code in page.html.php
+- Fixed issue with fixed Columns style not being applied
+- Added code protection for situation when $position is not defined in paginator.html.php
+- CSS: Fixed issues with popup menu positioning
+
+version 3.1.0
+- CSS: !!! Folder Structure Change !!! colors.css and frame.css added to aggregated CSS.
+- ADMIN: Root Page is now iPad/Mac compatible - Flash player has been replaced with jquery.cycle - option added to manage
+ rotation mode. ImageBlockEx module is no longer required. For hosts where there is a block accessing local RSS feed,
+ rootpage.html.php_fix can be used (old style) by renaming it and placing into /themes/custom/views folder
+- ADMIN: New option - Hide Context Menu for thumbs
+- ADMIN: New option - Disable photo page - open FancyBox style slideshow directly from album page
+- ADMIN: New option - Show Sidebar for Guest Users
+- ADMIN: Option for Thumb alignment extended to Top/Center/Bottom/Fit
+- ADMIN: Option's order change in Advanced Options - General
+- ADMIN: Large toolbar buttons
+- ADMIN: "Blend Page Transitions" is replaced with JS version
+- ADMIN: Corrected setting for Apple Touch Fav Icon to use G3 default setting
+- ADMIN: "Login Menu Position" expanded to allow login to be hidden. Admin can access Admin area using http://site_url/admin URL
+- CP: New color pack - White Hawk
+- FP: New frame pack - Wall
+- FP: Support for custom frame content added - frame.html.php
+- Core: Current framepack is now referenced by the page
+- Core: Body class logic moved into theme's library class
+- Core: "Up" navigation button now would take you to item's associated page rather then to first page of the album
+- Core: Fixed issue of Sidebar position setting not being picked up under some conditions
+- Core: Improved detection for root page - if root album id <> 1
+- Core: Framepack and viewmode URL parameter value is now retained for duration of the session
+- Core: In "Disable photo page" mode, if EXIF module is disabled, thumb would include clickable reference to EXIF dialog
+- Core: Breadcrumbs are now using :: as divider instead of image
+- CSS: Column/Colorpack classes (ex: g-column-3, g-wall) moved one level up from ul#g-album-grid to div.g-album-grid-container
+- CSS: Fixed issue with meta data alignment in Simple frame pack
+- CSS: Fixed issue with permission dialog's breadcrumbs alignment
+- CSS: removed left padding for navigator thumbs which was causing image "jumps"
+- CSS: Some images were changed
+- JS: Shadowbox settings moved out of the theme into module itself.
+
+version 3.0.8
+- Fixed issue with allowed sidebar position not properly recognized when used as Default
+- Fix issue with missing quotes in Admin module
+- Fixed issue with uninitialized variable in admin page
+- Fixed background for view-calendar.png for some color packs
+- CSS: Center content of ThumbNav module. If non default thumb size is used for module, setting may need to be adjusted.
+- CSS: Added new style sheet for iPad support
+
+version 3.0.7
+- ADMIN: Added support for View Mode - Full/Mini (ex: ?viewmode=mini | ?viewmode=full | ?viewmode=default )
+- ADMIN: Paginator position now can be set independently for Album and Photo pages
+- ADMIN: Added Colorbox slideshow detection
+- Theme.info adjusted to match new guidelines
+- CSS: GreyDragon Color Pack - fixed thumb background color issue with GreyDragon Frame Pack
+- CSS: changes to improve Basket Module integration
+- CSS: #g-album-grid element now references framepack used for better interaction between frame and color packs (ex: class="g-slateblue")
+- Fix issue with sidebar not properly displayed in Root Page
+- Fix issue with missing thumb image not being aligned properly in "Actual Aspect Ratio" mode
+
+version 3.0.6
+- Fix: Using Top aligned sidebar causes problem
+
+version 3.0.5
+- ADMIN: Allow hiding sidebar for root pages -> Advanced Options\Root Page\Hide Sidebar
+- ADMIN: Allow breadcrumbs in root page/root album -> Advanced Options\General\Show Breadcrumbs in top album/root page
+- Fixed issue with Calendar not displayed properly when no items are returned
+- CSS: Increased padding for in-page description block
+
+version 3.0.4
+- FP: New framepack - book
+ Please note that if bottom aligned description is used, it need to be the same for both album and photo thumbs.
+- CSS: #g-album-grid-container renamed to .g-album-grid-container
+- CSS: Fixed slight misalignment of 3 level main menu items
+- ADMIN: New position for main menu - Top Bar - top aligned/fixed positioned menu. Useful for admin mode menu
+- ADMIN: Added support for separate option for description position in album thumbs
+
+version 3.0.3
+- ADMIN: Added option for Root Page slideshow delay
+- ADMIN: Added option for Alternative Description for Root Page which overwrites Description from Root album
+- CSS: Fix issue with context menu hotspot z-index in thumbs
+- CSS: Fixed margin in Uploadify dialog to prevent overlap
+- ADMIN: Page cache option has been deprecated. It can be achieved via .htaccess instead
+
+version 3.0.2
+- Wind Color Pack: Fixed issue with missing background image for dialog header
+- CSS: Wind Color Pack: Set dialog background to white
+- ADMIN: Fixed issue of Maintenance group label not being translated
+- Fixed issue with float division for photo page
+- Fixed issue with BBCode in info block not being converted (regression error)
+- Fixed small misalignment of the image with the "Actual" Aspect Ratio Thumb
+- Added CSS class marker for portrait thumb images
+- IE9: Added support for Pinned Site mode and Jump List menu
+
+version 3.0.1
+- ADMIN: Page Header and Footer Text allows BBCode
+- ADMIN: Added support for apple-touch-icon - icon similar to favicon to be used on iPad/iPhone/iPod devices
+- ADMIN: New option - Album Description Display Mode - allowing placement of the description in the album pages
+- ADMIN: Main menu could be now positioned as Top-Left/Bottom-Left aligned
+- ADMIN: Bradcrumbs could be now positioned as Top-Left/Bottom-Left/Bottom-Right or Hidden
+- Added <span> wrappers for Header and Footer texts allowing further CSS manipulation
+- Added support for custom header/footer inclusion - simply drop header.html.php and/or footer.html.php in the views folder and content would be added in the header/footer section
+- Info sidebar block logic synchronized to match default but still allow BBCode
+
+version 3.0.0
+- Due to extensive changes to CSS it is now a major release
+- Rules from screen.css moved into base.css. Screen.css used as loader file only.
+- Introduced better support for RTL
+- Some of the icons moved into ui-icons.png for optimization. Color adjustments for visibility.
+- Added support for frame packs. Included: greydragon (default), simple, android, iphone, iphoto, darkglass
+- Fixed issue with regular wide thumb format not being set/displayed properly
+- Breadcrumb logic extended to take in consideration [visible_title_length] variable value introduced in G3
+- Reordered JS registration to comply with default G3 3.0.1 logic
+- Added some missing translation hooks in Admin area
+- Some Page load optimization
+- Added logic to take in consideration date display format for info module
+- Performed validation and necessary adjustments for IE 9/IE 9 compatibility mode
+- IE Fix CSS is only applied for IE 6. Older versions are no longer supported
+
+version 2.7.9
+- Optimized session handling for colorpack cmd param
+- Removed validation for colorpack presence
+
+version 2.7.8
+- Fixed issue with colorpack detection. Reenabled
+- Fixed issue with sidebar position could be "stuck" when switching from Grey Dragon Wind Theme
+- Fixed introduced error with missing forms.css reference
+- Theme's CSS/JS is combined into session based G3 files
+
+version 2.7.7
+- Adjusted for 3.0.1 release of G3
+- New color pack: blackhawk
+- ADMIN: New sidebar position supported - top (new rules added to colorpacks)
+- CSS: Some clean up for included colorpacks - CSS/image resources, sprite image optimization for sidebar position buttons
+- Added session persistence for colorpack url parameter for demo purposes
+- ADMIN: Prerequisites module check extended to make it more relevant when Root Page is allowed
+- CSS: Sync positions of main menu and breadcrumbs when in alternative header layout format
+- colorpack location validation has been disabled for now until issue is resolved
+
+version 2.7.6
+- ADMIN: "Large" Thumb sizes are removed from Aspect dropdown and managed via "Expanded Aspect Ratio (300px wide)" option
+- ADMIN: New Thumb aspect ratio - Wide/HDTV (16:9), "Actual" aspect is supported in Expanded mode
+- ADMIN: Root Page - new option "Show Gallery Description"
+- Added check if Shadowbox is loaded so that theme's initialization JS does not produce hidden exception
+- Added pointer cursor for clickable overlay area in Root Page until Minislideshow is loaded
+
+version 2.7.5
+- ADMIN: Full Slideshow RSS feed url now being used. This solves some issues with Flash loader and allows creation of custom playlists to be used in the root page
+- Root Page: Fixed issue with Flash Slideshow not being loaded properly
+
+version 2.7.4
+- Root Page: Added "Click to Enter" to indicate clickable state
+- Root Page: Quote is now taken from root album description field. If description is empty, slideshow content is centered.
+- Added branding icons for "gallery 3" and theme/color packs.
+- Fixed issue with page layout for calendar module.
+- Fixed issue with URL parameters not being recognized in some server configurations
+- CSS: Fixed aspect ratio for thumbs. Some css alignments optimization
+- CSS: Turned back on borders for blocks in bottom aligned sidebar
+- ADMIN: New option for Photo Description Display Mode - Overlay Bottom. !!!! Color pack's CSS rules affected.
+- ADMIN: Maintenance section: Added "Reset IPIC Info" (if module is active) and "Purge cache data", some tweaks for "Reset EXIF Info"
+
+version 2.7.3
+- ADMIN: New option - Randomize Thumb Image
+- Missing markup in rootpage.html.php
+- Root Page - set size of the slideshow to auto so it can be managed via CSS
+- Sync page.html.php structure with latest git changes
+- CSS: Fixed styles for progress dialog when invoked from non-admin area
+
+version 2.7.2
+- CSS: Restored visible state of rotation operations for photos
+- JS: To resolve issue with Opera OS, background image need to be set for #g-rootpage-link instead of roller object. Finalization JS for root page slideshow extended to clear background for overlay.
+- Reenabled support for site status messages
+
+version 2.7.1
+- Root Page layout/css extended to allow click on the image while slideshow is still loading
+- ADMIN: Some changes in setting's titles and help
+- Fixed issue with meta data overlay not being shown for some title/meta combinations
+
+version 2.7.0
+- DEV: new url parameter support added - colorpack. Ex: <gallery_url>?colorpack=<name>
+- ADMIN: 2 to 5 columns layout is now supported. Flex column option moved into column selector.
+- ADMIN: Added new mode for Description overlay in Album - Overlay Bottom (Static) - places description on the bottom of the thumb as static overlay. Metadata would not be shown.
+- ADMIN: Metadata Display Mode for Thumbs introduced. [Hide metadata] merged into it. Metadata can now be merged with description.
+- W3C: resolved some validation errors in album page
+- CSS: !!! Colorpack !!! - adjusted to reflect changes to thumb description structure
+- CSS: Changes for columns CSS (.g-column-3/.g-column-4) - moved to list level - several php files also affected
+- CSS: Fixed issue with re-authenticate dialog layout
+- CSS: Fixed issue search button in IE7 Compatibility mode for wind color pack
+- ShadowBox module config settings changed to prevent flickering - enabled dialog animation. Slideshow timeout increased to 7 sec. Updated version of ShadowBox module is available.
+- CSS: Deprecated styles for ShadowBox Ajax dialogs as they are not supported by the library in Core and color pack references
+
+version 2.6.3
+- ADMIN: New "Title Display Mode" added - Overlay (Static)
+- CSS: syncronization between colorpacks. Some simplification
+
+version 2.6.2
+- Added support for initial background in the Root Page to be removed as soon as slideshow starts (requires imageblockex 2.1)
+- ADMIN: Added option allowing feed selection for Root Page, Quote text
+- Small changes in color pack and layout for Upload dialog
+- Fixed logic in roopage.html.php to properly construct the link for navigation
+
+version 2.6.0
+- Support for root page added
+- Added borders for main wrapper in Slate Blue color pack to accommodate centered layout
+- Added JS to preload next/prior images in photo pages
+- Added content wrapper for album grid to allow external CSS application - ex: center grid content
+- ALERT! Improved rendering of admin panel. This would break admin panels for any modules which uses the same file by inheritance. Please download updated module distros.
+- Fixed wrong reference to layout_non_ie.css file - not used
+- Removed restrictions for displaying sidebar in satellite pages
+- Fixed status message alignment in Upload dialog
+- Fixed W3C validation error in Photo page markup
+- "controllers" folder deprecated
+
+version 2.5.1
+- Fixed issue with relative path not being used when changing sidebar display mode
+- ADMIN: Added support for Blend effect for page transitions
+- ADMIN: Added check to identify module collision between FancyBox and ShadowBox
+- ADMIN: New option "Keep Thumb Nav Block on the side" for Photo Pages
+- CSS: small css changes for bottom aligned sidebar positioning
+- CSS: Fix for dialog overlay div to properly position itself and prevent scrollbars to appear without reason
+- CSS: slateblue color pack - make regular text grey
+- CSS: set min height for bottom aligned sidebar
+- CSS: Fixed issue with font size for dialogs in IE8 Compatability mode
+- Custom layout for tag_block.html.php is depricated
+- Some W3C Validation clean-up
+
+version 2.5.0
+- New colorpack - SlateBlue
+- Added support for bottom aligned Sidebar
+- CSS: opacity in .ui-widget-overlay (forms.css) set to 70
+- CSS: Fixed issue with misallignment of sidebar toolbar area and page header info
+- CSS: Removed left pagging for g-photo element to properly align in the div
+- CSS: Added thumb size restrictions for Image Block module
+- Removed logic to use Shadowbox when showing Exif data
+
+version 2.4.9
+- ADMIN: Top Align Thumb Image option added - do not center thumb image in the view window. Useful for portrait oriented photos.
+- ADMIN: Added a new Advanced option - Relative path to custom.css, if used - allowing inclusion of custom css override
+- Ignore albums when building item list for Fancybox/Shadowbox Slideshow in Photo page. Fix issue with extra item added when start with first item.
+- Fixed issue with not properly sanitized titles for links for Fancybox/Shadowbox Slideshow in Photo page
+- Small adjustment to FancyBox slideshow navigation arrows
+- Force min height requirement for H1/H2 elements
+- Fixed spelling for g-thumlink -> g-thumblink
+- Force size of the thumb link to fill crop area - situation when thumb image is smaller then view area
+- Removed custom layout for User Profile page
+
+version 2.4.8
+- Fixed inverted state of "Disallow Search Engine Indexing (No Bots)
+- Fixed JS syntax incompatibility in IE7/IE8 compatibility mode
+- Fixed display of thumb title and photo description on hover in IE7/IE8 compatibility mode
+- Fixed issue with Dialogs not skinned properly in Carbon/Wind themes
+- Fixed issue with metadata for photo thumbs when Aspect Ratio: Actual Size and Title Display Mode: Bottom
+
+version 2.4.7
+- Fixed issue with some .g-block structures.
+ Fixed issue with avatar not properly aligned in comment section.
+
+version 2.4.6
+- Fixed some issues when strict error reporting is enabled for PHP
+- Fixed background color for description for bottom Display Title Mode (greydragon colorpack)
+- Added support for two new Thumb Sizes - Digital Ex and Film Ex - 300px wide thumbs
+- Fixed issue with buttons in the block "jumping" out
+- Added check in block view to verify that theme is defined
+
+version 2.4.5
+- Min G3 core requirement is set to v.41
+- Fixed issue with Exif dialog data integration
+- Fixed issue with permission dialog
+- CSS: Changes form style management. Fixed issue with breadcrumbs display in dialogs.
+- CSS: Important! Colorpack files are affected
+- Removed no longer required custom Login dialog logic
+- JS cleanup
+
+version 2.4.4
+
+Please drop GD themes folder before uploading a new version
+
+- CSS: screen.css - fixed layout naming change preventing proper display of authentification form when accessing protected areas
+- CSS: Removed some temp files not required by the theme.
+- Support for Fancybox added as alternative to Shadowbox
+- Added support for CalendarView module
+
+version 2.4.3
+- Fixed issue with sidebar mode switch link being incorrect
+- CSS: small style adjustment to neutralize default style effect for the search entry box
+
+version 2.4.2
+- Fixed issue some modules requiring scrollTo() function.
+- Shadowbox is now optional. Special logic added to allow/disallow SB slideshow mode. If disabled, theme would not support full view for images to be in the popup window, new window will be used instead.
+- CSS: Minor improvements for thumb layout in Overlay and Bottom Title Display mode
+- ADMIN: Support for flex column layout added
+- ADMIN Help: Small improvements
+
+version 2.4.1
+- Organize module support reenabled
+- Register module support reenabled
+- Partial support for Shopping Basket module
+- CSS clean-up after dialog engine conversion - round #1
+- Fixed issue with Exif dialog not properly rendered
+
+version 2.4.0
+- Apply g-button style only to forms
+- Fix to properly display videos
+- Fix to account for changes in Comments module
+- Favicon removed from theme's package
+- Fixed uninitialized state warnings of the variables in PHP protected mode
+- Album thumbs now have "lighter" background
+- First draft to change how dialogs are handled - switched to standard code
+- ADMIN: G3 Core version requirement is set to 32
+- ADMIN: Added missing settings initializations
+- ADMIN: Fixed issue with Navigator position setting not being persisted
+- ADMIN: Abstract admin form styles for reuse from regular module admin panels
+- ADMIN: Added option to specify favicon location. If not specified default G3 icon is used.
+
+version 2.3.1
+- Hide Rotate operations for pictures since they are not supported by the theme
+- Added use of common gallery.ajax.js. Fix issue with some Ajax based links.
+- Layout fixes for Translation form overlay
+- Changed CSS styling for buttons to provide unified coverage for buttons and links exposed as buttons.
+- ADMIN: Fixed options group styles in Theme's Admin panel
+- ADMIN: Advanced Settings for Thumbs and Individual Photo are moved into separate sections.
+- ADMIN: New option - display meta data in Photo description section
+- ADMIN: New option/fix - SEO indexing is now allowed by default. In order to prevent your site from being indexed, you can now use "Disallow Search Engine Indexing" option
+
+version 2.3.0
+- Adopted for Gallery 3.0RC2 changes (minor template adjustments, css class name changes, etc.)
+
+version 2.2.1
+- Redesigned Ready event handler for the theme to ensure proper ShadowBox initialization
+- Added support for gallery_dialog() function call used by some 3rd party modules - some sync issues are solved by imposed delay of 1 second
+- GPS module - better action list alignment in the sidebar
+
+version 2.2.0
+- Added support for slideshow mode in Photo Preview
+- Fixed issue with Info side block - missing markup
+- Fixed issue with Upload dialog layout with some resolutions/fonts
+- ADMIN: Added option to hide breadcrumbs
+- ADMIN: Added prerequisite check for Info module - required for Thumb meta data display
+
+version 2.1.7
+- Added support for missing images in the thumbs to allow proper operations with empty albums or albums with broken thumbs
+- Some color optimizations
+- Color improvements for "Add Image" dialog
+- Better support for Basket module
+
+version 2.1.6
+- Wind colorpack adjusted to closer match default Wind theme
+
+version 2.1.5
+- Minor changes in ADMIN infrastructure
+- ADMIN: added check for Kbd Navigation module
+- ADMIN: New color pack - carbon
+
+version 2.1.4
+- Minor refactoring in paginator
+- Added support for keyboard navigation module (http://codex.gallery2.org/Gallery3:Modules:kbd_nav)
+
+version 2.1.3
+- Sidebar restricted to item related pages (album, photo, movie, etc)
+- Fixed issue with bottom border not applied to all instances of H1 tag
+- Min footer size set to 4em
+- ADMIN: "Photo: Description Display Mode" option added
+- ADMIN: Added new maintenance operation - "Reset Exif Info"
+
+version 2.1.2
+- Fixed issue with Album thumbs - empty space under
+- Thumb Item's Title Display Mode expanded to be applied to Item's description in Photo page
+- More documentations in CSS files, some movements
+- Some cleanup for Wind color pack
+- Fixed font name typo in screen.css
+- Fixed "Waiting" roller for Wind theme to match background
+- Added "up" button in navigation
+
+version 2.1.1
+- Increased size of Add photo dialog for better display on some lower resolutions.
+- ADMIN: New option: "Thumb: Item's Title Display Mode" - specifies how to display item's title in thumbs : Overlay Bottom Hide
+
+version 2.1.0
+- Custom Info Block to include item's description
+- Image is centered when "Actual Size" aspect is used for thumbs
+- Added support for color packs - included: greydragon, wind
+- ADMIN: Improved error handling
+- ADMIN: Disable submit button on click to prevent Dbl-click
+- ADMIN: New option: Enable page cache - adds header marker for page to be cached for 60 seconds
+
+version 2.0.1
+- Enable BBCode/HTML support in individual photo descriptions
+- Fixed main menu overlay issue when in top position
+- Theme's credits moved into dedicated method
+- CSS clean up
+- Comments module layout enhancements
+
+version 2.0.0
+- Major redesign of the gallery flow.
+ - Added caption and metadata (Admin/optional) overlay for thumbs.
+ - Added description overlay in individual Photo view (look for "Learn More" marker).
+ - Based on Admin setting, thumbs are adjusted to fit Digital/Film/Actual size.
+- Attempt to fix issue with JS load latency to prevent unhandled AJAX calls
+- Added code protection for theme initialization procedure
+- ADMIN: Thumb Aspect Ratio option. See help section for more info.
+
+version 1.8.2
+- Increased based font size
+- Layout adjusted to match new settings
+- ADMIN: New option - Place Login Link in the Header
+
+version 1.8.1
+- ADMIN: small adjustments in layout and help info
+- 3rd party module's related CSS moved into contrib.css
+- Adjust user profile screen to match new layout
+- initial design for calendar module
+
+version 1.8.0
+- ADMIN: Major redesign of the layout. Help section added.
+- ADMIN: New option - Show main menu for guest user
+- Minimum required Gallery version set to 30
+- When configured not to use sidebar, theme is switched into 4 columns layout
+
+version 1.7.6
+- Organize module: CSS improvements
+- Fixed issue with Chrome browser
+
+version 1.7.5
+- ADMIN: Added option to reset theme to default state
+- CSS: some size adjustments for dialogs. Added minimum height for overlay to keep dialogs from shrinking.
+
+version 1.7.4
+- ADMIN: Theme Gallery 3 core requirement changed to v.26
+- ADMIN: Most of theme's settings are documented using element's title attribute - hover over to see a description
+- Edit Permissions form redesigned and enlarged to fit more information
+
+version 1.7.3
+- ADMIN: Default states for the theme options are no longer being stored. Please save theme settings at least once to take advantage of a new functionality.
+- Photo Navigator default position is set to Top Only
+
+version 1.7.2
+- Fix in Uploader dialog to keep items inside respected boxes
+- Organize module support has been abandoned. Please use GWT Organize module instead. Added item in Prerequisites Checklist.
+
+version 1.7.1
+- CSS: Fixed visibility of the "Select Photo" button in "Add photo" dialog
+- CSS: Fixed "ghost" line for navigation buttons when zoomed-in in IE
+- Admin: fixed issue with prerequisite check not detecting deleted modules
+- <theme>/views/support folder deprecated. Logic moved into Theme_View extension class for Theme_View_Core
+- Theme Options Page management, generic Page code and BBCode processor moved into Theme_View class
+- HACK: Info block is not displayed if there is no description for the item
+
+version 1.6.4
+- Admin: Added "Show Sidebar for Albums only" option
+- Admin: added error visibility to the requirements validation list
+- Small CSS adjustments: Fixed footer min size issue when no site credit info is displayed; added space between Credits in the footer and Footer text area.
+- Few missing parts from last git sync
+
+version 1.6.3
+- Kohana 2.4 support
+- Support for Movie files view
+- Admin: Allow hide Sidebar Block header
+
+version 1.6.2
+- Admin: Page navigator option changed to use combobox
+- Admin: Added option to hide item description in albums
+
+version 1.6.2
+- Small CSS adjustments.
+- All operation dialogs should be visible now
+- Context menu: "Rotate 90..." items are removed due to an issue with image quality affected by the operation
+- Context menu: "Choose as the album cover" is now properly handled
+
+version 1.6.1
+- Admin: When allowed sidebar position is "Default Only", don't disregard selected Default position
+- Adjust item's toolbar buttons to align properly when side bar position is fixed
+- BBCode parser improved to support stripping of BBCode for Page title and breadcrumbs
+- Fixed issue with main menu missing class declaration not allowing open dialogs
+- Adjust context dialogs to properly show caption info
+- Caption added to Full size Preview
+- "New Comment" form styled
+- Admin: Option to align main menu to the top and Breadcrumbs to the left
+
+version 1.6.0
+- Admin: Fixed issue with "Rebuild thumbs" option in theme admin
+- Admin: Fixed issue with Item's toolbar not properly aligned in Quirks Mode
+- Exif data dialog Layout changes
+- Item context menu improvements:
+ - Fixed issue with submit logic
+ - Layout fixes for context menu dialogs
+
+version 1.5.8
+- Admin: First release of the Theme admin option. After theme installation, visit Appearance/Theme
+ Options to configure the theme. If you had older version of the theme, initial setup is also required.
+ The following settings are available:
+ - Rows per album page - theme uses 3 columns layout for pictures, therefore default page_size is computed in x3 increments
+ - Thumb size is restricted to 200 and therefore not available for administration
+ - Mark to build resizes/thumbs - allows force rebuilding of images
+ - Show/Hide top/bottom photo navigators
+ - Specify allowed and default sidebar position
+ - Administrator can now specify Copyright message to display in the footer
+ - Site logo is now default to Gallery 3 logo, but admin can provide a path to custom logo.
+ - Admin module validates Theme's requirements (Shadowbox module need to be installed/active)
+- Sidebar session cookie is set to expire in 365 days
+
+version 1.5.7
+- Status message has been moved into header as popup to prevent obstruction of the main view.
+ jQuery is used to fade it out in 10 sec.
+- Improved logic for dialogs on submit
+- Theme related JS has been moved out of the page.html.php
+
+version 1.5.6
+- Fixed issue with tollbar buttons not properly aligned/shown when page is resized.
+- Copyright info moved into DB. To change default settings add [th_greydragon/copyright] into VARS table.
+
+version 1.5.5
+- CSS fixes.
+- Theme adjusted to be compatible with latest Git.
+- Login links are moved into footer.
+- Pagination module redesigned to support new structure of paging data.
+
+version 1.5.4
+- CSS fixes.
+- Added support for Comments block.
+- Improved support for Modal dialogs.
+
+version 1.5.3
+- Updated to match latest git.
+- Exif menu customization is now part of the theme.
+- Sidebar management button is disabled for current mode.
+
+version 1.5.2
+- Code, layout, css cleanup.
+- New thumbs for buttons.
+- First set of Ajax dialogs is ready and now operational: Login, user info, edit album, exit info.
+- Fixed some browser related issues. \ No newline at end of file
diff --git a/themes/greydragon_old/controllers/greydragon.php b/themes/greydragon_old/controllers/greydragon.php
new file mode 100644
index 0000000..0ecfc4f
--- /dev/null
+++ b/themes/greydragon_old/controllers/greydragon.php
@@ -0,0 +1,14 @@
+<?
+
+class GreyDragon_Controller extends Controller {
+
+ public function custom_css() {
+
+ // Draw the page.
+// $template = new Theme_View("gd_custom.css", "other", "Custom_CSS");
+
+ print $template;
+ }
+}
+
+?> \ No newline at end of file
diff --git a/themes/greydragon_old/css/base.css b/themes/greydragon_old/css/base.css
new file mode 100644
index 0000000..4d6288a
--- /dev/null
+++ b/themes/greydragon_old/css/base.css
@@ -0,0 +1,321 @@
+/**
+ * Gallery 3 Grey Dragon Theme
+ * Copyright (C) 2006-2011 Serguei Dosyukov
+ *
+ * CSS rules - Main CSS ruleset
+ *
+ * Color rules for font/background/lines can be found in dedicated colorpack files
+ */
+
+/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
+/* base.css - Common ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
+
+body { font-family: Arial, verdana, sans-serif; font-size: 0.9em; }
+
+a { text-decoration: none; outline: none; -moz-outline-style: none; }
+a:focus, a:active, a:hover { text-decoration: none; outline: none; }
+img { border: none; }
+p { text-indent: 0; }
+ul { list-style: none none; padding-left: 0; }
+
+h1 { font-weight: bold; font-size: 1.1em; padding-bottom: 1px; min-height: 1.1em; }
+h2 { font-weight: bold; font-size: 1.1em; min-height: 1.1em; }
+h3 { font-weight: bold; }
+h4 { font-weight: bold; }
+h5 { font-weight: bold; }
+
+.txtright { text-align: right; }
+.g-metadata { overflow: hidden; }
+.g-avatar { float: right; }
+.g-hide { display: none; }
+
+.ui-icon { display: inline-block; zoom: 1; width: 16px; height: 15px; }
+.ui-icon-first { background-position: -162px -178px; }
+.ui-icon-first-d { background-position: -162px -162px; }
+.ui-icon-prev { background-position: -178px -178px; }
+.ui-icon-prev-d { background-position: -178px -162px; }
+.ui-icon-parent { background-position: -226px -178px; }
+.ui-icon-parent-d { background-position: -226px -162px; }
+.ui-icon-next { background-position: -194px -178px; }
+.ui-icon-next-d { background-position: -194px -162px; }
+.ui-icon-last { background-position: -210px -178px; }
+.ui-icon-last-d { background-position: -210px -162px; }
+.ui-icon-signal-diag { background-position: -16px -178px; }
+.ui-icon-info { background-position: -16px -144px; }
+.ui-icon-plus { background-position: -14px -129px; }
+.ui-icon-minus { background-position: -46px -129px; }
+.ui-icon-note { background-position: -66px -98px; }
+.ui-icon-closethick { background-position: -96px -128px; }
+.ui-icon-left .ui-icon { float: left; margin-right: .2em; }
+.ui-icon-right .ui-icon { float: right; margin-left: .2em; }
+
+/* base.css - Inline layout ~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
+
+.g-inline li { float: left; }
+
+/* base.css - Header ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
+
+#g-header { height: 90px; padding: 0; font-size: 0.9em; }
+#g-logo { position: absolute; top: 8px; left: 16px; }
+
+.g-breadcrumbs { position: absolute; background-color: transparent; }
+.g-breadcrumbs.g-default { bottom: 4px; right: 14px; }
+.g-breadcrumbs.g-bottom-left { bottom: 4px; left: 21.4em; }
+.g-breadcrumbs.g-top-right { top: 4px; right: 14px; }
+.g-breadcrumbs.g-top-left { top: 4px; left: 21.4em; }
+
+.g-breadcrumbs li { display: inline; }
+.g-breadcrumbs li.g-first { background-image: none; padding-left: 0; }
+.rtl .g-breadcrumbs .g-first { background-image: none; padding-left: 0; }
+.g-breadcrumbs li.g-active { padding-right: 0; }
+
+#g-header .g-message-block { position: absolute; z-index: 10; min-width: 30em; padding: 0; right: 20em; top: 34px; overflow: hidden; font: bold 9pt Arial, verdana, sans-serif; text-align: center; }
+#g-header #g-login-menu { position: absolute; top: 0.2em; right: 1em; background-color: transparent; display: none; }
+#g-site-status li { padding: .3em .3em .3em 30px; }
+
+/* base.css - Main ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
+
+#g-main { display: block; margin: 0; }
+#g-main-in { display: block; position: relative; }
+
+#g-column-center, #g-column-centerleft { padding: 6px 6px 6px 10px; }
+#g-column-centerfull { padding: 6px 12px 6px 10px; }
+#g-column-centerright { padding: 6px 10px 6px 6px; }
+#g-column-left { padding: 6px 4px 6px 10px; }
+#g-column-right { padding: 6px 10px 6px 4px; }
+
+/* base.css - Footer ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
+
+#g-footer { padding: 6px 6px 6px 14px; zoom: 1; font-size: 0.9em; }
+#g-footer ul { float: left; padding: 0; text-align: left; }
+#g-footer li { padding: 0 0 2px 0; }
+
+#g-footer #g-login-menu { position: absolute; bottom: 0.5em; right: 1em; background-color: transparent; display: none; }
+
+#g-login-menu li { display: inline; padding-left: 1.2em; }
+#g-logout-link { float: none; margin-right: 0; }
+
+#g-copyright { font-size: x-small; }
+#g-footer #g-footer-rightside { float: right; padding-right: 6px; text-align: right; }
+#g-credits { margin-right: 14px; }
+#g-credits li.g-branding a { float: left; }
+#g-credits .g-first { display: none; }
+#g-gallery-logo { display: block; width: 70px; height: 18px; background: transparent url('../images/gallery.png') no-repeat; }
+#g-theme-logo { display: block; width: 70px; height: 18px; }
+
+/* base.css - Mini Mode ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
+
+.viewmode-mini #g-header { height: 2.3em; }
+.viewmode-mini #g-footer { display: none; }
+
+/* base.css - Pagination ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
+
+.g-paginator { display: inline-block; width: 100%; padding: 4px 0 0 0; zoom: 1; }
+.g-paginator li { display: inline; float: left; margin-left: 0; zoom: 1; }
+.g-paginator a { padding: 0; }
+
+.g-paginator .g-pagination { width: 80%; font-size: 0.8em; }
+.g-paginator .g-navigation { text-align: right; width: 20%; }
+
+/* base.css - Album grid ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
+
+#g-album-grid { padding: 6px 0 0 0; width: 100%; display: inline-block; margin: 0px auto; }
+#g-album-grid .g-item { position: relative; float: left; margin: 4px 2px 4px 0; min-width: 212px; zoom: 1; }
+.g-extended #g-album-grid .g-item { min-width: 314px; }
+.g-column-2 #g-album-grid .g-item { width: 48%; margin-right: 0; }
+.g-column-3 #g-album-grid .g-item { width: 30%; margin-right: 0; }
+.g-column-4 #g-album-grid .g-item { width: 23%; margin-right: 0; }
+.g-column-5 #g-album-grid .g-item { width: 18%; margin-right: 0; }
+#g-album-grid .g-item p { text-align: center; }
+#g-album-grid h2 { position: absolute; top: 164px; left: 12px; width: 150px; font: 100%/100% Arial, Helvetica, sans-serif; }
+#g-album-grid h2 a { display: block; margin-top: 4px; font: bold 0.8em Arial, Helvetica, Verdana, Sans-Serif; letter-spacing: 0.1em; text-transform: uppercase; min-height: 2em; }
+
+/* base.css - Thumbs : Common ~~~~~~~~~~~~~~~~~~~~~~~~~~*/
+
+.g-thumbslide { font-size: 0.9em; width: 208px; min-height: 139px; padding-top: 6px; padding-left: 6px; overflow: hidden; text-align: left; }
+.g-thumbtype-sqr .g-thumbslide { height: 208px; }
+.g-thumbtype-flm .g-thumbslide { height: 141px; }
+.g-thumbtype-dgt .g-thumbslide { height: 158px; }
+.g-thumbtype-wd .g-thumbslide { height: 120px; }
+
+.g-extended .g-thumbslide { width: 308px; }
+.g-extended .g-thumbtype-sqr .g-thumbslide { height: 308px; }
+.g-extended .g-thumbtype-flm .g-thumbslide { height: 207px; }
+.g-extended .g-thumbtype-dgt .g-thumbslide { height: 233px; }
+.g-extended .g-thumbtype-wd .g-thumbslide { height: 176px; }
+
+.g-thumbcrop { overflow: hidden; position: relative; width: 200px; min-height: 112px; }
+.g-thumbtype-sqr .g-thumbcrop { height: 200px; }
+.g-thumbtype-flm .g-thumbcrop { height: 133px; }
+.g-thumbtype-dgt .g-thumbcrop { height: 150px; }
+.g-thumbtype-wd .g-thumbcrop { height: 112px; }
+
+.g-extended .g-thumbcrop { width: 300px; }
+.g-extended .g-thumbtype-sqr .g-thumbcrop { height: 300px; }
+.g-extended .g-thumbtype-flm .g-thumbcrop { height: 199px; }
+.g-extended .g-thumbtype-dgt .g-thumbcrop { height: 225px; }
+.g-extended .g-thumbtype-wd .g-thumbcrop { height: 168px; }
+
+.g-album .g-description strong { padding-left: 16px; }
+
+/* Force size of the link to fill thumbcrop */
+
+.g-thumbcrop a.g-thumblink { display: block; position: relative; min-width: 200px; }
+.g-thumbtype-sqr a.g-thumblink { min-height: 200px; }
+.g-thumbtype-flm a.g-thumblink { min-height: 133px; }
+.g-thumbtype-dgt a.g-thumblink { min-height: 150px; }
+.g-thumbtype-wd a.g-thumblink { min-height: 112px; }
+
+.g-extended .g-thumbcrop a.g-thumblink { min-width: 300px; }
+.g-extended .g-thumbtype-sqr a.g-thumblink { min-height: 300px; }
+.g-extended .g-thumbtype-flm a.g-thumblink { min-height: 200px; }
+.g-extended .g-thumbtype-dgt a.g-thumblink { min-height: 225px; }
+.g-extended .g-thumbtype-wd a.g-thumblink { min-height: 168px; }
+
+/* base.css - Thumbs : Overlay ~~~~~~~~~~~~~~~~~~~~~~~~~*/
+
+.g-thumbslide .g-description { display: none; position: absolute; left: 6px; top: 6px; min-height: 24px; width: 184px; overflow: hidden; z-index: 3; text-align: left; padding: 2px 8px; font-size: 0.85em; margin: 10px 0 1px 11px; }
+.g-extended .g-thumbslide .g-description { width: 284px; }
+.g-thumbslide:hover .g-description { display: block; }
+.g-thumbslide .g-description li { display: inline; padding-right: 0.8em; }
+.g-thumbslide .g-description .g-title { display: block; font-weight: bold; font-size: 1.1em; letter-spacing: 0.1em; text-transform: uppercase; padding-top: 3px; }
+.g-album .g-thumbslide .g-description .g-title { padding-left: 24px; }
+
+.g-thumbslide .g-description.g-overlay-top { display: block; }
+.g-thumbslide .g-description.g-overlay-bottom { display: block; top: auto; bottom: 6px; margin-bottom: 10px; }
+
+.g-thumbslide .g-metadata { display: none; position: absolute; left: 6px; bottom: 6px; padding: 2px 4px 2px 10px; width: 186px; margin: 10px 0 11px 11px; }
+.g-thumbslide .g-metadata li { padding: 0; margin: 0; font-size: 0.9em; }
+.g-extended .g-thumbslide .g-metadata { width: 286px; }
+.g-thumbslide:hover .g-metadata { display: block; }
+
+/* base.css - Thumbs : Expanded View mode ~~~~~~~~~~~~~~*/
+
+.g-expanded .g-thumbslide { font-size: 0.9em; width: 208px; min-height: 139px; padding-top: 6px; padding-left: 6px; line-height: 1.2em; overflow: hidden; }
+.g-thumbtype-sqr.g-expanded .g-thumbslide { height: 238px; }
+.g-thumbtype-flm.g-expanded .g-thumbslide { height: 171px; }
+.g-thumbtype-dgt.g-expanded .g-thumbslide { height: 188px; }
+.g-thumbtype-wd.g-expanded .g-thumbslide { height: 150px; }
+
+.g-extended .g-expanded .g-thumbslide { width: 308px; }
+.g-extended .g-thumbtype-sqr.g-expanded .g-thumbslide { height: 346px; }
+.g-extended .g-thumbtype-flm.g-expanded .g-thumbslide { height: 244px; }
+.g-extended .g-thumbtype-dgt.g-expanded .g-thumbslide { height: 270px; }
+.g-extended .g-thumbtype-wd.g-expanded .g-thumbslide { height: 214px; }
+
+.g-expanded .g-thumbslide .g-description { position: static; display: block; }
+.g-expanded .g-thumbslide .g-description li { display: inline; padding-right: 0.8em; }
+.g-expanded .g-thumbslide .g-description .g-title { display: block; font-weight: bold; font-size: 1.1em; letter-spacing: 0.1em; text-transform: uppercase; }
+.g-album.g-expanded .g-thumbslide .g-description .g-title { padding-left: 24px; }
+
+.g-expanded .g-thumbslide .g-description.g-overlay-bottom { width: 192px; }
+.g-expanded .g-thumbslide .g-metadata { bottom: 10px; }
+.g-expanded .g-thumbslide .g-metadata li { padding: 0; margin: 0; font-size: 0.9em; }
+.g-expanded .g-thumbslide:hover .g-metadata { display: block; bottom: 40px; }
+
+/* base.css - Photo ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
+
+#g-item { float: left; height: 100%; width: 100%; }
+#g-photo { padding: 6px 0 6px 0; text-align: center; float: left; height: 100%; width: 100%; }
+div.g-resize { position: relative; left: 50%; float: left; padding: 5px; font-size: 0.9em; }
+div.g-resize>a { float: left; overflow: hidden; }
+div.g-resize>a img { float: left; }
+
+div.g-resize .g-description { display: none; position: absolute; left: 5px; text-align: left; padding: 10px; }
+div.g-resize .g-description strong { display: block; margin-bottom: 5px; text-transform: uppercase; }
+div.g-resize .g-description.g-align-top { top: 0px; margin-top: 5px; }
+div.g-resize .g-description.g-align-bottom { bottom: 4px; }
+div.g-resize .g-description.g-align-static { display: block; }
+div.g-resize:hover .g-description { display: block; }
+
+div.g-resize .g-more { display: block; position: absolute; right: 16px; padding: 4px 8px; }
+div.g-resize:hover .g-more { display: none; visibility: hidden; }
+div.g-resize .g-more.g-align-top { top: 16px; }
+div.g-resize .g-more.g-align-bottom { bottom: 20px; }
+
+.ul-table { text-align: center; margin: 0px auto; padding: 0; list-style-type: none; clear: both; }
+.ul-table li { float: left; text-align: center; }
+
+#g-info { display: inline-block; width: 100%; }
+#g-info .g-description { margin-top: .4em; margin-bottom: .4em; padding: .5em 1em; }
+#g-movie { padding: 6px 0 6px 6px; position: relative; }
+
+#g-item a.g-movie { display: block; margin: 0 auto; }
+
+.g-description .g-metadata { padding: 0.4em 0 0 0; font-size: 0.8em; }
+.g-description .g-metadata li { display: inline; padding-right: 1em; }
+
+/* base.css - Sidebar ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
+/* base.css - Sidebar : Common ~~~~~~~~~~~~~~~~~~~~~~~~~*/
+
+.g-block { margin-bottom: 4px; padding-bottom: 4px; position: relative; clear: both; }
+.g-block h2 { padding: 6px 4px 6px 8px; font-size: 1em; }
+.g-block-content { margin: 6px 6px 0 6px; display: block; zoom: 1; }
+
+#g-column-top .g-block, #g-column-bottom .g-block { float: left; clear: none; width: 240px; margin-left: 10px; }
+#g-column-top .g-toolbar, #g-column-bottom .g-toolbar { margin-bottom: 0.5em; }
+#g-column-top .g-toolbar h1, #g-column-bottom .g-toolbar h1 { display: none; }
+
+/* base.css - Sidebar : Buttons ~~~~~~~~~~~~~~~~~~~~~~~~*/
+
+#g-viewformat { z-index: 5; position: absolute; padding: 0; top: 6px; right: 10px; }
+#g-viewformat li { float: left; margin-right: 2px; }
+#g-viewformat span { display: block; width: 17px; height: 15px; line-height: 1px; text-indent: -900em; background-repeat: no-repeat; }
+#g-viewformat .g-sidebar-left { background-position: -128px -210px; }
+#g-viewformat .g-sidebar-top { background-position: -148px -210px; }
+#g-viewformat .g-sidebar-full { background-position: -168px -210px; }
+#g-viewformat .g-sidebar-right { background-position: -188px -210px; }
+#g-viewformat .g-sidebar-bottom { background-position: -208px -210px; }
+#g-viewformat .g-sidebar-left:hover, #g-viewformat .g-sidebar-left.g-current { background-position: -128px -225px; }
+#g-viewformat .g-sidebar-top:hover, #g-viewformat .g-sidebar-top.g-current { background-position: -148px -225px; }
+#g-viewformat .g-sidebar-full:hover, #g-viewformat .g-sidebar-full.g-current { background-position: -168px -225px; }
+#g-viewformat .g-sidebar-right:hover, #g-viewformat .g-sidebar-right.g-current { background-position: -188px -225px; }
+#g-viewformat .g-sidebar-bottom:hover,#g-viewformat .g-sidebar-bottom.g-current{ background-position: -208px -225px; }
+
+#g-view-menu { position: absolute; top: 6px; right: 106px; height: 16px; z-index: 5; zoom: 1; margin: 0 0 6px 0; padding: 0 0 4px 0; }
+#g-view-menu.g-buttonset-shift { right: 6px; }
+.g-toolbar { margin: 0 0 4px 0; }
+.g-menu { margin: 0; padding: 0; text-align: left; }
+.g-menu li { display: inline; }
+
+.g-menu-element,
+.g-menu-link { display: inline; float: left; margin-right: 4px; background-repeat: no-repeat; background-position: center top; }
+
+.g-buttonset .g-menu-link { text-indent: -99999px; width: 22px; height: 15px; overflow: hidden; }
+
+#g-slideshow-link { background-position: -103px -210px; }
+#g-slideshow-link:hover { background-position: -103px -225px; }
+
+.g-fullsize-link:hover, #g-exifdata-link:hover { background-position: left bottom; }
+
+/* base.css - Root Page ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
+
+#g-rootpage-quote { float: left; width: 300px; padding-top: 6px; font-size: 110%; }
+#g-rootpage-roll { float: right; text-align: center; z-index: 1; position: relative; width: 800px; height: 540px; }
+#g-rootpage-link { z-index: 10; position: absolute; height: 540px; width: 800px; top: 0; left: 0; cursor: pointer; }
+#g-rootpage-roll span { z-index: 12; display: block; position: absolute; right: 16px; padding: 4px 8px; top: 20px; cursor: pointer; font-size: 0.9em; }
+#g-rootpage-roll.g-full { margin-left: auto; margin-right: auto; float: none; }
+
+/* base.css - Large toolbar icons support ~~~~~~~~~~~~~~*/
+
+.g-toolbar-large .g-buttonset .g-menu-link { width: 26px; height: 22px; }
+.g-toolbar-large h1 { line-height: 24px; height: 24px; }
+.g-toolbar-large #g-calendarview-link:hover { background-position: top center; }
+.g-toolbar-large #g-viewformat { top: 9px; }
+
+.g-toolbar-large .g-navigation .ui-icon { width: 23px; height: 22px; }
+.g-toolbar-large .ui-icon-first { background-position: 0px -240px; }
+.g-toolbar-large .ui-icon-first-d { background-position: 0px -263px; }
+.g-toolbar-large .ui-icon-prev { background-position: -23px -240px; }
+.g-toolbar-large .ui-icon-prev-d { background-position: -23px -263px; }
+.g-toolbar-large .ui-icon-parent { background-position: -47px -240px; }
+.g-toolbar-large .ui-icon-parent-d { background-position: -47px -263px; }
+.g-toolbar-large .ui-icon-next { background-position: -70px -240px; }
+.g-toolbar-large .ui-icon-next-d { background-position: -70px -263px; }
+.g-toolbar-large .ui-icon-last { background-position: -93px -240px; }
+.g-toolbar-large .ui-icon-last-d { background-position: -93px -263px; }
+
+/* base.css - Upload dialog ~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
+
+#g-add-photos-status li.g-success { background: url('../images/ico-success.png') transparent no-repeat .4em 50%; }
+#g-add-photos-status li.g-error { background: url('../images/ico-error.png') transparent no-repeat .4em 50%; color: #f00; }
diff --git a/themes/greydragon_old/css/colorpacks/blackhawk/css/colors.css b/themes/greydragon_old/css/colorpacks/blackhawk/css/colors.css
new file mode 100644
index 0000000..d2cbb15
--- /dev/null
+++ b/themes/greydragon_old/css/colorpacks/blackhawk/css/colors.css
@@ -0,0 +1,170 @@
+/**
+ * Gallery 3 Grey Dragon Theme
+ * Copyright (C) 2006-2010 Serguei Dosyukov
+ *
+ * ColorPack: SlateBlue
+ */
+
+/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
+/* styles.css - Common ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
+
+html { background-color: #101010; }
+body { color: #8C8C8C; background: #101010; }
+
+h1 { border-bottom: #424242 1px solid; }
+a { color: #6392CF !important; }
+.ui-icon, #g-slideshow-link { background-image: url(../images/ui-icons.png); }
+
+#g-site-status li { border-bottom: 1px solid #ccc; color: #333; }
+#g-site-status .g-error { background: #f6cbca url('../images/ico-error.png') no-repeat .4em 50%; }
+#g-site-status .g-info { background: #e8e8e8 url('../images/ico-info.png') no-repeat .4em 50%; }
+#g-site-status .g-success { background: #d9efc2 url('../../../../images/ico-success.png') no-repeat .4em 50%; }
+#g-site-status .g-warning { background: #fcf9ce url('../images/ico-warning.png') no-repeat .4em 50%; }
+
+/* styles.css - Layout ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
+#g-header { border: #424242 1px solid; }
+#g-header .g-message-block { border: 1px #888 solid; background-color: #AAA; color: #000; }
+#g-main { border-left: #424242 1px solid; border-right: #424242 1px solid; }
+.viewmode-mini #g-main { border-bottom: #424242 1px solid; }
+
+#g-footer { font-size: 10px; border: #424242 1px solid; }
+#g-theme-logo { background: transparent url('../images/colorpack.png') no-repeat; }
+
+/* styles.css - Album Layout ~~~~~~~~~~~~~~~~~~~~~~~~~*/
+
+#g-column-top, #g-column-bottom { border-left: #424242 1px solid; border-right: #424242 1px solid; }
+#g-column-top .g-toolbar h1, #g-column-bottom .g-toolbar h1 { border: none; }
+#g-info .g-description { border: #424242 1px solid; }
+
+.g-thumbcrop { border-color: #424142; }
+.g-thumbslide, .g-album .g-thumbslide { background: #212021; border-color: #424142 #000 #000 #424142; }
+.g-thumbslide .g-description { color: #fff; border-top: 1px solid #424142; border-bottom: 1px solid #424142; background: #1E1E1E; filter:alpha(opacity=85); opacity:.85; -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=85)"; }
+.g-album.g-expanded .g-thumbslide .g-description { background: transparent url(../images/ico-album.png) no-repeat 8px 4px; }
+.g-album .g-thumbslide .g-description { background: #1E1E1E url(../images/ico-album.png) no-repeat 8px 4px; }
+.g-thumbslide .g-metadata { border-top: 1px solid #424142; background: #1E1E1E; filter:alpha(opacity=85); opacity:.85; -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=85)"; }
+.g-expanded .g-thumbslide .g-metadata { border-top: 1px solid #424142; background: #1E1E1E; }
+
+/* styles.css - Photo Layout ~~~~~~~~~~~~~~~~~~~~~~~~~*/
+
+div.g-resize { background: #212021; border-top: 1px solid #424142; border-left: 1px solid #424142; border-right: 1px solid #000; border-bottom: 1px solid #000; }
+div.g-resize .g-description { color: #fff; background: #1E1E1E; filter:alpha(opacity=85); opacity:.85; -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=85)"; }
+div.g-resize .g-description.g-align-top { border-bottom: 1px solid #999; }
+div.g-resize .g-description.g-align-bottom { border-top: 1px solid #999; }
+div.g-resize .g-more { border: 1px solid #999; background: #1E1E1E; filter:alpha(opacity=85); opacity:.85; -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=85)"; }
+
+.g-movie { border: 1px solid #888; padding: 5px; background: #555; }
+
+/* styles.css - Sidebar Blocks : Common ~~~~~~~~~~~~~~*/
+
+.g-block h2 { border-top: 1px solid #424142; border-left: 1px solid #424142; border-right: 1px solid #000; border-bottom: 1px solid #000; }
+
+/* styles.css - Sidebar Blocks : Buttons ~~~~~~~~~~~~~*/
+
+.g-fullsize-link { background: url("../images/view-fullsize.png") top left no-repeat; }
+#g-exifdata-link { background: url("../images/view-info.png") top left no-repeat; }
+
+/* styles.css - Root Page ~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
+
+#g-rootpage-roll span { border: 1px solid #424142; background: #1E1E1E; filter:alpha(opacity=85); opacity:.85; -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=85)"; }
+
+/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
+/* forms.css - Common ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
+
+/* styles.css - Photo Slideshow ~~~~~~~~~~~~~~~~~~~~~~*/
+
+#sb-body { background-color: #101415; }
+#sb-title { border-left: #303030 1px solid; border-right: #303030 1px solid; background: #101415 url('../images/section.png') repeat-x; }
+#sb-counter a { color: #fff !important; font-weight: bold; font-size: 11px; }
+
+/* forms.css - Add item ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
+
+#g-add-photos-canvas { background-color: #101010; border: #303030 1px solid; }
+#g-add-photos-status { background-color: #101010; border: #303030 1px solid; }
+
+.uploadifyQueueItem { color: #000; }
+
+/* forms.css - Reauthentificate ~~~~~~~~~~~~~~~~~~~~~*/
+
+#g-column-centerfull #g-login { border: #888 1px solid; }
+
+/* forms.css - User Profile ~~~~~~~~~~~~~~~~~~~~~~~~~~*/
+
+#g-user-profile .g-avatar { border: 1px solid #888; background: #555; }
+
+/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
+/* menus.css ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
+
+#g-site-menu ul { border: #000000 0 solid; }
+#g-site-menu li a:hover { color: #000000; background-color: #303030; }
+#g-site-menu li:hover,
+#g-site-menu li.iemhover { border: #303030 1px solid; background-color: #303030; border-bottom: #000000 1px solid; }
+#g-site-menu li ul { border: #000000 1px solid; }
+#g-site-menu li ul li { border: #C0C0C0 0px solid; background-color: #212121; }
+#g-site-menu li ul li:hover,
+#g-site-menu li ul li.iemhover { border: #C0C0C0 0 solid; background-color: #303030; }
+
+#g-site-menu.g-bar { border: #000000 1px solid; background-color: #212121; }
+#g-site-menu.g-bar li:hover,
+#g-site-menu.g-bar li.iemhover { border-bottom-color: transparent; }
+
+.g-item .g-context-menu { background-image: url(../images/ui-icons.png); }
+.g-item .g-context-menu:hover { background: #181818 none; border: 1px #888 solid; }
+.g-item .g-context-menu li li a:hover { background-color: #303030; }
+
+/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
+/* modules.css - Exif ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
+
+#g-exif-data table { border: #303030 1px solid; }
+#g-exif-data .g-even { background-color: #404040; }
+#g-exif-data .g-odd { background-color: #303030; }
+
+/* modules.css - Info module ~~~~~~~~~~~~~~~~~~~~~~~~~*/
+
+#g-metadata .g-description { border-top: 1px solid #424242; }
+
+/* modules.css - Image block ~~~~~~~~~~~~~~~~~~~~~~~~*/
+
+.g-image-block img { border: 1px solid #888; background: #555; }
+
+/* modules.css - Comments ~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
+
+#g-comments .g-author { border-bottom: 1px solid #424242; color: #8C8C8C; }
+#g-comments-link { background-image: url(../images/view-comments.png); }
+#g-comment-detail>ul>li { border: 1px dotted #424242; }
+#g-comment-form { border: 1px dotted #424242; }
+
+/* modules.css - Calendar ~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
+
+#g-view-menu #g-calendarview-link { background-image: url(../images/view-calendar.png); }
+#g-view-calendar-form ul { border: 1px #888 solid; }
+table.calendar { border: #a2adbc 1px solid; color: #616b76; }
+table.calendar th { border-bottom: #a2adbc 1px solid; border-right: #a2adbc 1px solid; background: #d9e2e1; color: #8C8C8C; }
+table.calendar td { border-bottom: #a2adbc 1px solid; border-right: #a2adbc 1px solid; }
+table.calendar td.title { background-color: #a2adbc; color: #fff; }
+table.calendar td.title a { color: #fff !important; }
+table.calendar td a { color: red !important; }
+
+/* modules.css - Search ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
+
+#g-quick-search-form input[type="text"] { background-color: transparent; border: 1px solid #424242; color: #8C8C8C; }
+#g-quick-search-form input[type="submit"] { background: transparent url(../images/search.png) no-repeat center top; border: none; }
+
+/* modules.css - Basket ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
+
+#checkout legend { background: url(../images/section.png) repeat-x; }
+
+/* forms.css - Common ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
+
+.ui-dialog .ui-dialog-titlebar { background: #424242; }
+.ui-widget-content { border: 1px solid #303030; background-color: #101010; color: #8C8C8C; }
+.ui-progressbar .ui-progressbar-value { background: #424242; }
+
+/* Large toolbar icons support ~~~~~~~~~~~~~~~~~~~~~~~*/
+
+.g-toolbar-large #g-view-menu #g-calendarview-link { background-image: url(../images/view-calendar-b.png); }
+.g-toolbar-large #g-slideshow-link { background: url(../images/view-slideshow-b.png) no-repeat top center; }
+.g-toolbar-large .g-fullsize-link { background: url(../images/view-fullsize-b.png) no-repeat top center; }
+.g-toolbar-large #g-exifdata-link { background: url(../images/view-info-b.png) no-repeat top center; }
+.g-toolbar-large #g-comments-link { background: url(../images/view-comments-b.png) no-repeat top center; }
+
+.g-thumbcrop a.g-meta-exif-link { background-image: url(../images/view-info-o.png); } \ No newline at end of file
diff --git a/themes/greydragon_old/css/colorpacks/blackhawk/images/ajax-loading.gif b/themes/greydragon_old/css/colorpacks/blackhawk/images/ajax-loading.gif
new file mode 100644
index 0000000..0996045
--- /dev/null
+++ b/themes/greydragon_old/css/colorpacks/blackhawk/images/ajax-loading.gif
Binary files differ
diff --git a/themes/greydragon_old/css/colorpacks/blackhawk/images/colorpack.png b/themes/greydragon_old/css/colorpacks/blackhawk/images/colorpack.png
new file mode 100644
index 0000000..96f5372
--- /dev/null
+++ b/themes/greydragon_old/css/colorpacks/blackhawk/images/colorpack.png
Binary files differ
diff --git a/themes/greydragon_old/css/colorpacks/blackhawk/images/ico-album.png b/themes/greydragon_old/css/colorpacks/blackhawk/images/ico-album.png
new file mode 100644
index 0000000..ac87ec4
--- /dev/null
+++ b/themes/greydragon_old/css/colorpacks/blackhawk/images/ico-album.png
Binary files differ
diff --git a/themes/greydragon_old/css/colorpacks/blackhawk/images/ico-error.png b/themes/greydragon_old/css/colorpacks/blackhawk/images/ico-error.png
new file mode 100644
index 0000000..c37bd06
--- /dev/null
+++ b/themes/greydragon_old/css/colorpacks/blackhawk/images/ico-error.png
Binary files differ
diff --git a/themes/greydragon_old/css/colorpacks/blackhawk/images/ico-help.png b/themes/greydragon_old/css/colorpacks/blackhawk/images/ico-help.png
new file mode 100644
index 0000000..5c87017
--- /dev/null
+++ b/themes/greydragon_old/css/colorpacks/blackhawk/images/ico-help.png
Binary files differ
diff --git a/themes/greydragon_old/css/colorpacks/blackhawk/images/ico-info.png b/themes/greydragon_old/css/colorpacks/blackhawk/images/ico-info.png
new file mode 100644
index 0000000..12cd1ae
--- /dev/null
+++ b/themes/greydragon_old/css/colorpacks/blackhawk/images/ico-info.png
Binary files differ
diff --git a/themes/greydragon_old/css/colorpacks/blackhawk/images/ico-warning.png b/themes/greydragon_old/css/colorpacks/blackhawk/images/ico-warning.png
new file mode 100644
index 0000000..628cf2d
--- /dev/null
+++ b/themes/greydragon_old/css/colorpacks/blackhawk/images/ico-warning.png
Binary files differ
diff --git a/themes/greydragon_old/css/colorpacks/blackhawk/images/loading-large.gif b/themes/greydragon_old/css/colorpacks/blackhawk/images/loading-large.gif
new file mode 100644
index 0000000..cc70a7a
--- /dev/null
+++ b/themes/greydragon_old/css/colorpacks/blackhawk/images/loading-large.gif
Binary files differ
diff --git a/themes/greydragon_old/css/colorpacks/blackhawk/images/loading-small.gif b/themes/greydragon_old/css/colorpacks/blackhawk/images/loading-small.gif
new file mode 100644
index 0000000..d0bce15
--- /dev/null
+++ b/themes/greydragon_old/css/colorpacks/blackhawk/images/loading-small.gif
Binary files differ
diff --git a/themes/greydragon_old/css/colorpacks/blackhawk/images/search.png b/themes/greydragon_old/css/colorpacks/blackhawk/images/search.png
new file mode 100644
index 0000000..1bfa411
--- /dev/null
+++ b/themes/greydragon_old/css/colorpacks/blackhawk/images/search.png
Binary files differ
diff --git a/themes/greydragon_old/css/colorpacks/blackhawk/images/ui-icons.png b/themes/greydragon_old/css/colorpacks/blackhawk/images/ui-icons.png
new file mode 100644
index 0000000..a71d438
--- /dev/null
+++ b/themes/greydragon_old/css/colorpacks/blackhawk/images/ui-icons.png
Binary files differ
diff --git a/themes/greydragon_old/css/colorpacks/blackhawk/images/view-calendar-b.png b/themes/greydragon_old/css/colorpacks/blackhawk/images/view-calendar-b.png
new file mode 100644
index 0000000..c5a1248
--- /dev/null
+++ b/themes/greydragon_old/css/colorpacks/blackhawk/images/view-calendar-b.png
Binary files differ
diff --git a/themes/greydragon_old/css/colorpacks/blackhawk/images/view-calendar.png b/themes/greydragon_old/css/colorpacks/blackhawk/images/view-calendar.png
new file mode 100644
index 0000000..bd1d03c
--- /dev/null
+++ b/themes/greydragon_old/css/colorpacks/blackhawk/images/view-calendar.png
Binary files differ
diff --git a/themes/greydragon_old/css/colorpacks/blackhawk/images/view-comments-b.png b/themes/greydragon_old/css/colorpacks/blackhawk/images/view-comments-b.png
new file mode 100644
index 0000000..aa91298
--- /dev/null
+++ b/themes/greydragon_old/css/colorpacks/blackhawk/images/view-comments-b.png
Binary files differ
diff --git a/themes/greydragon_old/css/colorpacks/blackhawk/images/view-comments.png b/themes/greydragon_old/css/colorpacks/blackhawk/images/view-comments.png
new file mode 100644
index 0000000..293c587
--- /dev/null
+++ b/themes/greydragon_old/css/colorpacks/blackhawk/images/view-comments.png
Binary files differ
diff --git a/themes/greydragon_old/css/colorpacks/blackhawk/images/view-fullsize-b.png b/themes/greydragon_old/css/colorpacks/blackhawk/images/view-fullsize-b.png
new file mode 100644
index 0000000..f659d79
--- /dev/null
+++ b/themes/greydragon_old/css/colorpacks/blackhawk/images/view-fullsize-b.png
Binary files differ
diff --git a/themes/greydragon_old/css/colorpacks/blackhawk/images/view-fullsize.png b/themes/greydragon_old/css/colorpacks/blackhawk/images/view-fullsize.png
new file mode 100644
index 0000000..ed76257
--- /dev/null
+++ b/themes/greydragon_old/css/colorpacks/blackhawk/images/view-fullsize.png
Binary files differ
diff --git a/themes/greydragon_old/css/colorpacks/blackhawk/images/view-info-b.png b/themes/greydragon_old/css/colorpacks/blackhawk/images/view-info-b.png
new file mode 100644
index 0000000..880d3e8
--- /dev/null
+++ b/themes/greydragon_old/css/colorpacks/blackhawk/images/view-info-b.png
Binary files differ
diff --git a/themes/greydragon_old/css/colorpacks/blackhawk/images/view-info-o.png b/themes/greydragon_old/css/colorpacks/blackhawk/images/view-info-o.png
new file mode 100644
index 0000000..612ba96
--- /dev/null
+++ b/themes/greydragon_old/css/colorpacks/blackhawk/images/view-info-o.png
Binary files differ
diff --git a/themes/greydragon_old/css/colorpacks/blackhawk/images/view-info.png b/themes/greydragon_old/css/colorpacks/blackhawk/images/view-info.png
new file mode 100644
index 0000000..521439c
--- /dev/null
+++ b/themes/greydragon_old/css/colorpacks/blackhawk/images/view-info.png
Binary files differ
diff --git a/themes/greydragon_old/css/colorpacks/blackhawk/images/view-slideshow-b.png b/themes/greydragon_old/css/colorpacks/blackhawk/images/view-slideshow-b.png
new file mode 100644
index 0000000..ad13671
--- /dev/null
+++ b/themes/greydragon_old/css/colorpacks/blackhawk/images/view-slideshow-b.png
Binary files differ
diff --git a/themes/greydragon_old/css/colorpacks/carbon/css/colors.css b/themes/greydragon_old/css/colorpacks/carbon/css/colors.css
new file mode 100644
index 0000000..9211767
--- /dev/null
+++ b/themes/greydragon_old/css/colorpacks/carbon/css/colors.css
@@ -0,0 +1,188 @@
+/**
+ * Gallery 3 Grey Dragon Theme
+ * Copyright (C) 2006-2010 Serguei Dosyukov
+ *
+ * ColorPack: Carbon
+ */
+
+/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
+/* styles.css - Common ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
+
+html { background-color: #333; }
+body { color: #999; background-color: #333; }
+
+h1 { border-bottom: #6f6f6f 1px solid; }
+a { color: #999 !important; font-weight: bold; }
+.ui-icon, #g-slideshow-link { background-image: url(../images/ui-icons.png); }
+
+#g-site-status li { border-bottom: 1px solid #ccc; color: #333; }
+#g-site-status .g-error { background: #f6cbca url('../images/ico-error.png') no-repeat .4em 50%; }
+#g-site-status .g-info { background: #e8e8e8 url('../images/ico-info.png') no-repeat .4em 50%; }
+#g-site-status .g-success { background: #d9efc2 url('../../../../images/ico-success.png') no-repeat .4em 50%; }
+#g-site-status .g-warning { background: #fcf9ce url('../images/ico-warning.png') no-repeat .4em 50%; }
+
+/* styles.css - Layout ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
+
+#g-header .g-message-block { border: 1px #888 solid; background-color: #AAA; color: #000; }
+#g-main { background-color: #3f3f3f; margin-left: 10px; margin-right: 10px; }
+#g-theme-logo { background: transparent url('../images/colorpack.png') no-repeat; }
+
+/* styles.css - Album Layout ~~~~~~~~~~~~~~~~~~~~~~~~~*/
+
+#g-column-top { border-top: #737373 1px solid; }
+#g-column-top .g-toolbar h1, #g-column-bottom .g-toolbar h1 { border: none; }
+#g-info .g-description { border: #6f6f6f 1px solid; }
+
+.g-thumbslide { background: #555; border-color: #303E43; }
+.g-album .g-thumbslide { border-color: #6f6f6f; }
+.g-thumbcrop { border-color: #303E43; }
+
+.g-thumbslide .g-description { color: #fff; border-top: 1px solid #303e43; border-bottom: 1px solid #303e43; background: #1E1E1E; filter:alpha(opacity=85); opacity:.85; -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=85)"; }
+.g-album.g-expanded .g-thumbslide .g-description { background: transparent url(../images/ico-album.png) no-repeat 8px 4px; }
+.g-album .g-thumbslide .g-description { background: #3f3f3f url(../images/ico-album.png) no-repeat 8px 4px; }
+.g-thumbslide .g-metadata { border-top: 1px solid #303e43; background: #3f3f3f; filter:alpha(opacity=85); opacity:.85; -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=85)"; color: #FFF; }
+.g-expanded .g-thumbslide .g-metadata { border-top: 1px solid #303e43; background: #3f3f3f; }
+
+/* styles.css - Photo Layout ~~~~~~~~~~~~~~~~~~~~~~~~~*/
+
+div.g-resize { border: 1px solid #888; background: #555; }
+div.g-resize .g-description { color: #fff; background: #3f3f3f; filter:alpha(opacity=85); opacity:.85; -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=85)"; }
+div.g-resize .g-description.g-align-top { border-bottom: 1px solid #999; }
+div.g-resize .g-description.g-align-bottom { border-top: 1px solid #999; }
+div.g-resize .g-more { border: 1px solid #999; background: #3f3f3f; filter:alpha(opacity=85); opacity:.85; -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=85)"; }
+.g-movie { border: 1px solid #888; padding: 5px; background: #555; }
+
+/* styles.css - Sidebar Blocks : Common ~~~~~~~~~~~~~~*/
+
+.g-block { border: 1px solid #6f6f6f; }
+
+.g-block h2 { background-color: rgb(51, 51, 51); }
+#g-column-bottom .g-block h2 { background-color: rgb(41, 41, 41); }
+
+/* styles.css - Sidebar Blocks : Buttons ~~~~~~~~~~~~~*/
+
+.g-fullsize-link { background: url("../images/view-fullsize.png") top left no-repeat; }
+#g-exifdata-link { background: url("../images/view-info.png") top left no-repeat; }
+
+/* styles.css - Root Page ~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
+
+#g-rootpage-roll span { border: 1px solid #999; background: #3f3f3f; filter:alpha(opacity=85); opacity:.85; -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=85)"; }
+
+/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
+/* menus.css ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
+
+#g-site-menu ul { border: #000000 0 solid; }
+#g-site-menu li a:hover { color: #000000; background-color: #333; }
+#g-site-menu li:hover,
+#g-site-menu li.iemhover { border: #303030 1px solid; background-color: #333; border-bottom: #000000 1px solid; }
+#g-site-menu li ul { border: #000000 1px solid; }
+#g-site-menu li ul li { border: #C0C0C0 0px solid; background-color: #333; }
+#g-site-menu li ul li:hover,
+#g-site-menu li ul li.iemhover { border: #C0C0C0 0 solid; background-color: #ddf2ff; }
+
+#g-site-menu.g-bar { border: #000000 1px solid; background-color: #333; }
+#g-site-menu.g-bar li:hover,
+#g-site-menu.g-bar li.iemhover { border-bottom-color: transparent; }
+
+.g-item .g-context-menu { background-image: url(../images/ui-icons.png); }
+.g-item .g-context-menu:hover { background: #333 none; border: 1px #888 solid; }
+.g-item .g-context-menu li li a:hover { background-color: #ddf2ff; }
+
+/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
+/* forms.css - Common ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
+
+/* styles.css - Photo Slideshow ~~~~~~~~~~~~~~~~~~~~~~*/
+
+#sb-body { background-color: #101415; }
+#sb-title { border-left: #303030 1px solid; border-right: #303030 1px solid; background-color: #333; }
+#sb-counter a { color: #fff !important; font-weight: bold; font-size: 11px; }
+
+/* forms.css - Add item ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
+
+#g-add-photos-canvas { background-color: #101010; border: #303030 1px solid; }
+#g-add-photos-button { border: #303030 1px solid; color: #bbb; }
+#g-add-photos-status { background-color: #101010; border: #303030 1px solid; }
+
+.uploadifyQueueItem { color: #000; }
+
+/* forms.css - User Profile ~~~~~~~~~~~~~~~~~~~~~~~~~~*/
+
+#g-user-profile .g-avatar { border: 1px solid #888; background: #555; }
+
+/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
+/* menus.css ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
+
+#g-site-menu ul { border: #000000 0 solid; }
+#g-site-menu li a:hover { color: #000000; background-color: #303030; }
+#g-site-menu li:hover,
+#g-site-menu li.iemhover { border: #303030 1px solid; background-color: #303030; border-bottom: #000000 1px solid; }
+#g-site-menu li ul { border: #000000 1px solid; }
+#g-site-menu li ul li { border: #C0C0C0 0px solid; background-color: #212121; }
+#g-site-menu li ul li:hover,
+#g-site-menu li ul li.iemhover { border: #C0C0C0 0 solid; background-color: #303030; }
+
+.g-item .g-context-menu { background-image: url(../images/ui-icons.png); }
+.g-item .g-context-menu:hover { background: #181818 none; border: 1px #888 solid; }
+.g-item .g-context-menu li li a:hover { background-color: #303030; }
+
+/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
+/* modules.css - Exif ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
+
+#g-exif-data table { border: #303030 1px solid; }
+#g-exif-data .g-even { background-color: #404040; }
+#g-exif-data .g-odd { background-color: #303030; }
+
+/* modules.css - Info module ~~~~~~~~~~~~~~~~~~~~~~~~~*/
+
+#g-metadata .g-description { border-top: 1px solid #737373; }
+
+/* modules.css - Image block ~~~~~~~~~~~~~~~~~~~~~~~~*/
+
+.g-image-block img { border: 1px solid #888; background: #555; }
+
+/* modules.css - Comments ~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
+
+#g-comments .g-author { border-bottom: 1px solid #202628; color: #999; }
+#g-comments-link { background-image: url(../images/view-comments.png); }
+#g-comment-detail>ul>li { border: 1px dotted #737373; }
+#g-comment-form { border: 1px dotted #737373; }
+
+/* modules.css - Calendar ~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
+
+#g-view-menu #g-calendarview-link { background-image: url(../images/view-calendar.png); }
+#g-view-calendar-form ul { border: 1px #888 solid; }
+table.calendar { border: #a2adbc 1px solid; color: #616b76; }
+table.calendar th { border-bottom: #a2adbc 1px solid; border-right: #a2adbc 1px solid; background: #d9e2e1; color: #616b76; }
+table.calendar td { border-bottom: #a2adbc 1px solid; border-right: #a2adbc 1px solid; }
+table.calendar td.title { background-color: #a2adbc; color: #fff; }
+table.calendar td.title a { color: #fff !important; }
+table.calendar td a { color: red !important; }
+
+/* modules.css - Search ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
+
+#g-quick-search-form input[type="text"] { background-color: transparent; border: 1px solid #737373; color: #BBB; }
+#g-quick-search-form input[type="submit"] { background: transparent url(../images/search.png) no-repeat center top; border: none; }
+
+/* modules.css - Basket ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
+
+#checkout legend { background: url(../images/section.png) repeat-x; }
+
+/* forms.css - Common ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
+
+.ui-dialog .ui-dialog-titlebar { background: #333 url('../images/section.png') repeat-x; }
+.ui-widget-content { border: 1px solid #303030; background-color: #333; color: #bbb; }
+.ui-progressbar .ui-progressbar-value { background: #737373; }
+
+/* forms.css - Reauthentificate ~~~~~~~~~~~~~~~~~~~~~*/
+
+#g-column-centerfull #g-login { border: #737373 1px solid; }
+
+/* Large toolbar icons support ~~~~~~~~~~~~~~~~~~~~~~~*/
+
+.g-toolbar-large #g-view-menu #g-calendarview-link { background-image: url(../images/view-calendar-b.png); }
+.g-toolbar-large #g-slideshow-link { background: url(../images/view-slideshow-b.png) no-repeat top center; }
+.g-toolbar-large .g-fullsize-link { background: url(../images/view-fullsize-b.png) no-repeat top center; }
+.g-toolbar-large #g-exifdata-link { background: url(../images/view-info-b.png) no-repeat top center; }
+.g-toolbar-large #g-comments-link { background: url(../images/view-comments-b.png) no-repeat top center; }
+
+.g-thumbcrop a.g-meta-exif-link { background-image: url(../images/view-info-o.png); } \ No newline at end of file
diff --git a/themes/greydragon_old/css/colorpacks/carbon/images/ajax-loading.gif b/themes/greydragon_old/css/colorpacks/carbon/images/ajax-loading.gif
new file mode 100644
index 0000000..0996045
--- /dev/null
+++ b/themes/greydragon_old/css/colorpacks/carbon/images/ajax-loading.gif
Binary files differ
diff --git a/themes/greydragon_old/css/colorpacks/carbon/images/colorpack.png b/themes/greydragon_old/css/colorpacks/carbon/images/colorpack.png
new file mode 100644
index 0000000..96f5372
--- /dev/null
+++ b/themes/greydragon_old/css/colorpacks/carbon/images/colorpack.png
Binary files differ
diff --git a/themes/greydragon_old/css/colorpacks/carbon/images/ico-album.png b/themes/greydragon_old/css/colorpacks/carbon/images/ico-album.png
new file mode 100644
index 0000000..ac87ec4
--- /dev/null
+++ b/themes/greydragon_old/css/colorpacks/carbon/images/ico-album.png
Binary files differ
diff --git a/themes/greydragon_old/css/colorpacks/carbon/images/ico-error.png b/themes/greydragon_old/css/colorpacks/carbon/images/ico-error.png
new file mode 100644
index 0000000..c37bd06
--- /dev/null
+++ b/themes/greydragon_old/css/colorpacks/carbon/images/ico-error.png
Binary files differ
diff --git a/themes/greydragon_old/css/colorpacks/carbon/images/ico-help.png b/themes/greydragon_old/css/colorpacks/carbon/images/ico-help.png
new file mode 100644
index 0000000..5c87017
--- /dev/null
+++ b/themes/greydragon_old/css/colorpacks/carbon/images/ico-help.png
Binary files differ
diff --git a/themes/greydragon_old/css/colorpacks/carbon/images/ico-info.png b/themes/greydragon_old/css/colorpacks/carbon/images/ico-info.png
new file mode 100644
index 0000000..12cd1ae
--- /dev/null
+++ b/themes/greydragon_old/css/colorpacks/carbon/images/ico-info.png
Binary files differ
diff --git a/themes/greydragon_old/css/colorpacks/carbon/images/ico-warning.png b/themes/greydragon_old/css/colorpacks/carbon/images/ico-warning.png
new file mode 100644
index 0000000..628cf2d
--- /dev/null
+++ b/themes/greydragon_old/css/colorpacks/carbon/images/ico-warning.png
Binary files differ
diff --git a/themes/greydragon_old/css/colorpacks/carbon/images/loading-large.gif b/themes/greydragon_old/css/colorpacks/carbon/images/loading-large.gif
new file mode 100644
index 0000000..cc70a7a
--- /dev/null
+++ b/themes/greydragon_old/css/colorpacks/carbon/images/loading-large.gif
Binary files differ
diff --git a/themes/greydragon_old/css/colorpacks/carbon/images/loading-small.gif b/themes/greydragon_old/css/colorpacks/carbon/images/loading-small.gif
new file mode 100644
index 0000000..d0bce15
--- /dev/null
+++ b/themes/greydragon_old/css/colorpacks/carbon/images/loading-small.gif
Binary files differ
diff --git a/themes/greydragon_old/css/colorpacks/carbon/images/search.png b/themes/greydragon_old/css/colorpacks/carbon/images/search.png
new file mode 100644
index 0000000..1bfa411
--- /dev/null
+++ b/themes/greydragon_old/css/colorpacks/carbon/images/search.png
Binary files differ
diff --git a/themes/greydragon_old/css/colorpacks/carbon/images/section.png b/themes/greydragon_old/css/colorpacks/carbon/images/section.png
new file mode 100644
index 0000000..8180ecb
--- /dev/null
+++ b/themes/greydragon_old/css/colorpacks/carbon/images/section.png
Binary files differ
diff --git a/themes/greydragon_old/css/colorpacks/carbon/images/ui-icons.png b/themes/greydragon_old/css/colorpacks/carbon/images/ui-icons.png
new file mode 100644
index 0000000..ef92612
--- /dev/null
+++ b/themes/greydragon_old/css/colorpacks/carbon/images/ui-icons.png
Binary files differ
diff --git a/themes/greydragon_old/css/colorpacks/carbon/images/view-calendar-b.png b/themes/greydragon_old/css/colorpacks/carbon/images/view-calendar-b.png
new file mode 100644
index 0000000..c5a1248
--- /dev/null
+++ b/themes/greydragon_old/css/colorpacks/carbon/images/view-calendar-b.png
Binary files differ
diff --git a/themes/greydragon_old/css/colorpacks/carbon/images/view-calendar.png b/themes/greydragon_old/css/colorpacks/carbon/images/view-calendar.png
new file mode 100644
index 0000000..bd1d03c
--- /dev/null
+++ b/themes/greydragon_old/css/colorpacks/carbon/images/view-calendar.png
Binary files differ
diff --git a/themes/greydragon_old/css/colorpacks/carbon/images/view-comments-b.png b/themes/greydragon_old/css/colorpacks/carbon/images/view-comments-b.png
new file mode 100644
index 0000000..aa91298
--- /dev/null
+++ b/themes/greydragon_old/css/colorpacks/carbon/images/view-comments-b.png
Binary files differ
diff --git a/themes/greydragon_old/css/colorpacks/carbon/images/view-comments.png b/themes/greydragon_old/css/colorpacks/carbon/images/view-comments.png
new file mode 100644
index 0000000..293c587
--- /dev/null
+++ b/themes/greydragon_old/css/colorpacks/carbon/images/view-comments.png
Binary files differ
diff --git a/themes/greydragon_old/css/colorpacks/carbon/images/view-fullsize-b.png b/themes/greydragon_old/css/colorpacks/carbon/images/view-fullsize-b.png
new file mode 100644
index 0000000..f659d79
--- /dev/null
+++ b/themes/greydragon_old/css/colorpacks/carbon/images/view-fullsize-b.png
Binary files differ
diff --git a/themes/greydragon_old/css/colorpacks/carbon/images/view-fullsize.png b/themes/greydragon_old/css/colorpacks/carbon/images/view-fullsize.png
new file mode 100644
index 0000000..ed76257
--- /dev/null
+++ b/themes/greydragon_old/css/colorpacks/carbon/images/view-fullsize.png
Binary files differ
diff --git a/themes/greydragon_old/css/colorpacks/carbon/images/view-info-b.png b/themes/greydragon_old/css/colorpacks/carbon/images/view-info-b.png
new file mode 100644
index 0000000..880d3e8
--- /dev/null
+++ b/themes/greydragon_old/css/colorpacks/carbon/images/view-info-b.png
Binary files differ
diff --git a/themes/greydragon_old/css/colorpacks/carbon/images/view-info-o.png b/themes/greydragon_old/css/colorpacks/carbon/images/view-info-o.png
new file mode 100644
index 0000000..612ba96
--- /dev/null
+++ b/themes/greydragon_old/css/colorpacks/carbon/images/view-info-o.png
Binary files differ
diff --git a/themes/greydragon_old/css/colorpacks/carbon/images/view-info.png b/themes/greydragon_old/css/colorpacks/carbon/images/view-info.png
new file mode 100644
index 0000000..521439c
--- /dev/null
+++ b/themes/greydragon_old/css/colorpacks/carbon/images/view-info.png
Binary files differ
diff --git a/themes/greydragon_old/css/colorpacks/carbon/images/view-slideshow-b.png b/themes/greydragon_old/css/colorpacks/carbon/images/view-slideshow-b.png
new file mode 100644
index 0000000..ad13671
--- /dev/null
+++ b/themes/greydragon_old/css/colorpacks/carbon/images/view-slideshow-b.png
Binary files differ
diff --git a/themes/greydragon_old/css/colorpacks/greydragon/css/colors.css b/themes/greydragon_old/css/colorpacks/greydragon/css/colors.css
new file mode 100644
index 0000000..241dd23
--- /dev/null
+++ b/themes/greydragon_old/css/colorpacks/greydragon/css/colors.css
@@ -0,0 +1,174 @@
+/**
+ * Gallery 3 Grey Dragon Theme
+ * Copyright (C) 2006-2010 Serguei Dosyukov
+ *
+ * ColorPack: GreyDragon - Default color pack
+ */
+
+/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
+/* styles.css - Common ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
+
+html { background-color: #1A2022; }
+body { color: #BBB; background: #1A2022; }
+
+h1 { border-bottom: #737373 1px solid; }
+a { color: #6392CF !important; }
+.ui-icon, #g-slideshow-link { background-image: url(../images/ui-icons.png); }
+
+#g-site-status li { border-bottom: 1px solid #ccc; color: #333; }
+#g-site-status .g-error { background: #f6cbca url('../images/ico-error.png') no-repeat .4em 50%; }
+#g-site-status .g-info { background: #e8e8e8 url('../images/ico-info.png') no-repeat .4em 50%; }
+#g-site-status .g-success { background: #d9efc2 url('../../../../images/ico-success.png') no-repeat .4em 50%; }
+#g-site-status .g-warning { background: #fcf9ce url('../images/ico-warning.png') no-repeat .4em 50%; }
+
+/* styles.css - Layout ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
+#g-header { border-left: #10151c 1px solid; border-right: #10151c 1px solid; background: url(../images/background-top.gif) #1A2022 repeat-x; }
+#g-header .g-message-block { border: 1px #888 solid; background-color: #AAA; color: #000; }
+#g-main { border-left: #10151c 1px solid; border-right: #10151c 1px solid; background: url(../images/background-bottom.gif) #1A2022 repeat-x; }
+.viewmode-mini #g-main { border-bottom: #10151c 1px solid; }
+#g-footer { background: url(../images/footer.png) #1A2022 repeat-x top !important; }
+#g-theme-logo { background: transparent url('../images/colorpack.png') no-repeat; }
+
+/* styles.css - Album Layout ~~~~~~~~~~~~~~~~~~~~~~~~~*/
+
+#g-column-top { background: url(../images/background-bottom.gif) #1A2022 repeat-x; border: #10151C 1px solid; }
+#g-column-bottom { background-color: #1a2022; border: #10151C 1px solid; }
+#g-column-top .g-toolbar h1, #g-column-bottom .g-toolbar h1 { border: none; }
+#g-info .g-description { border: #737373 1px solid; }
+
+.g-thumbslide { background: #1E1E1E url('../images/image-thumb.gif') repeat-x; border-color: #303E43; }
+.g-album .g-thumbslide { border-color: #43565B; }
+.g-thumbcrop { border-color: #303E43; }
+.g-thumbslide .g-description { color: #fff; border-top: 1px solid #303e43; border-bottom: 1px solid #303e43; background: #1E1E1E; filter:alpha(opacity=85); opacity:.85; -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=85)"; }
+.g-album.g-expanded .g-thumbslide .g-description { background: transparent url(../images/ico-album.png) no-repeat 8px 4px; }
+.g-album .g-thumbslide .g-description { background: #1E1E1E url(../images/ico-album.png) no-repeat 8px 4px; }
+.g-thumbslide .g-metadata { border-top: 1px solid #303e43; background: #1E1E1E; filter:alpha(opacity=85); opacity:.85; -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=85)"; }
+.g-expanded .g-thumbslide .g-metadata { border-top: 1px solid #303e43; background: #1E1E1E; }
+.g-album .g-thumbslide, .g-photo .g-thumbslide { background-color: #1E1E1E; }
+
+/* styles.css - Photo Layout ~~~~~~~~~~~~~~~~~~~~~~~~~*/
+
+div.g-resize { border: 1px solid #888; background: #555; }
+div.g-resize .g-description { color: #fff; background: #1E1E1E; filter:alpha(opacity=85); opacity:.85; -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=85)"; }
+div.g-resize .g-description.g-align-top { border-bottom: 1px solid #999; }
+div.g-resize .g-description.g-align-bottom { border-top: 1px solid #999; }
+div.g-resize .g-more { border: 1px solid #999; background: #1E1E1E; filter:alpha(opacity=85); opacity:.85; -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=85)"; }
+
+.g-movie { border: 1px solid #888; padding: 5px; background: #555; }
+
+/* styles.css - Sidebar Blocks : Common ~~~~~~~~~~~~~~*/
+
+.g-block { border: 1px solid #737373; background-color: #101415; }
+.g-block h2 { background: url(../images/section.png) repeat-x; }
+
+/* styles.css - Sidebar Blocks : Buttons ~~~~~~~~~~~~~*/
+
+.g-fullsize-link { background: url("../images/view-fullsize.png") top left no-repeat; }
+#g-exifdata-link { background: url("../images/view-info.png") top left no-repeat; }
+
+/* styles.css - Root Page ~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
+
+#g-rootpage-roll span { border: 1px solid #999; background: #1E1E1E; filter:alpha(opacity=85); opacity:.85; -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=85)"; }
+
+/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
+/* forms.css - Common ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
+
+/* styles.css - Photo Slideshow ~~~~~~~~~~~~~~~~~~~~~~*/
+
+#sb-body { background: #101415 url('../images/ajax-loading.gif') no-repeat center center; }
+#sb-title { border-left: #303030 1px solid; border-right: #303030 1px solid; background: #101415 url('../images/section.png') repeat-x; }
+#sb-counter a { color: #fff !important; font-weight: bold; font-size: 11px; }
+
+/* forms.css - Add item ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
+
+#g-add-photos-canvas { background-color: #101010; border: #303030 1px solid; }
+#ag-add-photos-button { border: #303030 1px solid; color: #bbb; }
+#g-add-photos-status { background-color: #101010; border: #303030 1px solid; }
+.uploadifyQueueItem { color: #000; }
+
+/* forms.css - User Profile ~~~~~~~~~~~~~~~~~~~~~~~~~~*/
+
+#g-user-profile .g-avatar { border: 1px solid #888; background: #555; }
+
+/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
+/* menus.css ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
+
+#g-site-menu ul { border: #000000 0 solid; }
+#g-site-menu li a:hover { color: #000000; background-color: #303030; }
+#g-site-menu li:hover,
+#g-site-menu li.iemhover { border: #303030 1px solid; background-color: #303030; border-bottom: #000000 1px solid; }
+#g-site-menu li ul { border: #000000 1px solid; }
+#g-site-menu li ul li { border: #C0C0C0 0px solid; background-color: #212121; }
+#g-site-menu li ul li:hover,
+#g-site-menu li ul li.iemhover { border: #C0C0C0 0 solid; background-color: #303030; }
+
+#g-site-menu.g-bar { border: #000000 1px solid; background-color: #212121; }
+#g-site-menu.g-bar li:hover,
+#g-site-menu.g-bar li.iemhover { border-bottom-color: transparent; }
+
+
+.g-item .g-context-menu { background-image: url(../images/ui-icons.png); }
+.g-item .g-context-menu:hover { background: #181818 none; border: 1px #888 solid; }
+.g-item .g-context-menu li li a:hover { background-color: #303030; }
+
+/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
+/* modules.css - Exif ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
+
+#g-exif-data table { border: #303030 1px solid; }
+#g-exif-data .g-even { background-color: #404040; }
+#g-exif-data .g-odd { background-color: #303030; }
+
+/* modules.css - Info module ~~~~~~~~~~~~~~~~~~~~~~~~~*/
+
+#g-metadata .g-description { border-top: 1px solid #737373; }
+
+/* modules.css - Image block ~~~~~~~~~~~~~~~~~~~~~~~~*/
+
+.g-image-block img { border: 1px solid #888; background: #555; }
+
+/* modules.css - Comments ~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
+
+#g-comments .g-author { border-bottom: 1px solid #202628; color: #999; }
+#g-comments-link { background-image: url(../images/view-comments.png); }
+#g-comment-detail>ul>li { border: 1px dotted #737373; }
+#g-comment-form { border: 1px dotted #737373; }
+
+/* modules.css - Calendar ~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
+
+#g-view-menu #g-calendarview-link { background-image: url(../images/view-calendar.png); }
+#g-view-calendar-form ul { border: 1px #888 solid; }
+table.calendar { border: #a2adbc 1px solid; color: #616b76; }
+table.calendar th { border-bottom: #a2adbc 1px solid; border-right: #a2adbc 1px solid; background: #d9e2e1; color: #616b76; }
+table.calendar td { border-bottom: #a2adbc 1px solid; border-right: #a2adbc 1px solid; }
+table.calendar td.title { background-color: #a2adbc; color: #fff; }
+table.calendar td.title a { color: #fff !important; }
+table.calendar td a { color: red !important; }
+
+/* modules.css - Search ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
+
+#g-quick-search-form input[type="text"] { background-color: transparent; border: 1px solid #737373; color: #BBB; }
+#g-quick-search-form input[type="submit"] { background: transparent url(../images/search.png) no-repeat center top; border: none; }
+
+/* modules.css - Basket ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
+
+#checkout legend { background: url(../images/section.png) repeat-x; }
+
+/* forms.css - Common ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
+
+.ui-dialog .ui-dialog-titlebar { background: #101415 url('../images/section.png') repeat-x; }
+.ui-widget-content { border: 1px solid #303030; background-color: #1a2022; color: #bbb; }
+.ui-progressbar .ui-progressbar-value { background: #737373; }
+
+/* forms.css - Reauthentificate ~~~~~~~~~~~~~~~~~~~~~*/
+
+#g-column-centerfull #g-login { border: #888 1px solid; }
+
+/* Large toolbar icons support ~~~~~~~~~~~~~~~~~~~~~~~*/
+
+.g-toolbar-large #g-view-menu #g-calendarview-link { background-image: url(../images/view-calendar-b.png); }
+.g-toolbar-large #g-slideshow-link { background: url(../images/view-slideshow-b.png) no-repeat top center; }
+.g-toolbar-large .g-fullsize-link { background: url(../images/view-fullsize-b.png) no-repeat top center; }
+.g-toolbar-large #g-exifdata-link { background: url(../images/view-info-b.png) no-repeat top center; }
+.g-toolbar-large #g-comments-link { background: url(../images/view-comments-b.png) no-repeat top center; }
+
+.g-thumbcrop a.g-meta-exif-link { background-image: url(../images/view-info-o.png); } \ No newline at end of file
diff --git a/themes/greydragon_old/css/colorpacks/greydragon/images/ajax-loading.gif b/themes/greydragon_old/css/colorpacks/greydragon/images/ajax-loading.gif
new file mode 100644
index 0000000..0996045
--- /dev/null
+++ b/themes/greydragon_old/css/colorpacks/greydragon/images/ajax-loading.gif
Binary files differ
diff --git a/themes/greydragon_old/css/colorpacks/greydragon/images/background-bottom.gif b/themes/greydragon_old/css/colorpacks/greydragon/images/background-bottom.gif
new file mode 100644
index 0000000..1f675f3
--- /dev/null
+++ b/themes/greydragon_old/css/colorpacks/greydragon/images/background-bottom.gif
Binary files differ
diff --git a/themes/greydragon_old/css/colorpacks/greydragon/images/background-top.gif b/themes/greydragon_old/css/colorpacks/greydragon/images/background-top.gif
new file mode 100644
index 0000000..ec70a64
--- /dev/null
+++ b/themes/greydragon_old/css/colorpacks/greydragon/images/background-top.gif
Binary files differ
diff --git a/themes/greydragon_old/css/colorpacks/greydragon/images/background.gif b/themes/greydragon_old/css/colorpacks/greydragon/images/background.gif
new file mode 100644
index 0000000..b808356
--- /dev/null
+++ b/themes/greydragon_old/css/colorpacks/greydragon/images/background.gif
Binary files differ
diff --git a/themes/greydragon_old/css/colorpacks/greydragon/images/colorpack.png b/themes/greydragon_old/css/colorpacks/greydragon/images/colorpack.png
new file mode 100644
index 0000000..b4bd4ca
--- /dev/null
+++ b/themes/greydragon_old/css/colorpacks/greydragon/images/colorpack.png
Binary files differ
diff --git a/themes/greydragon_old/css/colorpacks/greydragon/images/footer.png b/themes/greydragon_old/css/colorpacks/greydragon/images/footer.png
new file mode 100644
index 0000000..04d5ee5
--- /dev/null
+++ b/themes/greydragon_old/css/colorpacks/greydragon/images/footer.png
Binary files differ
diff --git a/themes/greydragon_old/css/colorpacks/greydragon/images/ico-album.png b/themes/greydragon_old/css/colorpacks/greydragon/images/ico-album.png
new file mode 100644
index 0000000..ac87ec4
--- /dev/null
+++ b/themes/greydragon_old/css/colorpacks/greydragon/images/ico-album.png
Binary files differ
diff --git a/themes/greydragon_old/css/colorpacks/greydragon/images/ico-error.png b/themes/greydragon_old/css/colorpacks/greydragon/images/ico-error.png
new file mode 100644
index 0000000..c37bd06
--- /dev/null
+++ b/themes/greydragon_old/css/colorpacks/greydragon/images/ico-error.png
Binary files differ
diff --git a/themes/greydragon_old/css/colorpacks/greydragon/images/ico-help.png b/themes/greydragon_old/css/colorpacks/greydragon/images/ico-help.png
new file mode 100644
index 0000000..5c87017
--- /dev/null
+++ b/themes/greydragon_old/css/colorpacks/greydragon/images/ico-help.png
Binary files differ
diff --git a/themes/greydragon_old/css/colorpacks/greydragon/images/ico-info.png b/themes/greydragon_old/css/colorpacks/greydragon/images/ico-info.png
new file mode 100644
index 0000000..12cd1ae
--- /dev/null
+++ b/themes/greydragon_old/css/colorpacks/greydragon/images/ico-info.png
Binary files differ
diff --git a/themes/greydragon_old/css/colorpacks/greydragon/images/ico-warning.png b/themes/greydragon_old/css/colorpacks/greydragon/images/ico-warning.png
new file mode 100644
index 0000000..628cf2d
--- /dev/null
+++ b/themes/greydragon_old/css/colorpacks/greydragon/images/ico-warning.png
Binary files differ
diff --git a/themes/greydragon_old/css/colorpacks/greydragon/images/image-thumb.gif b/themes/greydragon_old/css/colorpacks/greydragon/images/image-thumb.gif
new file mode 100644
index 0000000..bc3a192
--- /dev/null
+++ b/themes/greydragon_old/css/colorpacks/greydragon/images/image-thumb.gif
Binary files differ
diff --git a/themes/greydragon_old/css/colorpacks/greydragon/images/loading-large.gif b/themes/greydragon_old/css/colorpacks/greydragon/images/loading-large.gif
new file mode 100644
index 0000000..cc70a7a
--- /dev/null
+++ b/themes/greydragon_old/css/colorpacks/greydragon/images/loading-large.gif
Binary files differ
diff --git a/themes/greydragon_old/css/colorpacks/greydragon/images/loading-small.gif b/themes/greydragon_old/css/colorpacks/greydragon/images/loading-small.gif
new file mode 100644
index 0000000..d0bce15
--- /dev/null
+++ b/themes/greydragon_old/css/colorpacks/greydragon/images/loading-small.gif
Binary files differ
diff --git a/themes/greydragon_old/css/colorpacks/greydragon/images/search.png b/themes/greydragon_old/css/colorpacks/greydragon/images/search.png
new file mode 100644
index 0000000..1bfa411
--- /dev/null
+++ b/themes/greydragon_old/css/colorpacks/greydragon/images/search.png
Binary files differ
diff --git a/themes/greydragon_old/css/colorpacks/greydragon/images/section.png b/themes/greydragon_old/css/colorpacks/greydragon/images/section.png
new file mode 100644
index 0000000..8180ecb
--- /dev/null
+++ b/themes/greydragon_old/css/colorpacks/greydragon/images/section.png
Binary files differ
diff --git a/themes/greydragon_old/css/colorpacks/greydragon/images/ui-icons.png b/themes/greydragon_old/css/colorpacks/greydragon/images/ui-icons.png
new file mode 100644
index 0000000..41ce8ff
--- /dev/null
+++ b/themes/greydragon_old/css/colorpacks/greydragon/images/ui-icons.png
Binary files differ
diff --git a/themes/greydragon_old/css/colorpacks/greydragon/images/view-calendar-b.png b/themes/greydragon_old/css/colorpacks/greydragon/images/view-calendar-b.png
new file mode 100644
index 0000000..c5a1248
--- /dev/null
+++ b/themes/greydragon_old/css/colorpacks/greydragon/images/view-calendar-b.png
Binary files differ
diff --git a/themes/greydragon_old/css/colorpacks/greydragon/images/view-calendar.png b/themes/greydragon_old/css/colorpacks/greydragon/images/view-calendar.png
new file mode 100644
index 0000000..bd1d03c
--- /dev/null
+++ b/themes/greydragon_old/css/colorpacks/greydragon/images/view-calendar.png
Binary files differ
diff --git a/themes/greydragon_old/css/colorpacks/greydragon/images/view-comments-b.png b/themes/greydragon_old/css/colorpacks/greydragon/images/view-comments-b.png
new file mode 100644
index 0000000..aa91298
--- /dev/null
+++ b/themes/greydragon_old/css/colorpacks/greydragon/images/view-comments-b.png
Binary files differ
diff --git a/themes/greydragon_old/css/colorpacks/greydragon/images/view-comments.png b/themes/greydragon_old/css/colorpacks/greydragon/images/view-comments.png
new file mode 100644
index 0000000..293c587
--- /dev/null
+++ b/themes/greydragon_old/css/colorpacks/greydragon/images/view-comments.png
Binary files differ
diff --git a/themes/greydragon_old/css/colorpacks/greydragon/images/view-fullsize-b.png b/themes/greydragon_old/css/colorpacks/greydragon/images/view-fullsize-b.png
new file mode 100644
index 0000000..f659d79
--- /dev/null
+++ b/themes/greydragon_old/css/colorpacks/greydragon/images/view-fullsize-b.png
Binary files differ
diff --git a/themes/greydragon_old/css/colorpacks/greydragon/images/view-fullsize.png b/themes/greydragon_old/css/colorpacks/greydragon/images/view-fullsize.png
new file mode 100644
index 0000000..ed76257
--- /dev/null
+++ b/themes/greydragon_old/css/colorpacks/greydragon/images/view-fullsize.png
Binary files differ
diff --git a/themes/greydragon_old/css/colorpacks/greydragon/images/view-info-b.png b/themes/greydragon_old/css/colorpacks/greydragon/images/view-info-b.png
new file mode 100644
index 0000000..880d3e8
--- /dev/null
+++ b/themes/greydragon_old/css/colorpacks/greydragon/images/view-info-b.png
Binary files differ
diff --git a/themes/greydragon_old/css/colorpacks/greydragon/images/view-info-o.png b/themes/greydragon_old/css/colorpacks/greydragon/images/view-info-o.png
new file mode 100644
index 0000000..612ba96
--- /dev/null
+++ b/themes/greydragon_old/css/colorpacks/greydragon/images/view-info-o.png
Binary files differ
diff --git a/themes/greydragon_old/css/colorpacks/greydragon/images/view-info.png b/themes/greydragon_old/css/colorpacks/greydragon/images/view-info.png
new file mode 100644
index 0000000..521439c
--- /dev/null
+++ b/themes/greydragon_old/css/colorpacks/greydragon/images/view-info.png
Binary files differ
diff --git a/themes/greydragon_old/css/colorpacks/greydragon/images/view-slideshow-b.png b/themes/greydragon_old/css/colorpacks/greydragon/images/view-slideshow-b.png
new file mode 100644
index 0000000..ad13671
--- /dev/null
+++ b/themes/greydragon_old/css/colorpacks/greydragon/images/view-slideshow-b.png
Binary files differ
diff --git a/themes/greydragon_old/css/colorpacks/roundrobin/css/colors.css b/themes/greydragon_old/css/colorpacks/roundrobin/css/colors.css
new file mode 100644
index 0000000..ab0df26
--- /dev/null
+++ b/themes/greydragon_old/css/colorpacks/roundrobin/css/colors.css
@@ -0,0 +1,193 @@
+/**
+ * Gallery 3 Grey Dragon Theme
+ * Copyright (C) 2006-2010 Serguei Dosyukov
+ *
+ * ColorPack: Wind - White Hawk color pack
+ */
+
+/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
+/* styles.css - Common ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
+
+html { background-color: #FFFFFF; }
+body { color: #555; margin-top: 1em; padding-left: 0px; padding-right: 0px; background: transparent url(../images/bg-body.jpg) top left; border-radius: 10px; box-shadow: 4px 4px 12px #333; }
+
+a { color: #555 !important }
+a:hover { text-decoration: underline; }
+.ui-icon, #g-slideshow-link { background-image: url(../images/ui-icons.png); }
+
+#g-site-status li { border-bottom: 1px solid #ccc; color: #333; }
+#g-site-status .g-error { background: #f6cbca url('../images/ico-error.png') no-repeat .4em 50%; }
+#g-site-status .g-info { background: #e8e8e8 url('../images/ico-info.png') no-repeat .4em 50%; }
+#g-site-status .g-success { background: #d9efc2 url('../../../../images/ico-success.png') no-repeat .4em 50%; }
+#g-site-status .g-warning { background: #fcf9ce url('../images/ico-warning.png') no-repeat .4em 50%; }
+
+/* styles.css - Layout ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
+#g-main-in { overflow: visible; }
+#g-header { border-bottom: #050505 1px solid; background: transparent url(../images/bg-header.jpg) repeat-x top left; border-top-left-radius: 10px; border-top-right-radius: 10px; }
+#g-header .g-message-block { border: 1px #ccc solid; color: #000; }
+#g-footer { border-top: #050505 1px solid; background: transparent url(../images/bg-header.jpg) repeat-x top left; border-bottom-left-radius: 10px; border-bottom-right-radius: 10px; }
+
+#g-column-left { position: relative; float: left; right: 40px; top: 16px; background: transparent url(../images/bg-header.jpg) top left; border-radius: 6px; padding-top: 4px; box-shadow: 4px 4px 12px #333; }
+#g-column-right { position: relative; float: right; left: 40px; top: 16px; background: transparent url(../images/bg-header.jpg) top left; border-radius: 6px; padding-top: 4px; box-shadow: 4px 4px 12px #333; }
+
+.g-sidebar-left #g-column-centerright { position: relative; left: -16px; }
+.g-sidebar-left #g-view-menu { right: 120px; }
+.g-sidebar-left #g-viewformat { right: 24px; }
+
+.g-sidebar-right #g-column-centerleft { position: relative; left: 16px; }
+.g-sidebar-right #g-view-menu { top: 22px; }
+.g-sidebar-right #g-viewformat { top: 22px; }
+.g-toolbar-large.g-sidebar-right #g-viewformat { top: 26px; }
+
+#g-gallery-logo { background-image: url('../images/gallery.png'); }
+#g-theme-logo { background: transparent url('../images/colorpack.png') no-repeat; }
+
+#g-rootpage.g-sidebar-left #g-column-centerright,
+#g-rootpage.g-sidebar-right #g-column-centerleft { left: 0px; padding-left: 26px; }
+#g-header #g-login-menu { top: 0.6em; }
+
+/* styles.css - Album Layout ~~~~~~~~~~~~~~~~~~~~~~~~~*/
+
+#g-column-top .g-toolbar h1, #g-column-bottom .g-toolbar h1 { border: none; }
+#g-info h1, #g-album-header h1 { border-bottom: #ccc 1px solid; }
+#g-info .g-description { border: #ccc 1px solid; }
+
+.g-thumbslide { border-color: #ccc; }
+.g-album .g-thumbslide { border-color: #ccc; }
+.g-thumbcrop { border-color: #ccc; }
+
+.g-default .g-thumbslide .g-description { color: #000; border-top: 1px solid #ccc; border-bottom: 1px solid #ccc; background: #FFFFFF; filter:alpha(opacity=85); opacity:.85; -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=85)"; }
+.g-expanded .g-thumbslide .g-description { color: #fff; background: transparent; border: none; }
+.g-album .g-thumbslide .g-description { background-image: url(../images/ico-album.png); background-repeat: no-repeat; background-position: 8px 4px; }
+.g-thumbslide .g-metadata { border-top: 1px solid #ccc; background: #FFFFFF; filter:alpha(opacity=85); opacity:.85; -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=85)"; }
+
+/* styles.css - Photo Layout ~~~~~~~~~~~~~~~~~~~~~~~~~*/
+
+div.g-resize { border: 1px solid #ccc; }
+div.g-resize .g-description { color: #000; background: #FFFFFF; filter:alpha(opacity=85); opacity:.85; -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=85)"; }
+div.g-resize .g-description.g-align-top { border-bottom: 1px solid #ccc; }
+div.g-resize .g-description.g-align-bottom { border-top: 1px solid #ccc; }
+div.g-resize .g-more { border: 1px solid #ccc; background: #FFFFFF; filter:alpha(opacity=85); opacity:.85; -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=85)"; }
+
+.g-movie { border: 1px solid #ccc; padding: 5px; }
+
+/* styles.css - Sidebar Blocks : Common ~~~~~~~~~~~~~~*/
+
+.g-block { }
+.g-block h2 { border-bottom: 1px solid #ccc; background: rgba(255, 255, 255, 0.5); border-radius: 5px; }
+
+/* styles.css - Sidebar Blocks : Buttons ~~~~~~~~~~~~~*/
+
+.g-fullsize-link { background: url("../images/view-fullsize.png") top left no-repeat; }
+#g-exifdata-link { background: url("../images/view-info.png") top left no-repeat; }
+
+/* styles.css - Root Page ~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
+
+#g-rootpage-roll span { border: 1px solid #ccc; background: #FFFFFF; filter:alpha(opacity=85); opacity:.85; -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=85)"; }
+
+/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
+/* forms.css - Common ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
+
+/* styles.css - Photo Slideshow ~~~~~~~~~~~~~~~~~~~~~~*/
+
+#sb-body { background-color: #fff; }
+#sb-title { border-left: #303030 1px solid; border-right: #303030 1px solid; background: #e8e8e8; color: #000; }
+#sb-title-inner { color: #000; }
+#sb-counter a { font-weight: bold; font-size: 11px; }
+
+/* forms.css - Add item ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
+
+#g-add-photos-canvas { background-color: #fff; border: #303030 1px solid; }
+#g-add-photos-button { border: #303030 1px solid; }
+#g-add-photos-status { background-color: #fff; border: #303030 1px solid; }
+
+.uploadifyQueueItem { color: #000; }
+
+/* forms.css - User Profile ~~~~~~~~~~~~~~~~~~~~~~~~~~*/
+
+#g-user-profile h1 { border-bottom: #ccc 1px solid; }
+#g-user-profile .g-avatar { border: 1px solid #ccc; background: #fff; }
+
+/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
+/* menus.css ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
+
+#g-site-menu ul { border: #000000 0 solid; color: #000; }
+#g-site-menu li { background-color: #ccc; }
+#g-site-menu li ul { border: #ccc 1px solid; }
+#g-site-menu li ul li { border: #ccc 0px solid; background-color: #ccc; }
+
+#g-site-menu>ul>li { background-color: transparent; }
+
+#g-site-menu.g-bar { border: #ccc 1px solid; background-color: #ccc; }
+#g-site-menu.g-bar li:hover,
+#g-site-menu.g-bar li.iemhover { border-bottom-color: transparent; }
+
+.g-item .g-context-menu { background-image: url(../images/ui-icons.png); }
+.g-item .g-context-menu:hover { background: #e8e8e8 none; border: 1px #ccc solid; }
+.g-item .g-context-menu li li a:hover { background-color: #e8e8e8; }
+
+/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
+/* modules.css - Exif ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
+
+#g-exif-data table { border: #ccc 1px solid; }
+#g-exif-data .g-even { background-color: #e8e8e8; }
+#g-exif-data .g-odd { background-color: #FFFFFF; }
+
+/* modules.css - Info module ~~~~~~~~~~~~~~~~~~~~~~~~~*/
+
+#g-metadata .g-description { border-top: 1px solid #ccc; }
+
+/* modules.css - Image block ~~~~~~~~~~~~~~~~~~~~~~~~*/
+
+.g-image-block img { border: 1px solid #ccc; }
+
+/* modules.css - Comments ~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
+
+#g-comments .g-author { border-bottom: 1px solid #202628; color: #999; }
+#g-comments-link { background-image: url(../images/view-comments.png); }
+#g-comment-detail>ul>li { border: 1px dotted #ccc; }
+#g-comment-form { border: 1px dotted #ccc; }
+
+/* modules.css - Calendar ~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
+
+#g-view-menu #g-calendarview-link { background-image: url(../images/view-calendar.png); }
+#g-view-calendar-form ul { border: 1px #888 solid; }
+table.calendar { border: #a2adbc 1px solid; color: #616b76; }
+table.calendar th { border-bottom: #a2adbc 1px solid; border-right: #a2adbc 1px solid; background: #d9e2e1; color: #616b76; }
+table.calendar td { border-bottom: #a2adbc 1px solid; border-right: #a2adbc 1px solid; }
+table.calendar td.title { background-color: #a2adbc; color: #fff; }
+table.calendar td.title a { color: #fff !important; }
+table.calendar td a { color: red !important; }
+
+/* modules.css - Search ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
+
+#g-quick-search-form.g-short-form li { margin-left: -2px !important; }
+#g-quick-search-form input[type="text"] { background-color: #FFF; border: 1px solid #ccc; color: #666; border-top-left-radius: 4px; border-bottom-left-radius: 4px; }
+#ag-quick-search-form input[type="submit"] { border: #c5dbec 1px solid; text-indent: 0; width: auto; height: auto; font: 80% arial, helvetica, clean, sans-serif; font-weight: bold; padding-top: 3px; padding-bottom: 3px; }
+#g-quick-search-form input[type="submit"] { background: transparent url(../images/search.png) no-repeat center top; border: none; }
+
+#g-search-results h1 { border-bottom: #ccc 1px solid; }
+
+/* modules.css - Basket ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
+
+#checkout legend { background-color: #e8e8e8; }
+
+/* forms.css - Common ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
+
+.ui-dialog .ui-dialog-titlebar { background: #e8e8e8; color: #666666; }
+.ui-widget-content { border: 1px solid #303030; background-color: #fff; color: #000; }
+.ui-progressbar .ui-progressbar-value {margin: -1px; height:100%; background: #303030; }
+
+/* forms.css - Reauthentificate ~~~~~~~~~~~~~~~~~~~~~*/
+
+#g-column-centerfull #g-login { border: #ccc 1px solid; }
+
+/* Large toolbar icons support ~~~~~~~~~~~~~~~~~~~~~~~*/
+
+.g-toolbar-large #g-view-menu #g-calendarview-link { background-image: url(../images/view-calendar-b.png); }
+.g-toolbar-large #g-slideshow-link { background: url(../images/view-slideshow-b.png) no-repeat top center; }
+.g-toolbar-large .g-fullsize-link { background: url(../images/view-fullsize-b.png) no-repeat top center; }
+.g-toolbar-large #g-exifdata-link { background: url(../images/view-info-b.png) no-repeat top center; }
+.g-toolbar-large #g-comments-link { background: url(../images/view-comments-b.png) no-repeat top center; }
+
+.g-thumbcrop a.g-meta-exif-link { background-image: url(../images/view-info-o.png); } \ No newline at end of file
diff --git a/themes/greydragon_old/css/colorpacks/roundrobin/images/ajax-loading.gif b/themes/greydragon_old/css/colorpacks/roundrobin/images/ajax-loading.gif
new file mode 100644
index 0000000..53dd589
--- /dev/null
+++ b/themes/greydragon_old/css/colorpacks/roundrobin/images/ajax-loading.gif
Binary files differ
diff --git a/themes/greydragon_old/css/colorpacks/roundrobin/images/bg-body.jpg b/themes/greydragon_old/css/colorpacks/roundrobin/images/bg-body.jpg
new file mode 100644
index 0000000..08f519b
--- /dev/null
+++ b/themes/greydragon_old/css/colorpacks/roundrobin/images/bg-body.jpg
Binary files differ
diff --git a/themes/greydragon_old/css/colorpacks/roundrobin/images/bg-header.jpg b/themes/greydragon_old/css/colorpacks/roundrobin/images/bg-header.jpg
new file mode 100644
index 0000000..f33f0c6
--- /dev/null
+++ b/themes/greydragon_old/css/colorpacks/roundrobin/images/bg-header.jpg
Binary files differ
diff --git a/themes/greydragon_old/css/colorpacks/roundrobin/images/colorpack.png b/themes/greydragon_old/css/colorpacks/roundrobin/images/colorpack.png
new file mode 100644
index 0000000..12fea30
--- /dev/null
+++ b/themes/greydragon_old/css/colorpacks/roundrobin/images/colorpack.png
Binary files differ
diff --git a/themes/greydragon_old/css/colorpacks/roundrobin/images/gallery.png b/themes/greydragon_old/css/colorpacks/roundrobin/images/gallery.png
new file mode 100644
index 0000000..9ee765c
--- /dev/null
+++ b/themes/greydragon_old/css/colorpacks/roundrobin/images/gallery.png
Binary files differ
diff --git a/themes/greydragon_old/css/colorpacks/roundrobin/images/ico-album.png b/themes/greydragon_old/css/colorpacks/roundrobin/images/ico-album.png
new file mode 100644
index 0000000..ac87ec4
--- /dev/null
+++ b/themes/greydragon_old/css/colorpacks/roundrobin/images/ico-album.png
Binary files differ
diff --git a/themes/greydragon_old/css/colorpacks/roundrobin/images/ico-error.png b/themes/greydragon_old/css/colorpacks/roundrobin/images/ico-error.png
new file mode 100644
index 0000000..c37bd06
--- /dev/null
+++ b/themes/greydragon_old/css/colorpacks/roundrobin/images/ico-error.png
Binary files differ
diff --git a/themes/greydragon_old/css/colorpacks/roundrobin/images/ico-help.png b/themes/greydragon_old/css/colorpacks/roundrobin/images/ico-help.png
new file mode 100644
index 0000000..5c87017
--- /dev/null
+++ b/themes/greydragon_old/css/colorpacks/roundrobin/images/ico-help.png
Binary files differ
diff --git a/themes/greydragon_old/css/colorpacks/roundrobin/images/ico-info.png b/themes/greydragon_old/css/colorpacks/roundrobin/images/ico-info.png
new file mode 100644
index 0000000..12cd1ae
--- /dev/null
+++ b/themes/greydragon_old/css/colorpacks/roundrobin/images/ico-info.png
Binary files differ
diff --git a/themes/greydragon_old/css/colorpacks/roundrobin/images/ico-warning.png b/themes/greydragon_old/css/colorpacks/roundrobin/images/ico-warning.png
new file mode 100644
index 0000000..628cf2d
--- /dev/null
+++ b/themes/greydragon_old/css/colorpacks/roundrobin/images/ico-warning.png
Binary files differ
diff --git a/themes/greydragon_old/css/colorpacks/roundrobin/images/loading-large.gif b/themes/greydragon_old/css/colorpacks/roundrobin/images/loading-large.gif
new file mode 100644
index 0000000..cc70a7a
--- /dev/null
+++ b/themes/greydragon_old/css/colorpacks/roundrobin/images/loading-large.gif
Binary files differ
diff --git a/themes/greydragon_old/css/colorpacks/roundrobin/images/loading-small.gif b/themes/greydragon_old/css/colorpacks/roundrobin/images/loading-small.gif
new file mode 100644
index 0000000..d0bce15
--- /dev/null
+++ b/themes/greydragon_old/css/colorpacks/roundrobin/images/loading-small.gif
Binary files differ
diff --git a/themes/greydragon_old/css/colorpacks/roundrobin/images/search.png b/themes/greydragon_old/css/colorpacks/roundrobin/images/search.png
new file mode 100644
index 0000000..d9592d8
--- /dev/null
+++ b/themes/greydragon_old/css/colorpacks/roundrobin/images/search.png
Binary files differ
diff --git a/themes/greydragon_old/css/colorpacks/roundrobin/images/ui-icons.png b/themes/greydragon_old/css/colorpacks/roundrobin/images/ui-icons.png
new file mode 100644
index 0000000..4082a0e
--- /dev/null
+++ b/themes/greydragon_old/css/colorpacks/roundrobin/images/ui-icons.png
Binary files differ
diff --git a/themes/greydragon_old/css/colorpacks/roundrobin/images/view-calendar-b.png b/themes/greydragon_old/css/colorpacks/roundrobin/images/view-calendar-b.png
new file mode 100644
index 0000000..f3ab6aa
--- /dev/null
+++ b/themes/greydragon_old/css/colorpacks/roundrobin/images/view-calendar-b.png
Binary files differ
diff --git a/themes/greydragon_old/css/colorpacks/roundrobin/images/view-calendar.png b/themes/greydragon_old/css/colorpacks/roundrobin/images/view-calendar.png
new file mode 100644
index 0000000..a4d038a
--- /dev/null
+++ b/themes/greydragon_old/css/colorpacks/roundrobin/images/view-calendar.png
Binary files differ
diff --git a/themes/greydragon_old/css/colorpacks/roundrobin/images/view-comments-b.png b/themes/greydragon_old/css/colorpacks/roundrobin/images/view-comments-b.png
new file mode 100644
index 0000000..aa91298
--- /dev/null
+++ b/themes/greydragon_old/css/colorpacks/roundrobin/images/view-comments-b.png
Binary files differ
diff --git a/themes/greydragon_old/css/colorpacks/roundrobin/images/view-comments.png b/themes/greydragon_old/css/colorpacks/roundrobin/images/view-comments.png
new file mode 100644
index 0000000..5aca071
--- /dev/null
+++ b/themes/greydragon_old/css/colorpacks/roundrobin/images/view-comments.png
Binary files differ
diff --git a/themes/greydragon_old/css/colorpacks/roundrobin/images/view-fullsize-b.png b/themes/greydragon_old/css/colorpacks/roundrobin/images/view-fullsize-b.png
new file mode 100644
index 0000000..fad5e53
--- /dev/null
+++ b/themes/greydragon_old/css/colorpacks/roundrobin/images/view-fullsize-b.png
Binary files differ
diff --git a/themes/greydragon_old/css/colorpacks/roundrobin/images/view-fullsize.png b/themes/greydragon_old/css/colorpacks/roundrobin/images/view-fullsize.png
new file mode 100644
index 0000000..cc4fbba
--- /dev/null
+++ b/themes/greydragon_old/css/colorpacks/roundrobin/images/view-fullsize.png
Binary files differ
diff --git a/themes/greydragon_old/css/colorpacks/roundrobin/images/view-info-b.png b/themes/greydragon_old/css/colorpacks/roundrobin/images/view-info-b.png
new file mode 100644
index 0000000..90f1bb4
--- /dev/null
+++ b/themes/greydragon_old/css/colorpacks/roundrobin/images/view-info-b.png
Binary files differ
diff --git a/themes/greydragon_old/css/colorpacks/roundrobin/images/view-info-o.png b/themes/greydragon_old/css/colorpacks/roundrobin/images/view-info-o.png
new file mode 100644
index 0000000..612ba96
--- /dev/null
+++ b/themes/greydragon_old/css/colorpacks/roundrobin/images/view-info-o.png
Binary files differ
diff --git a/themes/greydragon_old/css/colorpacks/roundrobin/images/view-info.png b/themes/greydragon_old/css/colorpacks/roundrobin/images/view-info.png
new file mode 100644
index 0000000..4bdb724
--- /dev/null
+++ b/themes/greydragon_old/css/colorpacks/roundrobin/images/view-info.png
Binary files differ
diff --git a/themes/greydragon_old/css/colorpacks/roundrobin/images/view-slideshow-b.png b/themes/greydragon_old/css/colorpacks/roundrobin/images/view-slideshow-b.png
new file mode 100644
index 0000000..ad13671
--- /dev/null
+++ b/themes/greydragon_old/css/colorpacks/roundrobin/images/view-slideshow-b.png
Binary files differ
diff --git a/themes/greydragon_old/css/colorpacks/slateblue/css/colors.css b/themes/greydragon_old/css/colorpacks/slateblue/css/colors.css
new file mode 100644
index 0000000..70b1c2a
--- /dev/null
+++ b/themes/greydragon_old/css/colorpacks/slateblue/css/colors.css
@@ -0,0 +1,177 @@
+/**
+ * Gallery 3 Grey Dragon Theme
+ * Copyright (C) 2006-2010 Serguei Dosyukov
+ *
+ * ColorPack: SlateBlue
+ */
+
+/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
+/* styles.css - Common ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
+
+html { background-color: #1c242e; }
+body { color: #BBB; background: #1c242e; }
+
+h1 { border-bottom: #737373 1px solid; }
+a { color: #6392CF !important; }
+.ui-icon, #g-slideshow-link { background-image: url(../images/ui-icons.png); }
+
+#g-site-status li { border-bottom: 1px solid #ccc; color: #333; }
+#g-site-status .g-error { background: #f6cbca url('../images/ico-error.png') no-repeat .4em 50%; }
+#g-site-status .g-info { background: #e8e8e8 url('../images/ico-info.png') no-repeat .4em 50%; }
+#g-site-status .g-success { background: #d9efc2 url('../../../../images/ico-success.png') no-repeat .4em 50%; }
+#g-site-status .g-warning { background: #fcf9ce url('../images/ico-warning.png') no-repeat .4em 50%; }
+
+/* styles.css - Layout ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
+#g-header { border-left: #10151c 1px solid; border-right: #10151c 1px solid; background: url(../images/background.jpg) #1c242e repeat-x; }
+.viewmode-mini #g-header { border-bottom: #10151c 1px solid; }
+#g-header .g-message-block { border: 1px #888 solid; background-color: #AAA; color: #000; }
+#g-main { border-left: #10151c 1px solid; border-right: #10151c 1px solid; }
+.viewmode-mini #g-main { border-bottom: #10151c 1px solid; }
+#g-footer { background: #000; font-size: 10px; }
+#g-theme-logo { background: transparent url('../images/colorpack.png') no-repeat; }
+
+/* styles.css - Album Layout ~~~~~~~~~~~~~~~~~~~~~~~~~*/
+
+#g-column-top, #g-column-bottom { background-color: #1a1e27; border: #10151C 1px solid; border-top: none;}
+#g-column-top .g-toolbar h1, #g-column-bottom .g-toolbar h1 { border: none; }
+#g-info .g-description { border: #10151c 1px solid; background-color: #1a1e27; }
+
+.g-thumbslide { border-color: #303E43; }
+.g-album .g-thumbslide { border-color: #43565B; }
+.g-thumbcrop { border-color: #303E43; }
+
+.g-default .g-thumbslide .g-description { color: #fff; background: #1E1E1E; border-top: 1px solid #303e43; border-bottom: 1px solid #303e43; opacity:.85; -ms-filter: "alpha (opacity=85)"; filter: alpha (opacity=85); }
+.g-expanded .g-thumbslide .g-description { color: #fff; background: transparent; border: none; }
+.g-album .g-thumbslide .g-description { background-image: url(../images/ico-album.png); background-repeat: no-repeat; background-position: 8px 4px; }
+
+.g-thumbslide .g-metadata { border-top: 1px solid #303e43; background: #1E1E1E; filter:alpha(opacity=85); opacity:.85; -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=85)"; }
+
+#g-album-grid.g-panel .g-album .g-thumbslide, #g-album-grid.g-panel .g-thumbslide { border-width: 1px; border-style: solid; border-left-color: #666; border-top-color: #666; border-right-color: #10151C; border-bottom-color: #10151C; }
+// #g-album-grid.g-panel .g-album .g-thumbslide, #g-album-grid.g-panel .g-thumbslide { border-width: 1px; border-style: solid; border-left-color: #666; border-top-color: #666; border-right-color: #202020; border-bottom-color: #202020; }
+
+
+/* styles.css - Photo Layout ~~~~~~~~~~~~~~~~~~~~~~~~~*/
+
+div.g-resize { border: #10151c 1px solid; background: #4a4e67; }
+div.g-resize .g-description { color: #fff; background: #1E1E1E; filter:alpha(opacity=85); opacity:.85; -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=85)"; }
+div.g-resize .g-description.g-align-top { border-bottom: 1px solid #999; }
+div.g-resize .g-description.g-align-bottom { border-top: 1px solid #999; }
+div.g-resize .g-more { border: 1px solid #999; background: #1E1E1E; filter:alpha(opacity=85); opacity:.85; -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=85)"; }
+
+.g-movie { border: 1px solid #888; padding: 5px; background: #555; }
+
+/* styles.css - Sidebar Blocks : Common ~~~~~~~~~~~~~~*/
+
+.g-block { border-width: 1px; border-style: solid; border-left-color: #303e43; border-top-color: #303e43; border-right-color: #10151C; border-bottom-color: #10151C; background-color: #1a1e27; }
+.g-block h2 { background: #1c242e; border-bottom: #273444 1px solid; border-top: #273444 1px solid; }
+
+/* styles.css - Sidebar Blocks : Buttons ~~~~~~~~~~~~~*/
+
+.g-fullsize-link { background: url("../images/view-fullsize.png") top left no-repeat; }
+#g-exifdata-link { background: url("../images/view-info.png") top left no-repeat; }
+
+/* styles.css - Root Page ~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
+
+#g-rootpage-roll span { border: 1px solid #999; background: #1E1E1E; filter:alpha(opacity=85); opacity:.85; -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=85)"; }
+
+/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
+/* forms.css - Common ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
+
+/* styles.css - Photo Slideshow ~~~~~~~~~~~~~~~~~~~~~~*/
+
+#sb-body { background-color: #101415; }
+#sb-title { border-left: #303030 1px solid; border-right: #303030 1px solid; background: #101415 url('../images/section.png') repeat-x; }
+#sb-counter a { color: #fff !important; font-weight: bold; font-size: 11px; }
+
+/* forms.css - Add item ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
+
+#g-add-photos-canvas { background-color: #101010; border: #303030 1px solid; }
+#g-add-photos-status { background-color: #101010; border: #303030 1px solid; }
+
+.uploadifyQueueItem { color: #000; }
+
+/* forms.css - Reauthentificate ~~~~~~~~~~~~~~~~~~~~~*/
+
+#g-column-centerfull #g-login { border: #888 1px solid; }
+
+/* forms.css - User Profile ~~~~~~~~~~~~~~~~~~~~~~~~~~*/
+
+#g-user-profile .g-avatar { border: 1px solid #888; background: #555; }
+
+/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
+/* menus.css ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
+
+#g-site-menu ul { border: #000000 0 solid; }
+#g-site-menu li a:hover { color: #000000; background-color: #303030; }
+#g-site-menu li:hover,
+#g-site-menu li.iemhover { border: #303030 1px solid; background-color: #303030; border-bottom: #000000 1px solid; }
+#g-site-menu li ul { border: #000000 1px solid; }
+#g-site-menu li ul li { border: #C0C0C0 0px solid; background-color: #212121; }
+#g-site-menu li ul li:hover,
+#g-site-menu li ul li.iemhover { border: #C0C0C0 0 solid; background-color: #303030; }
+
+#g-site-menu.g-bar { border: #000000 1px solid; background-color: #212121; }
+#g-site-menu.g-bar li:hover,
+#g-site-menu.g-bar li.iemhover { border-bottom-color: transparent; }
+
+.g-item .g-context-menu { background-image: url(../images/ui-icons.png); }
+.g-item .g-context-menu:hover { background: #181818 none; border: 1px #888 solid; }
+.g-item .g-context-menu li li a:hover { background-color: #303030; }
+
+/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
+/* modules.css - Exif ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
+
+#g-exif-data table { border: #303030 1px solid; }
+#g-exif-data .g-even { background-color: #404040; }
+#g-exif-data .g-odd { background-color: #303030; }
+
+/* modules.css - Info module ~~~~~~~~~~~~~~~~~~~~~~~~~*/
+
+#g-metadata .g-description { border-top: 1px solid #737373; }
+
+/* modules.css - Image block ~~~~~~~~~~~~~~~~~~~~~~~~*/
+
+.g-image-block img { border: 1px solid #888; background: #555; }
+
+/* modules.css - Comments ~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
+
+#g-comments .g-author { border-bottom: 1px solid #202628; color: #999; }
+#g-comments-link { background-image: url(../images/view-comments.png); }
+#g-comment-detail>ul>li { border: 1px dotted #737373; }
+#g-comment-form { border: 1px dotted #737373; }
+
+/* modules.css - Calendar ~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
+
+#g-view-menu #g-calendarview-link { background-image: url(../images/view-calendar.png); }
+#g-view-calendar-form ul { border: 1px #888 solid; }
+table.calendar { border: #a2adbc 1px solid; color: #616b76; }
+table.calendar th { border-bottom: #a2adbc 1px solid; border-right: #a2adbc 1px solid; background: #d9e2e1; color: #616b76; }
+table.calendar td { border-bottom: #a2adbc 1px solid; border-right: #a2adbc 1px solid; }
+table.calendar td.title { background-color: #a2adbc; color: #fff; }
+table.calendar td.title a { color: #fff !important; }
+table.calendar td a { color: red !important; }
+
+/* modules.css - Search ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
+
+#g-quick-search-form input[type="text"] { background-color: transparent; border: 1px solid #737373; color: #BBB; }
+#g-quick-search-form input[type="submit"] { background: transparent url(../images/search.png) no-repeat center top; border: none; }
+
+/* modules.css - Basket ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
+
+#checkout legend { background: url(../images/section.png) repeat-x; }
+
+/* forms.css - Common ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
+
+.ui-dialog .ui-dialog-titlebar { background: #101415 url('../images/section.png') repeat-x; }
+.ui-widget-content { border: 1px solid #303030; background-color: #1a2022; color: #bbb; }
+.ui-progressbar .ui-progressbar-value { background: #737373; }
+
+/* Large toolbar icons support ~~~~~~~~~~~~~~~~~~~~~~~*/
+
+.g-toolbar-large #g-view-menu #g-calendarview-link { background-image: url(../images/view-calendar-b.png); }
+.g-toolbar-large #g-slideshow-link { background: url(../images/view-slideshow-b.png) no-repeat top center; }
+.g-toolbar-large .g-fullsize-link { background: url(../images/view-fullsize-b.png) no-repeat top center; }
+.g-toolbar-large #g-exifdata-link { background: url(../images/view-info-b.png) no-repeat top center; }
+.g-toolbar-large #g-comments-link { background: url(../images/view-comments-b.png) no-repeat top center; }
+
+.g-thumbcrop a.g-meta-exif-link { background-image: url(../images/view-info-o.png); } \ No newline at end of file
diff --git a/themes/greydragon_old/css/colorpacks/slateblue/images/ajax-loading.gif b/themes/greydragon_old/css/colorpacks/slateblue/images/ajax-loading.gif
new file mode 100644
index 0000000..0996045
--- /dev/null
+++ b/themes/greydragon_old/css/colorpacks/slateblue/images/ajax-loading.gif
Binary files differ
diff --git a/themes/greydragon_old/css/colorpacks/slateblue/images/background.jpg b/themes/greydragon_old/css/colorpacks/slateblue/images/background.jpg
new file mode 100644
index 0000000..7ec958a
--- /dev/null
+++ b/themes/greydragon_old/css/colorpacks/slateblue/images/background.jpg
Binary files differ
diff --git a/themes/greydragon_old/css/colorpacks/slateblue/images/colorpack.png b/themes/greydragon_old/css/colorpacks/slateblue/images/colorpack.png
new file mode 100644
index 0000000..d3fd993
--- /dev/null
+++ b/themes/greydragon_old/css/colorpacks/slateblue/images/colorpack.png
Binary files differ
diff --git a/themes/greydragon_old/css/colorpacks/slateblue/images/footer.png b/themes/greydragon_old/css/colorpacks/slateblue/images/footer.png
new file mode 100644
index 0000000..04d5ee5
--- /dev/null
+++ b/themes/greydragon_old/css/colorpacks/slateblue/images/footer.png
Binary files differ
diff --git a/themes/greydragon_old/css/colorpacks/slateblue/images/ico-album.png b/themes/greydragon_old/css/colorpacks/slateblue/images/ico-album.png
new file mode 100644
index 0000000..ac87ec4
--- /dev/null
+++ b/themes/greydragon_old/css/colorpacks/slateblue/images/ico-album.png
Binary files differ
diff --git a/themes/greydragon_old/css/colorpacks/slateblue/images/ico-error.png b/themes/greydragon_old/css/colorpacks/slateblue/images/ico-error.png
new file mode 100644
index 0000000..c37bd06
--- /dev/null
+++ b/themes/greydragon_old/css/colorpacks/slateblue/images/ico-error.png
Binary files differ
diff --git a/themes/greydragon_old/css/colorpacks/slateblue/images/ico-help.png b/themes/greydragon_old/css/colorpacks/slateblue/images/ico-help.png
new file mode 100644
index 0000000..5c87017
--- /dev/null
+++ b/themes/greydragon_old/css/colorpacks/slateblue/images/ico-help.png
Binary files differ
diff --git a/themes/greydragon_old/css/colorpacks/slateblue/images/ico-info.png b/themes/greydragon_old/css/colorpacks/slateblue/images/ico-info.png
new file mode 100644
index 0000000..12cd1ae
--- /dev/null
+++ b/themes/greydragon_old/css/colorpacks/slateblue/images/ico-info.png
Binary files differ
diff --git a/themes/greydragon_old/css/colorpacks/slateblue/images/ico-warning.png b/themes/greydragon_old/css/colorpacks/slateblue/images/ico-warning.png
new file mode 100644
index 0000000..628cf2d
--- /dev/null
+++ b/themes/greydragon_old/css/colorpacks/slateblue/images/ico-warning.png
Binary files differ
diff --git a/themes/greydragon_old/css/colorpacks/slateblue/images/loading-large.gif b/themes/greydragon_old/css/colorpacks/slateblue/images/loading-large.gif
new file mode 100644
index 0000000..cc70a7a
--- /dev/null
+++ b/themes/greydragon_old/css/colorpacks/slateblue/images/loading-large.gif
Binary files differ
diff --git a/themes/greydragon_old/css/colorpacks/slateblue/images/loading-small.gif b/themes/greydragon_old/css/colorpacks/slateblue/images/loading-small.gif
new file mode 100644
index 0000000..d0bce15
--- /dev/null
+++ b/themes/greydragon_old/css/colorpacks/slateblue/images/loading-small.gif
Binary files differ
diff --git a/themes/greydragon_old/css/colorpacks/slateblue/images/search.png b/themes/greydragon_old/css/colorpacks/slateblue/images/search.png
new file mode 100644
index 0000000..1bfa411
--- /dev/null
+++ b/themes/greydragon_old/css/colorpacks/slateblue/images/search.png
Binary files differ
diff --git a/themes/greydragon_old/css/colorpacks/slateblue/images/section.png b/themes/greydragon_old/css/colorpacks/slateblue/images/section.png
new file mode 100644
index 0000000..8180ecb
--- /dev/null
+++ b/themes/greydragon_old/css/colorpacks/slateblue/images/section.png
Binary files differ
diff --git a/themes/greydragon_old/css/colorpacks/slateblue/images/ui-icons.png b/themes/greydragon_old/css/colorpacks/slateblue/images/ui-icons.png
new file mode 100644
index 0000000..41ce8ff
--- /dev/null
+++ b/themes/greydragon_old/css/colorpacks/slateblue/images/ui-icons.png
Binary files differ
diff --git a/themes/greydragon_old/css/colorpacks/slateblue/images/view-calendar-b.png b/themes/greydragon_old/css/colorpacks/slateblue/images/view-calendar-b.png
new file mode 100644
index 0000000..c5a1248
--- /dev/null
+++ b/themes/greydragon_old/css/colorpacks/slateblue/images/view-calendar-b.png
Binary files differ
diff --git a/themes/greydragon_old/css/colorpacks/slateblue/images/view-calendar.png b/themes/greydragon_old/css/colorpacks/slateblue/images/view-calendar.png
new file mode 100644
index 0000000..bd1d03c
--- /dev/null
+++ b/themes/greydragon_old/css/colorpacks/slateblue/images/view-calendar.png
Binary files differ
diff --git a/themes/greydragon_old/css/colorpacks/slateblue/images/view-comments-b.png b/themes/greydragon_old/css/colorpacks/slateblue/images/view-comments-b.png
new file mode 100644
index 0000000..aa91298
--- /dev/null
+++ b/themes/greydragon_old/css/colorpacks/slateblue/images/view-comments-b.png
Binary files differ
diff --git a/themes/greydragon_old/css/colorpacks/slateblue/images/view-comments.png b/themes/greydragon_old/css/colorpacks/slateblue/images/view-comments.png
new file mode 100644
index 0000000..293c587
--- /dev/null
+++ b/themes/greydragon_old/css/colorpacks/slateblue/images/view-comments.png
Binary files differ
diff --git a/themes/greydragon_old/css/colorpacks/slateblue/images/view-fullsize-b.png b/themes/greydragon_old/css/colorpacks/slateblue/images/view-fullsize-b.png
new file mode 100644
index 0000000..f659d79
--- /dev/null
+++ b/themes/greydragon_old/css/colorpacks/slateblue/images/view-fullsize-b.png
Binary files differ
diff --git a/themes/greydragon_old/css/colorpacks/slateblue/images/view-fullsize.png b/themes/greydragon_old/css/colorpacks/slateblue/images/view-fullsize.png
new file mode 100644
index 0000000..ed76257
--- /dev/null
+++ b/themes/greydragon_old/css/colorpacks/slateblue/images/view-fullsize.png
Binary files differ
diff --git a/themes/greydragon_old/css/colorpacks/slateblue/images/view-info-b.png b/themes/greydragon_old/css/colorpacks/slateblue/images/view-info-b.png
new file mode 100644
index 0000000..880d3e8
--- /dev/null
+++ b/themes/greydragon_old/css/colorpacks/slateblue/images/view-info-b.png
Binary files differ
diff --git a/themes/greydragon_old/css/colorpacks/slateblue/images/view-info-o.png b/themes/greydragon_old/css/colorpacks/slateblue/images/view-info-o.png
new file mode 100644
index 0000000..612ba96
--- /dev/null
+++ b/themes/greydragon_old/css/colorpacks/slateblue/images/view-info-o.png
Binary files differ
diff --git a/themes/greydragon_old/css/colorpacks/slateblue/images/view-info.png b/themes/greydragon_old/css/colorpacks/slateblue/images/view-info.png
new file mode 100644
index 0000000..521439c
--- /dev/null
+++ b/themes/greydragon_old/css/colorpacks/slateblue/images/view-info.png
Binary files differ
diff --git a/themes/greydragon_old/css/colorpacks/slateblue/images/view-slideshow-b.png b/themes/greydragon_old/css/colorpacks/slateblue/images/view-slideshow-b.png
new file mode 100644
index 0000000..ad13671
--- /dev/null
+++ b/themes/greydragon_old/css/colorpacks/slateblue/images/view-slideshow-b.png
Binary files differ
diff --git a/themes/greydragon_old/css/colorpacks/whitehawk/css/colors.css b/themes/greydragon_old/css/colorpacks/whitehawk/css/colors.css
new file mode 100644
index 0000000..58a4ef2
--- /dev/null
+++ b/themes/greydragon_old/css/colorpacks/whitehawk/css/colors.css
@@ -0,0 +1,174 @@
+/**
+ * Gallery 3 Grey Dragon Theme
+ * Copyright (C) 2006-2010 Serguei Dosyukov
+ *
+ * ColorPack: Wind - White Hawk color pack
+ */
+
+/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
+/* styles.css - Common ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
+
+html { background-color: #FFFFFF; }
+body { color: #666666; padding-left: 10px; padding-right: 10px; }
+
+a { color: #666666 !important }
+a:hover { text-decoration: underline; }
+.ui-icon, #g-slideshow-link { background-image: url(../images/ui-icons.png); }
+
+#g-site-status li { border-bottom: 1px solid #ccc; color: #333; }
+#g-site-status .g-error { background: #f6cbca url('../images/ico-error.png') no-repeat .4em 50%; }
+#g-site-status .g-info { background: #e8e8e8 url('../images/ico-info.png') no-repeat .4em 50%; }
+#g-site-status .g-success { background: #d9efc2 url('../../../../images/ico-success.png') no-repeat .4em 50%; }
+#g-site-status .g-warning { background: #fcf9ce url('../images/ico-warning.png') no-repeat .4em 50%; }
+
+/* styles.css - Layout ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
+#g-header { border-bottom: #ccc 1px solid; }
+#g-header .g-message-block { border: 1px #ccc solid; color: #000; }
+#g-footer { border-top: #ccc 1px solid; }
+
+#g-gallery-logo { background-image: url('../images/gallery.png'); }
+#g-theme-logo { background: transparent url('../images/colorpack.png') no-repeat; }
+
+
+/* styles.css - Album Layout ~~~~~~~~~~~~~~~~~~~~~~~~~*/
+
+#g-column-top .g-toolbar h1, #g-column-bottom .g-toolbar h1 { border: none; }
+#g-info h1, #g-album-header h1 { border-bottom: #ccc 1px solid; }
+#g-info .g-description { border: #ccc 1px solid; }
+
+.g-thumbslide { border-color: #ccc; }
+.g-album .g-thumbslide { border-color: #ccc; }
+.g-thumbcrop { border-color: #ccc; }
+
+.g-default .g-thumbslide .g-description { color: #000; border-top: 1px solid #ccc; border-bottom: 1px solid #ccc; background: #FFFFFF; filter:alpha(opacity=85); opacity:.85; -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=85)"; }
+.g-expanded .g-thumbslide .g-description { color: #fff; background: transparent; border: none; }
+.g-album .g-thumbslide .g-description { background-image: url(../images/ico-album.png); background-repeat: no-repeat; background-position: 8px 4px; }
+.g-thumbslide .g-metadata { border-top: 1px solid #ccc; background: #FFFFFF; filter:alpha(opacity=85); opacity:.85; -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=85)"; }
+
+/* styles.css - Photo Layout ~~~~~~~~~~~~~~~~~~~~~~~~~*/
+
+div.g-resize { border: 1px solid #ccc; }
+div.g-resize .g-description { color: #000; background: #FFFFFF; filter:alpha(opacity=85); opacity:.85; -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=85)"; }
+div.g-resize .g-description.g-align-top { border-bottom: 1px solid #ccc; }
+div.g-resize .g-description.g-align-bottom { border-top: 1px solid #ccc; }
+div.g-resize .g-more { border: 1px solid #ccc; background: #FFFFFF; filter:alpha(opacity=85); opacity:.85; -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=85)"; }
+
+.g-movie { border: 1px solid #ccc; padding: 5px; }
+
+/* styles.css - Sidebar Blocks : Common ~~~~~~~~~~~~~~*/
+
+.g-block { border: 1px solid #ccc; }
+.g-block h2 { border-bottom: 1px solid #ccc; }
+
+/* styles.css - Sidebar Blocks : Buttons ~~~~~~~~~~~~~*/
+
+.g-fullsize-link { background: url("../images/view-fullsize.png") top left no-repeat; }
+#g-exifdata-link { background: url("../images/view-info.png") top left no-repeat; }
+
+/* styles.css - Root Page ~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
+
+#g-rootpage-roll span { border: 1px solid #ccc; background: #FFFFFF; filter:alpha(opacity=85); opacity:.85; -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=85)"; }
+
+/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
+/* forms.css - Common ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
+
+/* styles.css - Photo Slideshow ~~~~~~~~~~~~~~~~~~~~~~*/
+
+#sb-body { background-color: #fff; }
+#sb-title { border-left: #303030 1px solid; border-right: #303030 1px solid; background: #e8e8e8; color: #000; }
+#sb-title-inner { color: #000; }
+#sb-counter a { font-weight: bold; font-size: 11px; }
+
+/* forms.css - Add item ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
+
+#g-add-photos-canvas { background-color: #fff; border: #303030 1px solid; }
+#g-add-photos-button { border: #303030 1px solid; }
+#g-add-photos-status { background-color: #fff; border: #303030 1px solid; }
+
+.uploadifyQueueItem { color: #000; }
+
+/* forms.css - User Profile ~~~~~~~~~~~~~~~~~~~~~~~~~~*/
+
+#g-user-profile h1 { border-bottom: #ccc 1px solid; }
+#g-user-profile .g-avatar { border: 1px solid #ccc; background: #fff; }
+
+/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
+/* menus.css ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
+
+#g-site-menu ul { border: #000000 0 solid; }
+#g-site-menu li { background-color: #FFFFFF; }
+#g-site-menu li ul { border: #ccc 1px solid; }
+#g-site-menu li ul li { border: #ccc 0px solid; background-color: #FFFFFF; }
+
+#g-site-menu.g-bar { border: #ccc 1px solid; background-color: #FFFFFF; }
+#g-site-menu.g-bar li:hover,
+#g-site-menu.g-bar li.iemhover { border-bottom-color: transparent; }
+
+.g-item .g-context-menu { background-image: url(../images/ui-icons.png); }
+.g-item .g-context-menu:hover { background: #e8e8e8 none; border: 1px #ccc solid; }
+.g-item .g-context-menu li li a:hover { background-color: #e8e8e8; }
+
+/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
+/* modules.css - Exif ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
+
+#g-exif-data table { border: #ccc 1px solid; }
+#g-exif-data .g-even { background-color: #e8e8e8; }
+#g-exif-data .g-odd { background-color: #FFFFFF; }
+
+/* modules.css - Info module ~~~~~~~~~~~~~~~~~~~~~~~~~*/
+
+#g-metadata .g-description { border-top: 1px solid #ccc; }
+
+/* modules.css - Image block ~~~~~~~~~~~~~~~~~~~~~~~~*/
+
+.g-image-block img { border: 1px solid #ccc; }
+
+/* modules.css - Comments ~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
+
+#g-comments .g-author { border-bottom: 1px solid #202628; color: #999; }
+#g-comments-link { background-image: url(../images/view-comments.png); }
+#g-comment-detail>ul>li { border: 1px dotted #ccc; }
+#g-comment-form { border: 1px dotted #ccc; }
+
+/* modules.css - Calendar ~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
+
+#g-view-menu #g-calendarview-link { background-image: url(../images/view-calendar.png); }
+#g-view-calendar-form ul { border: 1px #888 solid; }
+table.calendar { border: #a2adbc 1px solid; color: #616b76; }
+table.calendar th { border-bottom: #a2adbc 1px solid; border-right: #a2adbc 1px solid; background: #d9e2e1; color: #616b76; }
+table.calendar td { border-bottom: #a2adbc 1px solid; border-right: #a2adbc 1px solid; }
+table.calendar td.title { background-color: #a2adbc; color: #fff; }
+table.calendar td.title a { color: #fff !important; }
+table.calendar td a { color: red !important; }
+
+/* modules.css - Search ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
+
+#g-quick-search-form input[type="text"] { background-color: transparent; border: 1px solid #ccc; color: #666; }
+#ag-quick-search-form input[type="submit"] { border: #c5dbec 1px solid; text-indent: 0; width: auto; height: auto; font: 80% arial, helvetica, clean, sans-serif; font-weight: bold; padding-top: 3px; padding-bottom: 3px; }
+#g-quick-search-form input[type="submit"] { background: transparent url(../images/search.png) no-repeat center top; border: none; }
+
+#g-search-results h1 { border-bottom: #ccc 1px solid; }
+
+/* modules.css - Basket ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
+
+#checkout legend { background-color: #e8e8e8; }
+
+/* forms.css - Common ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
+
+.ui-dialog .ui-dialog-titlebar { background: #e8e8e8; color: #666666; }
+.ui-widget-content { border: 1px solid #303030; background-color: #fff; color: #000; }
+.ui-progressbar .ui-progressbar-value {margin: -1px; height:100%; background: #303030; }
+
+/* forms.css - Reauthentificate ~~~~~~~~~~~~~~~~~~~~~*/
+
+#g-column-centerfull #g-login { border: #ccc 1px solid; }
+
+/* Large toolbar icons support ~~~~~~~~~~~~~~~~~~~~~~~*/
+
+.g-toolbar-large #g-view-menu #g-calendarview-link { background-image: url(../images/view-calendar-b.png); }
+.g-toolbar-large #g-slideshow-link { background: url(../images/view-slideshow-b.png) no-repeat top center; }
+.g-toolbar-large .g-fullsize-link { background: url(../images/view-fullsize-b.png) no-repeat top center; }
+.g-toolbar-large #g-exifdata-link { background: url(../images/view-info-b.png) no-repeat top center; }
+.g-toolbar-large #g-comments-link { background: url(../images/view-comments-b.png) no-repeat top center; }
+
+.g-thumbcrop a.g-meta-exif-link { background-image: url(../images/view-info-o.png); } \ No newline at end of file
diff --git a/themes/greydragon_old/css/colorpacks/whitehawk/images/ajax-loading.gif b/themes/greydragon_old/css/colorpacks/whitehawk/images/ajax-loading.gif
new file mode 100644
index 0000000..53dd589
--- /dev/null
+++ b/themes/greydragon_old/css/colorpacks/whitehawk/images/ajax-loading.gif
Binary files differ
diff --git a/themes/greydragon_old/css/colorpacks/whitehawk/images/colorpack.png b/themes/greydragon_old/css/colorpacks/whitehawk/images/colorpack.png
new file mode 100644
index 0000000..3b7afef
--- /dev/null
+++ b/themes/greydragon_old/css/colorpacks/whitehawk/images/colorpack.png
Binary files differ
diff --git a/themes/greydragon_old/css/colorpacks/whitehawk/images/gallery.png b/themes/greydragon_old/css/colorpacks/whitehawk/images/gallery.png
new file mode 100644
index 0000000..3ba425d
--- /dev/null
+++ b/themes/greydragon_old/css/colorpacks/whitehawk/images/gallery.png
Binary files differ
diff --git a/themes/greydragon_old/css/colorpacks/whitehawk/images/ico-album.png b/themes/greydragon_old/css/colorpacks/whitehawk/images/ico-album.png
new file mode 100644
index 0000000..ac87ec4
--- /dev/null
+++ b/themes/greydragon_old/css/colorpacks/whitehawk/images/ico-album.png
Binary files differ
diff --git a/themes/greydragon_old/css/colorpacks/whitehawk/images/ico-error.png b/themes/greydragon_old/css/colorpacks/whitehawk/images/ico-error.png
new file mode 100644
index 0000000..c37bd06
--- /dev/null
+++ b/themes/greydragon_old/css/colorpacks/whitehawk/images/ico-error.png
Binary files differ
diff --git a/themes/greydragon_old/css/colorpacks/whitehawk/images/ico-help.png b/themes/greydragon_old/css/colorpacks/whitehawk/images/ico-help.png
new file mode 100644
index 0000000..5c87017
--- /dev/null
+++ b/themes/greydragon_old/css/colorpacks/whitehawk/images/ico-help.png
Binary files differ
diff --git a/themes/greydragon_old/css/colorpacks/whitehawk/images/ico-info.png b/themes/greydragon_old/css/colorpacks/whitehawk/images/ico-info.png
new file mode 100644
index 0000000..12cd1ae
--- /dev/null
+++ b/themes/greydragon_old/css/colorpacks/whitehawk/images/ico-info.png
Binary files differ
diff --git a/themes/greydragon_old/css/colorpacks/whitehawk/images/ico-warning.png b/themes/greydragon_old/css/colorpacks/whitehawk/images/ico-warning.png
new file mode 100644
index 0000000..628cf2d
--- /dev/null
+++ b/themes/greydragon_old/css/colorpacks/whitehawk/images/ico-warning.png
Binary files differ
diff --git a/themes/greydragon_old/css/colorpacks/whitehawk/images/loading-large.gif b/themes/greydragon_old/css/colorpacks/whitehawk/images/loading-large.gif
new file mode 100644
index 0000000..cc70a7a
--- /dev/null
+++ b/themes/greydragon_old/css/colorpacks/whitehawk/images/loading-large.gif
Binary files differ
diff --git a/themes/greydragon_old/css/colorpacks/whitehawk/images/loading-small.gif b/themes/greydragon_old/css/colorpacks/whitehawk/images/loading-small.gif
new file mode 100644
index 0000000..d0bce15
--- /dev/null
+++ b/themes/greydragon_old/css/colorpacks/whitehawk/images/loading-small.gif
Binary files differ
diff --git a/themes/greydragon_old/css/colorpacks/whitehawk/images/search.png b/themes/greydragon_old/css/colorpacks/whitehawk/images/search.png
new file mode 100644
index 0000000..bb323e5
--- /dev/null
+++ b/themes/greydragon_old/css/colorpacks/whitehawk/images/search.png
Binary files differ
diff --git a/themes/greydragon_old/css/colorpacks/whitehawk/images/ui-icons.png b/themes/greydragon_old/css/colorpacks/whitehawk/images/ui-icons.png
new file mode 100644
index 0000000..db1ec71
--- /dev/null
+++ b/themes/greydragon_old/css/colorpacks/whitehawk/images/ui-icons.png
Binary files differ
diff --git a/themes/greydragon_old/css/colorpacks/whitehawk/images/view-calendar-b.png b/themes/greydragon_old/css/colorpacks/whitehawk/images/view-calendar-b.png
new file mode 100644
index 0000000..f3ab6aa
--- /dev/null
+++ b/themes/greydragon_old/css/colorpacks/whitehawk/images/view-calendar-b.png
Binary files differ
diff --git a/themes/greydragon_old/css/colorpacks/whitehawk/images/view-calendar.png b/themes/greydragon_old/css/colorpacks/whitehawk/images/view-calendar.png
new file mode 100644
index 0000000..a4d038a
--- /dev/null
+++ b/themes/greydragon_old/css/colorpacks/whitehawk/images/view-calendar.png
Binary files differ
diff --git a/themes/greydragon_old/css/colorpacks/whitehawk/images/view-comments-b.png b/themes/greydragon_old/css/colorpacks/whitehawk/images/view-comments-b.png
new file mode 100644
index 0000000..aa91298
--- /dev/null
+++ b/themes/greydragon_old/css/colorpacks/whitehawk/images/view-comments-b.png
Binary files differ
diff --git a/themes/greydragon_old/css/colorpacks/whitehawk/images/view-comments.png b/themes/greydragon_old/css/colorpacks/whitehawk/images/view-comments.png
new file mode 100644
index 0000000..5aca071
--- /dev/null
+++ b/themes/greydragon_old/css/colorpacks/whitehawk/images/view-comments.png
Binary files differ
diff --git a/themes/greydragon_old/css/colorpacks/whitehawk/images/view-fullsize-b.png b/themes/greydragon_old/css/colorpacks/whitehawk/images/view-fullsize-b.png
new file mode 100644
index 0000000..fad5e53
--- /dev/null
+++ b/themes/greydragon_old/css/colorpacks/whitehawk/images/view-fullsize-b.png
Binary files differ
diff --git a/themes/greydragon_old/css/colorpacks/whitehawk/images/view-fullsize.png b/themes/greydragon_old/css/colorpacks/whitehawk/images/view-fullsize.png
new file mode 100644
index 0000000..cc4fbba
--- /dev/null
+++ b/themes/greydragon_old/css/colorpacks/whitehawk/images/view-fullsize.png
Binary files differ
diff --git a/themes/greydragon_old/css/colorpacks/whitehawk/images/view-info-b.png b/themes/greydragon_old/css/colorpacks/whitehawk/images/view-info-b.png
new file mode 100644
index 0000000..90f1bb4
--- /dev/null
+++ b/themes/greydragon_old/css/colorpacks/whitehawk/images/view-info-b.png
Binary files differ
diff --git a/themes/greydragon_old/css/colorpacks/whitehawk/images/view-info-o.png b/themes/greydragon_old/css/colorpacks/whitehawk/images/view-info-o.png
new file mode 100644
index 0000000..612ba96
--- /dev/null
+++ b/themes/greydragon_old/css/colorpacks/whitehawk/images/view-info-o.png
Binary files differ
diff --git a/themes/greydragon_old/css/colorpacks/whitehawk/images/view-info.png b/themes/greydragon_old/css/colorpacks/whitehawk/images/view-info.png
new file mode 100644
index 0000000..4bdb724
--- /dev/null
+++ b/themes/greydragon_old/css/colorpacks/whitehawk/images/view-info.png
Binary files differ
diff --git a/themes/greydragon_old/css/colorpacks/whitehawk/images/view-slideshow-b.png b/themes/greydragon_old/css/colorpacks/whitehawk/images/view-slideshow-b.png
new file mode 100644
index 0000000..ad13671
--- /dev/null
+++ b/themes/greydragon_old/css/colorpacks/whitehawk/images/view-slideshow-b.png
Binary files differ
diff --git a/themes/greydragon_old/css/colorpacks/wind/css/colors.css b/themes/greydragon_old/css/colorpacks/wind/css/colors.css
new file mode 100644
index 0000000..3c79a06
--- /dev/null
+++ b/themes/greydragon_old/css/colorpacks/wind/css/colors.css
@@ -0,0 +1,176 @@
+/**
+ * Gallery 3 Grey Dragon Theme
+ * Copyright (C) 2006-2010 Serguei Dosyukov
+ *
+ * ColorPack: Wind - Wind theme-like color pack
+ */
+
+/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
+/* styles.css - Common ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
+
+html { background-color: #ccc; }
+body { color: #000; background-color: #ccc; padding-left: 10px; padding-right: 10px; }
+
+a { color: #33629f !important }
+.ui-icon, #g-slideshow-link { background-image: url(../images/ui-icons.png); }
+
+#g-site-status li { border-bottom: 1px solid #ccc; color: #333; }
+#g-site-status .g-error { background: #f6cbca url('../images/ico-error.png') no-repeat .4em 50%; }
+#g-site-status .g-info { background: #e8e8e8 url('../images/ico-info.png') no-repeat .4em 50%; }
+#g-site-status .g-success { background: #d9efc2 url('../../../../images/ico-success.png') no-repeat .4em 50%; }
+#g-site-status .g-warning { background: #fcf9ce url('../images/ico-warning.png') no-repeat .4em 50%; }
+
+/* styles.css - Layout ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
+#g-header { background-color: #e8e8e8; border-bottom: #ccc 1px solid; }
+#g-header .g-message-block { border: 1px #888 solid; background-color: #aaa; color: #000; }
+#g-main { background-color: #fff; }
+#g-footer { background-color: #e8e8e8; border-top: #ccc 1px solid; }
+#g-theme-logo { background: transparent url('../images/colorpack.png') no-repeat; }
+
+/* styles.css - Album Layout ~~~~~~~~~~~~~~~~~~~~~~~~~*/
+
+#g-column-top, #g-column-bottom { background-color: #e8e8e8; }
+#g-column-top .g-toolbar h1, #g-column-bottom .g-toolbar h1 { border: none; }
+#g-info h1, #g-album-header h1 { border-bottom: #ccc 1px solid; }
+#g-info .g-description { border: #888 1px solid; }
+
+.g-thumbslide { background: #e8e8e8; border-color: #707E83; }
+.g-album .g-thumbslide { border-color: #707E83; }
+.g-thumbcrop { border-color: #707E83; }
+
+.g-default .g-thumbslide .g-description { color: #000; border-top: 1px solid #707E83; border-bottom: 1px solid #707E83; background: #e8e8e8; filter:alpha(opacity=85); opacity:.85; -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=85)"; }
+.g-expanded .g-thumbslide .g-description { color: #fff; background: transparent; border: none; }
+.g-album .g-thumbslide .g-description { background-image: url(../images/ico-album.png); background-repeat: no-repeat; background-position: 8px 4px; }
+
+.g-thumbslide .g-metadata { border-top: 1px solid #707E83; background: #e8e8e8; filter:alpha(opacity=85); opacity:.85; -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=85)"; }
+
+/* styles.css - Photo Layout ~~~~~~~~~~~~~~~~~~~~~~~~~*/
+
+div.g-resize { border: 1px solid #888; background: #e8e8e8; }
+div.g-resize .g-description { color: #000; background: #e8e8e8; filter:alpha(opacity=85); opacity:.85; -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=85)"; }
+div.g-resize .g-description.g-align-top { border-bottom: 1px solid #999; }
+div.g-resize .g-description.g-align-bottom { border-top: 1px solid #999; }
+div.g-resize .g-more { border: 1px solid #999; background: #e8e8e8; filter:alpha(opacity=85); opacity:.85; -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=85)"; }
+
+.g-movie { border: 1px solid #888; padding: 5px; background: #e8e8e8; }
+
+/* styles.css - Sidebar Blocks : Common ~~~~~~~~~~~~~~*/
+
+.g-block { border: 1px solid #ccc; }
+.g-block h2 { background-color: #e8e8e8; }
+
+/* styles.css - Sidebar Blocks : Buttons ~~~~~~~~~~~~~*/
+
+.g-fullsize-link { background: url("../images/view-fullsize.png") top left no-repeat; }
+#g-exifdata-link { background: url("../images/view-info.png") top left no-repeat; }
+
+/* styles.css - Root Page ~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
+
+#g-rootpage-roll span { border: 1px solid #999; background: #e8e8e8; filter:alpha(opacity=85); opacity:.85; -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=85)"; }
+
+/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
+/* forms.css - Common ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
+
+/* styles.css - Photo Slideshow ~~~~~~~~~~~~~~~~~~~~~~*/
+
+#sb-body { background-color: #fff; }
+#sb-title { border-left: #303030 1px solid; border-right: #303030 1px solid; background: #e8e8e8; color: #000; }
+#sb-title-inner { color: #000; }
+#sb-counter a { font-weight: bold; font-size: 11px; }
+
+/* forms.css - Add item ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
+
+#g-add-photos-canvas { background-color: #fff; border: #303030 1px solid; }
+#g-add-photos-button { border: #303030 1px solid; }
+#g-add-photos-status { background-color: #fff; border: #303030 1px solid; }
+
+.uploadifyQueueItem { color: #000; }
+
+/* forms.css - User Profile ~~~~~~~~~~~~~~~~~~~~~~~~~~*/
+
+#g-user-profile h1 { border-bottom: #ccc 1px solid; }
+#g-user-profile .g-avatar { border: 1px solid #888; background: #fff; }
+
+/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
+/* menus.css ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
+
+#g-site-menu ul { border: #000000 0 solid; }
+#g-site-menu li { background-color: #bdd2ff; }
+#g-site-menu li a:hover { color: #000000; background-color: #cfdeff; }
+#g-site-menu li:hover,
+#g-site-menu li.iemhover { border: #303030 1px solid; background-color: #cfdeff; border-bottom: #cfdeff 1px solid; }
+#g-site-menu li ul { border: #cfdeff 1px solid; }
+#g-site-menu li ul li { border: #C0C0C0 0px solid; background-color: #bdd2ff; }
+#g-site-menu li ul li:hover,
+#g-site-menu li ul li.iemhover { border: #C0C0C0 0 solid; background-color: #ddf2ff; }
+
+#g-site-menu.g-bar { border: #cfdeff 1px solid; background-color: #bdd2ff; }
+#g-site-menu.g-bar li:hover,
+#g-site-menu.g-bar li.iemhover { border-bottom-color: transparent; }
+
+.g-item .g-context-menu { background-image: url(../images/ui-icons.png); }
+.g-item .g-context-menu:hover { background: #bdd2ff none; border: 1px #888 solid; }
+.g-item .g-context-menu li li a:hover { background-color: #ddf2ff; }
+
+/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
+/* modules.css - Exif ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
+
+#g-exif-data table { border: #303030 1px solid; }
+#g-exif-data .g-even { background-color: #A0A0A0; }
+#g-exif-data .g-odd { background-color: #C0C0C0; }
+
+/* modules.css - Info module ~~~~~~~~~~~~~~~~~~~~~~~~~*/
+
+#g-metadata .g-description { border-top: 1px solid #ccc; }
+
+/* modules.css - Image block ~~~~~~~~~~~~~~~~~~~~~~~~*/
+
+.g-image-block img { border: 1px solid #888; background: #555; }
+
+/* modules.css - Comments ~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
+
+#g-comments .g-author { border-bottom: 1px solid #202628; color: #999; }
+#g-comments-link { background-image: url(../images/view-comments.png); }
+#g-comment-detail>ul>li { border: 1px dotted #ccc; }
+#g-comment-form { border: 1px dotted #ccc; }
+
+/* modules.css - Calendar ~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
+
+#g-view-menu #g-calendarview-link { background-image: url(../images/view-calendar.png); }
+#g-view-calendar-form ul { border: 1px #888 solid; }
+table.calendar { border: #a2adbc 1px solid; color: #616b76; }
+table.calendar th { border-bottom: #a2adbc 1px solid; border-right: #a2adbc 1px solid; background: #d9e2e1; color: #616b76; }
+table.calendar td { border-bottom: #a2adbc 1px solid; border-right: #a2adbc 1px solid; }
+table.calendar td.title { background-color: #a2adbc; color: #fff; }
+table.calendar td.title a { color: #fff !important; }
+table.calendar td a { color: red !important; }
+
+/* modules.css - Search ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
+
+#g-quick-search-form input[type="text"] { background-color: transparent; border: 1px solid #ccc; color: #666; }
+#g-quick-search-form input[type="submit"] { border: #c5dbec 1px solid; text-indent: 0; width: auto; height: auto; font: 80% arial, helvetica, clean, sans-serif; font-weight: bold; padding-top: 3px; padding-bottom: 3px; }
+#g-search-results h1 { border-bottom: #ccc 1px solid; }
+
+/* modules.css - Basket ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
+
+#checkout legend { background-color: #e8e8e8; }
+
+/* forms.css - Common ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
+
+.ui-dialog .ui-dialog-titlebar { background: #ccc url('../images/section.png') repeat-x; }
+.ui-widget-content { border: 1px solid #303030; background-color: #fff; color: #000; }
+.ui-progressbar .ui-progressbar-value {margin: -1px; height:100%; background: #303030; }
+
+/* forms.css - Reauthentificate ~~~~~~~~~~~~~~~~~~~~~*/
+
+#g-column-centerfull #g-login { border: #888 1px solid; }
+
+/* Large toolbar icons support ~~~~~~~~~~~~~~~~~~~~~~~*/
+
+.g-toolbar-large #g-view-menu #g-calendarview-link { background-image: url(../../../../../../modules/calendarview/images/ico-view-calendarview.png); }
+.g-toolbar-large #g-slideshow-link { background: url(../images/view-slideshow-b.png) no-repeat top center; }
+.g-toolbar-large .g-fullsize-link { background: url(../images/ico-view-fullsize.png) no-repeat top center; }
+.g-toolbar-large #g-exifdata-link { background: url(../images/view-info-b.png) no-repeat top center; }
+.g-toolbar-large #g-comments-link { background: url(../images/view-comments-b.png) no-repeat top center; }
+
+.g-thumbcrop a.g-meta-exif-link { background-image: url(../images/view-info-o.png); } \ No newline at end of file
diff --git a/themes/greydragon_old/css/colorpacks/wind/images/ajax-loading.gif b/themes/greydragon_old/css/colorpacks/wind/images/ajax-loading.gif
new file mode 100644
index 0000000..53dd589
--- /dev/null
+++ b/themes/greydragon_old/css/colorpacks/wind/images/ajax-loading.gif
Binary files differ
diff --git a/themes/greydragon_old/css/colorpacks/wind/images/colorpack.png b/themes/greydragon_old/css/colorpacks/wind/images/colorpack.png
new file mode 100644
index 0000000..d217920
--- /dev/null
+++ b/themes/greydragon_old/css/colorpacks/wind/images/colorpack.png
Binary files differ
diff --git a/themes/greydragon_old/css/colorpacks/wind/images/ico-album.png b/themes/greydragon_old/css/colorpacks/wind/images/ico-album.png
new file mode 100644
index 0000000..ac87ec4
--- /dev/null
+++ b/themes/greydragon_old/css/colorpacks/wind/images/ico-album.png
Binary files differ
diff --git a/themes/greydragon_old/css/colorpacks/wind/images/ico-error.png b/themes/greydragon_old/css/colorpacks/wind/images/ico-error.png
new file mode 100644
index 0000000..c37bd06
--- /dev/null
+++ b/themes/greydragon_old/css/colorpacks/wind/images/ico-error.png
Binary files differ
diff --git a/themes/greydragon_old/css/colorpacks/wind/images/ico-help.png b/themes/greydragon_old/css/colorpacks/wind/images/ico-help.png
new file mode 100644
index 0000000..5c87017
--- /dev/null
+++ b/themes/greydragon_old/css/colorpacks/wind/images/ico-help.png
Binary files differ
diff --git a/themes/greydragon_old/css/colorpacks/wind/images/ico-info.png b/themes/greydragon_old/css/colorpacks/wind/images/ico-info.png
new file mode 100644
index 0000000..12cd1ae
--- /dev/null
+++ b/themes/greydragon_old/css/colorpacks/wind/images/ico-info.png
Binary files differ
diff --git a/themes/greydragon_old/css/colorpacks/wind/images/ico-view-fullsize.png b/themes/greydragon_old/css/colorpacks/wind/images/ico-view-fullsize.png
new file mode 100644
index 0000000..740183a
--- /dev/null
+++ b/themes/greydragon_old/css/colorpacks/wind/images/ico-view-fullsize.png
Binary files differ
diff --git a/themes/greydragon_old/css/colorpacks/wind/images/ico-view-slideshow-rtl.png b/themes/greydragon_old/css/colorpacks/wind/images/ico-view-slideshow-rtl.png
new file mode 100644
index 0000000..9552d30
--- /dev/null
+++ b/themes/greydragon_old/css/colorpacks/wind/images/ico-view-slideshow-rtl.png
Binary files differ
diff --git a/themes/greydragon_old/css/colorpacks/wind/images/ico-view-slideshow.png b/themes/greydragon_old/css/colorpacks/wind/images/ico-view-slideshow.png
new file mode 100644
index 0000000..d43a560
--- /dev/null
+++ b/themes/greydragon_old/css/colorpacks/wind/images/ico-view-slideshow.png
Binary files differ
diff --git a/themes/greydragon_old/css/colorpacks/wind/images/ico-warning.png b/themes/greydragon_old/css/colorpacks/wind/images/ico-warning.png
new file mode 100644
index 0000000..628cf2d
--- /dev/null
+++ b/themes/greydragon_old/css/colorpacks/wind/images/ico-warning.png
Binary files differ
diff --git a/themes/greydragon_old/css/colorpacks/wind/images/loading-large.gif b/themes/greydragon_old/css/colorpacks/wind/images/loading-large.gif
new file mode 100644
index 0000000..cc70a7a
--- /dev/null
+++ b/themes/greydragon_old/css/colorpacks/wind/images/loading-large.gif
Binary files differ
diff --git a/themes/greydragon_old/css/colorpacks/wind/images/loading-small.gif b/themes/greydragon_old/css/colorpacks/wind/images/loading-small.gif
new file mode 100644
index 0000000..d0bce15
--- /dev/null
+++ b/themes/greydragon_old/css/colorpacks/wind/images/loading-small.gif
Binary files differ
diff --git a/themes/greydragon_old/css/colorpacks/wind/images/section.png b/themes/greydragon_old/css/colorpacks/wind/images/section.png
new file mode 100644
index 0000000..33fc350
--- /dev/null
+++ b/themes/greydragon_old/css/colorpacks/wind/images/section.png
Binary files differ
diff --git a/themes/greydragon_old/css/colorpacks/wind/images/ui-icons.png b/themes/greydragon_old/css/colorpacks/wind/images/ui-icons.png
new file mode 100644
index 0000000..7dc8ab9
--- /dev/null
+++ b/themes/greydragon_old/css/colorpacks/wind/images/ui-icons.png
Binary files differ
diff --git a/themes/greydragon_old/css/colorpacks/wind/images/view-calendar.png b/themes/greydragon_old/css/colorpacks/wind/images/view-calendar.png
new file mode 100644
index 0000000..13e0e8f
--- /dev/null
+++ b/themes/greydragon_old/css/colorpacks/wind/images/view-calendar.png
Binary files differ
diff --git a/themes/greydragon_old/css/colorpacks/wind/images/view-comments-b.png b/themes/greydragon_old/css/colorpacks/wind/images/view-comments-b.png
new file mode 100644
index 0000000..64f8c50
--- /dev/null
+++ b/themes/greydragon_old/css/colorpacks/wind/images/view-comments-b.png
Binary files differ
diff --git a/themes/greydragon_old/css/colorpacks/wind/images/view-comments.png b/themes/greydragon_old/css/colorpacks/wind/images/view-comments.png
new file mode 100644
index 0000000..f33bdf1
--- /dev/null
+++ b/themes/greydragon_old/css/colorpacks/wind/images/view-comments.png
Binary files differ
diff --git a/themes/greydragon_old/css/colorpacks/wind/images/view-fullsize.png b/themes/greydragon_old/css/colorpacks/wind/images/view-fullsize.png
new file mode 100644
index 0000000..58b3e0b
--- /dev/null
+++ b/themes/greydragon_old/css/colorpacks/wind/images/view-fullsize.png
Binary files differ
diff --git a/themes/greydragon_old/css/colorpacks/wind/images/view-info-b.png b/themes/greydragon_old/css/colorpacks/wind/images/view-info-b.png
new file mode 100644
index 0000000..90f1bb4
--- /dev/null
+++ b/themes/greydragon_old/css/colorpacks/wind/images/view-info-b.png
Binary files differ
diff --git a/themes/greydragon_old/css/colorpacks/wind/images/view-info-o.png b/themes/greydragon_old/css/colorpacks/wind/images/view-info-o.png
new file mode 100644
index 0000000..612ba96
--- /dev/null
+++ b/themes/greydragon_old/css/colorpacks/wind/images/view-info-o.png
Binary files differ
diff --git a/themes/greydragon_old/css/colorpacks/wind/images/view-info.png b/themes/greydragon_old/css/colorpacks/wind/images/view-info.png
new file mode 100644
index 0000000..2cc7a68
--- /dev/null
+++ b/themes/greydragon_old/css/colorpacks/wind/images/view-info.png
Binary files differ
diff --git a/themes/greydragon_old/css/colorpacks/wind/images/view-slideshow-b.png b/themes/greydragon_old/css/colorpacks/wind/images/view-slideshow-b.png
new file mode 100644
index 0000000..ad13671
--- /dev/null
+++ b/themes/greydragon_old/css/colorpacks/wind/images/view-slideshow-b.png
Binary files differ
diff --git a/themes/greydragon_old/css/custom.css b/themes/greydragon_old/css/custom.css
new file mode 100644
index 0000000..1c4cd73
--- /dev/null
+++ b/themes/greydragon_old/css/custom.css
@@ -0,0 +1,2 @@
+#g-metadata strong.caption { display: inline; }
+#g-view-menu #g-download-fullsize-link { background-size: 22px 15px; }
diff --git a/themes/greydragon_old/css/forms.css b/themes/greydragon_old/css/forms.css
new file mode 100644
index 0000000..1361d4a
--- /dev/null
+++ b/themes/greydragon_old/css/forms.css
@@ -0,0 +1,113 @@
+/**
+ * Gallery 3 Grey Dragon Theme
+ * Copyright (C) 2006-2011 Serguei Dosyukov
+ *
+ * CSS rules related to forms/dialogs
+ */
+
+.ui-widget-overlay { position: absolute; top:0; left:0; bottom: 0; right: 0; position: fixed; width:100%; filter: alpha(opacity=70); -moz-opacity: 0.7; -khtml-opacity: 0.7; opacity: 0.7; background-color: #111; zoom: 1; }
+.ui-widget-overlay { height: expression(document.documentElement.clientHeight + 'px'); }
+.ui-widget-overlay { height: 100%; }
+
+/* Dialog ----------------------------------*/
+
+.ui-dialog { position: relative; width: 300px; display: inline-block; }
+.ui-dialog .ui-dialog-titlebar { height: 1em; padding: .5em .3em .3em 1em; position: relative; }
+.ui-dialog .ui-dialog-title { float: left; }
+.ui-dialog .ui-dialog-titlebar-close { position: absolute; right: .3em; top: 50%; width: 19px; margin: -10px 0 0 0; padding: 1px; height: 18px; }
+.ui-dialog .ui-dialog-titlebar-close span { display: block; margin: 1px; text-indent: -900em; }
+.ui-dialog .ui-dialog-content { border: 0; padding: .5em 1em; background: none; overflow: auto; display: block; }
+.ui-dialog .ui-dialog-buttonpane { text-align: left; border-width: 1px 0 0 0; background-image: none; margin: .5em 0 0 0; padding: .3em 1em .5em .4em; }
+.ui-dialog .ui-dialog-buttonpane button { float: right; margin: .5em .4em .5em 0; cursor: pointer; padding: .2em .6em .3em .6em; line-height: 1.4em; width:auto; overflow:visible; }
+.ui-dialog .ui-resizable-se { width: 14px; height: 14px; right: 3px; bottom: 3px; }
+.ui-dialog ul { padding: 0; }
+.ui-dialog .ui-dialog-content .g-right { margin-right: 20px; }
+
+/* forms.css - Component containers ~~~~~~~~~~~~~~~~~~*/
+.ui-widget-header { color: #ffffff; font-weight: bold; }
+.ui-widget-header a { color: #ffffff; }
+.ui-widget-content a { color: #222222; }
+
+/* forms.css - Forms ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
+form { margin: 0; }
+form p.g-error { color: red; }
+fieldset { border: 1px solid #ccc; padding: 0 1em .8em 1em; }
+legend { display: none; }
+input.textbox, input[type="text"], input[type="password"], textarea { border: 1px solid #e8e8e8; border-top-color: #ccc; border-left-color: #ccc; clear: both; color: #333; width: 50%; }
+textarea { height: 12em; width: 97%; }
+input:focus, input.textbox:focus, input[type=text]:focus, textarea:focus, option:focus { background-color: #ffc; color: #000; }
+input.checkbox, input[type=checkbox], input.radio, input[type=radio] { float: left; margin-right: .4em; }
+
+/* forms.css - Layout ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
+
+form li { margin: 0; padding: 0 0 .2em 0; }
+form ul { margin-top: 0; }
+form ul ul { clear: both; }
+form ul ul li { float: left; margin-right: 0.6em; }
+input, select, textarea { display: block; clear: both; }
+input[type="submit"], input[type="reset"] { display: inline; }
+input[type="submit"], .g-button, button, .ui-dialog .g-cancel { cursor: pointer; cursor: hand; font-size: 0.8em; color: #333 !important; font-weight: normal; line-height: 1.4em; padding: 2px 10px; margin-right: 0.4em; text-shadow: 0 1px 1px rgba(255, 255, 255, 0.75); border: 1px solid; border-color: #999 #666 #666 #999; background-color: #ddd; }
+
+.g-button { margin: 0 0.4em 0.4em 0; }
+.ui-dialog .g-cancel { margin-top: 0.6em; }
+.g-right { float: right; }
+
+/* forms.css - Forms in dialogs and panels ~~~~~~~~~~~*/
+
+#g-dialog ul li { padding-bottom: 0.6em; }
+#g-dialog fieldset, #g-panel fieldset { border: none; padding: 0; }
+#g-panel legend { display: none; }
+input[readonly] { background-color: #F4F4FC; }
+#g-dialog input.textbox, #g-dialog input[type=text], #g-dialog input[type=password], #g-dialog textarea { width: 97%; }
+
+.ui-progressbar { height:2em; text-align: left; }
+.ui-progressbar .ui-progressbar-value {margin: -1px; height:100%; }
+.g-progress-bar { height: 1em; width: 100%; margin-top: .5em; display: inline-block; }
+#g-progress #g-status { padding: 0.5em 0; }
+
+/* forms.css - Short forms ~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
+
+.g-short-form legend, .g-short-form label { display: none; }
+.g-short-form fieldset { border: none; padding: 0; }
+.g-short-form li { float: left; margin: 0 !important; padding: .4em 0; }
+.g-short-form .textbox, .g-short-form input[type=text] { color: #666; padding: .3em .6em; width: 100%; }
+.g-short-form .textbox.g-error { border: 1px solid #f00; color: #f00; padding-left: 24px; }
+.g-short-form .g-cancel { display: block; margin: .3em .8em; }
+#g-sidebar .g-short-form li { padding-left: 0; padding-right: 0; }
+
+#g-quick-search-form input[type="submit"] { filter: none; margin-top: 0; }
+
+/* forms.css - Reauthentificate ~~~~~~~~~~~~~~~~~~~~~~*/
+
+#g-login fieldset { border: none; }
+#g-login legend { display: none; }
+#g-login label { display: block; }
+
+#g-column-centerfull #g-error h2 { padding-top: 10px; }
+#g-column-centerfull #g-login { width: 270px; margin-top: 10px; padding-top: 10px; }
+#g-column-centerfull #g-login input[type='text'], #g-column-centerfull #g-login input[type='password'] { width: 100%; }
+#g-column-centerfull #g-login #g-password-reset { position: relative; bottom: 20px; right: 14px; }
+
+/* forms.css - User Profile ~~~~~~~~~~~~~~~~~~~~~~~~~~*/
+
+#g-user-profile { display: block; }
+#g-user-profile h1 { margin: 0 0 1em 0; }
+#g-user-profile .g-avatar { float: left; margin: .4em; }
+#g-user-profile .g-block { position: static; min-height: 5em; clear: none; margin-left: 4em; }
+#g-user-profile .g-block ul { padding: 0.6em 0; }
+#g-user-profile th { text-align: left; }
+
+#g-user-profile-operations { height: 1.5em; }
+#g-user-profile #g-rest-key .g-button { margin-left: 1em; }
+
+/* forms.css - Uploadify ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
+
+#g-add-photos-canvas { margin-top: 1.1em; }
+#g-add-photos-status #g-action-status li { padding-top: 0.3em; padding-bottom: 0.3em; padding-left: 2em; }
+.uploadifyQueueItem { padding-top: 6px; padding-bottom: 4ps; }
+
+/* forms.css - Permission ~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
+
+#g-permissions .g-breadcrumbs { position: static; }
+
+aaa#g-edit-album-form { width: 340px; } \ No newline at end of file
diff --git a/themes/greydragon_old/css/framepacks/android/css/frame.css b/themes/greydragon_old/css/framepacks/android/css/frame.css
new file mode 100644
index 0000000..548b152
--- /dev/null
+++ b/themes/greydragon_old/css/framepacks/android/css/frame.css
@@ -0,0 +1,32 @@
+/**
+ * Gallery 3 Grey Dragon Theme
+ * Copyright (C) 2006-2010 Serguei Dosyukov
+ *
+ * CSS rules - Frames - Android
+ */
+
+#g-album-grid>li { padding: 10px 6px 10px 10px; }
+.g-thumbslide { background: transparent; }
+
+.g-default .g-thumbslide .g-description, .g-expanded .g-thumbslide .g-description, .g-thumbslide .g-metadata { border-color: #ADAEAD; }
+.g-thumbcrop { border-width: 1px; border-style: solid; border-color: #ADAEAD; }
+
+.g-thumbtype-sqr { background: url('../images/thumb-sqr.png') no-repeat top left; }
+.g-thumbtype-flm { background: url('../images/thumb-flm.png') no-repeat top left; }
+.g-thumbtype-dgt { background: url('../images/thumb-dgt.png') no-repeat top left; }
+.g-thumbtype-wd { background: url('../images/thumb-wd.png') no-repeat top left; }
+
+.g-extended .g-thumbtype-sqr { background-image: url('../images/thumb-sqr-ext.png'); }
+.g-extended .g-thumbtype-flm { background-image: url('../images/thumb-flm-ext.png'); }
+.g-extended .g-thumbtype-dgt { background-image: url('../images/thumb-dgt-ext.png'); }
+.g-extended .g-thumbtype-wd { background-image: url('../images/thumb-wd-ext.png'); }
+
+.g-thumbtype-sqr.g-expanded { background-image: url('../images/thumb-sqr-e.png'); }
+.g-thumbtype-flm.g-expanded { background-image: url('../images/thumb-flm-e.png'); }
+.g-thumbtype-dgt.g-expanded { background-image: url('../images/thumb-dgt-e.png'); }
+.g-thumbtype-wd.g-expanded { background-image: url('../images/thumb-wd-e.png'); }
+
+.g-extended .g-thumbtype-sqr.g-expanded { background-image: url('../images/thumb-sqr-eext.png'); }
+.g-extended .g-thumbtype-flm.g-expanded { background-image: url('../images/thumb-flm-eext.png'); }
+.g-extended .g-thumbtype-dgt.g-expanded { background-image: url('../images/thumb-dgt-eext.png'); }
+.g-extended .g-thumbtype-wd.g-expanded { background-image: url('../images/thumb-wd-eext.png'); }
diff --git a/themes/greydragon_old/css/framepacks/android/images/thumb-dgt-e.png b/themes/greydragon_old/css/framepacks/android/images/thumb-dgt-e.png
new file mode 100644
index 0000000..39a793a
--- /dev/null
+++ b/themes/greydragon_old/css/framepacks/android/images/thumb-dgt-e.png
Binary files differ
diff --git a/themes/greydragon_old/css/framepacks/android/images/thumb-dgt-eext.png b/themes/greydragon_old/css/framepacks/android/images/thumb-dgt-eext.png
new file mode 100644
index 0000000..df4aa49
--- /dev/null
+++ b/themes/greydragon_old/css/framepacks/android/images/thumb-dgt-eext.png
Binary files differ
diff --git a/themes/greydragon_old/css/framepacks/android/images/thumb-dgt-ext.png b/themes/greydragon_old/css/framepacks/android/images/thumb-dgt-ext.png
new file mode 100644
index 0000000..297a456
--- /dev/null
+++ b/themes/greydragon_old/css/framepacks/android/images/thumb-dgt-ext.png
Binary files differ
diff --git a/themes/greydragon_old/css/framepacks/android/images/thumb-dgt.png b/themes/greydragon_old/css/framepacks/android/images/thumb-dgt.png
new file mode 100644
index 0000000..b9cc40e
--- /dev/null
+++ b/themes/greydragon_old/css/framepacks/android/images/thumb-dgt.png
Binary files differ
diff --git a/themes/greydragon_old/css/framepacks/android/images/thumb-flm-e.png b/themes/greydragon_old/css/framepacks/android/images/thumb-flm-e.png
new file mode 100644
index 0000000..b97c8c1
--- /dev/null
+++ b/themes/greydragon_old/css/framepacks/android/images/thumb-flm-e.png
Binary files differ
diff --git a/themes/greydragon_old/css/framepacks/android/images/thumb-flm-eext.png b/themes/greydragon_old/css/framepacks/android/images/thumb-flm-eext.png
new file mode 100644
index 0000000..45c38dc
--- /dev/null
+++ b/themes/greydragon_old/css/framepacks/android/images/thumb-flm-eext.png
Binary files differ
diff --git a/themes/greydragon_old/css/framepacks/android/images/thumb-flm-ext.png b/themes/greydragon_old/css/framepacks/android/images/thumb-flm-ext.png
new file mode 100644
index 0000000..7361f20
--- /dev/null
+++ b/themes/greydragon_old/css/framepacks/android/images/thumb-flm-ext.png
Binary files differ
diff --git a/themes/greydragon_old/css/framepacks/android/images/thumb-flm.png b/themes/greydragon_old/css/framepacks/android/images/thumb-flm.png
new file mode 100644
index 0000000..a407409
--- /dev/null
+++ b/themes/greydragon_old/css/framepacks/android/images/thumb-flm.png
Binary files differ
diff --git a/themes/greydragon_old/css/framepacks/android/images/thumb-sqr-e.png b/themes/greydragon_old/css/framepacks/android/images/thumb-sqr-e.png
new file mode 100644
index 0000000..33bcd99
--- /dev/null
+++ b/themes/greydragon_old/css/framepacks/android/images/thumb-sqr-e.png
Binary files differ
diff --git a/themes/greydragon_old/css/framepacks/android/images/thumb-sqr-eext.png b/themes/greydragon_old/css/framepacks/android/images/thumb-sqr-eext.png
new file mode 100644
index 0000000..c924637
--- /dev/null
+++ b/themes/greydragon_old/css/framepacks/android/images/thumb-sqr-eext.png
Binary files differ
diff --git a/themes/greydragon_old/css/framepacks/android/images/thumb-sqr-ext.png b/themes/greydragon_old/css/framepacks/android/images/thumb-sqr-ext.png
new file mode 100644
index 0000000..3fdc3a3
--- /dev/null
+++ b/themes/greydragon_old/css/framepacks/android/images/thumb-sqr-ext.png
Binary files differ
diff --git a/themes/greydragon_old/css/framepacks/android/images/thumb-sqr.png b/themes/greydragon_old/css/framepacks/android/images/thumb-sqr.png
new file mode 100644
index 0000000..3a038b0
--- /dev/null
+++ b/themes/greydragon_old/css/framepacks/android/images/thumb-sqr.png
Binary files differ
diff --git a/themes/greydragon_old/css/framepacks/android/images/thumb-wd-e.png b/themes/greydragon_old/css/framepacks/android/images/thumb-wd-e.png
new file mode 100644
index 0000000..3e78ce8
--- /dev/null
+++ b/themes/greydragon_old/css/framepacks/android/images/thumb-wd-e.png
Binary files differ
diff --git a/themes/greydragon_old/css/framepacks/android/images/thumb-wd-eext.png b/themes/greydragon_old/css/framepacks/android/images/thumb-wd-eext.png
new file mode 100644
index 0000000..c51abf3
--- /dev/null
+++ b/themes/greydragon_old/css/framepacks/android/images/thumb-wd-eext.png
Binary files differ
diff --git a/themes/greydragon_old/css/framepacks/android/images/thumb-wd-ext.png b/themes/greydragon_old/css/framepacks/android/images/thumb-wd-ext.png
new file mode 100644
index 0000000..a5aa4b2
--- /dev/null
+++ b/themes/greydragon_old/css/framepacks/android/images/thumb-wd-ext.png
Binary files differ
diff --git a/themes/greydragon_old/css/framepacks/android/images/thumb-wd.png b/themes/greydragon_old/css/framepacks/android/images/thumb-wd.png
new file mode 100644
index 0000000..36a6a4f
--- /dev/null
+++ b/themes/greydragon_old/css/framepacks/android/images/thumb-wd.png
Binary files differ
diff --git a/themes/greydragon_old/css/framepacks/book/css/frame.css b/themes/greydragon_old/css/framepacks/book/css/frame.css
new file mode 100644
index 0000000..abc26d7
--- /dev/null
+++ b/themes/greydragon_old/css/framepacks/book/css/frame.css
@@ -0,0 +1,59 @@
+/**
+ * Gallery 3 Grey Dragon Theme
+ * Copyright (C) 2006-2010 Serguei Dosyukov
+ *
+ * CSS rules - Frames - Book
+ */
+
+#g-album-grid>li { padding: 10px 0px 10px 14px; }
+.g-thumbslide { background: transparent; }
+.g-default .g-thumbslide .g-description, .g-expanded .g-thumbslide .g-description, .g-thumbslide .g-metadata { background-color: #FFF; border-color: #ADAEAD; color: #111; margin-left: 15px; }
+.g-thumbcrop { border: #ADAEAD 1px solid; }
+.g-album .g-thumbslide .g-description { background-image: none; }
+.g-album .g-thumbslide .g-description .g-title { padding-left: 0; }
+.g-expanded.g-album .g-thumbslide .g-description .g-title { padding-left: 0; }
+
+.g-item .g-context-menu { left: 200px; }
+.g-item .g-context-menu:hover { left: 20px; }
+.g-extended .g-item .g-context-menu { left: 304px; }
+.g-extended .g-item .g-context-menu:hover { left: 20px; }
+
+.g-album.g-thumbtype-sqr { background: url('../images/a-thumb-sqr.png') no-repeat top left; }
+.g-album.g-thumbtype-flm { background: url('../images/a-thumb-flm.png') no-repeat top left; }
+.g-album.g-thumbtype-dgt { background: url('../images/a-thumb-dgt.png') no-repeat top left; }
+.g-album.g-thumbtype-wd { background: url('../images/a-thumb-wd.png') no-repeat top left; }
+
+.g-extended .g-album.g-thumbtype-sqr { background-image: url('../images/a-thumb-sqr-ext.png'); }
+.g-extended .g-album.g-thumbtype-flm { background-image: url('../images/a-thumb-flm-ext.png'); }
+.g-extended .g-album.g-thumbtype-dgt { background-image: url('../images/a-thumb-dgt-ext.png'); }
+.g-extended .g-album.g-thumbtype-wd { background-image: url('../images/a-thumb-wd-ext.png'); }
+
+.g-album.g-thumbtype-sqr.g-expanded { background-image: url('../images/a-thumb-sqr-e.png'); }
+.g-album.g-thumbtype-flm.g-expanded { background-image: url('../images/a-thumb-flm-e.png'); }
+.g-album.g-thumbtype-dgt.g-expanded { background-image: url('../images/a-thumb-dgt-e.png'); }
+.g-album.g-thumbtype-wd.g-expanded { background-image: url('../images/a-thumb-wd-e.png'); }
+
+.g-extended .g-album.g-thumbtype-sqr.g-expanded { background-image: url('../images/a-thumb-sqr-eext.png'); }
+.g-extended .g-album.g-thumbtype-flm.g-expanded { background-image: url('../images/a-thumb-flm-eext.png'); }
+.g-extended .g-album.g-thumbtype-dgt.g-expanded { background-image: url('../images/a-thumb-dgt-eext.png'); }
+.g-extended .g-album.g-thumbtype-wd.g-expanded { background-image: url('../images/a-thumb-wd-eext.png'); }
+
+.g-photo.g-thumbtype-sqr { background: url('../images/thumb-sqr.png') no-repeat top left; }
+.g-photo.g-thumbtype-flm { background: url('../images/thumb-flm.png') no-repeat top left; }
+.g-photo.g-thumbtype-dgt { background: url('../images/thumb-dgt.png') no-repeat top left; }
+.g-photo.g-thumbtype-wd { background: url('../images/thumb-wd.png') no-repeat top left; }
+
+.g-extended .g-photo.g-thumbtype-sqr { background-image: url('../images/thumb-sqr-ext.png'); }
+.g-extended .g-photo.g-thumbtype-flm { background-image: url('../images/thumb-flm-ext.png'); }
+.g-extended .g-photo.g-thumbtype-dgt { background-image: url('../images/thumb-dgt-ext.png'); }
+.g-extended .g-photo.g-thumbtype-wd { background-image: url('../images/thumb-wd-ext.png'); }
+
+.g-photo.g-thumbtype-sqr.g-expanded { background-image: url('../images/thumb-sqr-e.png'); }
+.g-photo.g-thumbtype-flm.g-expanded { background-image: url('../images/thumb-flm-e.png'); }
+.g-photo.g-thumbtype-dgt.g-expanded { background-image: url('../images/thumb-dgt-e.png'); }
+.g-photo.g-thumbtype-wd.g-expanded { background-image: url('../images/thumb-wd-e.png'); }
+
+.g-extended .g-photo.g-thumbtype-sqr.g-expanded { background-image: url('../images/thumb-sqr-eext.png'); }
+.g-extended .g-photo.g-thumbtype-flm.g-expanded { background-image: url('../images/thumb-flm-eext.png'); }
+.g-extended .g-photo.g-thumbtype-dgt.g-expanded { background-image: url('../images/thumb-dgt-eext.png'); }
+.g-extended .g-photo.g-thumbtype-wd.g-expanded { background-image: url('../images/thumb-wd-eext.png'); }
diff --git a/themes/greydragon_old/css/framepacks/book/images/a-thumb-dgt-e.png b/themes/greydragon_old/css/framepacks/book/images/a-thumb-dgt-e.png
new file mode 100644
index 0000000..486f50b
--- /dev/null
+++ b/themes/greydragon_old/css/framepacks/book/images/a-thumb-dgt-e.png
Binary files differ
diff --git a/themes/greydragon_old/css/framepacks/book/images/a-thumb-dgt-eext.png b/themes/greydragon_old/css/framepacks/book/images/a-thumb-dgt-eext.png
new file mode 100644
index 0000000..64bd017
--- /dev/null
+++ b/themes/greydragon_old/css/framepacks/book/images/a-thumb-dgt-eext.png
Binary files differ
diff --git a/themes/greydragon_old/css/framepacks/book/images/a-thumb-dgt-ext.png b/themes/greydragon_old/css/framepacks/book/images/a-thumb-dgt-ext.png
new file mode 100644
index 0000000..bb5089d
--- /dev/null
+++ b/themes/greydragon_old/css/framepacks/book/images/a-thumb-dgt-ext.png
Binary files differ
diff --git a/themes/greydragon_old/css/framepacks/book/images/a-thumb-dgt.png b/themes/greydragon_old/css/framepacks/book/images/a-thumb-dgt.png
new file mode 100644
index 0000000..458cc15
--- /dev/null
+++ b/themes/greydragon_old/css/framepacks/book/images/a-thumb-dgt.png
Binary files differ
diff --git a/themes/greydragon_old/css/framepacks/book/images/a-thumb-flm-e.png b/themes/greydragon_old/css/framepacks/book/images/a-thumb-flm-e.png
new file mode 100644
index 0000000..7be7ffe
--- /dev/null
+++ b/themes/greydragon_old/css/framepacks/book/images/a-thumb-flm-e.png
Binary files differ
diff --git a/themes/greydragon_old/css/framepacks/book/images/a-thumb-flm-eext.png b/themes/greydragon_old/css/framepacks/book/images/a-thumb-flm-eext.png
new file mode 100644
index 0000000..0ec4d3c
--- /dev/null
+++ b/themes/greydragon_old/css/framepacks/book/images/a-thumb-flm-eext.png
Binary files differ
diff --git a/themes/greydragon_old/css/framepacks/book/images/a-thumb-flm-ext.png b/themes/greydragon_old/css/framepacks/book/images/a-thumb-flm-ext.png
new file mode 100644
index 0000000..a06d963
--- /dev/null
+++ b/themes/greydragon_old/css/framepacks/book/images/a-thumb-flm-ext.png
Binary files differ
diff --git a/themes/greydragon_old/css/framepacks/book/images/a-thumb-flm.png b/themes/greydragon_old/css/framepacks/book/images/a-thumb-flm.png
new file mode 100644
index 0000000..b1ec950
--- /dev/null
+++ b/themes/greydragon_old/css/framepacks/book/images/a-thumb-flm.png
Binary files differ
diff --git a/themes/greydragon_old/css/framepacks/book/images/a-thumb-sqr-e.png b/themes/greydragon_old/css/framepacks/book/images/a-thumb-sqr-e.png
new file mode 100644
index 0000000..bf972a3
--- /dev/null
+++ b/themes/greydragon_old/css/framepacks/book/images/a-thumb-sqr-e.png
Binary files differ
diff --git a/themes/greydragon_old/css/framepacks/book/images/a-thumb-sqr-eext.png b/themes/greydragon_old/css/framepacks/book/images/a-thumb-sqr-eext.png
new file mode 100644
index 0000000..c13dd02
--- /dev/null
+++ b/themes/greydragon_old/css/framepacks/book/images/a-thumb-sqr-eext.png
Binary files differ
diff --git a/themes/greydragon_old/css/framepacks/book/images/a-thumb-sqr-ext.png b/themes/greydragon_old/css/framepacks/book/images/a-thumb-sqr-ext.png
new file mode 100644
index 0000000..f197016
--- /dev/null
+++ b/themes/greydragon_old/css/framepacks/book/images/a-thumb-sqr-ext.png
Binary files differ
diff --git a/themes/greydragon_old/css/framepacks/book/images/a-thumb-sqr.png b/themes/greydragon_old/css/framepacks/book/images/a-thumb-sqr.png
new file mode 100644
index 0000000..6eb7f26
--- /dev/null
+++ b/themes/greydragon_old/css/framepacks/book/images/a-thumb-sqr.png
Binary files differ
diff --git a/themes/greydragon_old/css/framepacks/book/images/a-thumb-wd-e.png b/themes/greydragon_old/css/framepacks/book/images/a-thumb-wd-e.png
new file mode 100644
index 0000000..2699b36
--- /dev/null
+++ b/themes/greydragon_old/css/framepacks/book/images/a-thumb-wd-e.png
Binary files differ
diff --git a/themes/greydragon_old/css/framepacks/book/images/a-thumb-wd-eext.png b/themes/greydragon_old/css/framepacks/book/images/a-thumb-wd-eext.png
new file mode 100644
index 0000000..ff78ba5
--- /dev/null
+++ b/themes/greydragon_old/css/framepacks/book/images/a-thumb-wd-eext.png
Binary files differ
diff --git a/themes/greydragon_old/css/framepacks/book/images/a-thumb-wd-ext.png b/themes/greydragon_old/css/framepacks/book/images/a-thumb-wd-ext.png
new file mode 100644
index 0000000..7501df7
--- /dev/null
+++ b/themes/greydragon_old/css/framepacks/book/images/a-thumb-wd-ext.png
Binary files differ
diff --git a/themes/greydragon_old/css/framepacks/book/images/a-thumb-wd.png b/themes/greydragon_old/css/framepacks/book/images/a-thumb-wd.png
new file mode 100644
index 0000000..df1164b
--- /dev/null
+++ b/themes/greydragon_old/css/framepacks/book/images/a-thumb-wd.png
Binary files differ
diff --git a/themes/greydragon_old/css/framepacks/book/images/thumb-dgt-e.png b/themes/greydragon_old/css/framepacks/book/images/thumb-dgt-e.png
new file mode 100644
index 0000000..2b9dc15
--- /dev/null
+++ b/themes/greydragon_old/css/framepacks/book/images/thumb-dgt-e.png
Binary files differ
diff --git a/themes/greydragon_old/css/framepacks/book/images/thumb-dgt-eext.png b/themes/greydragon_old/css/framepacks/book/images/thumb-dgt-eext.png
new file mode 100644
index 0000000..9d5cbe1
--- /dev/null
+++ b/themes/greydragon_old/css/framepacks/book/images/thumb-dgt-eext.png
Binary files differ
diff --git a/themes/greydragon_old/css/framepacks/book/images/thumb-dgt-ext.png b/themes/greydragon_old/css/framepacks/book/images/thumb-dgt-ext.png
new file mode 100644
index 0000000..a1afba6
--- /dev/null
+++ b/themes/greydragon_old/css/framepacks/book/images/thumb-dgt-ext.png
Binary files differ
diff --git a/themes/greydragon_old/css/framepacks/book/images/thumb-dgt.png b/themes/greydragon_old/css/framepacks/book/images/thumb-dgt.png
new file mode 100644
index 0000000..020ed3b
--- /dev/null
+++ b/themes/greydragon_old/css/framepacks/book/images/thumb-dgt.png
Binary files differ
diff --git a/themes/greydragon_old/css/framepacks/book/images/thumb-flm-e.png b/themes/greydragon_old/css/framepacks/book/images/thumb-flm-e.png
new file mode 100644
index 0000000..89724e8
--- /dev/null
+++ b/themes/greydragon_old/css/framepacks/book/images/thumb-flm-e.png
Binary files differ
diff --git a/themes/greydragon_old/css/framepacks/book/images/thumb-flm-eext.png b/themes/greydragon_old/css/framepacks/book/images/thumb-flm-eext.png
new file mode 100644
index 0000000..1c84d91
--- /dev/null
+++ b/themes/greydragon_old/css/framepacks/book/images/thumb-flm-eext.png
Binary files differ
diff --git a/themes/greydragon_old/css/framepacks/book/images/thumb-flm-ext.png b/themes/greydragon_old/css/framepacks/book/images/thumb-flm-ext.png
new file mode 100644
index 0000000..04bc46a
--- /dev/null
+++ b/themes/greydragon_old/css/framepacks/book/images/thumb-flm-ext.png
Binary files differ
diff --git a/themes/greydragon_old/css/framepacks/book/images/thumb-flm.png b/themes/greydragon_old/css/framepacks/book/images/thumb-flm.png
new file mode 100644
index 0000000..1709bbe
--- /dev/null
+++ b/themes/greydragon_old/css/framepacks/book/images/thumb-flm.png
Binary files differ
diff --git a/themes/greydragon_old/css/framepacks/book/images/thumb-sqr-e.png b/themes/greydragon_old/css/framepacks/book/images/thumb-sqr-e.png
new file mode 100644
index 0000000..ede2e1b
--- /dev/null
+++ b/themes/greydragon_old/css/framepacks/book/images/thumb-sqr-e.png
Binary files differ
diff --git a/themes/greydragon_old/css/framepacks/book/images/thumb-sqr-eext.png b/themes/greydragon_old/css/framepacks/book/images/thumb-sqr-eext.png
new file mode 100644
index 0000000..48416c6
--- /dev/null
+++ b/themes/greydragon_old/css/framepacks/book/images/thumb-sqr-eext.png
Binary files differ
diff --git a/themes/greydragon_old/css/framepacks/book/images/thumb-sqr-ext.png b/themes/greydragon_old/css/framepacks/book/images/thumb-sqr-ext.png
new file mode 100644
index 0000000..d7e2e53
--- /dev/null
+++ b/themes/greydragon_old/css/framepacks/book/images/thumb-sqr-ext.png
Binary files differ
diff --git a/themes/greydragon_old/css/framepacks/book/images/thumb-sqr.png b/themes/greydragon_old/css/framepacks/book/images/thumb-sqr.png
new file mode 100644
index 0000000..95e5890
--- /dev/null
+++ b/themes/greydragon_old/css/framepacks/book/images/thumb-sqr.png
Binary files differ
diff --git a/themes/greydragon_old/css/framepacks/book/images/thumb-wd-e.png b/themes/greydragon_old/css/framepacks/book/images/thumb-wd-e.png
new file mode 100644
index 0000000..eae6d66
--- /dev/null
+++ b/themes/greydragon_old/css/framepacks/book/images/thumb-wd-e.png
Binary files differ
diff --git a/themes/greydragon_old/css/framepacks/book/images/thumb-wd-eext.png b/themes/greydragon_old/css/framepacks/book/images/thumb-wd-eext.png
new file mode 100644
index 0000000..ee89913
--- /dev/null
+++ b/themes/greydragon_old/css/framepacks/book/images/thumb-wd-eext.png
Binary files differ
diff --git a/themes/greydragon_old/css/framepacks/book/images/thumb-wd-ext.png b/themes/greydragon_old/css/framepacks/book/images/thumb-wd-ext.png
new file mode 100644
index 0000000..d303a1d
--- /dev/null
+++ b/themes/greydragon_old/css/framepacks/book/images/thumb-wd-ext.png
Binary files differ
diff --git a/themes/greydragon_old/css/framepacks/book/images/thumb-wd.png b/themes/greydragon_old/css/framepacks/book/images/thumb-wd.png
new file mode 100644
index 0000000..6d344c5
--- /dev/null
+++ b/themes/greydragon_old/css/framepacks/book/images/thumb-wd.png
Binary files differ
diff --git a/themes/greydragon_old/css/framepacks/darkglass/css/frame.css b/themes/greydragon_old/css/framepacks/darkglass/css/frame.css
new file mode 100644
index 0000000..30d5c9a
--- /dev/null
+++ b/themes/greydragon_old/css/framepacks/darkglass/css/frame.css
@@ -0,0 +1,32 @@
+/**
+ * Gallery 3 Grey Dragon Theme
+ * Copyright (C) 2006-2010 Serguei Dosyukov
+ *
+ * CSS rules - Frames - DarkGlass
+ */
+
+#g-album-grid>li { padding: 10px 6px 10px 10px; }
+.g-thumbslide { background: transparent; }
+
+.g-default .g-thumbslide .g-description, .g-expanded .g-thumbslide .g-description, .g-thumbslide .g-metadata { border-color: #ADAEAD; }
+.g-thumbcrop { border-width: 1px; border-style: solid; border-color: #7F7F7F; }
+
+.g-thumbtype-sqr { background: url('../images/thumb-sqr.png') no-repeat top left; }
+.g-thumbtype-flm { background: url('../images/thumb-flm.png') no-repeat top left; }
+.g-thumbtype-dgt { background: url('../images/thumb-dgt.png') no-repeat top left; }
+.g-thumbtype-wd { background: url('../images/thumb-wd.png') no-repeat top left; }
+
+.g-extended .g-thumbtype-sqr { background-image: url('../images/thumb-sqr-ext.png'); }
+.g-extended .g-thumbtype-flm { background-image: url('../images/thumb-flm-ext.png'); }
+.g-extended .g-thumbtype-dgt { background-image: url('../images/thumb-dgt-ext.png'); }
+.g-extended .g-thumbtype-wd { background-image: url('../images/thumb-wd-ext.png'); }
+
+.g-thumbtype-sqr.g-expanded { background-image: url('../images/thumb-sqr-e.png'); }
+.g-thumbtype-flm.g-expanded { background-image: url('../images/thumb-flm-e.png'); }
+.g-thumbtype-dgt.g-expanded { background-image: url('../images/thumb-dgt-e.png'); }
+.g-thumbtype-wd.g-expanded { background-image: url('../images/thumb-wd-e.png'); }
+
+.g-extended .g-thumbtype-sqr.g-expanded { background-image: url('../images/thumb-sqr-eext.png'); }
+.g-extended .g-thumbtype-flm.g-expanded { background-image: url('../images/thumb-flm-eext.png'); }
+.g-extended .g-thumbtype-dgt.g-expanded { background-image: url('../images/thumb-dgt-eext.png'); }
+.g-extended .g-thumbtype-wd.g-expanded { background-image: url('../images/thumb-wd-eext.png'); }
diff --git a/themes/greydragon_old/css/framepacks/darkglass/images/thumb-dgt-e.png b/themes/greydragon_old/css/framepacks/darkglass/images/thumb-dgt-e.png
new file mode 100644
index 0000000..c96c40c
--- /dev/null
+++ b/themes/greydragon_old/css/framepacks/darkglass/images/thumb-dgt-e.png
Binary files differ
diff --git a/themes/greydragon_old/css/framepacks/darkglass/images/thumb-dgt-eext.png b/themes/greydragon_old/css/framepacks/darkglass/images/thumb-dgt-eext.png
new file mode 100644
index 0000000..0f87149
--- /dev/null
+++ b/themes/greydragon_old/css/framepacks/darkglass/images/thumb-dgt-eext.png
Binary files differ
diff --git a/themes/greydragon_old/css/framepacks/darkglass/images/thumb-dgt-ext.png b/themes/greydragon_old/css/framepacks/darkglass/images/thumb-dgt-ext.png
new file mode 100644
index 0000000..ed89c39
--- /dev/null
+++ b/themes/greydragon_old/css/framepacks/darkglass/images/thumb-dgt-ext.png
Binary files differ
diff --git a/themes/greydragon_old/css/framepacks/darkglass/images/thumb-dgt.png b/themes/greydragon_old/css/framepacks/darkglass/images/thumb-dgt.png
new file mode 100644
index 0000000..ace3e98
--- /dev/null
+++ b/themes/greydragon_old/css/framepacks/darkglass/images/thumb-dgt.png
Binary files differ
diff --git a/themes/greydragon_old/css/framepacks/darkglass/images/thumb-flm-e.png b/themes/greydragon_old/css/framepacks/darkglass/images/thumb-flm-e.png
new file mode 100644
index 0000000..f8e8841
--- /dev/null
+++ b/themes/greydragon_old/css/framepacks/darkglass/images/thumb-flm-e.png
Binary files differ
diff --git a/themes/greydragon_old/css/framepacks/darkglass/images/thumb-flm-eext.png b/themes/greydragon_old/css/framepacks/darkglass/images/thumb-flm-eext.png
new file mode 100644
index 0000000..4e735c8
--- /dev/null
+++ b/themes/greydragon_old/css/framepacks/darkglass/images/thumb-flm-eext.png
Binary files differ
diff --git a/themes/greydragon_old/css/framepacks/darkglass/images/thumb-flm-ext.png b/themes/greydragon_old/css/framepacks/darkglass/images/thumb-flm-ext.png
new file mode 100644
index 0000000..9c0bff5
--- /dev/null
+++ b/themes/greydragon_old/css/framepacks/darkglass/images/thumb-flm-ext.png
Binary files differ
diff --git a/themes/greydragon_old/css/framepacks/darkglass/images/thumb-flm.png b/themes/greydragon_old/css/framepacks/darkglass/images/thumb-flm.png
new file mode 100644
index 0000000..460ee7c
--- /dev/null
+++ b/themes/greydragon_old/css/framepacks/darkglass/images/thumb-flm.png
Binary files differ
diff --git a/themes/greydragon_old/css/framepacks/darkglass/images/thumb-sqr-e.png b/themes/greydragon_old/css/framepacks/darkglass/images/thumb-sqr-e.png
new file mode 100644
index 0000000..eb28835
--- /dev/null
+++ b/themes/greydragon_old/css/framepacks/darkglass/images/thumb-sqr-e.png
Binary files differ
diff --git a/themes/greydragon_old/css/framepacks/darkglass/images/thumb-sqr-eext.png b/themes/greydragon_old/css/framepacks/darkglass/images/thumb-sqr-eext.png
new file mode 100644
index 0000000..3af47df
--- /dev/null
+++ b/themes/greydragon_old/css/framepacks/darkglass/images/thumb-sqr-eext.png
Binary files differ
diff --git a/themes/greydragon_old/css/framepacks/darkglass/images/thumb-sqr-ext.png b/themes/greydragon_old/css/framepacks/darkglass/images/thumb-sqr-ext.png
new file mode 100644
index 0000000..d2e268e
--- /dev/null
+++ b/themes/greydragon_old/css/framepacks/darkglass/images/thumb-sqr-ext.png
Binary files differ
diff --git a/themes/greydragon_old/css/framepacks/darkglass/images/thumb-sqr.png b/themes/greydragon_old/css/framepacks/darkglass/images/thumb-sqr.png
new file mode 100644
index 0000000..da45039
--- /dev/null
+++ b/themes/greydragon_old/css/framepacks/darkglass/images/thumb-sqr.png
Binary files differ
diff --git a/themes/greydragon_old/css/framepacks/darkglass/images/thumb-wd-e.png b/themes/greydragon_old/css/framepacks/darkglass/images/thumb-wd-e.png
new file mode 100644
index 0000000..62f5f1e
--- /dev/null
+++ b/themes/greydragon_old/css/framepacks/darkglass/images/thumb-wd-e.png
Binary files differ
diff --git a/themes/greydragon_old/css/framepacks/darkglass/images/thumb-wd-eext.png b/themes/greydragon_old/css/framepacks/darkglass/images/thumb-wd-eext.png
new file mode 100644
index 0000000..bf8b2e7
--- /dev/null
+++ b/themes/greydragon_old/css/framepacks/darkglass/images/thumb-wd-eext.png
Binary files differ
diff --git a/themes/greydragon_old/css/framepacks/darkglass/images/thumb-wd-ext.png b/themes/greydragon_old/css/framepacks/darkglass/images/thumb-wd-ext.png
new file mode 100644
index 0000000..bc994bc
--- /dev/null
+++ b/themes/greydragon_old/css/framepacks/darkglass/images/thumb-wd-ext.png
Binary files differ
diff --git a/themes/greydragon_old/css/framepacks/darkglass/images/thumb-wd.png b/themes/greydragon_old/css/framepacks/darkglass/images/thumb-wd.png
new file mode 100644
index 0000000..62e7881
--- /dev/null
+++ b/themes/greydragon_old/css/framepacks/darkglass/images/thumb-wd.png
Binary files differ
diff --git a/themes/greydragon_old/css/framepacks/greydragon/css/frame.css b/themes/greydragon_old/css/framepacks/greydragon/css/frame.css
new file mode 100644
index 0000000..cb6c0fc
--- /dev/null
+++ b/themes/greydragon_old/css/framepacks/greydragon/css/frame.css
@@ -0,0 +1,40 @@
+/**
+ * Gallery 3 Grey Dragon Theme
+ * Copyright (C) 2006-2010 Serguei Dosyukov
+ *
+ * CSS rules - Frames - GreyDragon
+ */
+
+/* layous.css - Extended Layout - 4 columns ~~~~~~~~~~*/
+
+body.g-extended.g-column-4 #g-header,
+body.g-extended.g-column-4 #g-footer,
+body.g-extended.g-column-4 #g-main,
+body.g-extended.g-column-4 #g-main-in { min-width: 1302px; }
+
+/* layous.css - Extended Layout - 4 columns+sidebar ~~*/
+body.g-extended.g-column-4.g-sidebar-right #g-header,
+body.g-extended.g-column-4.g-sidebar-right #g-footer,
+body.g-extended.g-column-4.g-sidebar-right #g-main,
+body.g-extended.g-column-4.g-sidebar-right #g-main-in,
+body.g-extended.g-column-4.g-sidebar-left #g-header,
+body.g-extended.g-column-4.g-sidebar-left #g-footer,
+body.g-extended.g-column-4.g-sidebar-left #g-main,
+body.g-extended.g-column-4.g-sidebar-left #g-main-in { min-width: 1546px; }
+
+.g-thumbslide { margin-right: 6px; }
+.g-thumbslide .g-description { margin: 1px 0 0 2px; }
+.g-thumbslide .g-metadata { margin-bottom: 4px; margin-left: 2px; }
+
+.g-extended #g-album-grid .g-item { min-width: 320px; }
+
+.g-item .g-context-menu { left: 190px; top: 12px; }
+.g-item .g-context-menu:hover { left: 6px; top: 6px; }
+
+.g-extended .g-item .g-context-menu { left: 290px; top: 12px; }
+.g-extended .g-item .g-context-menu:hover { left: 8px; top: 8px; }
+
+.g-thumbslide, .g-thumbslide-ext, .g-thumbcrop { border-width: 1px; border-style: solid; background-color: inherit; }
+.g-album .g-thumbslide, .g-album .g-thumbslide-ext { border-right-width: 4px; border-right-style: double; border-bottom-width: 4px; border-bottom-style: double; }
+.g-photo .g-thumbslide, .g-photo .g-thumbslide-ext { margin-bottom: 4px; } /* Need to compensate for double border in album's thumbs */
+
diff --git a/themes/greydragon_old/css/framepacks/iphone/css/frame.css b/themes/greydragon_old/css/framepacks/iphone/css/frame.css
new file mode 100644
index 0000000..0d24188
--- /dev/null
+++ b/themes/greydragon_old/css/framepacks/iphone/css/frame.css
@@ -0,0 +1,31 @@
+/**
+ * Gallery 3 Grey Dragon Theme
+ * Copyright (C) 2006-2010 Serguei Dosyukov
+ *
+ * CSS rules - Frames - iPhone
+ */
+
+#g-album-grid>li { padding: 10px 6px 10px 10px; }
+.g-thumbslide { background: transparent; }
+.g-default .g-thumbslide .g-description, .g-expanded .g-thumbslide .g-description, .g-thumbslide .g-metadata { border-color: #7D7E7D; }
+.g-thumbcrop { border-width: 1px; border-style: solid; border-color: #7D7E7D; }
+
+.g-thumbtype-sqr { background: url('../images/thumb-sqr.png') no-repeat top left; }
+.g-thumbtype-flm { background: url('../images/thumb-flm.png') no-repeat top left; }
+.g-thumbtype-dgt { background: url('../images/thumb-dgt.png') no-repeat top left; }
+.g-thumbtype-wd { background: url('../images/thumb-wd.png') no-repeat top left; }
+
+.g-extended .g-thumbtype-sqr { background-image: url('../images/thumb-sqr-ext.png'); }
+.g-extended .g-thumbtype-flm { background-image: url('../images/thumb-flm-ext.png'); }
+.g-extended .g-thumbtype-dgt { background-image: url('../images/thumb-dgt-ext.png'); }
+.g-extended .g-thumbtype-wd { background-image: url('../images/thumb-wd-ext.png'); }
+
+.g-thumbtype-sqr.g-expanded { background-image: url('../images/thumb-sqr-e.png'); }
+.g-thumbtype-flm.g-expanded { background-image: url('../images/thumb-flm-e.png'); }
+.g-thumbtype-dgt.g-expanded { background-image: url('../images/thumb-dgt-e.png'); }
+.g-thumbtype-wd.g-expanded { background-image: url('../images/thumb-wd-e.png'); }
+
+.g-extended .g-thumbtype-sqr.g-expanded { background-image: url('../images/thumb-sqr-eext.png'); }
+.g-extended .g-thumbtype-flm.g-expanded { background-image: url('../images/thumb-flm-eext.png'); }
+.g-extended .g-thumbtype-dgt.g-expanded { background-image: url('../images/thumb-dgt-eext.png'); }
+.g-extended .g-thumbtype-wd.g-expanded { background-image: url('../images/thumb-wd-eext.png'); }
diff --git a/themes/greydragon_old/css/framepacks/iphone/images/thumb-dgt-e.png b/themes/greydragon_old/css/framepacks/iphone/images/thumb-dgt-e.png
new file mode 100644
index 0000000..daa2002
--- /dev/null
+++ b/themes/greydragon_old/css/framepacks/iphone/images/thumb-dgt-e.png
Binary files differ
diff --git a/themes/greydragon_old/css/framepacks/iphone/images/thumb-dgt-eext.png b/themes/greydragon_old/css/framepacks/iphone/images/thumb-dgt-eext.png
new file mode 100644
index 0000000..9362e8b
--- /dev/null
+++ b/themes/greydragon_old/css/framepacks/iphone/images/thumb-dgt-eext.png
Binary files differ
diff --git a/themes/greydragon_old/css/framepacks/iphone/images/thumb-dgt-ext.png b/themes/greydragon_old/css/framepacks/iphone/images/thumb-dgt-ext.png
new file mode 100644
index 0000000..e477616
--- /dev/null
+++ b/themes/greydragon_old/css/framepacks/iphone/images/thumb-dgt-ext.png
Binary files differ
diff --git a/themes/greydragon_old/css/framepacks/iphone/images/thumb-dgt.png b/themes/greydragon_old/css/framepacks/iphone/images/thumb-dgt.png
new file mode 100644
index 0000000..c514620
--- /dev/null
+++ b/themes/greydragon_old/css/framepacks/iphone/images/thumb-dgt.png
Binary files differ
diff --git a/themes/greydragon_old/css/framepacks/iphone/images/thumb-flm-e.png b/themes/greydragon_old/css/framepacks/iphone/images/thumb-flm-e.png
new file mode 100644
index 0000000..3d3ddaa
--- /dev/null
+++ b/themes/greydragon_old/css/framepacks/iphone/images/thumb-flm-e.png
Binary files differ
diff --git a/themes/greydragon_old/css/framepacks/iphone/images/thumb-flm-eext.png b/themes/greydragon_old/css/framepacks/iphone/images/thumb-flm-eext.png
new file mode 100644
index 0000000..aedd558
--- /dev/null
+++ b/themes/greydragon_old/css/framepacks/iphone/images/thumb-flm-eext.png
Binary files differ
diff --git a/themes/greydragon_old/css/framepacks/iphone/images/thumb-flm-ext.png b/themes/greydragon_old/css/framepacks/iphone/images/thumb-flm-ext.png
new file mode 100644
index 0000000..62e62a2
--- /dev/null
+++ b/themes/greydragon_old/css/framepacks/iphone/images/thumb-flm-ext.png
Binary files differ
diff --git a/themes/greydragon_old/css/framepacks/iphone/images/thumb-flm.png b/themes/greydragon_old/css/framepacks/iphone/images/thumb-flm.png
new file mode 100644
index 0000000..0094def
--- /dev/null
+++ b/themes/greydragon_old/css/framepacks/iphone/images/thumb-flm.png
Binary files differ
diff --git a/themes/greydragon_old/css/framepacks/iphone/images/thumb-sqr-e.png b/themes/greydragon_old/css/framepacks/iphone/images/thumb-sqr-e.png
new file mode 100644
index 0000000..1dc590c
--- /dev/null
+++ b/themes/greydragon_old/css/framepacks/iphone/images/thumb-sqr-e.png
Binary files differ
diff --git a/themes/greydragon_old/css/framepacks/iphone/images/thumb-sqr-eext.png b/themes/greydragon_old/css/framepacks/iphone/images/thumb-sqr-eext.png
new file mode 100644
index 0000000..9f6024b
--- /dev/null
+++ b/themes/greydragon_old/css/framepacks/iphone/images/thumb-sqr-eext.png
Binary files differ
diff --git a/themes/greydragon_old/css/framepacks/iphone/images/thumb-sqr-ext.png b/themes/greydragon_old/css/framepacks/iphone/images/thumb-sqr-ext.png
new file mode 100644
index 0000000..4233c84
--- /dev/null
+++ b/themes/greydragon_old/css/framepacks/iphone/images/thumb-sqr-ext.png
Binary files differ
diff --git a/themes/greydragon_old/css/framepacks/iphone/images/thumb-sqr.png b/themes/greydragon_old/css/framepacks/iphone/images/thumb-sqr.png
new file mode 100644
index 0000000..c9e5714
--- /dev/null
+++ b/themes/greydragon_old/css/framepacks/iphone/images/thumb-sqr.png
Binary files differ
diff --git a/themes/greydragon_old/css/framepacks/iphone/images/thumb-wd-e.png b/themes/greydragon_old/css/framepacks/iphone/images/thumb-wd-e.png
new file mode 100644
index 0000000..15a0c4c
--- /dev/null
+++ b/themes/greydragon_old/css/framepacks/iphone/images/thumb-wd-e.png
Binary files differ
diff --git a/themes/greydragon_old/css/framepacks/iphone/images/thumb-wd-eext.png b/themes/greydragon_old/css/framepacks/iphone/images/thumb-wd-eext.png
new file mode 100644
index 0000000..0867baa
--- /dev/null
+++ b/themes/greydragon_old/css/framepacks/iphone/images/thumb-wd-eext.png
Binary files differ
diff --git a/themes/greydragon_old/css/framepacks/iphone/images/thumb-wd-ext.png b/themes/greydragon_old/css/framepacks/iphone/images/thumb-wd-ext.png
new file mode 100644
index 0000000..213d494
--- /dev/null
+++ b/themes/greydragon_old/css/framepacks/iphone/images/thumb-wd-ext.png
Binary files differ
diff --git a/themes/greydragon_old/css/framepacks/iphone/images/thumb-wd.png b/themes/greydragon_old/css/framepacks/iphone/images/thumb-wd.png
new file mode 100644
index 0000000..a25d477
--- /dev/null
+++ b/themes/greydragon_old/css/framepacks/iphone/images/thumb-wd.png
Binary files differ
diff --git a/themes/greydragon_old/css/framepacks/iphoto/css/frame.css b/themes/greydragon_old/css/framepacks/iphoto/css/frame.css
new file mode 100644
index 0000000..0dba3e9
--- /dev/null
+++ b/themes/greydragon_old/css/framepacks/iphoto/css/frame.css
@@ -0,0 +1,31 @@
+/**
+ * Gallery 3 Grey Dragon Theme
+ * Copyright (C) 2006-2010 Serguei Dosyukov
+ *
+ * CSS rules - Frames - iPhoto
+ */
+
+#g-album-grid>li { padding: 10px 6px 10px 10px; }
+.g-thumbslide { background: transparent; }
+.g-default .g-thumbslide .g-description, .g-expanded .g-thumbslide .g-description, .g-thumbslide .g-metadata { background-color: #FFF; border-color: #ADAEAD; color: #111; }
+.g-thumbcrop { border: #ADAEAD 1px solid; }
+
+.g-thumbtype-sqr { background: url('../images/thumb-sqr.png') no-repeat top left; }
+.g-thumbtype-flm { background: url('../images/thumb-flm.png') no-repeat top left; }
+.g-thumbtype-dgt { background: url('../images/thumb-dgt.png') no-repeat top left; }
+.g-thumbtype-wd { background: url('../images/thumb-wd.png') no-repeat top left; }
+
+.g-extended .g-thumbtype-sqr { background-image: url('../images/thumb-sqr-ext.png'); }
+.g-extended .g-thumbtype-flm { background-image: url('../images/thumb-flm-ext.png'); }
+.g-extended .g-thumbtype-dgt { background-image: url('../images/thumb-dgt-ext.png'); }
+.g-extended .g-thumbtype-wd { background-image: url('../images/thumb-wd-ext.png'); }
+
+.g-thumbtype-sqr.g-expanded { background-image: url('../images/thumb-sqr-e.png'); }
+.g-thumbtype-flm.g-expanded { background-image: url('../images/thumb-flm-e.png'); }
+.g-thumbtype-dgt.g-expanded { background-image: url('../images/thumb-dgt-e.png'); }
+.g-thumbtype-wd.g-expanded { background-image: url('../images/thumb-wd-e.png'); }
+
+.g-extended .g-thumbtype-sqr.g-expanded { background-image: url('../images/thumb-sqr-eext.png'); }
+.g-extended .g-thumbtype-flm.g-expanded { background-image: url('../images/thumb-flm-eext.png'); }
+.g-extended .g-thumbtype-dgt.g-expanded { background-image: url('../images/thumb-dgt-eext.png'); }
+.g-extended .g-thumbtype-wd.g-expanded { background-image: url('../images/thumb-wd-eext.png'); }
diff --git a/themes/greydragon_old/css/framepacks/iphoto/images/thumb-dgt-e.png b/themes/greydragon_old/css/framepacks/iphoto/images/thumb-dgt-e.png
new file mode 100644
index 0000000..616d1d5
--- /dev/null
+++ b/themes/greydragon_old/css/framepacks/iphoto/images/thumb-dgt-e.png
Binary files differ
diff --git a/themes/greydragon_old/css/framepacks/iphoto/images/thumb-dgt-eext.png b/themes/greydragon_old/css/framepacks/iphoto/images/thumb-dgt-eext.png
new file mode 100644
index 0000000..828528a
--- /dev/null
+++ b/themes/greydragon_old/css/framepacks/iphoto/images/thumb-dgt-eext.png
Binary files differ
diff --git a/themes/greydragon_old/css/framepacks/iphoto/images/thumb-dgt-ext.png b/themes/greydragon_old/css/framepacks/iphoto/images/thumb-dgt-ext.png
new file mode 100644
index 0000000..c090406
--- /dev/null
+++ b/themes/greydragon_old/css/framepacks/iphoto/images/thumb-dgt-ext.png
Binary files differ
diff --git a/themes/greydragon_old/css/framepacks/iphoto/images/thumb-dgt.png b/themes/greydragon_old/css/framepacks/iphoto/images/thumb-dgt.png
new file mode 100644
index 0000000..5190758
--- /dev/null
+++ b/themes/greydragon_old/css/framepacks/iphoto/images/thumb-dgt.png
Binary files differ
diff --git a/themes/greydragon_old/css/framepacks/iphoto/images/thumb-flm-e.png b/themes/greydragon_old/css/framepacks/iphoto/images/thumb-flm-e.png
new file mode 100644
index 0000000..251216b
--- /dev/null
+++ b/themes/greydragon_old/css/framepacks/iphoto/images/thumb-flm-e.png
Binary files differ
diff --git a/themes/greydragon_old/css/framepacks/iphoto/images/thumb-flm-eext.png b/themes/greydragon_old/css/framepacks/iphoto/images/thumb-flm-eext.png
new file mode 100644
index 0000000..c60ba42
--- /dev/null
+++ b/themes/greydragon_old/css/framepacks/iphoto/images/thumb-flm-eext.png
Binary files differ
diff --git a/themes/greydragon_old/css/framepacks/iphoto/images/thumb-flm-ext.png b/themes/greydragon_old/css/framepacks/iphoto/images/thumb-flm-ext.png
new file mode 100644
index 0000000..b1f8675
--- /dev/null
+++ b/themes/greydragon_old/css/framepacks/iphoto/images/thumb-flm-ext.png
Binary files differ
diff --git a/themes/greydragon_old/css/framepacks/iphoto/images/thumb-flm.png b/themes/greydragon_old/css/framepacks/iphoto/images/thumb-flm.png
new file mode 100644
index 0000000..44c67c3
--- /dev/null
+++ b/themes/greydragon_old/css/framepacks/iphoto/images/thumb-flm.png
Binary files differ
diff --git a/themes/greydragon_old/css/framepacks/iphoto/images/thumb-sqr-e.png b/themes/greydragon_old/css/framepacks/iphoto/images/thumb-sqr-e.png
new file mode 100644
index 0000000..02ddcd2
--- /dev/null
+++ b/themes/greydragon_old/css/framepacks/iphoto/images/thumb-sqr-e.png
Binary files differ
diff --git a/themes/greydragon_old/css/framepacks/iphoto/images/thumb-sqr-eext.png b/themes/greydragon_old/css/framepacks/iphoto/images/thumb-sqr-eext.png
new file mode 100644
index 0000000..a6f6946
--- /dev/null
+++ b/themes/greydragon_old/css/framepacks/iphoto/images/thumb-sqr-eext.png
Binary files differ
diff --git a/themes/greydragon_old/css/framepacks/iphoto/images/thumb-sqr-ext.png b/themes/greydragon_old/css/framepacks/iphoto/images/thumb-sqr-ext.png
new file mode 100644
index 0000000..de2fae4
--- /dev/null
+++ b/themes/greydragon_old/css/framepacks/iphoto/images/thumb-sqr-ext.png
Binary files differ
diff --git a/themes/greydragon_old/css/framepacks/iphoto/images/thumb-sqr.png b/themes/greydragon_old/css/framepacks/iphoto/images/thumb-sqr.png
new file mode 100644
index 0000000..57c192f
--- /dev/null
+++ b/themes/greydragon_old/css/framepacks/iphoto/images/thumb-sqr.png
Binary files differ
diff --git a/themes/greydragon_old/css/framepacks/iphoto/images/thumb-wd-e.png b/themes/greydragon_old/css/framepacks/iphoto/images/thumb-wd-e.png
new file mode 100644
index 0000000..492432e
--- /dev/null
+++ b/themes/greydragon_old/css/framepacks/iphoto/images/thumb-wd-e.png
Binary files differ
diff --git a/themes/greydragon_old/css/framepacks/iphoto/images/thumb-wd-eext.png b/themes/greydragon_old/css/framepacks/iphoto/images/thumb-wd-eext.png
new file mode 100644
index 0000000..901a13a
--- /dev/null
+++ b/themes/greydragon_old/css/framepacks/iphoto/images/thumb-wd-eext.png
Binary files differ
diff --git a/themes/greydragon_old/css/framepacks/iphoto/images/thumb-wd-ext.png b/themes/greydragon_old/css/framepacks/iphoto/images/thumb-wd-ext.png
new file mode 100644
index 0000000..0efa766
--- /dev/null
+++ b/themes/greydragon_old/css/framepacks/iphoto/images/thumb-wd-ext.png
Binary files differ
diff --git a/themes/greydragon_old/css/framepacks/iphoto/images/thumb-wd.png b/themes/greydragon_old/css/framepacks/iphoto/images/thumb-wd.png
new file mode 100644
index 0000000..f6bb30f
--- /dev/null
+++ b/themes/greydragon_old/css/framepacks/iphoto/images/thumb-wd.png
Binary files differ
diff --git a/themes/greydragon_old/css/framepacks/iphoto/views/frame.html.php b/themes/greydragon_old/css/framepacks/iphoto/views/frame.html.php
new file mode 100644
index 0000000..87ed99b
--- /dev/null
+++ b/themes/greydragon_old/css/framepacks/iphoto/views/frame.html.php
@@ -0,0 +1,5 @@
+<div class="g-thumb-wrapper"><div class="g-thumb-content"><div class="g-thumb-topleft"></div>
+ <?= $thumb_content; ?>
+ </div>
+ <div class="g-thumb-bottom"><div></div></div>
+</div>
diff --git a/themes/greydragon_old/css/framepacks/panel/css/frame.css b/themes/greydragon_old/css/framepacks/panel/css/frame.css
new file mode 100644
index 0000000..6a25113
--- /dev/null
+++ b/themes/greydragon_old/css/framepacks/panel/css/frame.css
@@ -0,0 +1,35 @@
+/**
+ * Gallery 3 Grey Dragon Theme
+ * Copyright (C) 2006-2010 Serguei Dosyukov
+ *
+ * CSS rules - Frames - Panel
+ */
+
+/* layous.css - Extended Layout - 4 columns ~~~~~~~~~~*/
+body.g-extended.g-column-4 #g-header,
+body.g-extended.g-column-4 #g-footer,
+body.g-extended.g-column-4 #g-main,
+body.g-extended.g-column-4 #g-main-in { min-width: 1302px; }
+
+/* layous.css - Extended Layout - 4 columns+sidebar ~~*/
+body.g-extended.g-column-4.g-sidebar-right #g-header,
+body.g-extended.g-column-4.g-sidebar-right #g-footer,
+body.g-extended.g-column-4.g-sidebar-right #g-main,
+body.g-extended.g-column-4.g-sidebar-right #g-main-in,
+body.g-extended.g-column-4.g-sidebar-left #g-header,
+body.g-extended.g-column-4.g-sidebar-left #g-footer,
+body.g-extended.g-column-4.g-sidebar-left #g-main,
+body.g-extended.g-column-4.g-sidebar-left #g-main-in { min-width: 1546px; }
+
+.g-album .g-thumbslide, .g-thumbslide { border-width: 1px; border-style: solid; }
+.g-thumbslide .g-description { margin: 0 0 0 1px; }
+.g-thumbslide .g-metadata { margin-bottom: 3px; margin-left: 1px; }
+
+.g-extended #g-album-grid .g-item { min-width: 320px; }
+
+.g-item .g-context-menu { left: 188px; top: 12px; }
+.g-item .g-context-menu:hover { left: 6px; top: 6px; }
+.g-extended .g-item .g-context-menu { left: 288px; top: 12px; }
+.g-extended .g-item .g-context-menu:hover { left: 6px; top: 6px; }
+
+.g-default .g-thumbslide .g-description, .g-expanded .g-thumbslide .g-description, .g-thumbslide .g-metadata { border-color: #ADAEAD; }
diff --git a/themes/greydragon_old/css/framepacks/roundcorners/css/frame.css b/themes/greydragon_old/css/framepacks/roundcorners/css/frame.css
new file mode 100644
index 0000000..9e44c1e
--- /dev/null
+++ b/themes/greydragon_old/css/framepacks/roundcorners/css/frame.css
@@ -0,0 +1,42 @@
+/**
+ * Gallery 3 Grey Dragon Theme
+ * Copyright (C) 2006-2010 Serguei Dosyukov
+ *
+ * CSS rules - Frames - Round Corners
+ */
+
+/* layous.css - Extended Layout - 4 columns ~~~~~~~~~~*/
+body.g-extended.g-column-4 #g-header,
+body.g-extended.g-column-4 #g-footer,
+body.g-extended.g-column-4 #g-main,
+body.g-extended.g-column-4 #g-main-in,
+body.g-extended.g-column-4 #g-header { min-width: 1278px; }
+
+/* layous.css - Extended Layout - 4 columns+sidebar ~~*/
+body.g-extended.g-column-4.g-sidebar-right #g-header,
+body.g-extended.g-column-4.g-sidebar-right #g-footer,
+body.g-extended.g-column-4.g-sidebar-right #g-main,
+body.g-extended.g-column-4.g-sidebar-right #g-main-in,
+body.g-extended.g-column-4.g-sidebar-left #g-header,
+body.g-extended.g-column-4.g-sidebar-left #g-footer,
+body.g-extended.g-column-4.g-sidebar-left #g-main,
+body.g-extended.g-column-4.g-sidebar-left #g-main-in { min-width: 1520px; }
+
+.g-thumbslide .g-description { margin: 0 0 0 0px; border-top-left-radius: 10px; border-top-right-radius: 10px; }
+.g-thumbslide .g-description.g-overlay-bottom { border-top-left-radius: 0; border-top-right-radius: 0; border-bottom-left-radius: 10px; border-bottom-right-radius: 10px; bottom: -3px; }
+.g-thumbslide .g-metadata { margin: 0 0 1px 0px; }
+
+.g-item .g-context-menu { left: 188px; top: 12px; }
+.g-item .g-context-menu:hover { left: 6px; top: 6px; }
+.g-extended .g-item .g-context-menu { left: 288px; top: 12px; }
+.g-extended .g-item .g-context-menu:hover { left: 6px; top: 6px; }
+
+.g-default .g-thumbslide .g-description,
+.g-expanded .g-thumbslide .g-description { border-color: #ADAEAD; color: #3c5580; }
+.g-thumbslide .g-metadata { border-color: #ADAEAD; color: #3c5580; border-bottom-left-radius: 10px; border-bottom-right-radius: 10px; }
+.g-thumbcrop { border-radius: 10px; box-shadow: 3px 3px 8px #333; }
+.g-thumbslide { background-image: none; }
+.g-thumbslide:hover .g-thumbcrop { box-shadow: 4px 4px 8px #333; }
+
+#g-photo .g-resize { border: none; background: transparent; }
+#g-photo .g-resize a { border-radius: 10px; box-shadow: 3px 3px 8px #333; } \ No newline at end of file
diff --git a/themes/greydragon_old/css/framepacks/simple/css/frame.css b/themes/greydragon_old/css/framepacks/simple/css/frame.css
new file mode 100644
index 0000000..648057e
--- /dev/null
+++ b/themes/greydragon_old/css/framepacks/simple/css/frame.css
@@ -0,0 +1,33 @@
+/**
+ * Gallery 3 Grey Dragon Theme
+ * Copyright (C) 2006-2010 Serguei Dosyukov
+ *
+ * CSS rules - Frames - Simple
+ */
+
+/* layous.css - Extended Layout - 4 columns ~~~~~~~~~~*/
+body.g-extended.g-column-4 #g-header,
+body.g-extended.g-column-4 #g-footer,
+body.g-extended.g-column-4 #g-main,
+body.g-extended.g-column-4 #g-main-in { min-width: 1278px; }
+
+/* layous.css - Extended Layout - 4 columns+sidebar ~~*/
+body.g-extended.g-column-4.g-sidebar-right #g-header,
+body.g-extended.g-column-4.g-sidebar-right #g-footer,
+body.g-extended.g-column-4.g-sidebar-right #g-main,
+body.g-extended.g-column-4.g-sidebar-right #g-main-in,
+body.g-extended.g-column-4.g-sidebar-left #g-header,
+body.g-extended.g-column-4.g-sidebar-left #g-footer,
+body.g-extended.g-column-4.g-sidebar-left #g-main,
+body.g-extended.g-column-4.g-sidebar-left #g-main-in { min-width: 1520px; }
+
+.g-thumbslide .g-description { margin: 0 0 0 1px; }
+.g-thumbslide .g-metadata { margin: 0 0 1px 1px; }
+
+.g-item .g-context-menu { left: 188px; top: 12px; }
+.g-item .g-context-menu:hover { left: 6px; top: 6px; }
+.g-extended .g-item .g-context-menu { left: 288px; top: 12px; }
+.g-extended .g-item .g-context-menu:hover { left: 6px; top: 6px; }
+
+.g-default .g-thumbslide .g-description, .g-expanded .g-thumbslide .g-description, .g-thumbslide .g-metadata { border-color: #ADAEAD; }
+.g-thumbcrop { border-width: 1px; border-style: solid; border-color: #ADAEAD; }
diff --git a/themes/greydragon_old/css/framepacks/wall/css/frame.css b/themes/greydragon_old/css/framepacks/wall/css/frame.css
new file mode 100644
index 0000000..b8f434b
--- /dev/null
+++ b/themes/greydragon_old/css/framepacks/wall/css/frame.css
@@ -0,0 +1,46 @@
+/**
+ * Gallery 3 Grey Dragon Theme
+ * Copyright (C) 2006-2010 Serguei Dosyukov
+ *
+ * CSS rules - Frames - Simple
+ */
+
+/* layous.css - Extended Layout - 4 columns ~~~~~~~~~~*/
+body.g-extended.g-column-4 #g-header,
+body.g-extended.g-column-4 #g-footer,
+body.g-extended.g-column-4 #g-main,
+body.g-extended.g-column-4 #g-main-in { min-width: 1224px; }
+
+/* layous.css - Extended Layout - 4 columns+sidebar ~~*/
+body.g-extended.g-column-4.g-sidebar-right #g-header,
+body.g-extended.g-column-4.g-sidebar-right #g-footer,
+body.g-extended.g-column-4.g-sidebar-right #g-main,
+body.g-extended.g-column-4.g-sidebar-right #g-main-in,
+body.g-extended.g-column-4.g-sidebar-left #g-header,
+body.g-extended.g-column-4.g-sidebar-left #g-footer,
+body.g-extended.g-column-4.g-sidebar-left #g-main,
+body.g-extended.g-column-4.g-sidebar-left #g-main-in { min-width: 1470px; }
+
+
+.g-thumbslide { padding-top: 0; padding-left: 0; width: 200px; min-height: auto; }
+.g-extended .g-thumbslide { width: 300px; }
+
+.g-thumbtype-flm .g-thumbslide, .g-extended .g-thumbtype-flm .g-thumbslide,
+.g-thumbtype-dgt .g-thumbslide, .g-extended .g-thumbtype-dgt .g-thumbslide,
+.g-thumbtype-wd .g-thumbslide, .g-extended .g-thumbtype-wd .g-thumbslide,
+.g-thumbtype-sqr .g-thumbslide, .g-extended .g-thumbtype-sqr .g-thumbslide { height: auto; }
+
+.g-item .g-context-menu { left: 184px; top: 2px; }
+.g-extended .g-item .g-context-menu { left: 282px; top: 4px; }
+.g-item .g-context-menu:hover, .g-extended .g-item .g-context-menu:hover { left: 0px; top: 0; }
+
+#g-album-grid .g-item { margin: 0; min-width: 200px; }
+.g-extended #g-album-grid .g-item { min-width: 300px; }
+
+.g-album-grid-container .g-wall > li { width: auto; }
+
+.g-thumbslide .g-description { margin: 0 0 0 0; left: 0; top: 0; min-height: 2.4em; }
+.g-thumbslide .g-metadata { margin: 0 0 0 0; left: 0; bottom: 0; min-height: 2.4em; }
+
+.g-default .g-thumbslide .g-description, .g-expanded .g-thumbslide .g-description { border-color: #ADAEAD; border-top: none; }
+.g-thumbcrop { border: none; }
diff --git a/themes/greydragon_old/css/gd_common.css b/themes/greydragon_old/css/gd_common.css
new file mode 100644
index 0000000..32b780b
--- /dev/null
+++ b/themes/greydragon_old/css/gd_common.css
@@ -0,0 +1,59 @@
+/**
+ * Gallery 3 Grey Dragon Common Module
+ * Copyright (C) 2012 Serguei Dosyukov
+ *
+ * CSS rules for admin section
+ */
+
+body { min-width: 1200px; }
+
+#g-content { font-size: 1em; margin-bottom: 0; width: auto; padding-left: 1em; padding-right: 1em; }
+#g-content ul { margin-bottom: 0; }
+
+#g-content h3 { color: #d54e21; border-bottom: #a2bdbf 1px solid; margin-top: 0.3em; margin-bottom: 0.3em; }
+#g-content p { color: #333; }
+#g-content table { margin-bottom: 0; }
+
+#g-content input { display: inline; float: left; margin-right: 0.8em; color: #555555; border: 1px solid #ccc; -webkit-border-radius: 3px; -moz-border-radius: 3px; border-radius: 3px; }
+#g-content textarea { height: 6em; color: #555555; border: 1px solid #ccc; -webkit-border-radius: 3px; -moz-border-radius: 3px; border-radius: 3px; }
+#g-content select { display: inline; float: left; margin-right: 0.8em; width: 50.6%; color: #555555; border: 1px solid #ccc; -webkit-border-radius: 3px; -moz-border-radius: 3px; border-radius: 3px; }
+
+#g-content input[type='checkbox'] { border: none; }
+#g-content input[type='text'] { width: 50%; }
+
+#g-content input.submit { display: inline-block; min-width: 100px; padding: 4px 10px 4px; font-size: 13px; line-height: 18px; color:#333333; text-align: center; text-shadow: 0 1px 1px rgba(255, 255, 255, 0.75); background-color: #fafafa; background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#ffffff), color-stop(25%, #ffffff), to(#e6e6e6)); background-image: -webkit-linear-gradient(#ffffff, #ffffff 25%, #e6e6e6); background-image: -moz-linear-gradient(top, #ffffff, #ffffff 25%, #e6e6e6); background-image: -ms-linear-gradient(#ffffff, #ffffff 25%, #e6e6e6); background-image: -o-linear-gradient(#ffffff, #ffffff 25%, #e6e6e6); background-image: linear-gradient(#ffffff, #ffffff 25%, #e6e6e6); background-repeat: no-repeat; filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffff', endColorstr='#e6e6e6', GradientType=0); border: 1px solid #ccc; border-bottom-color: #bbb; -webkit-border-radius: 4px; -moz-border-radius: 4px; border-radius: 4px; -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2),0 1px 2px rgba(0, 0, 0, 0.05); -moz-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2),0 1px 2px rgba(0, 0, 0, 0.05); box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2),0 1px 2px rgba(0, 0, 0, 0.05); cursor: pointer; *margin-left: .3em; }
+#g-content input.submit:first-child { *margin-left: 0; }
+#g-content input.submit:hover { color: #333333; text-decoration: none; background-color: #e6e6e6; background-position: 0 -15px; -webkit-transition: background-position 0.1s linear; -moz-transition: background-position 0.1s linear; -ms-transition: background-position 0.1s linear; -o-transition: background-position 0.1s linear; transition: background-position 0.1s linear; }
+
+#g-content input.g-error { padding-left: 30px; border: none; }
+#g-content input.g-success { background-color: transparent; }
+#g-content input.g-warning { background-color: transparent; border: none; }
+
+#g-content p.g-error { padding-left: 30px; border: none; margin-bottom: 0; background-image: none; }
+
+#gd-admin-header { padding: 7px 0; margin: 4px 0 0 0; background-color: #fbfbfb; background-image: -moz-linear-gradient(top, #ffffff, #f5f5f5); background-image:- ms-linear-gradient(top, #ffffff, #f5f5f5); background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#ffffff), to(#f5f5f5)); background-image: -webkit-linear-gradient(top, #ffffff, #f5f5f5); background-image: -o-linear-gradient(top, #ffffff, #f5f5f5); background-image: linear-gradient(top, #ffffff, #f5f5f5); background-repeat: repeat-x; filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffff', endColorstr='#f5f5f5', GradientType=0); border: 1px solid #ddd; -webkit-border-radius: 3px; -moz-border-radius: 3px; border-radius: 3px; -webkit-box-shadow: inset 0 1px 0 #ffffff; -moz-box-shadow: inset 0 1px 0 #ffffff; box-shadow: inset 0 1px 0 #ffffff; display: inline-block; width: 100%; }
+#gd-admin-header .divider{padding:0 5px;color:#999999;}
+#gd-admin-header .active a{color:#333333;}
+
+#gd-admin-version,
+#gd-admin-version-2 { margin-top: 4px; padding: 7px 14px; background-color: rgb(217, 237, 247); border: 1px solid #bce8f1; -webkit-border-radius: 3px; -moz-border-radius: 3px; border-radius: 3px; -webkit-box-shadow: inset 0 1px 0 #ffffff; -moz-box-shadow: inset 0 1px 0 #ffffff; box-shadow: inset 0 1px 0 #ffffff; }
+
+#gd-admin-title { float: left; padding-left: 10px; color: #333v42; font-weight: bold; font-size: 1.4em; text-shadow: #deeefa 0 1px 0; display: inline-block; }
+#gd-admin-hlinks { float: right; padding-right: 10px; }
+#gd-admin-hlinks li { list-style-type: none; float: left; color: #618299; display: inline; text-shadow: 0 1px 0 #ffffff; }
+#gd-admin-hlinks a { line-height: 1.6em; }
+#gd-admin-hlinks a[disabled="disabled"], #gd-admin-hlinks a[disabled="disabled"]:hover { text-decoration: none; cursor: default; }
+
+#g-autoupdate-config { display: none; border: 1px solid #ddd; border-top: none; width: 45%; height: 2.5em; margin-left: 54%; -webkit-border-radius: 3px; -moz-border-radius: 3px; border-radius: 3px; -webkit-box-shadow: inset 0 1px 0 #ffffff; -moz-box-shadow: inset 0 1px 0 #ffffff; box-shadow: inset 0 1px 0 #ffffff; }
+#g-autoupdate-config.visible { min-height: 30px; display: inline-block; }
+#g-autoupdate-config ul { float: right; margin: 6px 10px;}
+#g-autoupdate-config li { float: left; display: inline; line-height: 1.5em; }
+
+#g-admin-container { margin-top: 14px; font-size: 0.9em; line-height: 1.6em; }
+#g-admin-container .column1 { float: left; width: 53%; min-width: 610px; }
+#g-admin-container .column2 { float: right; width: 46%; min-width: 529px; }
+
+#g-admin-container fieldset { position: relative; border-top-left-radius: 0.4em; border-top-right-radius: 0.4em; overflow: hidden; }
+#g-admin-container legend { position: absolute; left: 0; width: 100%; padding: 0.4em 0.8em; background: url(../images/blue-grad.png) #d5e6f2 repeat-x left top; border-bottom: #dfdfdf 1px solid; }
+#g-admin-container fieldset ul { margin-top: 34px; }
+
diff --git a/themes/greydragon_old/css/ipad.css b/themes/greydragon_old/css/ipad.css
new file mode 100644
index 0000000..801356f
--- /dev/null
+++ b/themes/greydragon_old/css/ipad.css
@@ -0,0 +1,20 @@
+/* Start Apple Styles */
+/* These styles support Apple products display of CSS. NOTES (orientation:landscape), (orientation:portrait) can also be used to be more specific */
+/* iPad [portrait + landscape] */
+@media only screen and (min-device-width:768px) and (max-device-width:1024px)
+{
+ #cboxOverlay { height: 200%; width: 200%; }
+ .g-bar#g-site-menu { width: 200%; }
+}
+
+/* iPhone 4 [portrait + landscape] */
+@media only screen and (resolution:326dpi) { }
+
+/* screen and (resolution: 163dpi) */
+/* iPhone 3 [portrait + landscape] */
+@media only screen and (max-device-width:480px) { }
+
+/* iPod Touch and older [portrait + landscape] */
+@media only screen and (resolution:326dpi) { }
+
+/* End Apple Styles */
diff --git a/themes/greydragon_old/css/layout.css b/themes/greydragon_old/css/layout.css
new file mode 100644
index 0000000..189ed93
--- /dev/null
+++ b/themes/greydragon_old/css/layout.css
@@ -0,0 +1,67 @@
+/**
+ * Gallery 3 Grey Dragon Theme
+ * Copyright (C) 2006-2011 Serguei Dosyukov
+ *
+ * CSS rules related to general layout
+ * Defined as 70em wide
+ */
+
+/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
+/* layout.css - Common ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
+
+html { overflow: auto; overflow: -moz-scrollbars-vertical; overflow-y: scroll; }
+* { margin: 0px; }
+body { min-width: 1020px; padding: 0; }
+.g-hideitem { display: none; }
+
+/* layout.css - Header ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
+
+#g-header { position: relative; min-width: 1020px; z-index: 5; }
+
+/* layout.css - Main ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
+
+#g-main { min-width: 1020px; height: auto; bottom: auto; }
+#g-main-in { min-width: 1020px; height: 100%; aoverflow: auto; bottom: auto; }
+
+#g-column-left { float: left; width: 230px; min-height: 32em; overflow: hidden; height: 100%; }
+#g-column-right { float: right; width: 230px; min-height: 32em; overflow: hidden; height: 100%; }
+#g-column-center { margin: 0 17em 0 17em; min-height: 32em; overflow: hidden; height: 100%; }
+#g-column-centerleft { min-height: 32em; overflow: hidden; height: 100%; }
+#g-column-centerright { min-height: 32em; overflow: hidden; height: 100%; }
+#g-column-centerfull { position: relative; min-height: 31em; overflow: hidden; height: 100%; }
+#g-column-top { display: block; overflow: hidden; }
+#g-column-bottom { display: block; overflow: hidden; }
+
+/* layout.css - Footer ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
+
+#g-footer { position: relative; height: auto; min-width: 70em; min-height: 2.8em; clear: both; display: block; overflow: auto; }
+#g-footer-leftside { float: left; display: inline; }
+#g-footer-rightside { float: right; display: inline; }
+
+/* layout.css - Extended Layout ~~~~~~~~~~~~~~~~~~~~~~*/
+
+/* layous.css - Extended Layout - 3 columns+sidebar ~~*/
+body.g-extended.g-column-3.g-sidebar-right #g-header,
+body.g-extended.g-column-3.g-sidebar-right #g-footer,
+body.g-extended.g-column-3.g-sidebar-right #g-main,
+body.g-extended.g-column-3.g-sidebar-right #g-main-in,
+body.g-extended.g-column-3.g-sidebar-left #g-header,
+body.g-extended.g-column-3.g-sidebar-left #g-footer,
+body.g-extended.g-column-3.g-sidebar-left #g-main,
+body.g-extended.g-column-3.g-sidebar-left #g-main-in { min-width: 1250px; }
+
+/* layous.css - Extended Layout - 4 columns ~~~~~~~~~~*/
+body.g-extended.g-column-4 #g-header,
+body.g-extended.g-column-4 #g-footer,
+body.g-extended.g-column-4 #g-main,
+body.g-extended.g-column-4 #g-main-in { min-width: 1342px; }
+
+/* layous.css - Extended Layout - 4 columns+sidebar ~~*/
+body.g-extended.g-column-4.g-sidebar-right #g-header,
+body.g-extended.g-column-4.g-sidebar-right #g-footer,
+body.g-extended.g-column-4.g-sidebar-right #g-main,
+body.g-extended.g-column-4.g-sidebar-right #g-main-in,
+body.g-extended.g-column-4.g-sidebar-left #g-header,
+body.g-extended.g-column-4.g-sidebar-left #g-footer,
+body.g-extended.g-column-4.g-sidebar-left #g-main,
+body.g-extended.g-column-4.g-sidebar-left #g-main-in { min-width: 1580px; }
diff --git a/themes/greydragon_old/css/menus.css b/themes/greydragon_old/css/menus.css
new file mode 100644
index 0000000..f13fb33
--- /dev/null
+++ b/themes/greydragon_old/css/menus.css
@@ -0,0 +1,58 @@
+/**
+ * Gallery 3 Grey Dragon Theme
+ * Copyright (C) 2006-2011 Serguei Dosyukov
+ *
+ * CSS rules related to menus
+ */
+
+/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
+/* menus.css - Main menu ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
+
+#g-site-menu { position: absolute; }
+#g-site-menu.g-default { left: 21em; bottom: 0; }
+#g-site-menu.g-top { left: 21em; top: 2px; }
+#g-site-menu.g-bottom-right { bottom: 0; right: 2em; }
+#g-site-menu.g-bar { left: 0; top: 0; width: 100%; padding-left: .5em; position: fixed !important; z-index: 9999; font-size: 0.9em; }
+
+#g-site-menu ul { float: left; width: 100%; white-space: nowrap; z-index: 102; }
+#g-site-menu>ul>li>ul { margin-top: 1px; }
+
+#g-site-menu ul ul ul { padding-top: 0; }
+#g-site-menu a { display: block; padding: 0.2em 0.4em; text-align: center; width: auto; letter-spacing: 0; cursor: pointer; z-index: 102; }
+#g-site-menu li { float: left; padding: 0; background-color: transparent; border: transparent 1px solid; z-index: 102; }
+#g-site-menu li ul a { text-align: left; padding: 0.3em 0; text-indent: 0.8em; letter-spacing: 0; }
+#g-site-menu li ul a:hover { background-image: none; }
+#g-site-menu li ul { position: absolute; margin: 0 0 0 -1px; width: 14em; height: auto; left: -999em; }
+
+#g-site-menu li li { width: 14em; padding-right: 0; }
+#g-site-menu li ul a { width: 14em; }
+#g-site-menu li ul ul { margin: -1.8em 0 0 14em; }
+#g-site-menu li:hover ul ul,
+#g-site-menu li:hover ul ul ul,
+#g-site-menu li.iemhover ul ul,
+#g-site-menu li.iemhover ul ul ul { left: -999em; }
+#g-site-menu li:hover ul,
+#g-site-menu li li:hover ul,
+#g-site-menu li li li:hover ul,
+#g-site-menu li.iemhover ul,
+#g-site-menu li li.iemhover ul,
+#g-site-menu li li li.iemhover ul { left: auto; }
+
+#g-site-menu>ul>li>ul { display: none; }
+
+/* menus.css - Context menu ~~~~~~~~~~~~~~~~~~~~~~~~~~*/
+
+.g-item .g-context-menu { position: absolute; margin: 0; padding: 0; top: 20px; left: 198px; width: 14px; height: 14px; background-position: -178px -144px; z-index: 4; }
+.g-item .g-context-menu li { width: 100%; padding: 0; margin: 0; text-indent: -9999px; }
+.g-item .g-context-menu>li>a { font-size: 0em; }
+.g-item .g-context-menu:hover { top: 4px; left: 16px; top: 16px; width: 200px; height: auto; z-index: 102; }
+
+.g-extended .g-item .g-context-menu { left: 300px; }
+.g-extended .g-item .g-context-menu:hover { width: 300px; left: 16px; }
+.g-item .g-context-menu ul { padding: 0; margin: 0; }
+.g-item .g-context-menu li li { display: none; }
+.g-item .g-context-menu li li a { display: block; padding: 4px 6px; }
+.g-item .g-context-menu:hover li li { display: block; text-indent: 0px; }
+
+.g-item.g-detail .g-context-menu { left: auto; right: 6px; }
+.g-item.g-detail .g-context-menu:hover { left: auto; right: 6px; } \ No newline at end of file
diff --git a/themes/greydragon_old/css/modules.css b/themes/greydragon_old/css/modules.css
new file mode 100644
index 0000000..0271c23
--- /dev/null
+++ b/themes/greydragon_old/css/modules.css
@@ -0,0 +1,164 @@
+/**
+ * Gallery 3 Grey Dragon Theme
+ * Copyright (C) 2006-2011 Serguei Dosyukov
+ *
+ * CSS rules related to modules
+ */
+
+/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
+/* modules.css - ShadowBox Skin ~~~~~~~~~~~~~~~~~~~~~~~~*/
+
+#sb-title { overflow: hidden; }
+#sb-title-inner { font-size: 10pt; font-weight: bold; padding-left: 10px; }
+#sb-nav #sb-nav-close { background-image: url('../images/close.png'); width: 60px; }
+#sb-container > #sb-overlay { min-height: 530px; overflow: auto; }
+
+/* modules.css - FancyBox Skin ~~~~~~~~~~~~~~~~~~~~~~~~~*/
+
+#fancybox-outer { background: #555; }
+#fancybox-content { border-color: #555; }
+#fancybox-title-over { font-weight: bold; }
+.fancybox-title-inside { background: transparent; font-weight: bold; color: #FFF; text-align: left; }
+#fancybox-close { background: url(../images/close.png) 0 0 no-repeat; width: 60px; height: 16px; right: -6px; }
+#fancybox-left-ico { background: url(../images/arrows_left.png) no-repeat left center; width: 35px; height: 107px; top: 40%; }
+#fancybox-left:hover span { left: 10px; }
+#fancybox-right-ico { background: url(../images/arrows_right.png) no-repeat left center; width: 35px; height: 107px; top: 40%; }
+#fancybox-right:hover span { right: 10px; }
+
+/* modules.css - Exif Data ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
+
+#g-exif-data td { padding: 0.2em; }
+.g-thumbcrop a.g-meta-exif-link { position: absolute; left: 278px; bottom: 4px; z-index: 100; display: block; background: none center bottom no-repeat; width: 17px; height: 16px; }
+
+/* modules.css - Image Block ~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
+
+#g-image-block>div { margin-left: 1px; margin-right: 1px; }
+.g-image-block { text-align: center; }
+.g-image-block img { padding: 5px; max-width: 200px; height: auto; }
+
+/* modules.css - Image Block Ex ~~~~~~~~~~~~~~~~~~~~~~~~*/
+
+#g-rootpage #g-column-bottom #g-image-block-ex { display: none; }
+
+/* modules.css - RSS Feeds ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
+
+ul#g-feeds { padding: 0; margin: 0; }
+
+/* modules.css - Tags ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
+
+#g-tag-cloud ul { padding: 0; font-size: 100%; }
+#g-tag-cloud ul li { line-height: 1.2em; }
+#g-tag-cloud ul li span { display: none; }
+
+#g-add-tag-form fieldset ul { float: left; display: inline-block; padding: 0; }
+#g-add-tag-form li { float: left; margin: 0; padding: 0; }
+
+/* modules.css - Comments ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
+
+#g-comments { margin-top: 2em; float: left; width: 100%; min-height: 2em; }
+#g-comments ul li { margin: 0.4em 0; }
+
+#g-comments .g-button { right: 0.4em; cursor: pointer; /* hand-shaped cursor */ cursor: hand; /* for IE 5.x */ font-size: 0.8em; color: #333 !important; padding: 2px 10px; margin-top: 0.4em; border: 1px solid; border-color: #999 #666 #666 #999; background-color: #ddd; font-weight: normal; }
+.ui-icon-comment { background-position: -210px -144px; }
+
+#g-comment-detail ul { padding: 0; }
+#g-comment-detail>ul>li { margin: 4px 0; padding: 6px; min-height: 40px; }
+#g-comment-detail div { margin-top: 6px; padding-bottom: 8px; }
+#g-comment-detail li.g-no-comments { display: none; }
+#g-comment-detail p.g-no-comments { padding-bottom: 4px; }
+
+#g-comment-form fieldset { border: none; }
+#g-comment-form legend { display: none; width: 100%; }
+#g-comment-form ul { padding: 0; }
+#g-comment-form>fieldset>ul { margin: 0px 10px; }
+#g-comment-form label { display: block; }
+#g-comment-form textarea { width: 99%; height: 140px; }
+#g-comment-form input[type="text"],
+#g-comment-form input[type="password"] { width: 99%; }
+
+#g-comments .g-author { height: 32px; line-height: 32px; }
+#g-comments .g-avatar { height: 32px; margin-right: .4em; width: 32px; }
+
+/* modules.css - Gallery Stats ~~~~~~~~~~~~~~~~~~~~~~~~~*/
+
+#g-gallerystats ul { padding: 0; font-size: x-small; }
+
+/* modules.css - Info ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
+
+#g-metadata ul { padding: 0; }
+#g-metadata .g-description { margin-top: 0.4em; padding: 0.4em 0; }
+
+/* modules.css - Calendar ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
+
+#g-calendarview-link:hover { background-position: left bottom; }
+
+#g-view-calendar-form fieldset { border: none; }
+#g-view-calendar-form ul { padding: 8px; }
+#g-view-calendar-form li { padding-top: 8px; display: inline; padding-left: 10px; }
+#g-view-calendar-form label { margin: 4px 0; }
+#g-view-calendar-form select { margin: 4px 10px; }
+
+table.calendar { border-spacing: 1px; }
+table.calendar td.title a { font-weight: bold; }
+
+/* modules.css - ClustrMaps ~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
+
+#g-clustrmaps .g-block-content { text-align: center; }
+
+/* modules.css - GPS Info ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
+
+#g-exif-gps-maps ul { padding-left: 0; }
+
+/* modules.css - Search ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
+
+#g-quick-search-form { position: absolute; top: 3em; right: 1em; background: none transparent; }
+.viewmode-mini #g-quick-search-form { top: auto; right: auto; left: 1em; bottom: 2px; }
+#g-quick-search-form label { display: none; }
+#g-quick-search-form li { display: inline; float: left; padding: 0px; }
+
+#g-quick-search-form input[type="text"] { width: 150px; padding-top: 0.1em; padding-bottom: 0.1em; }
+#g-quick-search-form input[type="submit"] { display: block; width: 23px; height: 23px; text-indent: -9999px; overflow: hidden; }
+
+/* modules.css - Basket ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
+
+#g-header #basket, #g-header a[href="/basket/view_Orders"] { display: none; }
+#g-view-basket span.ui-icon { float: none; }
+
+#g-view-basket .ui-icon-plusthick { background-position: -32px -128px; }
+#g-view-basket .ui-icon-clipboard { background-position: -160px -128px; }
+#g-view-basket .ui-icon-trash { background-position: -176px -96px; }
+#g-view-basket .ui-icon-cart { background-position: -48px -112px; }
+#g-view-basket a.g-button { line-height: 2.2em; }
+#g-column-centerfull>.g-block { margin-top: 3em; }
+#g-column-centerfull>div>.basketbuttons>a.g-button>span { display: none; }
+
+/* modules.css - Register ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
+
+#g-welcome-message p { padding-bottom: 6px; }
+#g-change-password-user-form { height: 100%; }
+
+/* modules.css - Localization ~~~~~~~~~~~~~~~~~~~~~~~~~~*/
+
+#l10n-client .labels { border-top: white 1px solid; height: 1.7em; }
+#l10n-client h2 { padding-top: 0.4em; padding-bottom: 0.3em; }
+#l10n-client .label.translation { margin-top: -0.4em; height: 1.7em; }
+#l10n-client #l10n-client-toggler { line-height: 1.7em; height: 1.7em; }
+#l10n-client .string-list li { font-size: 0.8em; line-height: 1.1em; }
+#l10n-client #l10n-client-string-select { width: 24%; }
+#l10n-client #l10n-client-string-select .string-list { border: 1px #ccc solid; }
+#l10n-client #g-l10n-search-form ul { padding: 0; }
+#l10n-client #l10n-client-string-editor { margin-left: 1em; }
+#l10n-client-string-editor .source .source-text { margin: 0 0.4em 0 0; border: 1px #ccc solid; padding: 0.4em; line-height: 1em; }
+#l10n-client-string-editor .translation { height: 19em; }
+#l10n-client #l10n-edit-translation { width: 97%; height: 17em; border: 1px #ccc solid; font-family: monospace; padding: 0.4em; }
+
+/* modules.css - jcarousel ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
+
+.jcarousel-skin-tango .jcarousel-container { padding-top: 0.5em; }
+
+/* modules.css - ThumbNav ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
+
+#g-thumbnav-block-inline { margin-top: 26px; }
+#g-thumbnav-block-inline h2 { display: none; }
+#g-thumbnav-block .g-block-content,
+#g-thumbnav-block-inline .g-block-content { width: 210px; margin-left: auto; margin-right: auto; }
diff --git a/themes/greydragon_old/css/normalize.css b/themes/greydragon_old/css/normalize.css
new file mode 100644
index 0000000..9776813
--- /dev/null
+++ b/themes/greydragon_old/css/normalize.css
@@ -0,0 +1,431 @@
+/*! normalize.css 2011-11-04T15:38 UTC - http://github.com/necolas/normalize.css */
+
+/* =============================================================================
+ HTML5 display definitions
+ ========================================================================== */
+
+/*
+ * Corrects block display not defined in IE6/7/8/9 & FF3
+ */
+
+article,
+aside,
+details,
+figcaption,
+figure,
+footer,
+header,
+hgroup,
+nav,
+section {
+ display: block;
+}
+
+/*
+ * Corrects inline-block display not defined in IE6/7/8/9 & FF3
+ */
+
+audio,
+canvas,
+video {
+ display: inline-block;
+ *display: inline;
+ *zoom: 1;
+}
+
+/*
+ * Prevents modern browsers from displaying 'audio' without controls
+ */
+
+audio:not([controls]) {
+ display: none;
+}
+
+/*
+ * Addresses styling for 'hidden' attribute not present in IE7/8/9, FF3, S4
+ * Known issue: no IE6 support
+ */
+
+[hidden] {
+ display: none;
+}
+
+
+/* =============================================================================
+ Base
+ ========================================================================== */
+
+/*
+ * 1. Corrects text resizing oddly in IE6/7 when body font-size is set using em units
+ * http://clagnut.com/blog/348/#c790
+ * 2. Keeps page centred in all browsers regardless of content height
+ * 3. Prevents iOS text size adjust after orientation change, without disabling user zoom
+ * www.456bereastreet.com/archive/201012/controlling_text_size_in_safari_for_ios_without_disabling_user_zoom/
+ */
+
+html {
+ font-size: 100%; /* 1 */
+ overflow-y: scroll; /* 2 */
+ -webkit-text-size-adjust: 100%; /* 3 */
+ -ms-text-size-adjust: 100%; /* 3 */
+}
+
+/*
+ * Addresses margins handled incorrectly in IE6/7
+ */
+
+body {
+ margin: 0;
+}
+
+/*
+ * Addresses font-family inconsistency between 'textarea' and other form elements.
+ */
+
+body,
+button,
+input,
+select,
+textarea {
+ font-family: sans-serif;
+}
+
+
+/* =============================================================================
+ Links
+ ========================================================================== */
+
+/*
+ * Addresses outline displayed oddly in Chrome
+ */
+
+a:focus {
+ outline: thin dotted;
+}
+
+/*
+ * Improves readability when focused and also mouse hovered in all browsers
+ * people.opera.com/patrickl/experiments/keyboard/test
+ */
+
+a:hover,
+a:active {
+ outline: 0;
+}
+
+
+/* =============================================================================
+ Typography
+ ========================================================================== */
+
+/*
+ * Neutralise smaller font-size in 'section' and 'article' in FF4+, Chrome, S5
+ */
+
+h1 {
+ font-size: 2em;
+}
+
+/*
+ * Addresses styling not present in IE7/8/9, S5, Chrome
+ */
+
+abbr[title] {
+ border-bottom: 1px dotted;
+}
+
+/*
+ * Addresses style set to 'bolder' in FF3+, S4/5, Chrome
+*/
+
+b,
+strong {
+ font-weight: bold;
+}
+
+blockquote {
+ margin: 1em 40px;
+}
+
+/*
+ * Addresses styling not present in S5, Chrome
+ */
+
+dfn {
+ font-style: italic;
+}
+
+/*
+ * Addresses styling not present in IE6/7/8/9
+ */
+
+mark {
+ background: #ff0;
+ color: #000;
+}
+
+/*
+ * Corrects font family set oddly in IE6, S4/5, Chrome
+ * en.wikipedia.org/wiki/User:Davidgothberg/Test59
+ */
+
+pre,
+code,
+kbd,
+samp {
+ font-family: monospace, serif;
+ _font-family: 'courier new', monospace;
+ font-size: 1em;
+}
+
+/*
+ * Improves readability of pre-formatted text in all browsers
+ */
+
+pre {
+ white-space: pre;
+ white-space: pre-wrap;
+ word-wrap: break-word;
+}
+
+/*
+ * 1. Addresses CSS quotes not supported in IE6/7
+ * 2. Addresses quote property not supported in S4
+ */
+
+/* 1 */
+
+q {
+ quotes: none;
+}
+
+/* 2 */
+
+q:before,
+q:after {
+ content: '';
+ content: none;
+}
+
+small {
+ font-size: 75%;
+}
+
+/*
+ * Prevents sub and sup affecting line-height in all browsers
+ * gist.github.com/413930
+ */
+
+sub,
+sup {
+ font-size: 75%;
+ line-height: 0;
+ position: relative;
+ vertical-align: baseline;
+}
+
+sup {
+ top: -0.5em;
+}
+
+sub {
+ bottom: -0.25em;
+}
+
+
+/* =============================================================================
+ Lists
+ ========================================================================== */
+
+ul,
+ol {
+ margin-left: 0;
+ padding: 0 0 0 40px;
+}
+
+dd {
+ margin: 0 0 0 40px;
+}
+
+nav ul,
+nav ol {
+ list-style: none;
+ list-style-image: none;
+}
+
+
+/* =============================================================================
+ Embedded content
+ ========================================================================== */
+
+/*
+ * 1. Removes border when inside 'a' element in IE6/7/8/9, FF3
+ * 2. Improves image quality when scaled in IE7
+ * code.flickr.com/blog/2008/11/12/on-ui-quality-the-little-things-client-side-image-resizing/
+ */
+
+img {
+ border: 0; /* 1 */
+ -ms-interpolation-mode: bicubic; /* 2 */
+}
+
+/*
+ * Corrects overflow displayed oddly in IE9
+ */
+
+svg:not(:root) {
+ overflow: hidden;
+}
+
+
+/* =============================================================================
+ Figures
+ ========================================================================== */
+
+/*
+ * Addresses margin not present in IE6/7/8/9, S5, O11
+ */
+
+figure {
+ margin: 0;
+}
+
+
+/* =============================================================================
+ Forms
+ ========================================================================== */
+
+/*
+ * Corrects margin displayed oddly in IE6/7
+ */
+
+form {
+ margin: 0;
+}
+
+/*
+ * Define consistent border, margin, and padding
+ */
+
+fieldset {
+ border: 1px solid #c0c0c0;
+ margin: 0 2px;
+ padding: 0.35em 0.625em 0.75em;
+}
+
+/*
+ * 1. Corrects color not being inherited in IE6/7/8/9
+ * 2. Corrects alignment displayed oddly in IE6/7
+ */
+
+legend {
+ border: 0; /* 1 */
+ *margin-left: -7px; /* 2 */
+}
+
+/*
+ * 1. Corrects font size not being inherited in all browsers
+ * 2. Addresses margins set differently in IE6/7, FF3+, S5, Chrome
+ * 3. Improves appearance and consistency in all browsers
+ */
+
+button,
+input,
+select,
+textarea {
+ font-size: 100%; /* 1 */
+ margin: 0; /* 2 */
+ vertical-align: baseline; /* 3 */
+ *vertical-align: middle; /* 3 */
+}
+
+/*
+ * Addresses FF3/4 setting line-height on 'input' using !important in the UA stylesheet
+ */
+
+button,
+input {
+ line-height: normal; /* 1 */
+}
+
+/*
+ * 1. Improves usability and consistency of cursor style between image-type 'input' and others
+ * 2. Corrects inability to style clickable 'input' types in iOS
+ * 3. Removes inner spacing in IE7 without affecting normal text inputs
+ * Known issue: inner spacing remains in IE6
+ */
+
+button,
+input[type="button"],
+input[type="reset"],
+input[type="submit"] {
+ cursor: pointer; /* 1 */
+ -webkit-appearance: button; /* 2 */
+ *overflow: visible; /* 3 */
+}
+
+/*
+ * 1. Addresses box sizing set to content-box in IE8/9
+ * 2. Removes excess padding in IE8/9
+ */
+
+input[type="checkbox"],
+input[type="radio"] {
+ box-sizing: border-box; /* 1 */
+ padding: 0; /* 2 */
+}
+
+/*
+ * 1. Addresses appearance set to searchfield in S5, Chrome
+ * 2. Addresses box-sizing set to border-box in S5, Chrome (include -moz to future-proof)
+ */
+
+input[type="search"] {
+ -webkit-appearance: textfield; /* 1 */
+ -moz-box-sizing: content-box;
+ -webkit-box-sizing: content-box; /* 2 */
+ box-sizing: content-box;
+}
+
+/*
+ * Removes inner padding that is displayed in S5, Chrome on OS X
+ */
+
+input[type="search"]::-webkit-search-decoration {
+ -webkit-appearance: none;
+}
+
+/*
+ * Removes inner padding and border in FF3+
+ * www.sitepen.com/blog/2008/05/14/the-devils-in-the-details-fixing-dojos-toolbar-buttons/
+ */
+
+button::-moz-focus-inner,
+input::-moz-focus-inner {
+ border: 0;
+ padding: 0;
+}
+
+/*
+ * 1. Removes default vertical scrollbar in IE6/7/8/9
+ * 2. Improves readability and alignment in all browsers
+ */
+
+textarea {
+ overflow: auto; /* 1 */
+ vertical-align: top; /* 2 */
+}
+
+
+/* =============================================================================
+ Tables
+ ========================================================================== */
+
+/*
+ * Remove most spacing between table cells
+ */
+
+table {
+ border-collapse: collapse;
+ border-spacing: 0;
+}
diff --git a/themes/greydragon_old/css/rtl.css b/themes/greydragon_old/css/rtl.css
new file mode 100644
index 0000000..1d74d90
--- /dev/null
+++ b/themes/greydragon_old/css/rtl.css
@@ -0,0 +1,47 @@
+/**
+ * Gallery 3 Grey Dragon Theme
+ * Copyright (C) 2006-2011 Serguei Dosyukov
+ *
+ * CSS rules related to general layout
+ * Defined as 70em wide
+ */
+
+.rtl { direction: rtl; }
+
+.rtl #g-header, .rtl #g-main, .rtl #g-sidebar, .rtl #g-footer,
+.rtl caption, .rtl th, .rtl #g-dialog,
+.rtl .g-context-menu li a, .rtl #g-site-menu a,
+.rtl .g-metadata li, .rtl DIV.g-resize .g-description,
+.rtl .g-message-box li, .rtl #g-site-status li { text-align: right; }
+
+.rtl .g-text-right { text-align: left; }
+
+.rtl #g-site-menu li:hover ul ul,
+.rtl #g-site-menu li:hover ul ul ul,
+.rtl #g-site-menu li.iemhover ul ul,
+.rtl #g-site-menu li.iemhover ul ul ul { left: 999em; }
+
+.rtl .g-left, .rtl .g-inline li, .rtl .g-breadcrumbs li, .rtl .g-paginator li,
+.rtl .g-navigation li .rtl .g-buttonset li, .rtl .ui-icon-left .ui-icon,
+.rtl .g-metadata li,
+.rtl #g-column-bottom .g-block,
+.rtl .g-short-form li, .rtl form ul ul li, .rtl input[type="submit"],
+.rtl input[type="reset"], .rtl input.checkbox, .rtl input[type=checkbox],
+.rtl input.radio, .rtl input[type=radio] { float: right; }
+
+.rtl .g-paginator .g-navigation { text-align: left; }
+
+.rtl #g-column-centerfull #g-album-header h1 { padding-right: 12em; }
+.rtl .g-buttonset .g-menu-link { text-indent: 9999px; }
+
+.rtl .g-thumbslide { padding-left: 0; padding-right: 6px; }
+.rtl .g-thumbslide .g-description { padding-left: 10px; }
+
+.rtl .ui-icon-first { background-position: -210px -178px; }
+.rtl .ui-icon-first-d { background-position: -210px -162px; }
+.rtl .ui-icon-prev { background-position: -194px -178px; }
+.rtl .ui-icon-prev-d { background-position: -194px -162px; }
+.rtl .ui-icon-next { background-position: -178px -178px; }
+.rtl .ui-icon-next-d { background-position: -178px -162px; }
+.rtl .ui-icon-last { background-position: -162px -178px; }
+.rtl .ui-icon-last-d { background-position: -162px -162px; }
diff --git a/themes/greydragon_old/css/screen.css b/themes/greydragon_old/css/screen.css
new file mode 100644
index 0000000..d820ad5
--- /dev/null
+++ b/themes/greydragon_old/css/screen.css
@@ -0,0 +1,17 @@
+/**
+ * Gallery 3 Grey Dragon Theme
+ * Copyright (C) 2006-2011 Serguei Dosyukov
+ *
+ * CSS rules - Kitchen sync
+ *
+ * Color rules for font/background/lines can be found in dedicated colorpack files
+ */
+
+@import "normalize.css";
+@import "layout.css";
+@import "menus.css";
+@import "modules.css";
+@import "forms.css";
+@import "base.css";
+@import "ipad.css";
+@import "rtl.css";
diff --git a/themes/greydragon_old/helpers/exif_event.php b/themes/greydragon_old/helpers/exif_event.php
new file mode 100644
index 0000000..02536ff
--- /dev/null
+++ b/themes/greydragon_old/helpers/exif_event.php
@@ -0,0 +1,45 @@
+<?php defined("SYSPATH") or die("No direct script access.");
+/**
+ * Grey Dragon Theme - a custom theme for Gallery 3
+ * This theme was designed and built by Serguei Dosyukov, whose blog you will find at http://blog.dragonsoft.us
+ * Copyright (C) 2009-2011 Serguei Dosyukov
+ *
+ * This program is free software; you can redistribute it and/or modify it under the terms of the GNU General
+ * Public License as published by the Free Software Foundation; either version 2 of the License, or (at your
+ * option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the
+ * implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * for more details.
+ *
+ * You should have received a copy of the GNU General Public License along with this program; if not, write to
+ * the Free Software Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA.
+ */
+?>
+<?
+class exif_event_Core {
+ static function item_created($item) {
+ if (!$item->is_album()) {
+ exif::extract($item);
+ }
+ }
+
+ static function item_deleted($item) {
+ db::build()
+ ->delete("exif_records")
+ ->where("item_id", "=", $item->id)
+ ->execute();
+ }
+
+ static function photo_menu($menu, $theme) {
+ $item = $theme->item();
+ $menu->append(
+ Menu::factory("link")
+ ->id("exifdata-link")
+ ->label(t("Photo Details"))
+ ->url(url::site("exif/show/$item->id"))
+ ->css_id("g-exifdata-link")
+ ->css_class("g-dialog-link"));
+ }
+}
+?>
diff --git a/themes/greydragon_old/helpers/greydragon_event.php b/themes/greydragon_old/helpers/greydragon_event.php
new file mode 100644
index 0000000..8761b1a
--- /dev/null
+++ b/themes/greydragon_old/helpers/greydragon_event.php
@@ -0,0 +1,92 @@
+<?php defined("SYSPATH") or die("No direct script access.");
+/**
+ * Grey Dragon Theme - a custom theme for Gallery 3
+ * This theme was designed and built by Serguei Dosyukov, whose blog you will find at http://blog.dragonsoft.us
+ * Copyright (C) 2009-2011 Serguei Dosyukov
+ *
+ * This program is free software; you can redistribute it and/or modify it under the terms of the GNU General
+ * Public License as published by the Free Software Foundation; either version 2 of the License, or (at your
+ * option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the
+ * implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * for more details.
+ *
+ * You should have received a copy of the GNU General Public License along with this program; if not, write to
+ * the Free Software Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA.
+ */
+?>
+<?
+class greydragon_event_Core {
+
+ static function site_menu($menu, $theme) {
+ $submenu = $menu->get("add_menu");
+ if (!empty($submenu)) {
+ $item = $submenu->get("add_photos_item");
+ if (!empty($item)) { $item->css_class("ui-icon-plus"); }
+
+ $item = $submenu->get("add_album_item");
+ if (!empty($item)) { $item->css_class("ui-icon-note"); }
+ }
+
+ $submenu = $menu->get("options_menu");
+ if (!empty($submenu)) {
+ $item = $submenu->get("edit_item");
+ if (!empty($item)) { $item->css_class("ui-icon-pencil"); }
+
+ $item = $submenu->get("edit_permissions");
+ if (!empty($item)) { $item->css_class("ui-icon-key"); }
+ }
+ }
+
+ static function read_session_cmdparam($cmd, $cookie, $default) {
+ try {
+ $_cmd = $_GET[$cmd];
+ } catch (Exception $e) {
+ };
+
+ if (isset($_cmd)):
+ $_var = strtolower($_cmd);
+ $_from_cmd = TRUE;
+ if ($_var == "default"):
+ $_var = $default;
+ endif;
+ else:
+ $_from_cmd = FALSE;
+ if ($cookie):
+ try {
+ $_var = $_COOKIE[$cookie];
+ } catch (Exception $e) {
+ };
+ endif;
+ endif;
+
+ if (!isset($_var)):
+ $_var = $default;
+ endif;
+
+ return $_var;
+ }
+
+ static function add_path($path) {
+ $config = Kohana_Config::instance();
+ $kohana_modules = $config->get("core.modules");
+ array_unshift($kohana_modules, THEMEPATH . $path);
+ $config->set("core.modules", $kohana_modules);
+ Kohana::include_paths(true);
+ }
+
+ static function add_path_ex($setting, $cmd, $cookie, $path, $default) {
+ $value = module::get_var("th_greydragon", $setting, $default);
+ $value = self::read_session_cmdparam($cmd, $cookie, $value);
+
+ self::add_path("greydragon/css/" . $path . "/" . $value);
+ }
+
+ static function gallery_ready() {
+ self::add_path_ex("frame_pack", "framepack", "gd_framepack", "framepacks", "greydragon");
+ self::add_path_ex("color_pack", "colorpack", "gd_colorpack", "colorpacks", "greydragon");
+ self::add_path("custom");
+ }
+}
+?> \ No newline at end of file
diff --git a/themes/greydragon_old/helpers/greydragon_installer.php b/themes/greydragon_old/helpers/greydragon_installer.php
new file mode 100644
index 0000000..4f19787
--- /dev/null
+++ b/themes/greydragon_old/helpers/greydragon_installer.php
@@ -0,0 +1,30 @@
+<?php defined("SYSPATH") or die("No direct script access.");
+/**
+ * Grey Dragon Theme - a custom theme for Gallery 3
+ * This theme was designed and built by Serguei Dosyukov, whose blog you will find at http://blog.dragonsoft.us
+ * Copyright (C) 2009-2011 Serguei Dosyukov
+ *
+ * This program is free software; you can redistribute it and/or modify it under the terms of the GNU General
+ * Public License as published by the Free Software Foundation; either version 2 of the License, or (at your
+ * option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the
+ * implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * for more details.
+ *
+ * You should have received a copy of the GNU General Public License along with this program; if not, write to
+ * the Free Software Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA.
+ */
+?>
+<?
+class greydragon_installer {
+ static function install() {
+ site_status::warning(t("Initial configuration for the theme may be required. Visit Admin\Appearance\Theme Options before continue."), "gd_init_configuration");
+ }
+
+ static function deactivate() {
+ site_status::clear("gd_init_configuration");
+ }
+}
+
+?> \ No newline at end of file
diff --git a/themes/greydragon_old/helpers/greydragon_theme.php b/themes/greydragon_old/helpers/greydragon_theme.php
new file mode 100644
index 0000000..1c502c1
--- /dev/null
+++ b/themes/greydragon_old/helpers/greydragon_theme.php
@@ -0,0 +1,20 @@
+<?php defined("SYSPATH") or die("No direct script access.");
+/**
+ * Grey Dragon Theme - a custom theme for Gallery 3
+ * This theme was designed and built by Serguei Dosyukov, whose blog you will find at http://blog.dragonsoft.us
+ * Copyright (C) 2009-2011 Serguei Dosyukov
+ *
+ * This program is free software; you can redistribute it and/or modify it under the terms of the GNU General
+ * Public License as published by the Free Software Foundation; either version 2 of the License, or (at your
+ * option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the
+ * implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * for more details.
+ *
+ * You should have received a copy of the GNU General Public License along with this program; if not, write to
+ * the Free Software Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA.
+ */
+?>
+<? // Nothing to do here, just to fix errors when Kohana is unhappy about the file missing
+?>
diff --git a/themes/greydragon_old/images/apple-touch-icon.png b/themes/greydragon_old/images/apple-touch-icon.png
new file mode 100644
index 0000000..5017ea4
--- /dev/null
+++ b/themes/greydragon_old/images/apple-touch-icon.png
Binary files differ
diff --git a/themes/greydragon_old/images/arrows_left.png b/themes/greydragon_old/images/arrows_left.png
new file mode 100644
index 0000000..dc9dcdf
--- /dev/null
+++ b/themes/greydragon_old/images/arrows_left.png
Binary files differ
diff --git a/themes/greydragon_old/images/arrows_right.png b/themes/greydragon_old/images/arrows_right.png
new file mode 100644
index 0000000..80188c1
--- /dev/null
+++ b/themes/greydragon_old/images/arrows_right.png
Binary files differ
diff --git a/themes/greydragon_old/images/avatar.jpg b/themes/greydragon_old/images/avatar.jpg
new file mode 100644
index 0000000..71166cc
--- /dev/null
+++ b/themes/greydragon_old/images/avatar.jpg
Binary files differ
diff --git a/themes/greydragon_old/images/blue-grad.png b/themes/greydragon_old/images/blue-grad.png
new file mode 100644
index 0000000..868a657
--- /dev/null
+++ b/themes/greydragon_old/images/blue-grad.png
Binary files differ
diff --git a/themes/greydragon_old/images/button-grad-active-vs.png b/themes/greydragon_old/images/button-grad-active-vs.png
new file mode 100644
index 0000000..dc64172
--- /dev/null
+++ b/themes/greydragon_old/images/button-grad-active-vs.png
Binary files differ
diff --git a/themes/greydragon_old/images/button-grad-vs.png b/themes/greydragon_old/images/button-grad-vs.png
new file mode 100644
index 0000000..51c55a3
--- /dev/null
+++ b/themes/greydragon_old/images/button-grad-vs.png
Binary files differ
diff --git a/themes/greydragon_old/images/close.png b/themes/greydragon_old/images/close.png
new file mode 100644
index 0000000..d874f9a
--- /dev/null
+++ b/themes/greydragon_old/images/close.png
Binary files differ
diff --git a/themes/greydragon_old/images/donate.png b/themes/greydragon_old/images/donate.png
new file mode 100644
index 0000000..f36bb57
--- /dev/null
+++ b/themes/greydragon_old/images/donate.png
Binary files differ
diff --git a/themes/greydragon_old/images/gallery.png b/themes/greydragon_old/images/gallery.png
new file mode 100644
index 0000000..038b18a
--- /dev/null
+++ b/themes/greydragon_old/images/gallery.png
Binary files differ
diff --git a/themes/greydragon_old/images/ico-allowed.png b/themes/greydragon_old/images/ico-allowed.png
new file mode 100644
index 0000000..08f2493
--- /dev/null
+++ b/themes/greydragon_old/images/ico-allowed.png
Binary files differ
diff --git a/themes/greydragon_old/images/ico-denied-inactive.png b/themes/greydragon_old/images/ico-denied-inactive.png
new file mode 100644
index 0000000..56db3ff
--- /dev/null
+++ b/themes/greydragon_old/images/ico-denied-inactive.png
Binary files differ
diff --git a/themes/greydragon_old/images/ico-denied-passive.png b/themes/greydragon_old/images/ico-denied-passive.png
new file mode 100644
index 0000000..1e99223
--- /dev/null
+++ b/themes/greydragon_old/images/ico-denied-passive.png
Binary files differ
diff --git a/themes/greydragon_old/images/ico-denied.png b/themes/greydragon_old/images/ico-denied.png
new file mode 100644
index 0000000..08f2493
--- /dev/null
+++ b/themes/greydragon_old/images/ico-denied.png
Binary files differ
diff --git a/themes/greydragon_old/images/ico-error.png b/themes/greydragon_old/images/ico-error.png
new file mode 100644
index 0000000..c37bd06
--- /dev/null
+++ b/themes/greydragon_old/images/ico-error.png
Binary files differ
diff --git a/themes/greydragon_old/images/ico-help.png b/themes/greydragon_old/images/ico-help.png
new file mode 100644
index 0000000..5c87017
--- /dev/null
+++ b/themes/greydragon_old/images/ico-help.png
Binary files differ
diff --git a/themes/greydragon_old/images/ico-info.png b/themes/greydragon_old/images/ico-info.png
new file mode 100644
index 0000000..12cd1ae
--- /dev/null
+++ b/themes/greydragon_old/images/ico-info.png
Binary files differ
diff --git a/themes/greydragon_old/images/ico-lock.png b/themes/greydragon_old/images/ico-lock.png
new file mode 100644
index 0000000..2ebc4f6
--- /dev/null
+++ b/themes/greydragon_old/images/ico-lock.png
Binary files differ
diff --git a/themes/greydragon_old/images/ico-success-inactive.png b/themes/greydragon_old/images/ico-success-inactive.png
new file mode 100644
index 0000000..a209fb6
--- /dev/null
+++ b/themes/greydragon_old/images/ico-success-inactive.png
Binary files differ
diff --git a/themes/greydragon_old/images/ico-success-passive.png b/themes/greydragon_old/images/ico-success-passive.png
new file mode 100644
index 0000000..c8460d1
--- /dev/null
+++ b/themes/greydragon_old/images/ico-success-passive.png
Binary files differ
diff --git a/themes/greydragon_old/images/ico-success.png b/themes/greydragon_old/images/ico-success.png
new file mode 100644
index 0000000..a9925a0
--- /dev/null
+++ b/themes/greydragon_old/images/ico-success.png
Binary files differ
diff --git a/themes/greydragon_old/images/ico-warning.png b/themes/greydragon_old/images/ico-warning.png
new file mode 100644
index 0000000..628cf2d
--- /dev/null
+++ b/themes/greydragon_old/images/ico-warning.png
Binary files differ
diff --git a/themes/greydragon_old/images/missing-img.png b/themes/greydragon_old/images/missing-img.png
new file mode 100644
index 0000000..12b7394
--- /dev/null
+++ b/themes/greydragon_old/images/missing-img.png
Binary files differ
diff --git a/themes/greydragon_old/js/jquery.cycle.js b/themes/greydragon_old/js/jquery.cycle.js
new file mode 100644
index 0000000..caef8ea
--- /dev/null
+++ b/themes/greydragon_old/js/jquery.cycle.js
@@ -0,0 +1,1544 @@
+/*!
+ * jQuery Cycle Plugin (with Transition Definitions)
+ * Examples and documentation at: http://jquery.malsup.com/cycle/
+ * Copyright (c) 2007-2010 M. Alsup
+ * Version: 2.9999.4 (29-MAR-2012)
+ * Dual licensed under the MIT and GPL licenses.
+ * http://jquery.malsup.com/license.html
+ * Requires: jQuery v1.3.2 or later
+ */
+;(function($, undefined) {
+"use strict";
+
+var ver = '2.9999.4';
+
+// if $.support is not defined (pre jQuery 1.3) add what I need
+if ($.support === undefined) {
+ $.support = {
+ opacity: !($.browser.msie)
+ };
+}
+
+function debug(s) {
+ if ($.fn.cycle.debug)
+ log(s);
+}
+function log() {
+ if (window.console && console.log)
+ console.log('[cycle] ' + Array.prototype.join.call(arguments,' '));
+}
+$.expr[':'].paused = function(el) {
+ return el.cyclePause;
+};
+
+
+// the options arg can be...
+// a number - indicates an immediate transition should occur to the given slide index
+// a string - 'pause', 'resume', 'toggle', 'next', 'prev', 'stop', 'destroy' or the name of a transition effect (ie, 'fade', 'zoom', etc)
+// an object - properties to control the slideshow
+//
+// the arg2 arg can be...
+// the name of an fx (only used in conjunction with a numeric value for 'options')
+// the value true (only used in first arg == 'resume') and indicates
+// that the resume should occur immediately (not wait for next timeout)
+
+$.fn.cycle = function(options, arg2) {
+ var o = { s: this.selector, c: this.context };
+
+ // in 1.3+ we can fix mistakes with the ready state
+ if (this.length === 0 && options != 'stop') {
+ if (!$.isReady && o.s) {
+ log('DOM not ready, queuing slideshow');
+ $(function() {
+ $(o.s,o.c).cycle(options,arg2);
+ });
+ return this;
+ }
+ // is your DOM ready? http://docs.jquery.com/Tutorials:Introducing_$(document).ready()
+ log('terminating; zero elements found by selector' + ($.isReady ? '' : ' (DOM not ready)'));
+ return this;
+ }
+
+ // iterate the matched nodeset
+ return this.each(function() {
+ var opts = handleArguments(this, options, arg2);
+ if (opts === false)
+ return;
+
+ opts.updateActivePagerLink = opts.updateActivePagerLink || $.fn.cycle.updateActivePagerLink;
+
+ // stop existing slideshow for this container (if there is one)
+ if (this.cycleTimeout)
+ clearTimeout(this.cycleTimeout);
+ this.cycleTimeout = this.cyclePause = 0;
+
+ var $cont = $(this);
+ var $slides = opts.slideExpr ? $(opts.slideExpr, this) : $cont.children();
+ var els = $slides.get();
+
+ if (els.length < 2) {
+ log('terminating; too few slides: ' + els.length);
+ return;
+ }
+
+ var opts2 = buildOptions($cont, $slides, els, opts, o);
+ if (opts2 === false)
+ return;
+
+ var startTime = opts2.continuous ? 10 : getTimeout(els[opts2.currSlide], els[opts2.nextSlide], opts2, !opts2.backwards);
+
+ // if it's an auto slideshow, kick it off
+ if (startTime) {
+ startTime += (opts2.delay || 0);
+ if (startTime < 10)
+ startTime = 10;
+ debug('first timeout: ' + startTime);
+ this.cycleTimeout = setTimeout(function(){go(els,opts2,0,!opts.backwards);}, startTime);
+ }
+ });
+};
+
+function triggerPause(cont, byHover, onPager) {
+ var opts = $(cont).data('cycle.opts');
+ var paused = !!cont.cyclePause;
+ if (paused && opts.paused)
+ opts.paused(cont, opts, byHover, onPager);
+ else if (!paused && opts.resumed)
+ opts.resumed(cont, opts, byHover, onPager);
+}
+
+// process the args that were passed to the plugin fn
+function handleArguments(cont, options, arg2) {
+ if (cont.cycleStop === undefined)
+ cont.cycleStop = 0;
+ if (options === undefined || options === null)
+ options = {};
+ if (options.constructor == String) {
+ switch(options) {
+ case 'destroy':
+ case 'stop':
+ var opts = $(cont).data('cycle.opts');
+ if (!opts)
+ return false;
+ cont.cycleStop++; // callbacks look for change
+ if (cont.cycleTimeout)
+ clearTimeout(cont.cycleTimeout);
+ cont.cycleTimeout = 0;
+ if (opts.elements)
+ $(opts.elements).stop();
+ $(cont).removeData('cycle.opts');
+ if (options == 'destroy')
+ destroy(cont, opts);
+ return false;
+ case 'toggle':
+ cont.cyclePause = (cont.cyclePause === 1) ? 0 : 1;
+ checkInstantResume(cont.cyclePause, arg2, cont);
+ triggerPause(cont);
+ return false;
+ case 'pause':
+ cont.cyclePause = 1;
+ triggerPause(cont);
+ return false;
+ case 'resume':
+ cont.cyclePause = 0;
+ checkInstantResume(false, arg2, cont);
+ triggerPause(cont);
+ return false;
+ case 'prev':
+ case 'next':
+ opts = $(cont).data('cycle.opts');
+ if (!opts) {
+ log('options not found, "prev/next" ignored');
+ return false;
+ }
+ $.fn.cycle[options](opts);
+ return false;
+ default:
+ options = { fx: options };
+ }
+ return options;
+ }
+ else if (options.constructor == Number) {
+ // go to the requested slide
+ var num = options;
+ options = $(cont).data('cycle.opts');
+ if (!options) {
+ log('options not found, can not advance slide');
+ return false;
+ }
+ if (num < 0 || num >= options.elements.length) {
+ log('invalid slide index: ' + num);
+ return false;
+ }
+ options.nextSlide = num;
+ if (cont.cycleTimeout) {
+ clearTimeout(cont.cycleTimeout);
+ cont.cycleTimeout = 0;
+ }
+ if (typeof arg2 == 'string')
+ options.oneTimeFx = arg2;
+ go(options.elements, options, 1, num >= options.currSlide);
+ return false;
+ }
+ return options;
+
+ function checkInstantResume(isPaused, arg2, cont) {
+ if (!isPaused && arg2 === true) { // resume now!
+ var options = $(cont).data('cycle.opts');
+ if (!options) {
+ log('options not found, can not resume');
+ return false;
+ }
+ if (cont.cycleTimeout) {
+ clearTimeout(cont.cycleTimeout);
+ cont.cycleTimeout = 0;
+ }
+ go(options.elements, options, 1, !options.backwards);
+ }
+ }
+}
+
+function removeFilter(el, opts) {
+ if (!$.support.opacity && opts.cleartype && el.style.filter) {
+ try { el.style.removeAttribute('filter'); }
+ catch(smother) {} // handle old opera versions
+ }
+}
+
+// unbind event handlers
+function destroy(cont, opts) {
+ if (opts.next)
+ $(opts.next).unbind(opts.prevNextEvent);
+ if (opts.prev)
+ $(opts.prev).unbind(opts.prevNextEvent);
+
+ if (opts.pager || opts.pagerAnchorBuilder)
+ $.each(opts.pagerAnchors || [], function() {
+ this.unbind().remove();
+ });
+ opts.pagerAnchors = null;
+ $(cont).unbind('mouseenter.cycle mouseleave.cycle');
+ if (opts.destroy) // callback
+ opts.destroy(opts);
+}
+
+// one-time initialization
+function buildOptions($cont, $slides, els, options, o) {
+ var startingSlideSpecified;
+ // support metadata plugin (v1.0 and v2.0)
+ var opts = $.extend({}, $.fn.cycle.defaults, options || {}, $.metadata ? $cont.metadata() : $.meta ? $cont.data() : {});
+ var meta = $.isFunction($cont.data) ? $cont.data(opts.metaAttr) : null;
+ if (meta)
+ opts = $.extend(opts, meta);
+ if (opts.autostop)
+ opts.countdown = opts.autostopCount || els.length;
+
+ var cont = $cont[0];
+ $cont.data('cycle.opts', opts);
+ opts.$cont = $cont;
+ opts.stopCount = cont.cycleStop;
+ opts.elements = els;
+ opts.before = opts.before ? [opts.before] : [];
+ opts.after = opts.after ? [opts.after] : [];
+
+ // push some after callbacks
+ if (!$.support.opacity && opts.cleartype)
+ opts.after.push(function() { removeFilter(this, opts); });
+ if (opts.continuous)
+ opts.after.push(function() { go(els,opts,0,!opts.backwards); });
+
+ saveOriginalOpts(opts);
+
+ // clearType corrections
+ if (!$.support.opacity && opts.cleartype && !opts.cleartypeNoBg)
+ clearTypeFix($slides);
+
+ // container requires non-static position so that slides can be position within
+ if ($cont.css('position') == 'static')
+ $cont.css('position', 'relative');
+ if (opts.width)
+ $cont.width(opts.width);
+ if (opts.height && opts.height != 'auto')
+ $cont.height(opts.height);
+
+ if (opts.startingSlide !== undefined) {
+ opts.startingSlide = parseInt(opts.startingSlide,10);
+ if (opts.startingSlide >= els.length || opts.startSlide < 0)
+ opts.startingSlide = 0; // catch bogus input
+ else
+ startingSlideSpecified = true;
+ }
+ else if (opts.backwards)
+ opts.startingSlide = els.length - 1;
+ else
+ opts.startingSlide = 0;
+
+ // if random, mix up the slide array
+ if (opts.random) {
+ opts.randomMap = [];
+ for (var i = 0; i < els.length; i++)
+ opts.randomMap.push(i);
+ opts.randomMap.sort(function(a,b) {return Math.random() - 0.5;});
+ if (startingSlideSpecified) {
+ // try to find the specified starting slide and if found set start slide index in the map accordingly
+ for ( var cnt = 0; cnt < els.length; cnt++ ) {
+ if ( opts.startingSlide == opts.randomMap[cnt] ) {
+ opts.randomIndex = cnt;
+ }
+ }
+ }
+ else {
+ opts.randomIndex = 1;
+ opts.startingSlide = opts.randomMap[1];
+ }
+ }
+ else if (opts.startingSlide >= els.length)
+ opts.startingSlide = 0; // catch bogus input
+ opts.currSlide = opts.startingSlide || 0;
+ var first = opts.startingSlide;
+
+ // set position and zIndex on all the slides
+ $slides.css({position: 'absolute', top:0, left:0}).hide().each(function(i) {
+ var z;
+ if (opts.backwards)
+ z = first ? i <= first ? els.length + (i-first) : first-i : els.length-i;
+ else
+ z = first ? i >= first ? els.length - (i-first) : first-i : els.length-i;
+ $(this).css('z-index', z);
+ });
+
+ // make sure first slide is visible
+ $(els[first]).css('opacity',1).show(); // opacity bit needed to handle restart use case
+ removeFilter(els[first], opts);
+
+ // stretch slides
+ if (opts.fit) {
+ if (!opts.aspect) {
+ if (opts.width)
+ $slides.width(opts.width);
+ if (opts.height && opts.height != 'auto')
+ $slides.height(opts.height);
+ } else {
+ $slides.each(function(){
+ var $slide = $(this);
+ var ratio = (opts.aspect === true) ? $slide.width()/$slide.height() : opts.aspect;
+ if( opts.width && $slide.width() != opts.width ) {
+ $slide.width( opts.width );
+ $slide.height( opts.width / ratio );
+ }
+
+ if( opts.height && $slide.height() < opts.height ) {
+ $slide.height( opts.height );
+ $slide.width( opts.height * ratio );
+ }
+ });
+ }
+ }
+
+ if (opts.center && ((!opts.fit) || opts.aspect)) {
+ $slides.each(function(){
+ var $slide = $(this);
+ $slide.css({
+ "margin-left": opts.width ?
+ ((opts.width - $slide.width()) / 2) + "px" :
+ 0,
+ "margin-top": opts.height ?
+ ((opts.height - $slide.height()) / 2) + "px" :
+ 0
+ });
+ });
+ }
+
+ if (opts.center && !opts.fit && !opts.slideResize) {
+ $slides.each(function(){
+ var $slide = $(this);
+ $slide.css({
+ "margin-left": opts.width ? ((opts.width - $slide.width()) / 2) + "px" : 0,
+ "margin-top": opts.height ? ((opts.height - $slide.height()) / 2) + "px" : 0
+ });
+ });
+ }
+
+ // stretch container
+ var reshape = opts.containerResize && !$cont.innerHeight();
+ if (reshape) { // do this only if container has no size http://tinyurl.com/da2oa9
+ var maxw = 0, maxh = 0;
+ for(var j=0; j < els.length; j++) {
+ var $e = $(els[j]), e = $e[0], w = $e.outerWidth(), h = $e.outerHeight();
+ if (!w) w = e.offsetWidth || e.width || $e.attr('width');
+ if (!h) h = e.offsetHeight || e.height || $e.attr('height');
+ maxw = w > maxw ? w : maxw;
+ maxh = h > maxh ? h : maxh;
+ }
+ if (maxw > 0 && maxh > 0)
+ $cont.css({width:maxw+'px',height:maxh+'px'});
+ }
+
+ var pauseFlag = false; // https://github.com/malsup/cycle/issues/44
+ if (opts.pause)
+ $cont.bind('mouseenter.cycle', function(){
+ pauseFlag = true;
+ this.cyclePause++;
+ triggerPause(cont, true);
+ }).bind('mouseleave.cycle', function(){
+ if (pauseFlag)
+ this.cyclePause--;
+ triggerPause(cont, true);
+ });
+
+ if (supportMultiTransitions(opts) === false)
+ return false;
+
+ // apparently a lot of people use image slideshows without height/width attributes on the images.
+ // Cycle 2.50+ requires the sizing info for every slide; this block tries to deal with that.
+ var requeue = false;
+ options.requeueAttempts = options.requeueAttempts || 0;
+ $slides.each(function() {
+ // try to get height/width of each slide
+ var $el = $(this);
+ this.cycleH = (opts.fit && opts.height) ? opts.height : ($el.height() || this.offsetHeight || this.height || $el.attr('height') || 0);
+ this.cycleW = (opts.fit && opts.width) ? opts.width : ($el.width() || this.offsetWidth || this.width || $el.attr('width') || 0);
+
+ if ( $el.is('img') ) {
+ // sigh.. sniffing, hacking, shrugging... this crappy hack tries to account for what browsers do when
+ // an image is being downloaded and the markup did not include sizing info (height/width attributes);
+ // there seems to be some "default" sizes used in this situation
+ var loadingIE = ($.browser.msie && this.cycleW == 28 && this.cycleH == 30 && !this.complete);
+ var loadingFF = ($.browser.mozilla && this.cycleW == 34 && this.cycleH == 19 && !this.complete);
+ var loadingOp = ($.browser.opera && ((this.cycleW == 42 && this.cycleH == 19) || (this.cycleW == 37 && this.cycleH == 17)) && !this.complete);
+ var loadingOther = (this.cycleH === 0 && this.cycleW === 0 && !this.complete);
+ // don't requeue for images that are still loading but have a valid size
+ if (loadingIE || loadingFF || loadingOp || loadingOther) {
+ if (o.s && opts.requeueOnImageNotLoaded && ++options.requeueAttempts < 100) { // track retry count so we don't loop forever
+ log(options.requeueAttempts,' - img slide not loaded, requeuing slideshow: ', this.src, this.cycleW, this.cycleH);
+ setTimeout(function() {$(o.s,o.c).cycle(options);}, opts.requeueTimeout);
+ requeue = true;
+ return false; // break each loop
+ }
+ else {
+ log('could not determine size of image: '+this.src, this.cycleW, this.cycleH);
+ }
+ }
+ }
+ return true;
+ });
+
+ if (requeue)
+ return false;
+
+ opts.cssBefore = opts.cssBefore || {};
+ opts.cssAfter = opts.cssAfter || {};
+ opts.cssFirst = opts.cssFirst || {};
+ opts.animIn = opts.animIn || {};
+ opts.animOut = opts.animOut || {};
+
+ $slides.not(':eq('+first+')').css(opts.cssBefore);
+ $($slides[first]).css(opts.cssFirst);
+
+ if (opts.timeout) {
+ opts.timeout = parseInt(opts.timeout,10);
+ // ensure that timeout and speed settings are sane
+ if (opts.speed.constructor == String)
+ opts.speed = $.fx.speeds[opts.speed] || parseInt(opts.speed,10);
+ if (!opts.sync)
+ opts.speed = opts.speed / 2;
+
+ var buffer = opts.fx == 'none' ? 0 : opts.fx == 'shuffle' ? 500 : 250;
+ while((opts.timeout - opts.speed) < buffer) // sanitize timeout
+ opts.timeout += opts.speed;
+ }
+ if (opts.easing)
+ opts.easeIn = opts.easeOut = opts.easing;
+ if (!opts.speedIn)
+ opts.speedIn = opts.speed;
+ if (!opts.speedOut)
+ opts.speedOut = opts.speed;
+
+ opts.slideCount = els.length;
+ opts.currSlide = opts.lastSlide = first;
+ if (opts.random) {
+ if (++opts.randomIndex == els.length)
+ opts.randomIndex = 0;
+ opts.nextSlide = opts.randomMap[opts.randomIndex];
+ }
+ else if (opts.backwards)
+ opts.nextSlide = opts.startingSlide === 0 ? (els.length-1) : opts.startingSlide-1;
+ else
+ opts.nextSlide = opts.startingSlide >= (els.length-1) ? 0 : opts.startingSlide+1;
+
+ // run transition init fn
+ if (!opts.multiFx) {
+ var init = $.fn.cycle.transitions[opts.fx];
+ if ($.isFunction(init))
+ init($cont, $slides, opts);
+ else if (opts.fx != 'custom' && !opts.multiFx) {
+ log('unknown transition: ' + opts.fx,'; slideshow terminating');
+ return false;
+ }
+ }
+
+ // fire artificial events
+ var e0 = $slides[first];
+ if (!opts.skipInitializationCallbacks) {
+ if (opts.before.length)
+ opts.before[0].apply(e0, [e0, e0, opts, true]);
+ if (opts.after.length)
+ opts.after[0].apply(e0, [e0, e0, opts, true]);
+ }
+ if (opts.next)
+ $(opts.next).bind(opts.prevNextEvent,function(){return advance(opts,1);});
+ if (opts.prev)
+ $(opts.prev).bind(opts.prevNextEvent,function(){return advance(opts,0);});
+ if (opts.pager || opts.pagerAnchorBuilder)
+ buildPager(els,opts);
+
+ exposeAddSlide(opts, els);
+
+ return opts;
+}
+
+// save off original opts so we can restore after clearing state
+function saveOriginalOpts(opts) {
+ opts.original = { before: [], after: [] };
+ opts.original.cssBefore = $.extend({}, opts.cssBefore);
+ opts.original.cssAfter = $.extend({}, opts.cssAfter);
+ opts.original.animIn = $.extend({}, opts.animIn);
+ opts.original.animOut = $.extend({}, opts.animOut);
+ $.each(opts.before, function() { opts.original.before.push(this); });
+ $.each(opts.after, function() { opts.original.after.push(this); });
+}
+
+function supportMultiTransitions(opts) {
+ var i, tx, txs = $.fn.cycle.transitions;
+ // look for multiple effects
+ if (opts.fx.indexOf(',') > 0) {
+ opts.multiFx = true;
+ opts.fxs = opts.fx.replace(/\s*/g,'').split(',');
+ // discard any bogus effect names
+ for (i=0; i < opts.fxs.length; i++) {
+ var fx = opts.fxs[i];
+ tx = txs[fx];
+ if (!tx || !txs.hasOwnProperty(fx) || !$.isFunction(tx)) {
+ log('discarding unknown transition: ',fx);
+ opts.fxs.splice(i,1);
+ i--;
+ }
+ }
+ // if we have an empty list then we threw everything away!
+ if (!opts.fxs.length) {
+ log('No valid transitions named; slideshow terminating.');
+ return false;
+ }
+ }
+ else if (opts.fx == 'all') { // auto-gen the list of transitions
+ opts.multiFx = true;
+ opts.fxs = [];
+ for (var p in txs) {
+ if (txs.hasOwnProperty(p)) {
+ tx = txs[p];
+ if (txs.hasOwnProperty(p) && $.isFunction(tx))
+ opts.fxs.push(p);
+ }
+ }
+ }
+ if (opts.multiFx && opts.randomizeEffects) {
+ // munge the fxs array to make effect selection random
+ var r1 = Math.floor(Math.random() * 20) + 30;
+ for (i = 0; i < r1; i++) {
+ var r2 = Math.floor(Math.random() * opts.fxs.length);
+ opts.fxs.push(opts.fxs.splice(r2,1)[0]);
+ }
+ debug('randomized fx sequence: ',opts.fxs);
+ }
+ return true;
+}
+
+// provide a mechanism for adding slides after the slideshow has started
+function exposeAddSlide(opts, els) {
+ opts.addSlide = function(newSlide, prepend) {
+ var $s = $(newSlide), s = $s[0];
+ if (!opts.autostopCount)
+ opts.countdown++;
+ els[prepend?'unshift':'push'](s);
+ if (opts.els)
+ opts.els[prepend?'unshift':'push'](s); // shuffle needs this
+ opts.slideCount = els.length;
+
+ // add the slide to the random map and resort
+ if (opts.random) {
+ opts.randomMap.push(opts.slideCount-1);
+ opts.randomMap.sort(function(a,b) {return Math.random() - 0.5;});
+ }
+
+ $s.css('position','absolute');
+ $s[prepend?'prependTo':'appendTo'](opts.$cont);
+
+ if (prepend) {
+ opts.currSlide++;
+ opts.nextSlide++;
+ }
+
+ if (!$.support.opacity && opts.cleartype && !opts.cleartypeNoBg)
+ clearTypeFix($s);
+
+ if (opts.fit && opts.width)
+ $s.width(opts.width);
+ if (opts.fit && opts.height && opts.height != 'auto')
+ $s.height(opts.height);
+ s.cycleH = (opts.fit && opts.height) ? opts.height : $s.height();
+ s.cycleW = (opts.fit && opts.width) ? opts.width : $s.width();
+
+ $s.css(opts.cssBefore);
+
+ if (opts.pager || opts.pagerAnchorBuilder)
+ $.fn.cycle.createPagerAnchor(els.length-1, s, $(opts.pager), els, opts);
+
+ if ($.isFunction(opts.onAddSlide))
+ opts.onAddSlide($s);
+ else
+ $s.hide(); // default behavior
+ };
+}
+
+// reset internal state; we do this on every pass in order to support multiple effects
+$.fn.cycle.resetState = function(opts, fx) {
+ fx = fx || opts.fx;
+ opts.before = []; opts.after = [];
+ opts.cssBefore = $.extend({}, opts.original.cssBefore);
+ opts.cssAfter = $.extend({}, opts.original.cssAfter);
+ opts.animIn = $.extend({}, opts.original.animIn);
+ opts.animOut = $.extend({}, opts.original.animOut);
+ opts.fxFn = null;
+ $.each(opts.original.before, function() { opts.before.push(this); });
+ $.each(opts.original.after, function() { opts.after.push(this); });
+
+ // re-init
+ var init = $.fn.cycle.transitions[fx];
+ if ($.isFunction(init))
+ init(opts.$cont, $(opts.elements), opts);
+};
+
+// this is the main engine fn, it handles the timeouts, callbacks and slide index mgmt
+function go(els, opts, manual, fwd) {
+ var p = opts.$cont[0], curr = els[opts.currSlide], next = els[opts.nextSlide];
+
+ // opts.busy is true if we're in the middle of an animation
+ if (manual && opts.busy && opts.manualTrump) {
+ // let manual transitions requests trump active ones
+ debug('manualTrump in go(), stopping active transition');
+ $(els).stop(true,true);
+ opts.busy = 0;
+ clearTimeout(p.cycleTimeout);
+ }
+
+ // don't begin another timeout-based transition if there is one active
+ if (opts.busy) {
+ debug('transition active, ignoring new tx request');
+ return;
+ }
+
+
+ // stop cycling if we have an outstanding stop request
+ if (p.cycleStop != opts.stopCount || p.cycleTimeout === 0 && !manual)
+ return;
+
+ // check to see if we should stop cycling based on autostop options
+ if (!manual && !p.cyclePause && !opts.bounce &&
+ ((opts.autostop && (--opts.countdown <= 0)) ||
+ (opts.nowrap && !opts.random && opts.nextSlide < opts.currSlide))) {
+ if (opts.end)
+ opts.end(opts);
+ return;
+ }
+
+ // if slideshow is paused, only transition on a manual trigger
+ var changed = false;
+ if ((manual || !p.cyclePause) && (opts.nextSlide != opts.currSlide)) {
+ changed = true;
+ var fx = opts.fx;
+ // keep trying to get the slide size if we don't have it yet
+ curr.cycleH = curr.cycleH || $(curr).height();
+ curr.cycleW = curr.cycleW || $(curr).width();
+ next.cycleH = next.cycleH || $(next).height();
+ next.cycleW = next.cycleW || $(next).width();
+
+ // support multiple transition types
+ if (opts.multiFx) {
+ if (fwd && (opts.lastFx === undefined || ++opts.lastFx >= opts.fxs.length))
+ opts.lastFx = 0;
+ else if (!fwd && (opts.lastFx === undefined || --opts.lastFx < 0))
+ opts.lastFx = opts.fxs.length - 1;
+ fx = opts.fxs[opts.lastFx];
+ }
+
+ // one-time fx overrides apply to: $('div').cycle(3,'zoom');
+ if (opts.oneTimeFx) {
+ fx = opts.oneTimeFx;
+ opts.oneTimeFx = null;
+ }
+
+ $.fn.cycle.resetState(opts, fx);
+
+ // run the before callbacks
+ if (opts.before.length)
+ $.each(opts.before, function(i,o) {
+ if (p.cycleStop != opts.stopCount) return;
+ o.apply(next, [curr, next, opts, fwd]);
+ });
+
+ // stage the after callacks
+ var after = function() {
+ opts.busy = 0;
+ $.each(opts.after, function(i,o) {
+ if (p.cycleStop != opts.stopCount) return;
+ o.apply(next, [curr, next, opts, fwd]);
+ });
+ if (!p.cycleStop) {
+ // queue next transition
+ queueNext();
+ }
+ };
+
+ debug('tx firing('+fx+'); currSlide: ' + opts.currSlide + '; nextSlide: ' + opts.nextSlide);
+
+ // get ready to perform the transition
+ opts.busy = 1;
+ if (opts.fxFn) // fx function provided?
+ opts.fxFn(curr, next, opts, after, fwd, manual && opts.fastOnEvent);
+ else if ($.isFunction($.fn.cycle[opts.fx])) // fx plugin ?
+ $.fn.cycle[opts.fx](curr, next, opts, after, fwd, manual && opts.fastOnEvent);
+ else
+ $.fn.cycle.custom(curr, next, opts, after, fwd, manual && opts.fastOnEvent);
+ }
+ else {
+ queueNext();
+ }
+
+ if (changed || opts.nextSlide == opts.currSlide) {
+ // calculate the next slide
+ var roll;
+ opts.lastSlide = opts.currSlide;
+ if (opts.random) {
+ opts.currSlide = opts.nextSlide;
+ if (++opts.randomIndex == els.length) {
+ opts.randomIndex = 0;
+ opts.randomMap.sort(function(a,b) {return Math.random() - 0.5;});
+ }
+ opts.nextSlide = opts.randomMap[opts.randomIndex];
+ if (opts.nextSlide == opts.currSlide)
+ opts.nextSlide = (opts.currSlide == opts.slideCount - 1) ? 0 : opts.currSlide + 1;
+ }
+ else if (opts.backwards) {
+ roll = (opts.nextSlide - 1) < 0;
+ if (roll && opts.bounce) {
+ opts.backwards = !opts.backwards;
+ opts.nextSlide = 1;
+ opts.currSlide = 0;
+ }
+ else {
+ opts.nextSlide = roll ? (els.length-1) : opts.nextSlide-1;
+ opts.currSlide = roll ? 0 : opts.nextSlide+1;
+ }
+ }
+ else { // sequence
+ roll = (opts.nextSlide + 1) == els.length;
+ if (roll && opts.bounce) {
+ opts.backwards = !opts.backwards;
+ opts.nextSlide = els.length-2;
+ opts.currSlide = els.length-1;
+ }
+ else {
+ opts.nextSlide = roll ? 0 : opts.nextSlide+1;
+ opts.currSlide = roll ? els.length-1 : opts.nextSlide-1;
+ }
+ }
+ }
+ if (changed && opts.pager)
+ opts.updateActivePagerLink(opts.pager, opts.currSlide, opts.activePagerClass);
+
+ function queueNext() {
+ // stage the next transition
+ var ms = 0, timeout = opts.timeout;
+ if (opts.timeout && !opts.continuous) {
+ ms = getTimeout(els[opts.currSlide], els[opts.nextSlide], opts, fwd);
+ if (opts.fx == 'shuffle')
+ ms -= opts.speedOut;
+ }
+ else if (opts.continuous && p.cyclePause) // continuous shows work off an after callback, not this timer logic
+ ms = 10;
+ if (ms > 0)
+ p.cycleTimeout = setTimeout(function(){ go(els, opts, 0, !opts.backwards); }, ms);
+ }
+}
+
+// invoked after transition
+$.fn.cycle.updateActivePagerLink = function(pager, currSlide, clsName) {
+ $(pager).each(function() {
+ $(this).children().removeClass(clsName).eq(currSlide).addClass(clsName);
+ });
+};
+
+// calculate timeout value for current transition
+function getTimeout(curr, next, opts, fwd) {
+ if (opts.timeoutFn) {
+ // call user provided calc fn
+ var t = opts.timeoutFn.call(curr,curr,next,opts,fwd);
+ while (opts.fx != 'none' && (t - opts.speed) < 250) // sanitize timeout
+ t += opts.speed;
+ debug('calculated timeout: ' + t + '; speed: ' + opts.speed);
+ if (t !== false)
+ return t;
+ }
+ return opts.timeout;
+}
+
+// expose next/prev function, caller must pass in state
+$.fn.cycle.next = function(opts) { advance(opts,1); };
+$.fn.cycle.prev = function(opts) { advance(opts,0);};
+
+// advance slide forward or back
+function advance(opts, moveForward) {
+ var val = moveForward ? 1 : -1;
+ var els = opts.elements;
+ var p = opts.$cont[0], timeout = p.cycleTimeout;
+ if (timeout) {
+ clearTimeout(timeout);
+ p.cycleTimeout = 0;
+ }
+ if (opts.random && val < 0) {
+ // move back to the previously display slide
+ opts.randomIndex--;
+ if (--opts.randomIndex == -2)
+ opts.randomIndex = els.length-2;
+ else if (opts.randomIndex == -1)
+ opts.randomIndex = els.length-1;
+ opts.nextSlide = opts.randomMap[opts.randomIndex];
+ }
+ else if (opts.random) {
+ opts.nextSlide = opts.randomMap[opts.randomIndex];
+ }
+ else {
+ opts.nextSlide = opts.currSlide + val;
+ if (opts.nextSlide < 0) {
+ if (opts.nowrap) return false;
+ opts.nextSlide = els.length - 1;
+ }
+ else if (opts.nextSlide >= els.length) {
+ if (opts.nowrap) return false;
+ opts.nextSlide = 0;
+ }
+ }
+
+ var cb = opts.onPrevNextEvent || opts.prevNextClick; // prevNextClick is deprecated
+ if ($.isFunction(cb))
+ cb(val > 0, opts.nextSlide, els[opts.nextSlide]);
+ go(els, opts, 1, moveForward);
+ return false;
+}
+
+function buildPager(els, opts) {
+ var $p = $(opts.pager);
+ $.each(els, function(i,o) {
+ $.fn.cycle.createPagerAnchor(i,o,$p,els,opts);
+ });
+ opts.updateActivePagerLink(opts.pager, opts.startingSlide, opts.activePagerClass);
+}
+
+$.fn.cycle.createPagerAnchor = function(i, el, $p, els, opts) {
+ var a;
+ if ($.isFunction(opts.pagerAnchorBuilder)) {
+ a = opts.pagerAnchorBuilder(i,el);
+ debug('pagerAnchorBuilder('+i+', el) returned: ' + a);
+ }
+ else
+ a = '<a href="#">'+(i+1)+'</a>';
+
+ if (!a)
+ return;
+ var $a = $(a);
+ // don't reparent if anchor is in the dom
+ if ($a.parents('body').length === 0) {
+ var arr = [];
+ if ($p.length > 1) {
+ $p.each(function() {
+ var $clone = $a.clone(true);
+ $(this).append($clone);
+ arr.push($clone[0]);
+ });
+ $a = $(arr);
+ }
+ else {
+ $a.appendTo($p);
+ }
+ }
+
+ opts.pagerAnchors = opts.pagerAnchors || [];
+ opts.pagerAnchors.push($a);
+
+ var pagerFn = function(e) {
+ e.preventDefault();
+ opts.nextSlide = i;
+ var p = opts.$cont[0], timeout = p.cycleTimeout;
+ if (timeout) {
+ clearTimeout(timeout);
+ p.cycleTimeout = 0;
+ }
+ var cb = opts.onPagerEvent || opts.pagerClick; // pagerClick is deprecated
+ if ($.isFunction(cb))
+ cb(opts.nextSlide, els[opts.nextSlide]);
+ go(els,opts,1,opts.currSlide < i); // trigger the trans
+// return false; // <== allow bubble
+ };
+
+ if ( /mouseenter|mouseover/i.test(opts.pagerEvent) ) {
+ $a.hover(pagerFn, function(){/* no-op */} );
+ }
+ else {
+ $a.bind(opts.pagerEvent, pagerFn);
+ }
+
+ if ( ! /^click/.test(opts.pagerEvent) && !opts.allowPagerClickBubble)
+ $a.bind('click.cycle', function(){return false;}); // suppress click
+
+ var cont = opts.$cont[0];
+ var pauseFlag = false; // https://github.com/malsup/cycle/issues/44
+ if (opts.pauseOnPagerHover) {
+ $a.hover(
+ function() {
+ pauseFlag = true;
+ cont.cyclePause++;
+ triggerPause(cont,true,true);
+ }, function() {
+ if (pauseFlag)
+ cont.cyclePause--;
+ triggerPause(cont,true,true);
+ }
+ );
+ }
+};
+
+// helper fn to calculate the number of slides between the current and the next
+$.fn.cycle.hopsFromLast = function(opts, fwd) {
+ var hops, l = opts.lastSlide, c = opts.currSlide;
+ if (fwd)
+ hops = c > l ? c - l : opts.slideCount - l;
+ else
+ hops = c < l ? l - c : l + opts.slideCount - c;
+ return hops;
+};
+
+// fix clearType problems in ie6 by setting an explicit bg color
+// (otherwise text slides look horrible during a fade transition)
+function clearTypeFix($slides) {
+ debug('applying clearType background-color hack');
+ function hex(s) {
+ s = parseInt(s,10).toString(16);
+ return s.length < 2 ? '0'+s : s;
+ }
+ function getBg(e) {
+ for ( ; e && e.nodeName.toLowerCase() != 'html'; e = e.parentNode) {
+ var v = $.css(e,'background-color');
+ if (v && v.indexOf('rgb') >= 0 ) {
+ var rgb = v.match(/\d+/g);
+ return '#'+ hex(rgb[0]) + hex(rgb[1]) + hex(rgb[2]);
+ }
+ if (v && v != 'transparent')
+ return v;
+ }
+ return '#ffffff';
+ }
+ $slides.each(function() { $(this).css('background-color', getBg(this)); });
+}
+
+// reset common props before the next transition
+$.fn.cycle.commonReset = function(curr,next,opts,w,h,rev) {
+ $(opts.elements).not(curr).hide();
+ if (typeof opts.cssBefore.opacity == 'undefined')
+ opts.cssBefore.opacity = 1;
+ opts.cssBefore.display = 'block';
+ if (opts.slideResize && w !== false && next.cycleW > 0)
+ opts.cssBefore.width = next.cycleW;
+ if (opts.slideResize && h !== false && next.cycleH > 0)
+ opts.cssBefore.height = next.cycleH;
+ opts.cssAfter = opts.cssAfter || {};
+ opts.cssAfter.display = 'none';
+ $(curr).css('zIndex',opts.slideCount + (rev === true ? 1 : 0));
+ $(next).css('zIndex',opts.slideCount + (rev === true ? 0 : 1));
+};
+
+// the actual fn for effecting a transition
+$.fn.cycle.custom = function(curr, next, opts, cb, fwd, speedOverride) {
+ var $l = $(curr), $n = $(next);
+ var speedIn = opts.speedIn, speedOut = opts.speedOut, easeIn = opts.easeIn, easeOut = opts.easeOut;
+ $n.css(opts.cssBefore);
+ if (speedOverride) {
+ if (typeof speedOverride == 'number')
+ speedIn = speedOut = speedOverride;
+ else
+ speedIn = speedOut = 1;
+ easeIn = easeOut = null;
+ }
+ var fn = function() {
+ $n.animate(opts.animIn, speedIn, easeIn, function() {
+ cb();
+ });
+ };
+ $l.animate(opts.animOut, speedOut, easeOut, function() {
+ $l.css(opts.cssAfter);
+ if (!opts.sync)
+ fn();
+ });
+ if (opts.sync) fn();
+};
+
+// transition definitions - only fade is defined here, transition pack defines the rest
+$.fn.cycle.transitions = {
+ fade: function($cont, $slides, opts) {
+ $slides.not(':eq('+opts.currSlide+')').css('opacity',0);
+ opts.before.push(function(curr,next,opts) {
+ $.fn.cycle.commonReset(curr,next,opts);
+ opts.cssBefore.opacity = 0;
+ });
+ opts.animIn = { opacity: 1 };
+ opts.animOut = { opacity: 0 };
+ opts.cssBefore = { top: 0, left: 0 };
+ }
+};
+
+$.fn.cycle.ver = function() { return ver; };
+
+// override these globally if you like (they are all optional)
+$.fn.cycle.defaults = {
+ activePagerClass: 'activeSlide', // class name used for the active pager link
+ after: null, // transition callback (scope set to element that was shown): function(currSlideElement, nextSlideElement, options, forwardFlag)
+ allowPagerClickBubble: false, // allows or prevents click event on pager anchors from bubbling
+ animIn: null, // properties that define how the slide animates in
+ animOut: null, // properties that define how the slide animates out
+ aspect: false, // preserve aspect ratio during fit resizing, cropping if necessary (must be used with fit option)
+ autostop: 0, // true to end slideshow after X transitions (where X == slide count)
+ autostopCount: 0, // number of transitions (optionally used with autostop to define X)
+ backwards: false, // true to start slideshow at last slide and move backwards through the stack
+ before: null, // transition callback (scope set to element to be shown): function(currSlideElement, nextSlideElement, options, forwardFlag)
+ center: null, // set to true to have cycle add top/left margin to each slide (use with width and height options)
+ cleartype: !$.support.opacity, // true if clearType corrections should be applied (for IE)
+ cleartypeNoBg: false, // set to true to disable extra cleartype fixing (leave false to force background color setting on slides)
+ containerResize: 1, // resize container to fit largest slide
+ continuous: 0, // true to start next transition immediately after current one completes
+ cssAfter: null, // properties that defined the state of the slide after transitioning out
+ cssBefore: null, // properties that define the initial state of the slide before transitioning in
+ delay: 0, // additional delay (in ms) for first transition (hint: can be negative)
+ easeIn: null, // easing for "in" transition
+ easeOut: null, // easing for "out" transition
+ easing: null, // easing method for both in and out transitions
+ end: null, // callback invoked when the slideshow terminates (use with autostop or nowrap options): function(options)
+ fastOnEvent: 0, // force fast transitions when triggered manually (via pager or prev/next); value == time in ms
+ fit: 0, // force slides to fit container
+ fx: 'fade', // name of transition effect (or comma separated names, ex: 'fade,scrollUp,shuffle')
+ fxFn: null, // function used to control the transition: function(currSlideElement, nextSlideElement, options, afterCalback, forwardFlag)
+ height: 'auto', // container height (if the 'fit' option is true, the slides will be set to this height as well)
+ manualTrump: true, // causes manual transition to stop an active transition instead of being ignored
+ metaAttr: 'cycle', // data- attribute that holds the option data for the slideshow
+ next: null, // element, jQuery object, or jQuery selector string for the element to use as event trigger for next slide
+ nowrap: 0, // true to prevent slideshow from wrapping
+ onPagerEvent: null, // callback fn for pager events: function(zeroBasedSlideIndex, slideElement)
+ onPrevNextEvent: null, // callback fn for prev/next events: function(isNext, zeroBasedSlideIndex, slideElement)
+ pager: null, // element, jQuery object, or jQuery selector string for the element to use as pager container
+ pagerAnchorBuilder: null, // callback fn for building anchor links: function(index, DOMelement)
+ pagerEvent: 'click.cycle', // name of event which drives the pager navigation
+ pause: 0, // true to enable "pause on hover"
+ pauseOnPagerHover: 0, // true to pause when hovering over pager link
+ prev: null, // element, jQuery object, or jQuery selector string for the element to use as event trigger for previous slide
+ prevNextEvent: 'click.cycle',// event which drives the manual transition to the previous or next slide
+ random: 0, // true for random, false for sequence (not applicable to shuffle fx)
+ randomizeEffects: 1, // valid when multiple effects are used; true to make the effect sequence random
+ requeueOnImageNotLoaded: true, // requeue the slideshow if any image slides are not yet loaded
+ requeueTimeout: 250, // ms delay for requeue
+ rev: 0, // causes animations to transition in reverse (for effects that support it such as scrollHorz/scrollVert/shuffle)
+ shuffle: null, // coords for shuffle animation, ex: { top:15, left: 200 }
+ skipInitializationCallbacks: false, // set to true to disable the first before/after callback that occurs prior to any transition
+ slideExpr: null, // expression for selecting slides (if something other than all children is required)
+ slideResize: 1, // force slide width/height to fixed size before every transition
+ speed: 1000, // speed of the transition (any valid fx speed value)
+ speedIn: null, // speed of the 'in' transition
+ speedOut: null, // speed of the 'out' transition
+ startingSlide: undefined,// zero-based index of the first slide to be displayed
+ sync: 1, // true if in/out transitions should occur simultaneously
+ timeout: 4000, // milliseconds between slide transitions (0 to disable auto advance)
+ timeoutFn: null, // callback for determining per-slide timeout value: function(currSlideElement, nextSlideElement, options, forwardFlag)
+ updateActivePagerLink: null,// callback fn invoked to update the active pager link (adds/removes activePagerClass style)
+ width: null // container width (if the 'fit' option is true, the slides will be set to this width as well)
+};
+
+})(jQuery);
+
+
+/*!
+ * jQuery Cycle Plugin Transition Definitions
+ * This script is a plugin for the jQuery Cycle Plugin
+ * Examples and documentation at: http://malsup.com/jquery/cycle/
+ * Copyright (c) 2007-2010 M. Alsup
+ * Version: 2.73
+ * Dual licensed under the MIT and GPL licenses:
+ * http://www.opensource.org/licenses/mit-license.php
+ * http://www.gnu.org/licenses/gpl.html
+ */
+(function($) {
+"use strict";
+
+//
+// These functions define slide initialization and properties for the named
+// transitions. To save file size feel free to remove any of these that you
+// don't need.
+//
+$.fn.cycle.transitions.none = function($cont, $slides, opts) {
+ opts.fxFn = function(curr,next,opts,after){
+ $(next).show();
+ $(curr).hide();
+ after();
+ };
+};
+
+// not a cross-fade, fadeout only fades out the top slide
+$.fn.cycle.transitions.fadeout = function($cont, $slides, opts) {
+ $slides.not(':eq('+opts.currSlide+')').css({ display: 'block', 'opacity': 1 });
+ opts.before.push(function(curr,next,opts,w,h,rev) {
+ $(curr).css('zIndex',opts.slideCount + (rev !== true ? 1 : 0));
+ $(next).css('zIndex',opts.slideCount + (rev !== true ? 0 : 1));
+ });
+ opts.animIn.opacity = 1;
+ opts.animOut.opacity = 0;
+ opts.cssBefore.opacity = 1;
+ opts.cssBefore.display = 'block';
+ opts.cssAfter.zIndex = 0;
+};
+
+// scrollUp/Down/Left/Right
+$.fn.cycle.transitions.scrollUp = function($cont, $slides, opts) {
+ $cont.css('overflow','hidden');
+ opts.before.push($.fn.cycle.commonReset);
+ var h = $cont.height();
+ opts.cssBefore.top = h;
+ opts.cssBefore.left = 0;
+ opts.cssFirst.top = 0;
+ opts.animIn.top = 0;
+ opts.animOut.top = -h;
+};
+$.fn.cycle.transitions.scrollDown = function($cont, $slides, opts) {
+ $cont.css('overflow','hidden');
+ opts.before.push($.fn.cycle.commonReset);
+ var h = $cont.height();
+ opts.cssFirst.top = 0;
+ opts.cssBefore.top = -h;
+ opts.cssBefore.left = 0;
+ opts.animIn.top = 0;
+ opts.animOut.top = h;
+};
+$.fn.cycle.transitions.scrollLeft = function($cont, $slides, opts) {
+ $cont.css('overflow','hidden');
+ opts.before.push($.fn.cycle.commonReset);
+ var w = $cont.width();
+ opts.cssFirst.left = 0;
+ opts.cssBefore.left = w;
+ opts.cssBefore.top = 0;
+ opts.animIn.left = 0;
+ opts.animOut.left = 0-w;
+};
+$.fn.cycle.transitions.scrollRight = function($cont, $slides, opts) {
+ $cont.css('overflow','hidden');
+ opts.before.push($.fn.cycle.commonReset);
+ var w = $cont.width();
+ opts.cssFirst.left = 0;
+ opts.cssBefore.left = -w;
+ opts.cssBefore.top = 0;
+ opts.animIn.left = 0;
+ opts.animOut.left = w;
+};
+$.fn.cycle.transitions.scrollHorz = function($cont, $slides, opts) {
+ $cont.css('overflow','hidden').width();
+ opts.before.push(function(curr, next, opts, fwd) {
+ if (opts.rev)
+ fwd = !fwd;
+ $.fn.cycle.commonReset(curr,next,opts);
+ opts.cssBefore.left = fwd ? (next.cycleW-1) : (1-next.cycleW);
+ opts.animOut.left = fwd ? -curr.cycleW : curr.cycleW;
+ });
+ opts.cssFirst.left = 0;
+ opts.cssBefore.top = 0;
+ opts.animIn.left = 0;
+ opts.animOut.top = 0;
+};
+$.fn.cycle.transitions.scrollVert = function($cont, $slides, opts) {
+ $cont.css('overflow','hidden');
+ opts.before.push(function(curr, next, opts, fwd) {
+ if (opts.rev)
+ fwd = !fwd;
+ $.fn.cycle.commonReset(curr,next,opts);
+ opts.cssBefore.top = fwd ? (1-next.cycleH) : (next.cycleH-1);
+ opts.animOut.top = fwd ? curr.cycleH : -curr.cycleH;
+ });
+ opts.cssFirst.top = 0;
+ opts.cssBefore.left = 0;
+ opts.animIn.top = 0;
+ opts.animOut.left = 0;
+};
+
+// slideX/slideY
+$.fn.cycle.transitions.slideX = function($cont, $slides, opts) {
+ opts.before.push(function(curr, next, opts) {
+ $(opts.elements).not(curr).hide();
+ $.fn.cycle.commonReset(curr,next,opts,false,true);
+ opts.animIn.width = next.cycleW;
+ });
+ opts.cssBefore.left = 0;
+ opts.cssBefore.top = 0;
+ opts.cssBefore.width = 0;
+ opts.animIn.width = 'show';
+ opts.animOut.width = 0;
+};
+$.fn.cycle.transitions.slideY = function($cont, $slides, opts) {
+ opts.before.push(function(curr, next, opts) {
+ $(opts.elements).not(curr).hide();
+ $.fn.cycle.commonReset(curr,next,opts,true,false);
+ opts.animIn.height = next.cycleH;
+ });
+ opts.cssBefore.left = 0;
+ opts.cssBefore.top = 0;
+ opts.cssBefore.height = 0;
+ opts.animIn.height = 'show';
+ opts.animOut.height = 0;
+};
+
+// shuffle
+$.fn.cycle.transitions.shuffle = function($cont, $slides, opts) {
+ var i, w = $cont.css('overflow', 'visible').width();
+ $slides.css({left: 0, top: 0});
+ opts.before.push(function(curr,next,opts) {
+ $.fn.cycle.commonReset(curr,next,opts,true,true,true);
+ });
+ // only adjust speed once!
+ if (!opts.speedAdjusted) {
+ opts.speed = opts.speed / 2; // shuffle has 2 transitions
+ opts.speedAdjusted = true;
+ }
+ opts.random = 0;
+ opts.shuffle = opts.shuffle || {left:-w, top:15};
+ opts.els = [];
+ for (i=0; i < $slides.length; i++)
+ opts.els.push($slides[i]);
+
+ for (i=0; i < opts.currSlide; i++)
+ opts.els.push(opts.els.shift());
+
+ // custom transition fn (hat tip to Benjamin Sterling for this bit of sweetness!)
+ opts.fxFn = function(curr, next, opts, cb, fwd) {
+ if (opts.rev)
+ fwd = !fwd;
+ var $el = fwd ? $(curr) : $(next);
+ $(next).css(opts.cssBefore);
+ var count = opts.slideCount;
+ $el.animate(opts.shuffle, opts.speedIn, opts.easeIn, function() {
+ var hops = $.fn.cycle.hopsFromLast(opts, fwd);
+ for (var k=0; k < hops; k++) {
+ if (fwd)
+ opts.els.push(opts.els.shift());
+ else
+ opts.els.unshift(opts.els.pop());
+ }
+ if (fwd) {
+ for (var i=0, len=opts.els.length; i < len; i++)
+ $(opts.els[i]).css('z-index', len-i+count);
+ }
+ else {
+ var z = $(curr).css('z-index');
+ $el.css('z-index', parseInt(z,10)+1+count);
+ }
+ $el.animate({left:0, top:0}, opts.speedOut, opts.easeOut, function() {
+ $(fwd ? this : curr).hide();
+ if (cb) cb();
+ });
+ });
+ };
+ $.extend(opts.cssBefore, { display: 'block', opacity: 1, top: 0, left: 0 });
+};
+
+// turnUp/Down/Left/Right
+$.fn.cycle.transitions.turnUp = function($cont, $slides, opts) {
+ opts.before.push(function(curr, next, opts) {
+ $.fn.cycle.commonReset(curr,next,opts,true,false);
+ opts.cssBefore.top = next.cycleH;
+ opts.animIn.height = next.cycleH;
+ opts.animOut.width = next.cycleW;
+ });
+ opts.cssFirst.top = 0;
+ opts.cssBefore.left = 0;
+ opts.cssBefore.height = 0;
+ opts.animIn.top = 0;
+ opts.animOut.height = 0;
+};
+$.fn.cycle.transitions.turnDown = function($cont, $slides, opts) {
+ opts.before.push(function(curr, next, opts) {
+ $.fn.cycle.commonReset(curr,next,opts,true,false);
+ opts.animIn.height = next.cycleH;
+ opts.animOut.top = curr.cycleH;
+ });
+ opts.cssFirst.top = 0;
+ opts.cssBefore.left = 0;
+ opts.cssBefore.top = 0;
+ opts.cssBefore.height = 0;
+ opts.animOut.height = 0;
+};
+$.fn.cycle.transitions.turnLeft = function($cont, $slides, opts) {
+ opts.before.push(function(curr, next, opts) {
+ $.fn.cycle.commonReset(curr,next,opts,false,true);
+ opts.cssBefore.left = next.cycleW;
+ opts.animIn.width = next.cycleW;
+ });
+ opts.cssBefore.top = 0;
+ opts.cssBefore.width = 0;
+ opts.animIn.left = 0;
+ opts.animOut.width = 0;
+};
+$.fn.cycle.transitions.turnRight = function($cont, $slides, opts) {
+ opts.before.push(function(curr, next, opts) {
+ $.fn.cycle.commonReset(curr,next,opts,false,true);
+ opts.animIn.width = next.cycleW;
+ opts.animOut.left = curr.cycleW;
+ });
+ $.extend(opts.cssBefore, { top: 0, left: 0, width: 0 });
+ opts.animIn.left = 0;
+ opts.animOut.width = 0;
+};
+
+// zoom
+$.fn.cycle.transitions.zoom = function($cont, $slides, opts) {
+ opts.before.push(function(curr, next, opts) {
+ $.fn.cycle.commonReset(curr,next,opts,false,false,true);
+ opts.cssBefore.top = next.cycleH/2;
+ opts.cssBefore.left = next.cycleW/2;
+ $.extend(opts.animIn, { top: 0, left: 0, width: next.cycleW, height: next.cycleH });
+ $.extend(opts.animOut, { width: 0, height: 0, top: curr.cycleH/2, left: curr.cycleW/2 });
+ });
+ opts.cssFirst.top = 0;
+ opts.cssFirst.left = 0;
+ opts.cssBefore.width = 0;
+ opts.cssBefore.height = 0;
+};
+
+// fadeZoom
+$.fn.cycle.transitions.fadeZoom = function($cont, $slides, opts) {
+ opts.before.push(function(curr, next, opts) {
+ $.fn.cycle.commonReset(curr,next,opts,false,false);
+ opts.cssBefore.left = next.cycleW/2;
+ opts.cssBefore.top = next.cycleH/2;
+ $.extend(opts.animIn, { top: 0, left: 0, width: next.cycleW, height: next.cycleH });
+ });
+ opts.cssBefore.width = 0;
+ opts.cssBefore.height = 0;
+ opts.animOut.opacity = 0;
+};
+
+// blindX
+$.fn.cycle.transitions.blindX = function($cont, $slides, opts) {
+ var w = $cont.css('overflow','hidden').width();
+ opts.before.push(function(curr, next, opts) {
+ $.fn.cycle.commonReset(curr,next,opts);
+ opts.animIn.width = next.cycleW;
+ opts.animOut.left = curr.cycleW;
+ });
+ opts.cssBefore.left = w;
+ opts.cssBefore.top = 0;
+ opts.animIn.left = 0;
+ opts.animOut.left = w;
+};
+// blindY
+$.fn.cycle.transitions.blindY = function($cont, $slides, opts) {
+ var h = $cont.css('overflow','hidden').height();
+ opts.before.push(function(curr, next, opts) {
+ $.fn.cycle.commonReset(curr,next,opts);
+ opts.animIn.height = next.cycleH;
+ opts.animOut.top = curr.cycleH;
+ });
+ opts.cssBefore.top = h;
+ opts.cssBefore.left = 0;
+ opts.animIn.top = 0;
+ opts.animOut.top = h;
+};
+// blindZ
+$.fn.cycle.transitions.blindZ = function($cont, $slides, opts) {
+ var h = $cont.css('overflow','hidden').height();
+ var w = $cont.width();
+ opts.before.push(function(curr, next, opts) {
+ $.fn.cycle.commonReset(curr,next,opts);
+ opts.animIn.height = next.cycleH;
+ opts.animOut.top = curr.cycleH;
+ });
+ opts.cssBefore.top = h;
+ opts.cssBefore.left = w;
+ opts.animIn.top = 0;
+ opts.animIn.left = 0;
+ opts.animOut.top = h;
+ opts.animOut.left = w;
+};
+
+// growX - grow horizontally from centered 0 width
+$.fn.cycle.transitions.growX = function($cont, $slides, opts) {
+ opts.before.push(function(curr, next, opts) {
+ $.fn.cycle.commonReset(curr,next,opts,false,true);
+ opts.cssBefore.left = this.cycleW/2;
+ opts.animIn.left = 0;
+ opts.animIn.width = this.cycleW;
+ opts.animOut.left = 0;
+ });
+ opts.cssBefore.top = 0;
+ opts.cssBefore.width = 0;
+};
+// growY - grow vertically from centered 0 height
+$.fn.cycle.transitions.growY = function($cont, $slides, opts) {
+ opts.before.push(function(curr, next, opts) {
+ $.fn.cycle.commonReset(curr,next,opts,true,false);
+ opts.cssBefore.top = this.cycleH/2;
+ opts.animIn.top = 0;
+ opts.animIn.height = this.cycleH;
+ opts.animOut.top = 0;
+ });
+ opts.cssBefore.height = 0;
+ opts.cssBefore.left = 0;
+};
+
+// curtainX - squeeze in both edges horizontally
+$.fn.cycle.transitions.curtainX = function($cont, $slides, opts) {
+ opts.before.push(function(curr, next, opts) {
+ $.fn.cycle.commonReset(curr,next,opts,false,true,true);
+ opts.cssBefore.left = next.cycleW/2;
+ opts.animIn.left = 0;
+ opts.animIn.width = this.cycleW;
+ opts.animOut.left = curr.cycleW/2;
+ opts.animOut.width = 0;
+ });
+ opts.cssBefore.top = 0;
+ opts.cssBefore.width = 0;
+};
+// curtainY - squeeze in both edges vertically
+$.fn.cycle.transitions.curtainY = function($cont, $slides, opts) {
+ opts.before.push(function(curr, next, opts) {
+ $.fn.cycle.commonReset(curr,next,opts,true,false,true);
+ opts.cssBefore.top = next.cycleH/2;
+ opts.animIn.top = 0;
+ opts.animIn.height = next.cycleH;
+ opts.animOut.top = curr.cycleH/2;
+ opts.animOut.height = 0;
+ });
+ opts.cssBefore.height = 0;
+ opts.cssBefore.left = 0;
+};
+
+// cover - curr slide covered by next slide
+$.fn.cycle.transitions.cover = function($cont, $slides, opts) {
+ var d = opts.direction || 'left';
+ var w = $cont.css('overflow','hidden').width();
+ var h = $cont.height();
+ opts.before.push(function(curr, next, opts) {
+ $.fn.cycle.commonReset(curr,next,opts);
+ if (d == 'right')
+ opts.cssBefore.left = -w;
+ else if (d == 'up')
+ opts.cssBefore.top = h;
+ else if (d == 'down')
+ opts.cssBefore.top = -h;
+ else
+ opts.cssBefore.left = w;
+ });
+ opts.animIn.left = 0;
+ opts.animIn.top = 0;
+ opts.cssBefore.top = 0;
+ opts.cssBefore.left = 0;
+};
+
+// uncover - curr slide moves off next slide
+$.fn.cycle.transitions.uncover = function($cont, $slides, opts) {
+ var d = opts.direction || 'left';
+ var w = $cont.css('overflow','hidden').width();
+ var h = $cont.height();
+ opts.before.push(function(curr, next, opts) {
+ $.fn.cycle.commonReset(curr,next,opts,true,true,true);
+ if (d == 'right')
+ opts.animOut.left = w;
+ else if (d == 'up')
+ opts.animOut.top = -h;
+ else if (d == 'down')
+ opts.animOut.top = h;
+ else
+ opts.animOut.left = -w;
+ });
+ opts.animIn.left = 0;
+ opts.animIn.top = 0;
+ opts.cssBefore.top = 0;
+ opts.cssBefore.left = 0;
+};
+
+// toss - move top slide and fade away
+$.fn.cycle.transitions.toss = function($cont, $slides, opts) {
+ var w = $cont.css('overflow','visible').width();
+ var h = $cont.height();
+ opts.before.push(function(curr, next, opts) {
+ $.fn.cycle.commonReset(curr,next,opts,true,true,true);
+ // provide default toss settings if animOut not provided
+ if (!opts.animOut.left && !opts.animOut.top)
+ $.extend(opts.animOut, { left: w*2, top: -h/2, opacity: 0 });
+ else
+ opts.animOut.opacity = 0;
+ });
+ opts.cssBefore.left = 0;
+ opts.cssBefore.top = 0;
+ opts.animIn.left = 0;
+};
+
+// wipe - clip animation
+$.fn.cycle.transitions.wipe = function($cont, $slides, opts) {
+ var w = $cont.css('overflow','hidden').width();
+ var h = $cont.height();
+ opts.cssBefore = opts.cssBefore || {};
+ var clip;
+ if (opts.clip) {
+ if (/l2r/.test(opts.clip))
+ clip = 'rect(0px 0px '+h+'px 0px)';
+ else if (/r2l/.test(opts.clip))
+ clip = 'rect(0px '+w+'px '+h+'px '+w+'px)';
+ else if (/t2b/.test(opts.clip))
+ clip = 'rect(0px '+w+'px 0px 0px)';
+ else if (/b2t/.test(opts.clip))
+ clip = 'rect('+h+'px '+w+'px '+h+'px 0px)';
+ else if (/zoom/.test(opts.clip)) {
+ var top = parseInt(h/2,10);
+ var left = parseInt(w/2,10);
+ clip = 'rect('+top+'px '+left+'px '+top+'px '+left+'px)';
+ }
+ }
+
+ opts.cssBefore.clip = opts.cssBefore.clip || clip || 'rect(0px 0px 0px 0px)';
+
+ var d = opts.cssBefore.clip.match(/(\d+)/g);
+ var t = parseInt(d[0],10), r = parseInt(d[1],10), b = parseInt(d[2],10), l = parseInt(d[3],10);
+
+ opts.before.push(function(curr, next, opts) {
+ if (curr == next) return;
+ var $curr = $(curr), $next = $(next);
+ $.fn.cycle.commonReset(curr,next,opts,true,true,false);
+ opts.cssAfter.display = 'block';
+
+ var step = 1, count = parseInt((opts.speedIn / 13),10) - 1;
+ (function f() {
+ var tt = t ? t - parseInt(step * (t/count),10) : 0;
+ var ll = l ? l - parseInt(step * (l/count),10) : 0;
+ var bb = b < h ? b + parseInt(step * ((h-b)/count || 1),10) : h;
+ var rr = r < w ? r + parseInt(step * ((w-r)/count || 1),10) : w;
+ $next.css({ clip: 'rect('+tt+'px '+rr+'px '+bb+'px '+ll+'px)' });
+ (step++ <= count) ? setTimeout(f, 13) : $curr.css('display', 'none');
+ })();
+ });
+ $.extend(opts.cssBefore, { display: 'block', opacity: 1, top: 0, left: 0 });
+ opts.animIn = { left: 0 };
+ opts.animOut = { left: 0 };
+};
+
+})(jQuery);
diff --git a/themes/greydragon_old/js/ui.support.js b/themes/greydragon_old/js/ui.support.js
new file mode 100644
index 0000000..59fde3a
--- /dev/null
+++ b/themes/greydragon_old/js/ui.support.js
@@ -0,0 +1,80 @@
+/*
+* Grey Dragon Theme: JS support
+* Copyright (c) 2007-2011 Serge Dosyukov
+* Dual licensed under the MIT and GPL licenses.
+*/
+
+jQuery.fn.extend({
+ scrollTo: function(a, b) { },
+
+ myAjaxLoginSubmit: function() {
+ $('form#g-login-form').one('submit', function() {
+ $(this).ajaxSubmit({
+ dataType: 'json',
+ success: function(data) {
+ if (data.result == 'error') {
+ $('#g-login').html(data.form);
+ $().myAjaxLoginSubmit();
+ } else {
+ // object
+ alert(typeof(data));
+ Shadowbox.close();
+ window.location.reload();
+ }
+ }
+ });
+ return false;
+ });
+ },
+
+ myAjaxSubmit: function() {
+ $('form').one('submit', function() {
+ try {
+ $(this).ajaxSubmit({
+ success: function(data) {
+ // object
+ // alert(typeof(data));
+ if (data.result == 'error') {
+ $('#sb-content form').html(data.form);
+ $().myAjaxSubmit();
+ } else {
+ Shadowbox.close();
+ if (data.reload) {
+ window.location.reload();
+ }
+ }
+ }
+ });
+ } catch (e) {
+ window.location.reload();
+ }
+
+ return false;
+ });
+ },
+
+ theme_ready: function() {
+ // Initialize dialogs
+ $(".g-dialog-link").gallery_dialog();
+
+ // Initialize short forms
+ $(".g-short-form").gallery_short_form();
+
+ try {
+ $(".g-message-block").fadeOut(10000);
+ $(".g-ajax-link").gallery_ajax();
+ } catch (e) { }
+
+ $("#g-site-menu>ul>li>ul").show();
+ $("#g-login-menu").show();
+ $(".g-context-menu").show();
+ }
+});
+
+function onMiniSlideShowReady() {
+ $("#g-rootpage-link").css("background-image", "none");
+}
+
+$(document).ready(function() {
+ $().theme_ready();
+});
diff --git a/themes/greydragon_old/libraries/MY_Theme_View.php b/themes/greydragon_old/libraries/MY_Theme_View.php
new file mode 100644
index 0000000..09d8da3
--- /dev/null
+++ b/themes/greydragon_old/libraries/MY_Theme_View.php
@@ -0,0 +1,902 @@
+<?php defined("SYSPATH") or die("No direct script access.");
+/**
+ * Grey Dragon Theme - a custom theme for Gallery 3
+ * This theme was designed and built by Serguei Dosyukov, whose blog you will find at http://blog.dragonsoft.us
+ * Copyright (C) 2009-2012 Serguei Dosyukov
+ *
+ * This program is free software; you can redistribute it and/or modify it under the terms of the GNU General
+ * Public License as published by the Free Software Foundation; either version 2 of the License, or (at your
+ * option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the
+ * implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * for more details.
+ *
+ * You should have received a copy of the GNU General Public License along with this program; if not, write to
+ * the Free Software Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA.
+ */
+?>
+<?
+class Theme_View extends Theme_View_Core {
+
+ protected $viewmode = "default";
+ protected $toolbar_large = FALSE;
+ protected $paginator_album;
+ protected $paginator_photo;
+ protected $sidebarvisible;
+ protected $sidebarallowed;
+ protected $sidebar_hideguest = FALSE;
+ protected $logopath;
+ protected $favicon = "lib/images/favicon.ico";
+ protected $appletouchicon;
+ protected $album_descmode = "hide";
+ protected $disablephotopage = FALSE;
+ protected $hidecontextmenu = FALSE;
+ protected $thumb_ratio = "";
+ protected $thumb_descmode_a = "overlay";
+ protected $thumb_descmode = "overlay";
+ protected $photo_descmode = "overlay_top";
+ protected $thumb_imgalign = "top";
+ protected $thumb_metamode = "default";
+ protected $is_blockheader_visible = TRUE;
+ protected $is_photometa_visible = FALSE;
+ protected $disable_seosupport = FALSE;
+ protected $mainmenu_position = "bottom-left";
+ protected $breadcrumbs_position = "bottom-right";
+ protected $breadcrumbs_showinroot = FALSE;
+ protected $copyright = null;
+ protected $show_guest_menu = FALSE;
+ protected $loginmenu_position = "default";
+ protected $visible_title_length = 15;
+ protected $title_source = "default";
+ protected $desc_allowbbcode = FALSE;
+ protected $enable_pagecache = FALSE;
+ protected $flex_rows = FALSE;
+ protected $photo_popupbox = "default";
+ protected $custom_css_path = "";
+ protected $thumb_inpage = FALSE;
+ protected $thumb_random = FALSE;
+ protected $row_count = 3;
+ protected $column_count = 3;
+
+ protected $crop_factor = -1;
+ protected $crop_class = "";
+ protected $_thumb_size_x = 200;
+ protected $_thumb_size_y = 200;
+ protected $allow_root_page = FALSE;
+ protected $show_root_page = FALSE;
+ protected $show_root_desc = TRUE;
+ protected $root_feed = "gallery/latest";
+ protected $root_cyclemode = "fade";
+ protected $root_delay = 15;
+ protected $root_description;
+ protected $permalinks = array("enter" => "?root=no", "root" => "?root=yes");
+
+ protected $last_update = 0;
+
+ protected $colorpack = "greydragon";
+ protected $framepack = "greydragon";
+ protected $themename = "";
+ protected $themeversion = "";
+ protected $themecss = array();
+
+ protected $is_rtl = FALSE;
+
+ protected function ensurevalue($value, $default) {
+ if ((!isset($value)) or ($value == "")):
+ return $default;
+ else:
+ return $value;
+ endif;
+ }
+
+ protected function ensureoptionsvalue($key, $default) {
+ return ($this->ensurevalue(module::get_var("th_greydragon", $key), $default));
+ }
+
+ public function read_session_cmdparam($cmd, $cookie, $issession, $default) {
+ try {
+ $_cmd = $_GET[$cmd];
+ } catch (Exception $e) {
+ };
+
+ if (isset($_cmd)):
+ $_var = strtolower($_cmd);
+ $_from_cmd = TRUE;
+ if ($_var == "default"):
+ $_var = $default;
+ endif;
+ else:
+ $_from_cmd = FALSE;
+ if ($cookie):
+ try {
+ $_var = $_COOKIE[$cookie];
+ } catch (Exception $e) {
+ };
+ endif;
+ endif;
+
+ if (!isset($_var)):
+ $_var = $default;
+ endif;
+
+ if ($issession):
+ if ($_from_cmd):
+ setcookie($cookie, $_var, 0);
+ endif;
+ else:
+ setcookie($cookie, $_var, time() + 31536000);
+ endif;
+
+ return $_var;
+ }
+
+ public function load_sessioninfo() {
+ // Sidebar position is kept for 360 days. Can be changed via url
+ $this->sidebarallowed = $this->ensureoptionsvalue("sidebar_allowed", "any");
+ $_sb_visible = $this->ensureoptionsvalue("sidebar_visible", "right");
+
+ if ($this->sidebarallowed == "default"):
+ $this->sidebarallowed = $_sb_visible;
+ $this->sidebarvisible = $_sb_visible;
+ else:
+ $this->sidebarvisible = $this->read_session_cmdparam("sb", "gd_sidebar_pos", FALSE, $_sb_visible);
+ endif;
+ $this->colorpack = $this->read_session_cmdparam("colorpack", "gd_colorpack", TRUE, $this->ensureoptionsvalue("color_pack", "greydragon"));
+ $this->framepack = $this->read_session_cmdparam("framepack", "gd_framepack", TRUE, $this->ensureoptionsvalue("frame_pack", "greydragon"));
+ $this->viewmode = $this->read_session_cmdparam("viewmode", "gd_viewmode", TRUE, $this->ensureoptionsvalue("viewmode", "default"));
+ $this->is_rtl = $this->read_session_cmdparam("is_rtl", "gd_rtl", TRUE, "no") == "yes";
+ $this->thumb_ratio = $this->read_session_cmdparam("ratio", "gd_ratio", TRUE, $this->ensureoptionsvalue("thumb_ratio", "photo"));
+
+ if ($this->ensureoptionsvalue("allow_root_page", FALSE)):
+ $_root = $this->read_session_cmdparam("root", "gd_rootpage", TRUE, "yes");
+
+ $this->show_root_page = ($_root == "yes");
+ $this->allow_root_page = TRUE;
+
+ if ($this->show_root_page):
+ $item = $this->item();
+ if (($item) && ($item->id == item::root()->id)):
+ if (($this->sidebarvisible == "left") or ($this->sidebarvisible == "right")):
+ $this->sidebarvisible = "bottom";
+ endif;
+ else:
+ $this->show_root_page = FALSE;
+ setcookie("gd_rootpage", "no", 0);
+ endif;
+
+ if ($this->ensureoptionsvalue("hide_root_sidebar", FALSE)):
+ $this->sidebarallowed = "none";
+ $this->sidebarvisible = "none";
+ endif;
+ endif;
+ endif;
+
+ $this->sidebarvisible = $this->ensurevalue($this->sidebarvisible, "right");
+
+ switch ($this->sidebarallowed):
+ case "default":
+ break;
+ case "right":
+ $this->sidebarvisible = "right";
+ break;
+ case "left":
+ $this->sidebarvisible = "left";
+ break;
+ case "bottom":
+ $this->sidebarvisible = "bottom";
+ break;
+ case "top":
+ $this->sidebarvisible = "top";
+ break;
+ endswitch;
+
+ if ($this->item()):
+ if ($this->ensureoptionsvalue("sidebar_albumonly", FALSE)):
+ if (!$this->item()->is_album()):
+ $this->sidebarvisible = "none";
+ $this->sidebarallowed = "none";
+ endif;
+ endif;
+ endif;
+
+ $this->sidebar_hideguest = $this->ensureoptionsvalue("sidebar_hideguest", FALSE);
+ if ((identity::active_user()->guest) & ($this->sidebar_hideguest)):
+ $this->sidebarvisible = "none";
+ $this->sidebarallowed = "none";
+ endif;
+
+ if (($this->page_subtype == "login") || ($this->page_subtype == "reauthenticate") || ($this->page_subtype == "error")):
+ $this->sidebarvisible = "none";
+ $this->sidebarallowed = "none";
+ endif;
+
+ $this->last_update = $this->ensureoptionsvalue("last_update", time());
+ $this->toolbar_large = $this->ensureoptionsvalue("toolbar_large", FALSE);
+ $this->row_count = $this->ensureoptionsvalue("row_count", 3);
+ $this->column_count = $this->ensureoptionsvalue("column_count", 3);
+ $this->logopath = $this->ensureoptionsvalue("logo_path", url::file("lib/images/logo.png"));
+ $this->favicon = $this->ensurevalue(module::get_var("gallery", "favicon_url"), url::file("lib/images/favicon.ico"));
+ $this->appletouchicon = module::get_var("gallery", "apple_touch_icon_url");
+ $this->horizontal_crop = $this->ensureoptionsvalue("horizontal_crop", FALSE);
+ $this->album_descmode = $this->ensureoptionsvalue("album_descmode", "hide");
+ $this->disablephotopage = $this->ensureoptionsvalue("disablephotopage", FALSE);
+ $this->hidecontextmenu = $this->ensureoptionsvalue("hidecontextmenu", FALSE);
+ $this->visible_title_length = module::get_var("gallery", "visible_title_length", 15);
+ $this->title_source = $this->ensureoptionsvalue("title_source", "default");
+ $this->thumb_descmode_a = $this->ensureoptionsvalue("thumb_descmode_a", "overlay");
+ $this->thumb_descmode = $this->ensureoptionsvalue("thumb_descmode", "overlay");
+ $this->photo_descmode = $this->ensureoptionsvalue("photo_descmode", "overlay_top");
+
+ $this->thumb_random = $this->ensureoptionsvalue("thumb_random", FALSE);
+ $this->thumb_imgalign = $this->ensureoptionsvalue("thumb_imgalign", "top");
+ if (module::is_active("info")):
+ $this->thumb_metamode = $this->ensureoptionsvalue("thumb_metamode", "default");
+ $this->is_photometa_visible = (!$this->ensureoptionsvalue("hide_photometa", TRUE));
+ else:
+ $this->thumb_metamode = "hide";
+ $this->is_photometa_visible = FALSE;
+ endif;
+ $this->disable_seosupport = $this->ensureoptionsvalue("disable_seosupport", FALSE);
+ $this->is_blockheader_visible = (!$this->ensureoptionsvalue("hide_blockheader", FALSE));
+
+ $this->mainmenu_position = $this->ensureoptionsvalue("mainmenu_position", "default");
+ $this->show_guest_menu = $this->ensureoptionsvalue("show_guest_menu", FALSE);
+ $this->breadcrumbs_position = $this->ensureoptionsvalue("breadcrumbs_position", "default");
+ $this->breadcrumbs_showinroot = $this->ensureoptionsvalue("breadcrumbs_showinroot", FALSE);
+ $this->desc_allowbbcode = $this->ensureoptionsvalue("desc_allowbbcode", FALSE);
+
+ $this->loginmenu_position = $this->ensureoptionsvalue("loginmenu_position", "default");
+ $this->copyright = $this->ensureoptionsvalue("copyright", null);
+ $this->paginator_album = $this->ensureoptionsvalue("paginator_album", "top");
+ $this->paginator_photo = $this->ensureoptionsvalue("paginator_photo", "top");
+ $this->enable_pagecache = $this->ensureoptionsvalue("enable_pagecache", FALSE);
+ $this->flex_rows = $this->ensureoptionsvalue("flex_rows", FALSE);
+ $this->show_root_desc = !$this->ensureoptionsvalue("hide_root_desc", FALSE);
+ $this->root_feed = $this->ensureoptionsvalue("root_feed", "gallery/latest");
+ $this->root_cyclemode = $this->ensureoptionsvalue("root_cyclemode", "fade");
+ $this->root_delay = $this->ensureoptionsvalue("root_delay", "15");
+ $this->root_description = module::get_var("th_greydragon", "root_description");
+ if ($this->ensureoptionsvalue("use_permalinks", FALSE)):
+ $this->permalinks = array("enter" => "enter", "root" => "root");
+ endif;
+ if (((module::is_active("shadowbox")) and (module::info("shadowbox")))
+ or ((module::is_active("fancybox")) and (module::info("fancybox")))
+ or ((module::is_active("colorbox")) and (module::info("colorbox")))
+ ):
+ $this->photo_popupbox = $this->ensureoptionsvalue("photo_popupbox", "default");
+ else:
+ $this->photo_popupbox = "none";
+ endif;
+
+ try {
+ $theme_info = new ArrayObject(parse_ini_file(THEMEPATH . "greydragon/theme.info"), ArrayObject::ARRAY_AS_PROPS);
+ $this->themename = $theme_info->name;
+ $this->themeversion = $theme_info->version;
+ } catch (Exception $e) {
+ $this->themename = "Grey Dragon Theme";
+ $this->themeversion = "2.7.+";
+ }
+
+ $this->custom_css_path = $this->ensureoptionsvalue("custom_css_path", "");
+
+ switch ($this->thumb_ratio):
+ /* case "square":
+ $this->crop_factor = 1;
+ $this->thumb_type = 'g-thumbtype-sqr';
+ break;
+ */
+ case "digital":
+ $this->crop_factor = 4/3;
+ $this->thumb_type = 'g-thumbtype-dgt';
+ break;
+ case "digital_ex":
+ $this->crop_factor = 4/3;
+ $this->thumb_type = 'g-thumbtype-dgt';
+ $this->_thumb_size_x = 300;
+ break;
+ case "film":
+ $this->crop_factor = 3/2;
+ $this->thumb_type = 'g-thumbtype-flm';
+ break;
+ case "film_ex":
+ $this->crop_factor = 3/2;
+ $this->thumb_type = 'g-thumbtype-flm';
+ $this->_thumb_size_x = 300;
+ break;
+ case "wide":
+ $this->crop_factor = 16/9;
+ $this->thumb_type = 'g-thumbtype-wd';
+ break;
+ case "wide_ex":
+ $this->crop_factor = 16/9;
+ $this->thumb_type = 'g-thumbtype-wd';
+ $this->_thumb_size_x = 300;
+ break;
+ case "photo_ex":
+ $this->crop_factor = 1;
+ $this->thumb_type = 'g-thumbtype-sqr';
+ $this->_thumb_size_x = 300;
+ break;
+ case "photo":
+ default:
+ $this->crop_factor = 1;
+ $this->thumb_type = 'g-thumbtype-sqr';
+ break;
+ endswitch;
+
+ $this->_thumb_size_y = intval($this->_thumb_size_x / $this->crop_factor);
+
+ if (($this->sidebarvisible == "none") or ($this->sidebarvisible == "bottom") or ($this->sidebarvisible == "top") ):
+ $this->thumb_inpage = $this->ensureoptionsvalue("thumb_inpage", FALSE);
+ endif;
+ }
+
+ public function is_sidebarallowed($align) {
+ return (($this->sidebarallowed == "any") or ($this->sidebarallowed == $align));
+ }
+
+ public function custom_header() {
+ if (Kohana::find_file('views', "header.html", FALSE)):
+ return new View("header.html");
+ endif;
+ }
+
+ public function custom_footer() {
+ if (Kohana::find_file('views', "footer.html", FALSE)):
+ return new View("footer.html");
+ endif;
+ }
+
+ public function get_item_title($item, $allowbbcode = FALSE, $limit_title_length = 0) {
+ if (!$item)
+ return "";
+
+ if ($item->is_album()):
+ $title = $item->title;
+ else:
+ switch ($this->title_source):
+ case "description":
+ $title = $item->description;
+ break;
+ case "no-filename":
+ $title = $item->title;
+ $filename = $item->name;
+
+ if (strcasecmp($title, $filename) == 0):
+ $title = "";
+ else:
+ if (defined('PATHINFO_FILENAME')):
+ $filename = pathinfo($filename, PATHINFO_FILENAME);
+ elseif (strstr($item->filename, '.')):
+ $filename = substr($filename, 0, strrpos($filename, '.'));
+ endif;
+
+ if (strcasecmp($title, $filename) == 0):
+ $title = "";
+ else:
+ $filename = item::convert_filename_to_title($filename); // Normalize filename to title format
+ if (strcasecmp($title, $filename) == 0)
+ $title = "";
+ endif;
+ endif;
+ break;
+ default:
+ $title = $item->title;
+ break;
+ endswitch;
+ endif;
+
+ $title = html::purify($title);
+ if ($allowbbcode):
+ $title = $this->bb2html($title, 1);
+ else:
+ $title = $this->bb2html($title, 2);
+ endif;
+
+ if ($limit_title_length):
+ $title = text::limit_chars($title, $limit_title_length);
+ endif;
+
+ if ($title === "")
+ $title = t(ucfirst($item->type)) . " " . $item->id;
+
+ return $title;
+ }
+
+ public function breadcrumb_menu($theme, $parents) {
+ $content = "";
+ if ($this->breadcrumbs_position == "hide"):
+ elseif ($this->item() and (!empty($parents) or (empty($parents) and $this->breadcrumbs_showinroot))):
+ $content .= '<ul class="g-breadcrumbs g-' . $this->breadcrumbs_position . '">';
+ $i = 0;
+ if (!empty($parents)):
+ foreach ($parents as $parent):
+ $content .= '<li ' . (($i == 0)? " class=\"g-first\"" : null) . '>';
+ $content .= (($i > 0)? " :: " : null );
+ $content .= '<a href="' . $parent->url($parent == $this->item()->parent() ? "show={$this->item()->id}" : null) . '">';
+ $content .= $this->get_item_title($parent, FALSE, $this->visible_title_length);
+ $content .= '</a></li>';
+ $i++;
+ endforeach;
+ endif;
+ $content .= '<li class="g-active ' . (($i == 0)? " g-first" : null) . '"> '. (($i > 0)? " :: " : null ) . $this->get_item_title($this->item(), FALSE, $this->visible_title_length) . '</li>';
+ $content .= '</ul>';
+ endif;
+
+ return $content;
+ }
+
+ protected function sidebar_menu_item($type, $url, $caption, $css) {
+ if (!$this->is_sidebarallowed($type)):
+ return "";
+ endif;
+
+ $iscurrent = ($this->sidebarvisible == $type);
+ $content_menu = '<li>';
+ if (!$iscurrent):
+ $content_menu .= '<a title="' . $caption . '" href="' . $url . '?sb=' . $type . '" rel="nofollow">';
+ endif;
+ $content_menu .= '<span class="ui-icon g-sidebar-' . $css;
+ if ($iscurrent):
+ $content_menu .= ' g-current';
+ endif;
+ $content_menu .= '">' . $caption . '</span>';
+ if (!$iscurrent):
+ $content_menu .= '</a>';
+ endif;
+
+ return $content_menu . '</li>';
+ }
+
+ public function sidebar_menu($url) {
+ if ($this->sidebarallowed != "any"):
+ return "";
+ endif;
+ if ($this->page_subtype == "profile"):
+ return "";
+ endif;
+
+ $content_menu = $this->sidebar_menu_item("left", $url, t("Sidebar Left"), "left");
+ $content_menu .= $this->sidebar_menu_item("top", $url, t("Sidebar Top"), "top");
+ $content_menu .= $this->sidebar_menu_item("none", $url, t("No Sidebar"), "full");
+ $content_menu .= $this->sidebar_menu_item("bottom", $url, t("Sidebar Bottom"), "bottom");
+ $content_menu .= $this->sidebar_menu_item("right", $url, t("Sidebar Right"), "right");
+ return '<ul id="g-viewformat">' . $content_menu . '</ul>';
+ }
+
+ public function add_paginator($position, $isalbum = TRUE) {
+ if ($isalbum):
+ $check = (($this->paginator_album == "both") or ($this->paginator_album == $position));
+ else:
+ $check = (($this->paginator_photo == "both") or ($this->paginator_photo == $position));
+ endif;
+
+ if ($check):
+ return ($this->paginator());
+ else:
+ return "";
+ endif;
+ }
+
+ public function get_bodyclass() {
+ $body_class = "";
+ if ($this->is_rtl):
+ $body_class = "rtl";
+ endif;
+ if ($this->toolbar_large):
+ $body_class .= " g-toolbar-large";
+ endif;
+ if ($this->viewmode == "mini"):
+ $body_class .= " viewmode-mini";
+ endif;
+ $body_class .= " g-sidebar-" . $this->sidebarvisible;
+
+ switch ($this->column_count):
+ case 5:
+ $body_class .= " g-column-5";
+ break;
+ case 4:
+ $body_class .= " g-column-4";
+ break;
+ case 2:
+ $body_class .= " g-column-2";
+ break;
+ case -1:
+ $body_class .= " g-column-flex";
+ break;
+ case 3:
+ default:
+ $body_class .= " g-column-3";
+ break;
+ endswitch;
+
+
+ switch ($this->thumb_ratio):
+ case "digital_ex":
+ case "film_ex":
+ case "wide_ex":
+ case "photo_ex":
+ $body_class .= ' g-extended';
+ break;
+ default:
+ break;
+ endswitch;
+
+ $body_class .= " g-" . $this->framepack;
+ return 'class="' . trim($body_class) . '"';
+ }
+
+ public function get_thumb_link($item) {
+ if ($item->is_album()):
+ return "";
+ endif;
+ if (item::viewable($item)):
+ if (access::can("view_full", $item)):
+ $direct_link = $item->file_url();
+ else:
+ $direct_link = $item->resize_url();
+ endif;
+ return '<a title="' . $this->get_item_title($item) . '" style="display: none;" class="g-sb-preview" rel="g-preview" href="' . $direct_link . '">&nbsp;</a>';
+ else:
+ return "";
+ endif;
+ }
+
+ public function get_thumb_element($item, $addcontext = FALSE, $linkonly = FALSE) {
+ $thumb_item = $item;
+ if ($this->thumb_random):
+ if ($item->is_album() && ($rnd = item::random_query()->where("parent_id", "=", $item->id)->find()) && $rnd->loaded()):
+ $thumb_item = $rnd;
+ endif;
+ endif;
+
+ $item_class = $item->is_album() ? "g-album" : "g-photo";
+ $content = '<li id="g-item-id-' . $item->id . '" class="g-item ' . $item_class . ' ' . $this->thumb_type;
+ if ($item->is_album()):
+ $_thumb_descmode = $this->thumb_descmode_a;
+ else:
+ $_thumb_descmode = $this->thumb_descmode;
+ endif;
+
+ $content .= ($_thumb_descmode == "bottom")? " g-expanded" : " g-default";
+
+ if ($thumb_item->has_thumb()):
+ $is_portrait = ($thumb_item->thumb_height > $thumb_item->thumb_width);
+ $_shift = "";
+ switch ($this->thumb_imgalign):
+ case "center":
+ if (($this->crop_factor == 1) and (!$is_portrait)):
+ $_shift = 'style="margin-top: ' . intval(($this->_thumb_size_y - $thumb_item->thumb_height) / 2) . 'px;"';
+ elseif ($this->crop_factor > 0):
+ $_shift = 'style="margin-top: -' . intval(($thumb_item->thumb_height - $this->_thumb_size_y) / 2) . 'px;"';
+ endif;
+ break;
+ case "bottom":
+ if (($this->crop_factor == 1) and (!$is_portrait)):
+ $_shift = 'style="margin-top: ' . intval($this->_thumb_size_y - $thumb_item->thumb_height) . 'px;"';
+ elseif ($this->crop_factor > 0):
+ $_shift = 'style="margin-top: -' . intval($thumb_item->thumb_height - $this->_thumb_size_y) . 'px;"';
+ endif;
+ break;
+ case "fit":
+ break;
+ case "top":
+ default:
+ break;
+ endswitch;
+ else:
+ $is_portrait = FALSE;
+ $_shift = 'style="margin-top: 0px;"';
+ endif;
+
+ $content .= ($is_portrait)? " g-portrait" : " g-landscape";
+ $content .= '">' . $this->thumb_top($item);
+
+ $content .= '<div class="g-thumbslide">';
+ $thumb_content = '<p class="g-thumbcrop">';
+
+ $use_direct_link = (($this->disablephotopage) && (!$item->is_album()));
+ $class_name = "g-thumblink";
+ if ($use_direct_link):
+ $class_name .= ' g-sb-preview" rel="g-preview';
+ if (access::can("view_full", $item)):
+ $direct_link = $item->file_url();
+ else:
+ $direct_link = $item->resize_url();
+ endif;
+ else:
+ $direct_link = $item->url();
+ endif;
+
+ if ($use_direct_link && module::is_active("exif") && module::info("exif")):
+ $thumb_content .= '<a class="g-meta-exif-link g-dialog-link" href="' . url::site("exif/show/{$item->id}") . '" title="' . t("Photo details")->for_html_attr() . '">&nbsp;</a>';
+ endif;
+
+ $thumb_content .= '<a title="' . $this->get_item_title($item) . '" '. $_shift . ' class="' . $class_name . '" href="' . $direct_link . '">';
+ if ($thumb_item->has_thumb()):
+ if (($this->crop_factor > 1) && ($this->thumb_imgalign == "fit")):
+ if ($thumb_item->thumb_height > $this->_thumb_size_y):
+ if ($is_portrait):
+ $_max = $this->_thumb_size_y;
+ else:
+ $_max = intval($this->_thumb_size_x * ($this->_thumb_size_y / $thumb_item->thumb_height));
+ endif;
+ else:
+ $_max = $this->_thumb_size_x;
+ endif;
+ $_max = min($thumb_item->thumb_width, $_max);
+ $thumb_content .= $thumb_item->thumb_img(array(), $_max);
+ else:
+ $thumb_content .= $thumb_item->thumb_img();
+ endif;
+ else:
+ $thumb_content .= '<img title="No Image" alt="No Image" src="' . $this->url("images/missing-img.png") . '"/>';
+ endif;
+ $thumb_content .= '</a></p>';
+
+ if (($this->thumb_metamode != "hide") and ($_thumb_descmode == "overlay_bottom")):
+ $_thumb_metamode = "merged";
+ else:
+ $_thumb_metamode = $this->thumb_metamode;
+ endif;
+
+ if (($_thumb_descmode == "overlay") or ($_thumb_descmode == "overlay_top") or ($_thumb_descmode == "overlay_bottom")):
+ $thumb_content .= '<ul class="g-description ';
+ if ($_thumb_descmode == "overlay_top"):
+ $thumb_content .= 'g-overlay-top';
+ endif;
+ if ($_thumb_descmode == "overlay_bottom"):
+ $thumb_content .= 'g-overlay-bottom';
+ endif;
+ $thumb_content .= '"><li class="g-title">' . $this->get_item_title($item, FALSE, $this->visible_title_length) . '</li>';
+ if ($_thumb_metamode == "merged"):
+ $thumb_content .= $this->thumb_info($item);
+ endif;
+ $thumb_content .= '</ul>';
+ endif;
+
+ if (($_thumb_metamode == "default") and ($_thumb_descmode != "overlay_bottom")):
+ $thumb_content .= '<ul class="g-metadata">' . $this->thumb_info($item) . '</ul>';
+ endif;
+
+ if ($_thumb_descmode == "bottom"):
+ $thumb_content .= '<ul class="g-description">';
+ $thumb_content .= '<li class="g-title">' . $this->get_item_title($item) . '</li>';
+ if ($_thumb_metamode == "merged"):
+ $thumb_content .= $this->thumb_info($item);
+ endif;
+ $thumb_content .= '</ul>';
+ endif;
+
+ if ($addcontext):
+ $_text = $this->context_menu($item, "#g-item-id-{$item->id} .g-thumbnail");
+ $thumb_content .= (stripos($_text, '<li>'))? $_text : null;
+ endif;
+
+ try {
+ $view = new View("frame.html");
+ $view->thumb_content = $thumb_content;
+ $content .= $view;
+ } catch (Exception $e) {
+ $content .= $thumb_content;
+ }
+
+ $content .= '</div>';
+ $content .= $this->thumb_bottom($item);
+ $content .= '</li>';
+
+ return $content;
+ }
+
+ public function get_block_html($module) {
+ $active = block_manager::get_active("site_sidebar");
+ $result = "";
+ foreach ($active as $id => $desc) {
+ if (($desc[0] == $module) and (method_exists("$desc[0]_block", "get"))) {
+ $block = call_user_func(array("$desc[0]_block", "get"), $desc[1], $this);
+ if (!empty($block)) {
+ $block->id = $id;
+ $block->css_id = $block->css_id . "-inline";
+ $result .= $block;
+ }
+ }
+ }
+ return $result;
+ }
+
+ public function css_link($file, $direct = FALSE) {
+ if (!$direct):
+ $file = $this->url("css/" . $file);
+ endif;
+ return "\n<link rel=\"stylesheet\" href=\"" . $file . "\" type=\"text/css\" media=\"screen,print,projection\" />\n";
+ }
+
+ public function custom_css_inject($direct) {
+ $_css = $this->custom_css_path;
+ if ($_css != ""):
+ $_fileonly = (stripos($_css, '/') === FALSE);
+
+ if ($_fileonly):
+ if (!$direct):
+ return $this->css($_css);
+ endif;
+ else:
+ if ($direct):
+ return $this->css_link($_css, TRUE);
+ endif;
+ endif;
+ else:
+ return "";
+ endif;
+ }
+
+ public function theme_js_inject() {
+ $js = "";
+ if ($this->show_root_page):
+ $js .= $this->script("jquery.cycle.js");
+ endif;
+// $js .= $this->script("jquery.touchslider.js");
+ $js .= $this->script("ui.support.js");
+ return $js;
+ }
+
+ public function theme_css_inject() {
+ $css = $this->css("screen.css");
+ $css .= $this->css("colors.css");
+ $css .= $this->css("frame.css");
+ $css .= $this->custom_css_inject(FALSE);
+ return $css;
+ }
+
+ public function credits() {
+ if (module::get_var("gallery", "show_credits")):
+ $version_string = SafeString::of_safe_html('Gallery ' . gallery::VERSION);
+ return '<ul id="g-credits">'
+ . '<li class="g-branding"><a id="g-gallery-logo" href="http://gallery.menalto.com" title="' . $version_string . '"></a>'
+ . '<a id="g-theme-logo" href="http://codex.gallery2.org/Gallery3:Themes:greydragon" target="_blank" title="' . $this->themename . ' ' . $this->themeversion . ' (' . $this->colorpack . ')"></a></li>'
+ . gallery_theme::credits()
+ . '</ul>';
+ else:
+ return '';
+ endif;
+ }
+
+ // $mode: bit 1 - use mix mode ($mode in [1, 3]), bit 2 - strips bbcode ($mode in [2, 3])
+ public function bb2html($text, $mode) {
+ // Syntax Sample:
+ // --------------
+ // [img]http://elouai.com/images/star.gif[/img]
+ // [url="http://elouai.com"]eLouai[/url]
+ // [size="25"]HUGE[/size]
+ // [color="red"]RED[/color]
+ // [b]bold[/b]
+ // [i]italic[/i]
+ // [u]underline[/u]
+ // [list][*]item[*]item[*]item[/list]
+ // [code]value="123";[/code]
+ // [quote]John said yadda yadda yadda[/quote]
+
+ static $bbcode_mappings = array(
+ "#\\[b\\](.*?)\\[/b\\]#" => "<strong>$1</strong>",
+ "#\\[i\\](.*?)\\[/i\\]#" => "<em>$1</em>",
+ "#\\[u\\](.*?)\\[/u\\]#" => "<u>$1</u>",
+ "#\\[s\\](.*?)\\[/s\\]#" => "<strike>$1</strike>",
+ "#\\[o\\](.*?)\\[/o\\]#" => "<overline>$1</overline>",
+ "#\\[url\\](.*?)\[/url\\]#" => "<a href=\"$1\">$1</a>",
+ "#\\[url=(.*?)\\](.*?)\[/url\\]#" => "<a href=\"$1\" target=\"_blank\">$2</a>",
+ "#\\[mail=(.*?)\\](.*?)\[/mail\\]#" => "<a href=\"mailto:$1\" target=\"_blank\">$2</a>",
+ "#\\[img\\](.*?)\\[/img\\]#" => "<img src=\"$1\" alt=\"\" />",
+ "#\\[img=(.*?)\\](.*?)\[/img\\]#" => "<img src=\"$1\" alt=\"$2\" />",
+ "#\\[quote\\](.*?)\\[/quote\\]#" => "<blockquote><p>$1</p></blockquote>",
+ "#\\[code\\](.*?)\\[/code\\]#" => "<pre>$1</pre>",
+ "#\\[size=([^\\[]*)\\]([^\\[]*)\\[/size\\]#" => "<span style=\"font-size: $1;\">$2</span>",
+ "#\\[color=([^\\[]*)\\]([^\\[]*)\\[/color\\]#" => "<span style=\"color: $1;\">$2</span>",
+ "#\\[class=([^\\[]*)\\]([^\\[]*)\\[/class\\]#" => "<span class=\"$1\">$2</span>",
+ "#\\[center\\](.*?)\\[/center\\]#" => "<div style=\"text-align: center;\">$1</div>",
+ "#\\[list\\](.*?)\\[/list\\]#" => "<ul>$1</ul>",
+ "#\\[ul\\](.*?)\\[/ul\\]#" => "<ul>$1</ul>",
+ "#\\[li\\](.*?)\\[/li\\]#" => "<li>$1</li>",
+ );
+
+ static $bbcode_strip = '|[[\/\!]*?[^\[\]]*?]|si';
+
+ if (($mode == 1) or ($mode == 3)):
+ $newtext = str_replace("&lt;", "<", $text);
+ $newtext = str_replace("&gt;", ">", $newtext);
+ $newtext = str_replace("&quot;", "\"", $newtext);
+ else:
+ // Replace any html brackets with HTML Entities to prevent executing HTML or script
+ $newtext = str_replace("<", "&lt;", $text);
+ $newtext = str_replace(">", "&gt;", $newtext);
+ $newtext = str_replace("&amp;quot;", "&quot;", $newtext);
+ endif;
+
+ // Convert new line chars to html <br /> tags
+ $newtext = nl2br($newtext);
+
+ if (strpos($text, "[") !== false):
+ if (($mode == 2) or ($mode == 3)):
+ $newtext = preg_replace($bbcode_strip, '', $newtext);
+ else:
+ $newtext = preg_replace(array_keys($bbcode_mappings), array_values($bbcode_mappings), $newtext);
+ endif;
+ endif;
+
+ return stripslashes($newtext); //stops slashing, useful when pulling from db
+ }
+
+ function curl_get_file_contents($url) {
+ $curl = curl_init();
+ curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
+ curl_setopt($curl, CURLOPT_URL, $url);
+ $contents = curl_exec($curl);
+ curl_close($curl);
+
+ if ($contents):
+ return $contents;
+ else:
+ return FALSE;
+ endif;
+ }
+
+ function valid_url($str) {
+ return ( ! preg_match('/^(http|https|ftp):\/\/([A-Z0-9][A-Z0-9_-]*(?:\.[A-Z0-9][A-Z0-9_-]*)+):?(\d+)?\/?/i', $str)) ? FALSE : TRUE;
+ }
+
+ function get_slideshow_list($limit = 10) {
+ if( ! function_exists('simplexml_load_string'))
+ throw new Kohana_User_Exception('Feed Error', 'SimpleXML must be installed!');
+
+ $items = array();
+ $host = 'http://' . $_SERVER['SERVER_NAME'] . '/';
+
+ $feed_url = $this->root_feed;
+ if (!$this->valid_url($feed_url)):
+ $feed_url = $host . $feed_url;
+ endif;
+
+ $use_file_load = ($this->valid_url($feed_url)) || is_file($feed_url);
+
+ $er = error_reporting(0);
+ // Try to get feed directly
+ try {
+ try {
+ if ($use_file_load):
+ $feed = simplexml_load_file($feed_url, 'SimpleXMLElement', LIBXML_NOCDATA);
+ else:
+ $feed = simplexml_load_string($feed_url, 'SimpleXMLElement', LIBXML_NOCDATA);
+ endif;
+ } catch (Exception $e) {
+ }
+ } catch (Exception $e) {
+ };
+
+ if (isset($feed) && ($feed)):
+ // Direct load worked fine
+ else:
+ // Direct load did not work, let's try CURL (URL file-access is disabled ?)
+ try {
+ $file = $this->curl_get_file_contents($feed_url);
+ if ($file):
+ $feed = simplexml_load_string($file, 'SimpleXMLElement', LIBXML_NOCDATA | LIBXML_NOBLANKS);
+ endif;
+ } catch (Exception $e) {
+ };
+ endif;
+ error_reporting($er);
+
+ if (isset($feed) && ($feed)):
+ $feed = isset($feed->channel) ? $feed->channel->xpath("//media:content[contains(@url, 'var/resizes')]") : array();
+ $i = 0;
+ foreach ($feed as $item):
+ if ($limit > 0 AND $i++ === $limit)
+ break;
+ $items[] = (array) $item;
+ endforeach;
+ endif;
+ return $items;
+ }
+}
+
+?> \ No newline at end of file
diff --git a/themes/greydragon_old/module.info b/themes/greydragon_old/module.info
new file mode 100644
index 0000000..4a65e8c
--- /dev/null
+++ b/themes/greydragon_old/module.info
@@ -0,0 +1,9 @@
+name = "GreyDragon Shared"
+description = "Shared content for modules from GreyDragon. Need to be activated.<br />Version 1.3 | By <a href=http://blog.dragonsoft.us>Serguei Dosyukov</a>"
+version = 13
+author_name = "Serguei Dosyukov"
+author_url = "http://blog.dragonsoft.us/gallery-3/"
+info_url = ""
+discuss_url = ""
+
+
diff --git a/themes/greydragon_old/theme.info b/themes/greydragon_old/theme.info
new file mode 100644
index 0000000..f2718e4
--- /dev/null
+++ b/themes/greydragon_old/theme.info
@@ -0,0 +1,11 @@
+name = "Grey Dragon Theme"
+description = "A Crisp flexible theme with support of Color Packs and minimized on JS overhead"
+version = 3.2.2
+author = "2010-2012 Serguei Dosyukov"
+site = 1
+admin = 0
+author_name = "Serguei Dosyukov"
+author_url = "http://blog.dragonsoft.us/gallery-3/"
+info_url = "http://codex.gallery2.org/Gallery3:Themes:greydragon";
+discuss_url = "http://gallery.menalto.com/forum_theme_greydragon"
+vote = "http://gallery.menalto.com/gallery/g3demosites/";
diff --git a/themes/greydragon_old/thumbnail.png b/themes/greydragon_old/thumbnail.png
new file mode 100644
index 0000000..4b80eca
--- /dev/null
+++ b/themes/greydragon_old/thumbnail.png
Binary files differ
diff --git a/themes/greydragon_old/views/album.html.php b/themes/greydragon_old/views/album.html.php
new file mode 100644
index 0000000..d371cae
--- /dev/null
+++ b/themes/greydragon_old/views/album.html.php
@@ -0,0 +1,68 @@
+<?php defined("SYSPATH") or die("No direct script access.");
+/**
+ * Grey Dragon Theme - a custom theme for Gallery 3
+ * This theme was designed and built by Serguei Dosyukov, whose blog you will find at http://blog.dragonsoft.us
+ * Copyright (C) 2009-2012 Serguei Dosyukov
+ *
+ * This program is free software; you can redistribute it and/or modify it under the terms of the GNU General
+ * Public License as published by the Free Software Foundation; either version 2 of the License, or (at your
+ * option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the
+ * implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * for more details.
+ *
+ * You should have received a copy of the GNU General Public License along with this program; if not, write to
+ * the Free Software Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA.
+ */
+?>
+<div id="g-album-header">
+ <?= $theme->album_top() ?>
+ <h1><?= $theme->get_item_title($item, TRUE) ?> <?= ($theme->item()->id != item::root()->id && 0 < count($item->children())) ? t("(%count Bilder)", array("count"=>count($item->children()))) : ""?></h1>
+</div>
+
+<?= $theme->add_paginator("top"); ?>
+
+<? if (($theme->album_descmode == "top") and ($item->description)): ?>
+ <div id="g-info"><div class="g-description"><?= $theme->bb2html(html::purify($item->description), 1); ?></div></div>
+<? endif; ?>
+
+<div class="g-album-grid-container">
+<ul id="g-album-grid">
+<?
+ if (count($children)):
+ $siblings = $item->children();
+ if (($theme->disablephotopage) && (count($siblings) > count($children))):
+ $j = 0;
+ foreach ($siblings as $i => $sibling):
+ if ($sibling->rand_key == $children[$j]->rand_key):
+ echo $theme->get_thumb_element($sibling, !$theme->hidecontextmenu);
+ if ($j + 1 < count($children)):
+ $j++;
+ endif;
+ else:
+ echo $theme->get_thumb_link($sibling);
+ endif;
+ endforeach;
+ else:
+ foreach ($children as $i => $child):
+ echo $theme->get_thumb_element($child, !$theme->hidecontextmenu);
+ endforeach;
+ endif;
+ else:
+ if ($user->admin || access::can("add", $item)):
+ $addurl = url::site("uploader/index/$item->id"); ?>
+ <li><?= t("There aren't any photos here yet! <a %attrs>Add some</a>.", array("attrs" => html::mark_clean("href=\"$addurl\" class=\"g-dialog-link\""))) ?></li>
+ <? else: ?>
+ <li><?= t("There aren't any photos here yet!") ?></li>
+ <? endif; ?>
+<? endif; ?>
+</ul>
+</div>
+
+<? if (($theme->album_descmode == "bottom") and ($item->description)): ?>
+ <div id="g-info"><div class="g-description"><?= $theme->bb2html(html::purify($item->description), 1) ?></div></div>
+<? endif; ?>
+<?= $theme->album_bottom() ?>
+
+<?= $theme->add_paginator("bottom"); ?>
diff --git a/themes/greydragon_old/views/block.html.php b/themes/greydragon_old/views/block.html.php
new file mode 100644
index 0000000..e9d1a85
--- /dev/null
+++ b/themes/greydragon_old/views/block.html.php
@@ -0,0 +1,29 @@
+<?php defined("SYSPATH") or die("No direct script access.");
+/**
+ * Grey Dragon Theme - a custom theme for Gallery 3
+ * This theme was designed and built by Serguei Dosyukov, whose blog you will find at http://blog.dragonsoft.us
+ * Copyright (C) 2009-2012 Serguei Dosyukov
+ *
+ * This program is free software; you can redistribute it and/or modify it under the terms of the GNU General
+ * Public License as published by the Free Software Foundation; either version 2 of the License, or (at your
+ * option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the
+ * implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * for more details.
+ *
+ * You should have received a copy of the GNU General Public License along with this program; if not, write to
+ * the Free Software Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA.
+ */
+?>
+<? if ($anchor): ?>
+<a name="<?= $anchor ?>"></a>
+<? endif ?>
+<div id="<?= $css_id ?>" class="g-block">
+ <? if (isset($theme) and ($theme->is_blockheader_visible)): ?>
+ <h2><?= $title ?></h2>
+ <? endif ?>
+ <div class="g-block-content">
+ <?= $content ?>
+ </div>
+</div>
diff --git a/themes/greydragon_old/views/calpage.html.php b/themes/greydragon_old/views/calpage.html.php
new file mode 100644
index 0000000..c87d2c9
--- /dev/null
+++ b/themes/greydragon_old/views/calpage.html.php
@@ -0,0 +1,257 @@
+<?php defined("SYSPATH") or die("No direct script access.");
+/**
+ * Grey Dragon Theme - a custom theme for Gallery 3
+ * This theme was designed and built by Serguei Dosyukov, whose blog you will find at http://blog.dragonsoft.us
+ * Copyright (C) 2009-2012 Serguei Dosyukov
+ *
+ * This program is free software; you can redistribute it and/or modify it under the terms of the GNU General
+ * Public License as published by the Free Software Foundation; either version 2 of the License, or (at your
+ * option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the
+ * implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * for more details.
+ *
+ * You should have received a copy of the GNU General Public License along with this program; if not, write to
+ * the Free Software Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA.
+ */
+?>
+<!DOCTYPE html >
+<? $theme->load_sessioninfo(); ?>
+<html <?= $theme->html_attributes() ?> xml:lang="en" lang="en" <?= ($theme->is_rtl)? "dir=rtl" : null; ?> >
+<?
+ $item = $theme->item();
+ if (($theme->enable_pagecache) and (isset($item))):
+ // Page will expire in 60 seconds
+ header('Expires: ' . gmdate('D, d M Y H:i:s', time() + 60).'GMT');
+ header("Cache-Control: public");
+ header("Cache-Control: post-check=3600, pre-check=43200", false);
+ header("Content-Type: text/html; charset=UTF-8");
+ header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT");
+ endif;
+?>
+<!-- <?= $theme->themename ?> v.<?= $theme->themeversion ?> (<?= $theme->colorpack ?> : <?= $theme->framepack ?>) - Copyright (c) 2009-2012 Serguei Dosyukov - All Rights Reserved -->
+<head>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta http-equiv="content-type" content="text/html; charset=UTF-8" />
+<? $theme->start_combining("script,css") ?>
+<? if ($page_title): ?>
+<? $_title = $page_title ?>
+<? else: ?>
+<? if ($theme->item()): ?>
+<? $_title = $theme->get_item_title($theme->item()); ?>
+<? elseif ($theme->tag()): ?>
+<? $_title = t("Photos tagged with %tag_title", array("tag_title" => $theme->bb2html($theme->tag()->name, 2))) ?>
+<? else: /* Not an item, not a tag, no page_title specified. Help! */ ?>
+<? $_title = $theme->bb2html(item::root()->title, 2); ?>
+<? endif ?>
+<? endif ?>
+<title><?= $_title ?></title>
+<? if ($theme->disable_seosupport): ?>
+<meta name="robots" content="noindex, nofollow, noarchive" />
+<meta name="googlebot" content="noindex, nofollow, noarchive, nosnippet, noodp, noimageindex, notranslate" />
+<meta name="slurp" content="noindex, nofollow, noarchive, nosnippet, noodp, noydir" />
+<meta name="msnbot" content="noindex, nofollow, noarchive, nosnippet, noodp" />
+<meta name="teoma" content="noindex, nofollow, noarchive" />
+<? endif; ?>
+<!-- Internet Explorer 9 Meta tags : Start -->
+<meta name="application-name" content="<?= $_title; ?>" />
+<meta name="msapplication-tooltip" content="<?= t("Start"); ?> <?= $_title; ?>" />
+<meta name="msapplication-starturl" content="<?= item::root()->url() ?>" />
+<? if ($theme->allow_root_page): ?>
+<meta name="msapplication-task" content="name=<?= t("Gallery") ?>: <?= t("Root Page") ?>; action-uri=<?= item::root()->url(); ?><?= $theme->permalinks["root"]; ?>; icon-uri=favicon.ico" />
+<meta name="msapplication-task" content="name=<?= t("Gallery") ?>: <?= t("Root Album") ?>; action-uri=<?= item::root()->url(); ?><?= $theme->permalinks["enter"]; ?>; icon-uri=favicon.ico" />
+<? else: ?>
+<meta name="msapplication-task" content="name=<?= t("Gallery") ?>: <?= t("Root Album") ?>; action-uri=<?= item::root()->url(); ?>; icon-uri=favicon.ico" />
+<? endif; ?>
+<? if (identity::active_user()->admin): ?>
+<meta name="msapplication-task-separator" content="gallery3-greydragon" />
+<meta name="msapplication-task" content="name=<?= t("Admin") ?>: <?= t("Dashboard") ?>; action-uri=<?= url::site("admin"); ?>; icon-uri=favicon.ico" />
+<? endif; ?>
+<!-- Internet Explorer 9 Meta tags : End -->
+
+<link rel="shortcut icon" href="<?= $theme->favicon ?>" type="image/x-icon" />
+<? if ($theme->appletouchicon): ?>
+<link rel="apple-touch-icon" href="<?= $theme->appletouchicon; ?>"/>
+<? endif; ?>
+<?= $theme->script("json2-min.js") ?>
+<?= $theme->script("jquery.js") ?>
+<?= $theme->script("jquery.form.js") ?>
+<?= $theme->script("jquery-ui.js") ?>
+<?= $theme->script("gallery.common.js") ?>
+<? /* MSG_CANCEL is required by gallery.dialog.js */ ?>
+<script type="text/javascript">
+ var MSG_CANCEL = <?= t('Cancel')->for_js() ?>;
+</script>
+<?= $theme->script("gallery.ajax.js"); ?>
+<?= $theme->script("gallery.dialog.js"); ?>
+
+<? /* These are page specific but they get combined */ ?>
+<? if ($theme->page_subtype == "photo"): ?>
+<?= $theme->script("jquery.scrollTo.js"); ?>
+<? elseif ($theme->page_subtype == "movie"): ?>
+<?= $theme->script("flowplayer.js") ?>
+<? endif ?>
+
+<?= $theme->head() ?>
+
+<? // Theme specific CSS/JS goes last so that it can override module CSS/JS ?>
+<?= $theme->theme_js_inject(); ?>
+<?= $theme->theme_css_inject(); ?>
+<?= $theme->get_combined("css"); // LOOKING FOR YOUR CSS? It's all been combined into the link ?>
+<?= $theme->custom_css_inject(TRUE); ?>
+<?= $theme->get_combined("script") // LOOKING FOR YOUR JAVASCRIPT? It's all been combined into the link ?>
+
+<? if ($theme->thumb_inpage): ?>
+<style type="text/css">
+ #g-column-bottom #g-thumbnav-block, #g-column-top #g-thumbnav-block { display: none; }
+<? if (((!$user->guest) or ($theme->show_guest_menu)) and ($theme->mainmenu_position == "bar")): ?>
+ html { margin-top: 30px !important; }
+<? endif; ?>
+</style>
+<? endif; ?>
+</head>
+<? if ($theme->item()):
+ $item = $theme->item();
+ else:
+ $item = item::root();
+ endif; ?>
+<body <?= $theme->body_attributes() ?><?= ($theme->show_root_page)? ' id="g-rootpage"' : null; ?> <?= $theme->get_bodyclass(); ?>>
+<?= $theme->page_top() ?>
+<?= $theme->site_status() ?>
+<? if (((!$user->guest) or ($theme->show_guest_menu)) and ($theme->mainmenu_position == "bar")): ?>
+ <div id="g-site-menu" class="g-<?= $theme->mainmenu_position; ?>">
+ <?= $theme->site_menu($theme->item() ? "#g-item-id-{$theme->item()->id}" : "") ?>
+ </div>
+<? endif; ?>
+<div id="g-header">
+ <?= $theme->header_top() ?>
+<? if ($theme->viewmode != "mini"): ?>
+<? if ($header_text = module::get_var("gallery", "header_text")): ?>
+<span id="g-header-text"><?= $theme->bb2html($header_text, 1) ?></span>
+<? else: ?>
+ <a id="g-logo" href="<?= item::root()->url() ?><?= ($theme->allow_root_page)? $theme->permalinks["root"] : null; ?>" title="<?= t("go back to the Gallery home")->for_html_attr() ?>">
+ <img alt="<?= t("Gallery logo: Your photos on your web site")->for_html_attr() ?>" src="<?= $theme->logopath ?>" />
+ </a>
+<? endif; ?>
+<? endif; ?>
+<? if (((!$user->guest) or ($theme->show_guest_menu)) and ($theme->mainmenu_position != "bar")): ?>
+ <div id="g-site-menu" class="g-<?= $theme->mainmenu_position; ?>">
+ <?= $theme->site_menu($theme->item() ? "#g-item-id-{$theme->item()->id}" : "") ?>
+ </div>
+<? endif ?>
+
+ <?= $theme->messages() ?>
+<?= $theme->header_bottom() ?>
+
+<? if ($theme->loginmenu_position == "header"): ?>
+ <?= $theme->user_menu() ?>
+<? endif ?>
+<? if (empty($parents)): ?>
+<?= $theme->breadcrumb_menu($theme, null); ?>
+<? else: ?>
+ <?= $theme->breadcrumb_menu($theme, $parents); ?>
+ <? endif; ?>
+<?= $theme->custom_header(); ?>
+</div>
+<? if (($theme->page_subtype != "login") and ($theme->page_subtype != "reauthenticate") and ($theme->sidebarvisible == "top")): ?>
+<div id="g-column-top">
+ <?= new View("sidebar.html") ?>
+</div>
+<? endif; ?>
+<div id="g-main">
+ <div id="g-main-in">
+ <? if (!$theme->show_root_page): ?>
+ <?= $theme->sidebar_menu($item->url()) ?>
+ <div id="g-view-menu" class="g-buttonset<?= ($theme->sidebarallowed!="any")? " g-buttonset-shift" : null; ?>">
+ <? if ($page_subtype == "album"):?>
+ <?= $theme->album_menu() ?>
+ <? elseif ($page_subtype == "photo") : ?>
+ <?= $theme->photo_menu() ?>
+ <? elseif ($page_subtype == "movie") : ?>
+ <?= $theme->movie_menu() ?>
+ <? elseif ($page_subtype == "tag") : ?>
+ <?= $theme->tag_menu() ?>
+ <? endif ?>
+ </div>
+ <? endif; ?>
+ <? switch ($theme->sidebarvisible):
+ case "left":
+ echo '<div id="g-column-left">';
+ $closediv = TRUE;
+ break;
+ case "none":
+ case "top":
+ case "bottom":
+ if (($theme->thumb_inpage) and ($page_subtype == "photo")):
+ echo '<div id="g-column-right">';
+ $closediv = TRUE;
+ else:
+ $closediv = FALSE;
+ endif;
+ break;
+ default:
+ echo '<div id="g-column-right">';
+ $closediv = TRUE;
+ break;
+ endswitch; ?>
+<? if (($theme->page_subtype != "login") and ($theme->page_subtype != "reauthenticate")): ?>
+<? if (($theme->sidebarvisible == "none") or ($theme->sidebarvisible == "bottom") or ($theme->sidebarvisible == "top")): ?>
+<? if (($theme->thumb_inpage) and ($page_subtype == "photo")): ?>
+<?= '<div class="g-toolbar"><h1>&nbsp;</h1></div>'; ?>
+<?= $theme->get_block_html("thumbnav"); ?>
+<? endif; ?>
+<? else: ?>
+<?= new View("sidebar.html") ?>
+<? endif; ?>
+<? endif ?>
+<?= ($closediv)? "</div>" : null; ?>
+
+<? switch ($theme->sidebarvisible):
+ case "left":
+ echo '<div id="g-column-centerright">';
+ break;
+ case "none":
+ case "top":
+ case "bottom":
+ if (($theme->thumb_inpage) and ($page_subtype == "photo")):
+ echo '<div id="g-column-centerleft">';
+ else:
+ echo '<div id="g-column-centerfull">';
+ endif;
+ break;
+ default:
+ echo '<div id="g-column-centerleft">';
+ break;
+ endswitch;
+
+ if ($theme->show_root_page):
+ echo new View("rootpage.html");
+ else:
+ echo $content;
+ endif; ?>
+ </div>
+ </div>
+</div>
+<? if (($theme->page_subtype != "login") and ($theme->page_subtype != "reauthenticate") and ($theme->sidebarvisible == "bottom")): ?>
+<div id="g-column-bottom">
+ <?= new View("sidebar.html") ?>
+</div>
+<? endif; ?>
+<div id="g-footer">
+<? if ($theme->viewmode != "mini"): ?>
+<?= $theme->footer() ?>
+<? if ($footer_text = module::get_var("gallery", "footer_text")): ?>
+<span id="g-footer-text"><?= $theme->bb2html($footer_text, 1) ?></span>
+<? endif ?>
+ <?= $theme->credits() ?>
+ <ul id="g-footer-rightside"><li><?= $theme->copyright ?></li></ul>
+<? if ($theme->loginmenu_position == "default"): ?>
+ <?= $theme->user_menu() ?>
+<? endif; ?>
+<? endif; ?>
+<?= $theme->custom_footer(); ?>
+</div>
+<?= $theme->page_bottom() ?>
+</body>
+</html>
diff --git a/themes/greydragon_old/views/dynamic.html.php b/themes/greydragon_old/views/dynamic.html.php
new file mode 100644
index 0000000..a749d1c
--- /dev/null
+++ b/themes/greydragon_old/views/dynamic.html.php
@@ -0,0 +1,38 @@
+<?php defined("SYSPATH") or die("No direct script access.");
+/**
+ * Grey Dragon Theme - a custom theme for Gallery 3
+ * This theme was designed and built by Serguei Dosyukov, whose blog you will find at http://blog.dragonsoft.us
+ * Copyright (C) 2009-2012 Serguei Dosyukov
+ *
+ * This program is free software; you can redistribute it and/or modify it under the terms of the GNU General
+ * Public License as published by the Free Software Foundation; either version 2 of the License, or (at your
+ * option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the
+ * implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * for more details.
+ *
+ * You should have received a copy of the GNU General Public License along with this program; if not, write to
+ * the Free Software Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA.
+ */
+?>
+<? if (!isset($title)):
+ $title = "";
+ endif;
+?>
+<div id="g-album-header">
+ <div id="g-album-header-buttons">
+ <?= $theme->dynamic_top() ?>
+ </div>
+ <h1><?= html::clean($title) ?></h1>
+</div>
+<?= $theme->add_paginator("top"); ?>
+<div class="g-album-grid-container">
+<ul id="g-album-grid">
+ <? foreach ($children as $i => $child): ?>
+ <?= $theme->get_thumb_element($child) ?>
+ <? endforeach ?>
+</ul>
+</div>
+<?= $theme->dynamic_bottom() ?>
+<?= $theme->add_paginator("bottom"); ?>
diff --git a/themes/greydragon_old/views/exif_sidebar.html.php b/themes/greydragon_old/views/exif_sidebar.html.php
new file mode 100644
index 0000000..e31adf2
--- /dev/null
+++ b/themes/greydragon_old/views/exif_sidebar.html.php
@@ -0,0 +1,18 @@
+<?php defined("SYSPATH") or die("No direct script access.");
+/**
+ * Grey Dragon Theme - a custom theme for Gallery 3
+ * This theme was designed and built by Serguei Dosyukov, whose blog you will find at http://blog.dragonsoft.us
+ * Copyright (C) 2009-2012 Serguei Dosyukov
+ *
+ * This program is free software; you can redistribute it and/or modify it under the terms of the GNU General
+ * Public License as published by the Free Software Foundation; either version 2 of the License, or (at your
+ * option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the
+ * implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * for more details.
+ *
+ * You should have received a copy of the GNU General Public License along with this program; if not, write to
+ * the Free Software Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA.
+ */
+?>
diff --git a/themes/greydragon_old/views/gd_admin_include.html.php b/themes/greydragon_old/views/gd_admin_include.html.php
new file mode 100644
index 0000000..73962cb
--- /dev/null
+++ b/themes/greydragon_old/views/gd_admin_include.html.php
@@ -0,0 +1,180 @@
+<?php defined("SYSPATH") or die("No direct script access.");
+/**
+ * Grey Dragon Theme - a custom theme for Gallery 3
+ * This theme was designed and built by Serguei Dosyukov, whose blog you will find at http://blog.dragonsoft.us
+ * Copyright (C) 2012 Serguei Dosyukov
+ *
+ * This program is free software; you can redistribute it and/or modify it under the terms of the GNU General
+ * Public License as published by the Free Software Foundation; either version 2 of the License, or (at your
+ * option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the
+ * implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * for more details.
+ *
+ * You should have received a copy of the GNU General Public License along with this program; if not, write to
+ * the Free Software Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA.
+ */
+?>
+<style>
+ @import "<?= url::file("modules/greydragon/css/gd_common.css"); ?>";
+</style>
+
+<script>
+ $(document).ready( function() {
+ $('form').submit( function() { $('input[type=submit]', this).attr('disabled', 'disabled'); });
+
+ var objAutoUpdate = $('#g-autoupdate-config');
+ var objAutoHidden = $('input[name="g_auto_delay"]');
+ var objAutoEdit = $('#g-auto-delay-edit');
+    function showSidebar(){ objAutoEdit.val(objAutoHidden.val()); objAutoUpdate.slideDown('fast', function() { objAutoUpdate.addClass('visible'); }); };
+    function hideSidebar(){ objAutoHidden.val(objAutoEdit.val()); objAutoUpdate.slideUp('fast', function() { objAutoUpdate.removeClass('visible'); }); };
+
+ objAutoEdit.keyup( function() { objAutoHidden.val($(this).val()); });
+ objAutoEdit.keydown(function(event) {
+ // Allow: backspace, delete, tab and escape
+ if ( event.keyCode == 46 || event.keyCode == 8 || event.keyCode == 9 || event.keyCode == 27 ||
+ // Allow: Ctrl+A
+ (event.keyCode == 65 && event.ctrlKey === true) ||
+ // Allow: home, end, left, right
+ (event.keyCode >= 35 && event.keyCode <= 39)) {
+ // let it happen, don't do anything
+ return;
+ } else {
+ // Ensure that it is a number and stop the keypress
+ if ((event.keyCode < 48 || event.keyCode > 57) && (event.keyCode < 96 || event.keyCode > 105 )) {
+ event.preventDefault();
+ }
+ }
+ });
+ 
+    $('.g-link-autoupdate').click(function(e){ e.preventDefault(); if ( objAutoUpdate.hasClass('visible') ){ hideSidebar(); } else { showSidebar(); }});
+ });
+</script>
+
+<?
+
+function isCurlInstalled() {
+ if (in_array('curl', get_loaded_extensions())) {
+ return true;
+ } else {
+ return false;
+ }
+}
+
+// -1 - cannot get version info
+// 0 - current
+// + - newer is avaialble, version is returned
+function checkVersionInfo($downloadid, $version) {
+ if (!isset($downloadid)):
+ return -1;
+ endif;
+
+ try {
+ $call = "http://blog.dragonsoft.us/downloadversion/" . $downloadid;
+ $ch = curl_init();
+ curl_setopt($ch, CURLOPT_URL, $call);
+ curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
+ curl_setopt($ch, CURLOPT_FOLLOWLOCATION, TRUE);
+ curl_setopt($ch, CURLOPT_MAXREDIRS, 1);
+ $output=curl_exec($ch);
+ $json = json_decode($output);
+
+ if ($json->id == $downloadid):
+ $newversion = $json->version;
+ if ($json->version > $version):
+ return $json->version;
+ else:
+ return 0;
+ endif;
+ else:
+ return -1;
+ endif;
+ } catch (Exception $e) {
+ return -1;
+ }
+}
+
+if ($is_module):
+ $admin_info = new ArrayObject(parse_ini_file(MODPATH . $name . "/module.info"), ArrayObject::ARRAY_AS_PROPS);
+ $version = number_format($admin_info->version / 10, 1, '.', '');
+ $lastupdate = module::get_var($name, "last_update", time());
+ $checkInDays = module::get_var($name, "auto_delay", 30);
+else:
+ $admin_info = new ArrayObject(parse_ini_file(THEMEPATH . $name . "/theme.info"), ArrayObject::ARRAY_AS_PROPS);
+ $version = $admin_info->version;
+ $lastupdate = module::get_var("th_" . $name, "last_update", time());
+ $checkInDays = module::get_var("th_" . $name, "auto_delay", 30);
+endif;
+
+if (isCurlInstalled() && ($checkInDays > 0) && ((time() - $lastupdate) > ($checkInDays * 24 * 60 * 60))): // Check version every N days
+ $admin_info2 = new ArrayObject(parse_ini_file(MODPATH . "greydragon/module.info"), ArrayObject::ARRAY_AS_PROPS);
+ $version2 = number_format($admin_info2->version / 10, 1, '.', '');
+
+ $versionCheck = checkVersionInfo($downloadid, $version);
+ $versionCheck2 = checkVersionInfo(15, $version2);
+
+ if (($versionCheck == 0) && ($versionCheck2 == 0)):
+ if ($is_module):
+ module::set_var($name, "last_update", time());
+ else:
+ module::set_var("th_" . $name, "last_update", time());
+ endif;
+ endif;
+else:
+ $versionCheck = 0;
+ $versionCheck2 = 0;
+endif;
+?>
+
+<div id="gd-admin-header">
+ <div id="gd-admin-title"><?= t($admin_info->name) ?> - <?= $version ?></div>
+ <div id="gd-admin-hlinks">
+ <ul style="float: right;"><li><a href="http://blog.dragonsoft.us/gallery-3/" target="_blank"><?= t("Home") ?></a>&nbsp;|&nbsp;</li>
+ <? if (isset($admin_info->discuss_url)): ?>
+ <li><a href="<?= $admin_info->discuss_url; ?>" target="_blank"><?= t("Support") ?></a>&nbsp;|&nbsp;</li>
+ <? endif; ?>
+ <? if (isset($admin_info->info_url)): ?>
+ <li><a href="<?= $admin_info->info_url; ?>" target="_blank"><?= t("Download") ?></a>&nbsp;|&nbsp;</li>
+ <? endif; ?>
+ <? if (isset($admin_info->vote)): ?>
+ <li><a href="<?= $admin_info->vote; ?>" target="_blank"><?= t("Vote") ?></a>&nbsp;|&nbsp;</li>
+ <? endif; ?>
+ <li><a href="http://twitter.com/greydragon_th" target="_blank" title="<?= t("Follow Us on Twitter") ?>"><?= t("Follow Us") ?></a>&nbsp;|&nbsp;</li>
+ <li><a href="https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=9MWBSVJMWMJEU" target="_blank" ><?= t("Coffee Fund") ?></a>&nbsp;|&nbsp;</li>
+ <li><a href="#" class="g-link-autoupdate" <?= (isCurlInstalled())? null : "disabled=\"disabled\""; ?> ><?= t("Auto Update"); ?></a></li>
+ </ul>
+ </div>
+</div>
+<div id="g-autoupdate-config">
+ <ul><li><?= t("Check every"); ?>&nbsp;&nbsp;</li>
+ <li><input id="g-auto-delay-edit" type="text" size="2" value="30"></li>
+ <li><?=t("days (set to 0 to disable)"); ?></li>
+<? if (($versionCheck == 0) && ($versionCheck2 == 0)): ?>
+ <li>&nbsp;&nbsp;|&nbsp;&nbsp;<?= t("Last check:"); ?>&nbsp;<?= date("Y-m-d H:i:s", $lastupdate); ?></li>
+<? endif; ?>
+ </ul>
+</div>
+
+<? if ($versionCheck == -1): ?>
+ <div id="gd-admin-version"><?= t("Version check is incomplete. No version information has been found."); ?> <?= $versionCheck; ?> : <?= $downloadid; ?></div>
+<? elseif ($versionCheck == 0): ?>
+<? else: ?>
+ <div id="gd-admin-version"><?= t("Newer version") ?> <?= $versionCheck; ?> <?= t("is available. Click Download link for more info.") ?></div>
+<? endif; ?>
+<? if (($versionCheck2 == -1) || ($versionCheck2 == 0)): ?>
+<? else: ?>
+ <div id="gd-admin-version-2"><?= t("Newer version") ?> <?= $versionCheck2; ?> <?= t("of GreyDragon Shared Module is available. Click") . ' <a href="http://codex.gallery2.org/Gallery3:Modules:greydragon" target="_blank">' . t("here") . '</a> ' . t("for more info.") ?></div>
+<? endif; ?>
+<div id="g-admin-container">
+<? if (isset($help)): ?>
+ <div class="column1">
+ <?= $form ?>
+ </div>
+ <div class="column2">
+ <?= $help ?>
+ </div>
+<? else: ?>
+ <?= $form ?>
+<? endif; ?>
+</div>
diff --git a/themes/greydragon_old/views/info_block.html.php b/themes/greydragon_old/views/info_block.html.php
new file mode 100644
index 0000000..16c7015
--- /dev/null
+++ b/themes/greydragon_old/views/info_block.html.php
@@ -0,0 +1,29 @@
+<?php defined("SYSPATH") or die("No direct script access.");
+/**
+ * Grey Dragon Theme - a custom theme for Gallery 3
+ * This theme was designed and built by Serguei Dosyukov, whose blog you will find at http://blog.dragonsoft.us
+ * Copyright (C) 2009-2012 Serguei Dosyukov
+ *
+ * This program is free software; you can redistribute it and/or modify it under the terms of the GNU General
+ * Public License as published by the Free Software Foundation; either version 2 of the License, or (at your
+ * option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the
+ * implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * for more details.
+ *
+ * You should have received a copy of the GNU General Public License along with this program; if not, write to
+ * the Free Software Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA.
+ */
+?>
+<? if (array_key_exists("description", $metadata)): ?>
+<? $metadata["description"]["value"] = $theme->bb2html($metadata["description"]["value"], 1) ?>
+<? endif; ?>
+
+<ul class="g-metadata">
+ <? foreach($metadata as $info): ?>
+ <li>
+ <strong class="caption"><?= $info["label"] ?></strong> <?= $info["value"] ?>
+ </li>
+ <? endforeach; ?>
+</ul>
diff --git a/themes/greydragon_old/views/movie.html.php b/themes/greydragon_old/views/movie.html.php
new file mode 100644
index 0000000..5043f6f
--- /dev/null
+++ b/themes/greydragon_old/views/movie.html.php
@@ -0,0 +1,38 @@
+<?php defined("SYSPATH") or die("No direct script access.");
+/**
+ * Grey Dragon Theme - a custom theme for Gallery 3
+ * This theme was designed and built by Serguei Dosyukov, whose blog you will find at http://blog.dragonsoft.us
+ * Copyright (C) 2009-2012 Serguei Dosyukov
+ *
+ * This program is free software; you can redistribute it and/or modify it under the terms of the GNU General
+ * Public License as published by the Free Software Foundation; either version 2 of the License, or (at your
+ * option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the
+ * implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * for more details.
+ *
+ * You should have received a copy of the GNU General Public License along with this program; if not, write to
+ * the Free Software Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA.
+ */
+?>
+<div id="g-item">
+ <?= $theme->photo_top() ?>
+
+ <div id="g-info">
+ <h1><?= $theme->get_item_title($item, TRUE); ?></h1>
+ <div class="g-hideitem"><?= $theme->bb2html(html::purify($item->description), 1) ?></div>
+ </div>
+
+ <?= $theme->add_paginator("top"); ?>
+
+ <div id="g-movie">
+ <?= $theme->resize_top($item) ?>
+ <?= $item->movie_img(array("class" => "g-movie", "id" => "g-item-id-{$item->id}")); ?>
+ <?= $theme->resize_bottom($item) ?>
+ </div>
+
+ <?= $theme->add_paginator("bottom"); ?>
+
+ <?= $theme->photo_bottom() ?>
+</div>
diff --git a/themes/greydragon_old/views/no_sidebar.html.php b/themes/greydragon_old/views/no_sidebar.html.php
new file mode 100644
index 0000000..eac82d6
--- /dev/null
+++ b/themes/greydragon_old/views/no_sidebar.html.php
@@ -0,0 +1,19 @@
+<?php defined("SYSPATH") or die("No direct script access.");
+/**
+ * Grey Dragon Theme - a custom theme for Gallery 3
+ * This theme was designed and built by Serguei Dosyukov, whose blog you will find at http://blog.dragonsoft.us
+ * Copyright (C) 2009-2012 Serguei Dosyukov
+ *
+ * This program is free software; you can redistribute it and/or modify it under the terms of the GNU General
+ * Public License as published by the Free Software Foundation; either version 2 of the License, or (at your
+ * option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the
+ * implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * for more details.
+ *
+ * You should have received a copy of the GNU General Public License along with this program; if not, write to
+ * the Free Software Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA.
+ */
+?>
+<!-- No blocks -->
diff --git a/themes/greydragon_old/views/page.html.php b/themes/greydragon_old/views/page.html.php
new file mode 100644
index 0000000..6c5ff65
--- /dev/null
+++ b/themes/greydragon_old/views/page.html.php
@@ -0,0 +1,259 @@
+<?php defined("SYSPATH") or die("No direct script access.");
+/**
+ * Grey Dragon Theme - a custom theme for Gallery 3
+ * This theme was designed and built by Serguei Dosyukov, whose blog you will find at http://blog.dragonsoft.us
+ * Copyright (C) 2009-2012 Serguei Dosyukov
+ *
+ * This program is free software; you can redistribute it and/or modify it under the terms of the GNU General
+ * Public License as published by the Free Software Foundation; either version 2 of the License, or (at your
+ * option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the
+ * implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * for more details.
+ *
+ * You should have received a copy of the GNU General Public License along with this program; if not, write to
+ * the Free Software Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA.
+ */
+?>
+
+<!DOCTYPE html >
+<? $theme->load_sessioninfo(); ?>
+<html <?= $theme->html_attributes() ?> xml:lang="en" lang="en" <?= ($theme->is_rtl)? "dir=rtl" : null; ?> >
+<?
+ $item = $theme->item();
+ if (($theme->enable_pagecache) and (isset($item))):
+ // Page will expire in 60 seconds
+ header('Expires: ' . gmdate('D, d M Y H:i:s', time() + 60).'GMT');
+ header("Cache-Control: public");
+ header("Cache-Control: post-check=3600, pre-check=43200", false);
+ header("Content-Type: text/html; charset=UTF-8");
+ header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT");
+ endif;
+?>
+<!-- <?= $theme->themename ?> v.<?= $theme->themeversion ?> (<?= $theme->colorpack ?> : <?= $theme->framepack ?>) - Copyright (c) 2009-2012 Serguei Dosyukov - All Rights Reserved -->
+<!-- <?= $theme->page_subtype ?> -->
+<head>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta http-equiv="content-type" content="text/html; charset=UTF-8" />
+<? $theme->start_combining("script,css") ?>
+<? if ($page_title): ?>
+<? $_title = $page_title ?>
+<? else: ?>
+<? if ($theme->item()): ?>
+<? $_title = $theme->get_item_title($theme->item()); ?>
+<? elseif ($theme->tag()): ?>
+<? $_title = t("Photos tagged with %tag_title", array("tag_title" => $theme->bb2html($theme->tag()->name, 2))) ?>
+<? else: /* Not an item, not a tag, no page_title specified. Help! */ ?>
+<? $_title = $theme->bb2html(item::root()->title, 2); ?>
+<? endif ?>
+<? endif ?>
+<title><?= $_title ?></title>
+<? if ($theme->disable_seosupport): ?>
+<meta name="robots" content="noindex, nofollow, noarchive" />
+<meta name="googlebot" content="noindex, nofollow, noarchive, nosnippet, noodp, noimageindex, notranslate" />
+<meta name="slurp" content="noindex, nofollow, noarchive, nosnippet, noodp, noydir" />
+<meta name="msnbot" content="noindex, nofollow, noarchive, nosnippet, noodp" />
+<meta name="teoma" content="noindex, nofollow, noarchive" />
+<? endif; ?>
+
+<!-- Internet Explorer 9 Meta tags : Start -->
+<meta name="application-name" content="<?= $_title; ?>" />
+<meta name="msapplication-tooltip" content="<?= t("Start"); ?> <?= $_title; ?>" />
+<meta name="msapplication-starturl" content="<?= item::root()->url() ?>" />
+<? if ($theme->allow_root_page): ?>
+<meta name="msapplication-task" content="name=<?= t("Gallery") ?>: <?= t("Root Page") ?>; action-uri=<?= item::root()->url(); ?><?= $theme->permalinks["root"]; ?>; icon-uri=favicon.ico" />
+<meta name="msapplication-task" content="name=<?= t("Gallery") ?>: <?= t("Root Album") ?>; action-uri=<?= item::root()->url(); ?><?= $theme->permalinks["enter"]; ?>; icon-uri=favicon.ico" />
+<? else: ?>
+<meta name="msapplication-task" content="name=<?= t("Gallery") ?>: <?= t("Root Album") ?>; action-uri=<?= item::root()->url(); ?>; icon-uri=favicon.ico" />
+<? endif; ?>
+<? if (identity::active_user()->admin): ?>
+<meta name="msapplication-task-separator" content="gallery3-greydragon" />
+<meta name="msapplication-task" content="name=<?= t("Admin") ?>: <?= t("Dashboard") ?>; action-uri=<?= url::site("admin"); ?>; icon-uri=favicon.ico" />
+<? endif; ?>
+<!-- Internet Explorer 9 Meta tags : End -->
+<link rel="shortcut icon" href="<?= $theme->favicon ?>" type="image/x-icon" />
+<? if ($theme->appletouchicon): ?>
+<link rel="apple-touch-icon" href="<?= $theme->appletouchicon; ?>"/>
+<? endif; ?>
+<?= $theme->script("json2-min.js"); ?>
+<?= $theme->script("jquery.js"); ?>
+<?= $theme->script("jquery.form.js") ?>
+<?= $theme->script("jquery-ui.js") ?>
+<?= $theme->script("gallery.common.js") ?>
+<? /* MSG_CANCEL is required by gallery.dialog.js */ ?>
+<script type="text/javascript">
+ var MSG_CANCEL = <?= t('Cancel')->for_js() ?>;
+</script>
+
+<?= $theme->script("gallery.dialog.js"); ?>
+
+<? /* These are page specific but they get combined */ ?>
+<? if ($theme->page_subtype == "photo"): ?>
+<?= $theme->script("jquery.scrollTo.js"); ?>
+<? elseif ($theme->page_subtype == "movie"): ?>
+<?= $theme->script("flowplayer.js") ?>
+<? endif ?>
+
+<?= $theme->head() ?>
+
+<? // Theme specific CSS/JS goes last so that it can override module CSS/JS ?>
+<?= $theme->theme_js_inject(); ?>
+<?= $theme->theme_css_inject(); ?>
+<?= $theme->get_combined("css"); // LOOKING FOR YOUR CSS? It's all been combined into the link ?>
+<?= $theme->custom_css_inject(TRUE); ?>
+<?= $theme->get_combined("script") // LOOKING FOR YOUR JAVASCRIPT? It's all been combined into the link ?>
+
+<? if ($theme->thumb_inpage): ?>
+<style type="text/css">
+ #g-column-bottom #g-thumbnav-block, #g-column-top #g-thumbnav-block { display: none; }
+<? if (((!$user->guest) or ($theme->show_guest_menu)) and ($theme->mainmenu_position == "bar")): ?>
+ html { margin-top: 30px !important; }
+<? endif; ?>
+</style>
+<? endif; ?>
+</head>
+<? if ($theme->item()):
+ $item = $theme->item();
+ else:
+ $item = item::root();
+ endif; ?>
+<body <?= $theme->body_attributes() ?><?= ($theme->show_root_page)? ' id="g-rootpage"' : null; ?> <?= $theme->get_bodyclass(); ?>>
+<?= $theme->page_top() ?>
+<?= $theme->site_status() ?>
+<? if (((!$user->guest) or ($theme->show_guest_menu)) and ($theme->mainmenu_position == "bar")): ?>
+ <div id="g-site-menu" class="g-<?= $theme->mainmenu_position; ?>">
+ <?= $theme->site_menu($theme->item() ? "#g-item-id-{$theme->item()->id}" : "") ?>
+ </div>
+<? endif; ?>
+<div id="g-header">
+<?= $theme->header_top() ?>
+<? if ($theme->viewmode != "mini"): ?>
+<? if ($header_text = module::get_var("gallery", "header_text")): ?>
+<span id="g-header-text"><?= $theme->bb2html($header_text, 1) ?></span>
+<? else: ?>
+ <a id="g-logo" href="<?= item::root()->url() ?><?= ($theme->allow_root_page)? $theme->permalinks["root"] : null; ?>" title="<?= t("go back to the Gallery home")->for_html_attr() ?>">
+ <img alt="<?= t("Gallery logo: Your photos on your web site")->for_html_attr() ?>" src="<?= $theme->logopath ?>" />
+ </a>
+<? endif; ?>
+<? endif; ?>
+<? if (((!$user->guest) or ($theme->show_guest_menu)) and ($theme->mainmenu_position != "bar")): ?>
+ <div id="g-site-menu" class="g-<?= $theme->mainmenu_position; ?>">
+ <?= $theme->site_menu($theme->item() ? "#g-item-id-{$theme->item()->id}" : "") ?>
+ </div>
+<? endif ?>
+
+<?= $theme->messages() ?>
+<?= $theme->header_bottom() ?>
+
+<? if ($theme->loginmenu_position == "header"): ?>
+<?= $theme->user_menu() ?>
+<? endif ?>
+<? if (empty($parents)): ?>
+<?= $theme->breadcrumb_menu($theme, null); ?>
+<? else: ?>
+<?= $theme->breadcrumb_menu($theme, $parents); ?>
+<? endif; ?>
+<?= $theme->custom_header(); ?>
+</div>
+<? if (($theme->page_subtype != "login") and ($theme->page_subtype != "reauthenticate") and ($theme->sidebarvisible == "top")): ?>
+<div id="g-column-top">
+ <?= new View("sidebar.html") ?>
+</div>
+<? endif; ?>
+<div id="g-main">
+ <div id="g-main-in">
+<? if (!$theme->show_root_page): ?>
+ <?= $theme->sidebar_menu($item->url()) ?>
+ <div id="g-view-menu" class="g-buttonset<?= ($theme->sidebarallowed != "any")? " g-buttonset-shift" : null; ?>">
+<? if ($page_subtype == "album"): ?>
+ <?= $theme->album_menu() ?>
+<? elseif ($page_subtype == "photo") : ?>
+ <?= $theme->photo_menu() ?>
+<? elseif ($page_subtype == "movie") : ?>
+ <?= $theme->movie_menu() ?>
+<? elseif ($page_subtype == "tag") : ?>
+ <?= $theme->tag_menu() ?>
+<? endif ?>
+ </div>
+<? endif; ?>
+<? switch ($theme->sidebarvisible):
+ case "left":
+ echo '<div id="g-column-left">';
+ $closediv = TRUE;
+ break;
+ case "none":
+ case "top":
+ case "bottom":
+ if (($theme->thumb_inpage) and ($page_subtype == "photo")):
+ echo '<div id="g-column-right">';
+ $closediv = TRUE;
+ else:
+ $closediv = FALSE;
+ endif;
+ break;
+ default:
+ echo '<div id="g-column-right">';
+ $closediv = TRUE;
+ break;
+ endswitch; ?>
+<? if (($theme->page_subtype != "login") && ($theme->page_subtype != "reauthenticate")): ?>
+<? if (($theme->sidebarvisible == "none") || ($theme->sidebarvisible == "bottom") || ($theme->sidebarvisible == "top")): ?>
+<? if (($theme->thumb_inpage) and ($page_subtype == "photo")): ?>
+<?= '<div class="g-toolbar"><h1>&nbsp;</h1></div>'; ?>
+<?= $theme->get_block_html("thumbnav"); ?>
+<? endif; ?>
+<? else: ?>
+<?= new View("sidebar.html") ?>
+<? endif; ?>
+<? endif ?>
+<?= ($closediv)? "</div>" : null; ?>
+
+<? switch ($theme->sidebarvisible):
+ case "left":
+ echo '<div id="g-column-centerright">';
+ break;
+ case "none":
+ case "top":
+ case "bottom":
+ if (($theme->thumb_inpage) and ($page_subtype == "photo")):
+ echo '<div id="g-column-centerleft">';
+ else:
+ echo '<div id="g-column-centerfull">';
+ endif;
+ break;
+ default:
+ echo '<div id="g-column-centerleft">';
+ break;
+ endswitch;
+
+ if ($theme->show_root_page):
+ echo new View("rootpage.html");
+ else:
+ echo $content;
+ endif; ?>
+ </div>
+ </div>
+</div>
+<? if (($theme->page_subtype != "login") and ($theme->page_subtype != "reauthenticate") and ($theme->sidebarvisible == "bottom")): ?>
+<div id="g-column-bottom">
+ <?= new View("sidebar.html") ?>
+</div>
+<? endif; ?>
+<div id="g-footer">
+<? if ($theme->viewmode != "mini"): ?>
+<?= $theme->footer() ?>
+<? if ($footer_text = module::get_var("gallery", "footer_text")): ?>
+<span id="g-footer-text"><?= $theme->bb2html($footer_text, 1) ?></span>
+<? endif ?>
+ <?= $theme->credits() ?>
+ <ul id="g-footer-rightside"><li><?= $theme->copyright ?></li></ul>
+<? if ($theme->loginmenu_position == "default"): ?>
+ <?= $theme->user_menu() ?>
+<? endif; ?>
+<? endif; ?>
+<?= $theme->custom_footer(); ?>
+</div>
+<?= $theme->page_bottom() ?>
+</body>
+</html>
diff --git a/themes/greydragon_old/views/paginator.html.php b/themes/greydragon_old/views/paginator.html.php
new file mode 100644
index 0000000..5d7a7d6
--- /dev/null
+++ b/themes/greydragon_old/views/paginator.html.php
@@ -0,0 +1,194 @@
+<?php defined("SYSPATH") or die("No direct script access.");
+/**
+ * Grey Dragon Theme - a custom theme for Gallery 3
+ * This theme was designed and built by Serguei Dosyukov, whose blog you will find at http://blog.dragonsoft.us
+ * Copyright (C) 2009-2012 Serguei Dosyukov
+ *
+ * This program is free software; you can redistribute it and/or modify it under the terms of the GNU General
+ * Public License as published by the Free Software Foundation; either version 2 of the License, or (at your
+ * option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the
+ * implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * for more details.
+ *
+ * You should have received a copy of the GNU General Public License along with this program; if not, write to
+ * the Free Software Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA.
+ */
+?>
+<?
+// This is a generic paginator for album, photo and movie pages. Depending on the page type,
+// there are different sets of variables available. With this data, you can make a paginator
+// that lets you say "You're viewing photo 5 of 35", or "You're viewing photos 10 - 18 of 37"
+// for album views.
+//
+// Available variables for all page types:
+// $page_type - "collection", "item", or "other"
+// $page_subtype - "album", "movie", "photo", "tag", etc.
+// $previous_page_url - the url to the previous page, if there is one
+// $next_page_url - the url to the next page, if there is one
+// $total - the total number of photos in this album
+//
+// Available for the "collection" page types:
+// $page - what page number we're on
+// $max_pages - the maximum page number
+// $page_size - the page size
+// $first_page_url - the url to the first page, or null if we're on the first page
+// $last_page_url - the url to the last page, or null if we're on the last page
+// $first_visible_position - the position number of the first visible photo on this page
+// $last_visible_position - the position number of the last visible photo on this page
+//
+// Available for "item" page types:
+// $position - the position number of this photo
+//
+?>
+
+<?
+ $_pagelist = array();
+
+ switch ($page_type) {
+ case "collection":
+ if (isset($item)):
+ $parent = $item->parent();
+ endif;
+ $current_page = $page;
+ $total_pages = $max_pages;
+ // Prepare page url list
+ for ($i = 1; $i <= $total_pages; $i++):
+ $_pagelist[$i] = url::site(url::merge(array("page" => $i)));
+ endfor;
+ break;
+ case "item":
+ if (isset($item)):
+ $parent = $item->parent();
+ endif;
+
+ if (isset($position)):
+ $current_page = $position;
+ else:
+ $current_page = 1;
+ endif;
+
+ $total_pages = $total;
+ if (isset($parent)):
+ $siblings = $parent->children();
+ for ($i = 1; $i <= $total; $i++):
+ $_pagelist[$i] = $siblings[$i-1]->url();
+ endfor;
+ endif;
+ break;
+ default:
+ $current_page = 1;
+ $total_pages = 1;
+ $_pagelist[1] = url::site();
+ break;
+ }
+
+ if ($total_pages <= 1):
+ $pagination_msg = "&nbsp;";
+ else:
+ $pagination_msg = t("Page:") . ' ';
+ if ($total_pages < 13):
+ for ($i = 1; $i <= $total_pages; $i++):
+ if ($i == $current_page):
+ $pagination_msg .= '<span>' . t($i) . '</span>';
+ else:
+ $pagination_msg .= '<span><a href="' . $_pagelist[$i] . '" title="' . t("Page") . ' ' . t($i) . '">' . t($i) . '</a></span>';
+ endif;
+ if ($i < $total_pages):
+ $pagination_msg .= '&middot;';
+ endif;
+ endfor;
+ elseif ($current_page < 9):
+ for ($i = 1; $i <= 10; $i++):
+ if ($i == $current_page):
+ $pagination_msg .= '<span>' . t($i) . '</span>';
+ else:
+ $pagination_msg .= '<span><a href="' . $_pagelist[$i] . '" title="' . t("Page") . ' ' . t($i) . '">' . t($i) . '</a></span>';
+ endif;
+ if ($i < 10):
+ $pagination_msg .= '&middot;';
+ endif;
+ endfor;
+
+ $pagination_msg .= '&hellip;';
+ $pagination_msg .= '<span><a href="' . $_pagelist[$total_pages - 1] . '" title="' . t("Page") . ' ' . t($total_pages - 1) . '">' . t($total_pages - 1) . '</a></span>';
+ $pagination_msg .= '&middot;';
+ $pagination_msg .= '<span><a href="' . $_pagelist[$total_pages] . '" title="' . t("Page") . ' ' . t($total_pages) . '">' . t($total_pages) . '</a></span>';
+
+ elseif ($current_page > $total_pages - 8):
+ $pagination_msg .= '<span><a href="' . $_pagelist[1] . '" title="' . t("Page") . ' ' . t(1) . '">' . t(1) . '</a></span>';
+ $pagination_msg .= '&middot;';
+ $pagination_msg .= '<span><a href="' . $_pagelist[2] . '" title="' . t("Page") . ' ' . t(2) . '">' . t(2) . '</a></span>';
+ $pagination_msg .= '&hellip;';
+
+ for ($i = $total_pages - 9; $i <= $total_pages; $i++):
+ if ($i == $current_page):
+ $pagination_msg .= '<span>' . t($i) . '</span>';
+ else:
+ $pagination_msg .= '<span><a href="' . $_pagelist[$i] . '" title="' . t("Page") . ' ' . t($i) . '">' . t($i) . '</a></span>';
+ endif;
+ if ($i < $total_pages):
+ $pagination_msg .= '&middot;';
+ endif;
+ endfor;
+
+ else:
+ $pagination_msg .= '<span><a href="' . $_pagelist[1] . '" title="' . t("Page") . ' ' . t(1) . '">' . t(1) . '</a></span>';
+ $pagination_msg .= '&middot;';
+ $pagination_msg .= '<span><a href="' . $_pagelist[2] . '" title="' . t("Page") . ' ' . t(2) . '">' . t(2) . '</a></span>';
+ $pagination_msg .= '&hellip;';
+
+ for ($i = $current_page - 5; $i <= $current_page + 5; $i++):
+ if ($i == $current_page):
+ $pagination_msg .= '<span>' . t($i) . '</span>';
+ else:
+ $pagination_msg .= '<span><a href="' . $_pagelist[$i] . '" title="' . t("Page") . ' ' . t($i) . '">' . t($i) . '</a></span>';
+ endif;
+ if ($i < $current_page + 5):
+ $pagination_msg .= '&middot;';
+ endif;
+ endfor;
+
+ $pagination_msg .= '&hellip;';
+ $pagination_msg .= '<span><a href="' . $_pagelist[$total_pages - 1] . '" title="' . t("Page") . ' ' . t($total_pages - 1) . '">' . t($total_pages - 1) . '</a></span>';
+ $pagination_msg .= '&middot;';
+ $pagination_msg .= '<span><a href="' . $_pagelist[$total_pages] . '" title="' . t("Page") . ' ' . t($total_pages) . '">' . t($total_pages) . '</a></span>';
+ endif;
+ endif;
+?>
+
+<ul class="g-paginator">
+ <li class="g-pagination"><?= $pagination_msg ?></li>
+ <li class="g-navigation">
+ <? if ($current_page > 1): ?>
+ <a title="<?= t("first") ?>" id="g-navi-first" href="<?= $_pagelist[1] ?>"><span class="ui-icon ui-icon-first">&nbsp;</span></a>
+ <? else: ?>
+ <span class="ui-icon ui-icon-first-d">&nbsp;</span>
+ <? endif ?>
+
+ <? if (isset($previous_page_url)): ?>
+ <a title="<?= t("previous") ?>" id="g-navi-prev" href="<?= $previous_page_url ?>"><span class="ui-icon ui-icon-prev">&nbsp;</span></a>
+ <? else: ?>
+ <span class="ui-icon ui-icon-prev-d">&nbsp;</span>
+ <? endif ?>
+
+ <? if (isset($parent)): ?>
+ <a title="<?= t("up") ?>" id="g-navi-parent" href="<?= $parent->url("show={$item->id}"); ?>"><span class="ui-icon ui-icon-parent">&nbsp;</span></a>
+ <? else: ?>
+ <span class="ui-icon ui-icon-parent-d">&nbsp;</span>
+ <? endif ?>
+
+ <? if (isset($next_page_url)): ?>
+ <a title="<?= t("next") ?>" class="ui-right" id="g-navi-next" href="<?= $next_page_url ?>"><span class="ui-icon ui-icon-next">&nbsp;</span></a>
+ <? else: ?>
+ <span class="ui-icon ui-icon-next-d">&nbsp;</span>
+ <? endif ?>
+
+ <? if ($current_page < $total_pages): ?>
+ <a title="<?= t("last") ?>" class="ui-right" id="g-navi-last" href="<?= $_pagelist[$total_pages] ?>"><span class="ui-icon ui-icon-last">&nbsp;</span></a>
+ <? else: ?>
+ <span class="ui-icon ui-icon-last-d">&nbsp;</span>
+ <? endif ?>
+ </li>
+</ul> \ No newline at end of file
diff --git a/themes/greydragon_old/views/photo.html.php b/themes/greydragon_old/views/photo.html.php
new file mode 100644
index 0000000..453dd85
--- /dev/null
+++ b/themes/greydragon_old/views/photo.html.php
@@ -0,0 +1,124 @@
+<?php defined("SYSPATH") or die("No direct script access.");
+/**
+ * Grey Dragon Theme - a custom theme for Gallery 3
+ * This theme was designed and built by Serguei Dosyukov, whose blog you will find at http://blog.dragonsoft.us
+ * Copyright (C) 2009-2012 Serguei Dosyukov
+ *
+ * This program is free software; you can redistribute it and/or modify it under the terms of the GNU General
+ * Public License as published by the Free Software Foundation; either version 2 of the License, or (at your
+ * option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the
+ * implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * for more details.
+ *
+ * You should have received a copy of the GNU General Public License along with this program; if not, write to
+ * the Free Software Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA.
+ */
+?>
+<?
+ if ($theme->desc_allowbbcode):
+ $_description = $theme->bb2html($item->description, 1);
+ else:
+ $_description = nl2br(html::purify($item->description));
+ endif;
+
+ if ($theme->is_photometa_visible):
+ $_description .= '<ul class="g-metadata">' . $theme->thumb_info($item) . '</ul>';
+ endif;
+
+ switch ($theme->photo_popupbox):
+ case "preview":
+ $include_list = FALSE;
+ $include_single = TRUE;
+ break;
+ case "none":
+ $include_list = FALSE;
+ $include_single = FALSE;
+ break;
+ default:
+ $include_list = TRUE;
+ $include_single = TRUE;
+ break;
+ endswitch;
+?>
+
+<div id="g-item">
+ <? $_title = $theme->get_item_title($item, TRUE); ?>
+ <div id="g-info">
+ <h1><?= $_title ?></h1>
+ </div>
+ <?= $theme->add_paginator("top", FALSE); ?>
+ <?= $theme->photo_top() ?>
+ <? if (($theme->photo_descmode == "top") and ($_description)): ?>
+ <div id="g-info"><div class="g-description"><?= $_description ?></div></div>
+ <? endif; ?>
+ <div id="g-photo">
+ <?= $theme->resize_top($item) ?>
+ <? $_resizewidth = $item->resize_width;
+ $siblings = $item->parent()->children(); ?>
+ <div class="g-resize" style="margin-left: -<?= intval($_resizewidth / 2); ?>px; ">
+ <? $script = "<script type=\"text/javascript\">\n";
+ $script .= "$(document).ready(function() {\n";
+ $script .= " if (document.images) {\n";
+ for ($i = 0; ($i <= count($siblings) - 1); $i++):
+ if ($siblings[$i]->rand_key == $item->rand_key): ?>
+ <a style="<?= ($siblings[$i]->rand_key == $item->rand_key)? "display: static;" : "display: none;"; ?>" title="<?= $theme->get_item_title($item); ?>" <?= ($include_single)? "class=\"g-sb-preview\"" : "target=_blank;"; ?> <?= ($include_list)? "rel=\"g-preview\"" : null; ?> href="<?= (access::can("view_full", $item))? $item->file_url() : $item->resize_url(); ?>">
+ <?= $item->resize_img(array("id" => "g-item-id-{$item->id}", "class" => "g-resize", "alt" => $_title)) ?>
+ </a>
+ <? if ($i < count($siblings) - 1):
+ $script .= " var image_preload_n = new Image();\n image_preload_n.src = \"" . $siblings[$i+1]->resize_url() . "\";\n";
+ endif;
+ if ($i > 0):
+ $script .= " var image_preload_p = new Image();\n image_preload_p.src = \"" . $siblings[$i-1]->resize_url() . "\";\n";
+ endif;
+ else:
+ if ($include_list): ?>
+ <? if (!$siblings[$i]->is_album()): ?>
+ <a title="<?= $theme->get_item_title($siblings[$i]); ?>" class="g-sb-preview g-hide" rel="g-preview" href="<?= (access::can("view_full", $siblings[$i]))? $siblings[$i]->file_url() : $siblings[$i]->resize_url(); ?>">&nbsp;</a>
+ <? endif; ?>
+ <? endif; ?>
+ <? endif; ?>
+ <? endfor; ?>
+ <? $script .= " }\n});\n</script>\n"; ?>
+ <? $_align = "";
+ $_more = FALSE;
+ if ($_description):
+ switch ($theme->photo_descmode):
+ case "overlay_top":
+ $_align = "g-align-top";
+ $_more = TRUE;
+ break;
+ case "overlay_bottom":
+ $_align = "g-align-bottom";
+ $_more = TRUE;
+ break;
+ case "overlay_top_s":
+ $_align = "g-align-top g-align-static";
+ break;
+ case "overlay_bottom_s":
+ $_align = "g-align-bottom g-align-static";
+ break;
+ default:
+ break;
+ endswitch;
+ endif; ?>
+ <? if ($_align): ?>
+ <? if ($_more): ?>
+ <span class="g-more <?= $_align ?>"><?= t("More") ?></span>
+ <? endif ?>
+ <div class="g-description <?= $_align; ?>" style="width: <?= $_resizewidth - 20; ?>px;" >
+ <strong><?= $_title ?></strong>
+ <?= $_description ?>
+ </div>
+ <? endif ?>
+ </div>
+ <?= $theme->resize_bottom($item) ?>
+ </div>
+ <? if (($theme->photo_descmode == "bottom") and ($_description)): ?>
+ <div id="g-info"><div class="g-description"><?= $_description ?></div></div>
+ <? endif; ?>
+ <?= $theme->add_paginator("bottom", FALSE); ?>
+ <?= $theme->photo_bottom() ?>
+</div>
+<?= $script ?> \ No newline at end of file
diff --git a/themes/greydragon_old/views/rootpage.html.php b/themes/greydragon_old/views/rootpage.html.php
new file mode 100644
index 0000000..bcb5fa8
--- /dev/null
+++ b/themes/greydragon_old/views/rootpage.html.php
@@ -0,0 +1,59 @@
+<?php defined("SYSPATH") or die("No direct script access.");
+/**
+ * Grey Dragon Theme - a custom theme for Gallery 3
+ * This theme was designed and built by Serguei Dosyukov, whose blog you will find at http://blog.dragonsoft.us
+ * Copyright (C) 2009-2012 Serguei Dosyukov
+ *
+ * This program is free software; you can redistribute it and/or modify it under the terms of the GNU General
+ * Public License as published by the Free Software Foundation; either version 2 of the License, or (at your
+ * option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the
+ * implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * for more details.
+ *
+ * You should have received a copy of the GNU General Public License along with this program; if not, write to
+ * the Free Software Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA.
+ */
+?>
+<?
+ $link_url = item::root()->url();
+ if ($theme->allow_root_page):
+ $link_url .= $theme->permalinks["enter"];
+ endif;
+ if ($theme->show_root_desc):
+ if ($theme->root_description):
+ $root_text = $theme->root_description;
+ elseif (isset($item)):
+ $root_text = $item->description;
+ endif;
+ if ($root_text):
+ ?><div id="g-rootpage-quote"><?= $theme->bb2html($root_text, 1); ?></div><?
+ endif;
+ endif;
+
+ $slideshow_list = $theme->get_slideshow_list();
+ $first = TRUE;
+?>
+<div id="g-rootpage-roll"<?= ($root_text)? null : ' class="g-full"'; ?>>
+ <span><a href="<?= $link_url ?>"><?= t("Click to Enter") ?></a></span>
+ <div id="g-rootpage-slideshow">
+ <? foreach ($slideshow_list as $entry): ?>
+ <? $attr = $entry["@attributes"]; ?>
+ <div class="slider-item" style="width: <?= $attr['width']; ?>px; height: <?= $attr["height"]; ?>px; display: <?= ($first)? "block" : "none"; ?>; position: absolute; z-index: 10; opacity: <?= ($first)? "1" : "0"; ?>;">
+ <a href="<?= $link_url; ?>"><img width="<?= $attr["width"]; ?>" height="<?= $attr["height"]; ?>" alt="" src="<?= $attr["url"]; ?>" border="0"/></a>
+ </div>
+ <? $first = FALSE; ?>
+ <? endforeach ?>
+ </div>
+</div>
+<? if (count($slideshow_list) > 0): ?>
+<script type="text/javascript">
+ $(document).ready(function() {
+ $('#g-rootpage-slideshow').cycle({
+ fx: '<?= $theme->root_cyclemode; ?>'
+ , timeout: <?= $theme->root_delay * 1000; ?>
+ });
+ });
+</script>
+<? endif; ?> \ No newline at end of file
diff --git a/themes/greydragon_old/views/rootpage.html.php_fix b/themes/greydragon_old/views/rootpage.html.php_fix
new file mode 100644
index 0000000..cfe61d2
--- /dev/null
+++ b/themes/greydragon_old/views/rootpage.html.php_fix
@@ -0,0 +1,46 @@
+<?php defined("SYSPATH") or die("No direct script access.");
+/**
+ * Grey Dragon Theme - a custom theme for Gallery 3
+ * This theme was designed and built by Serguei Dosyukov, whose blog you will find at http://blog.dragonsoft.us
+ * Copyright (C) 2009-2012 Serguei Dosyukov
+ *
+ * This program is free software; you can redistribute it and/or modify it under the terms of the GNU General
+ * Public License as published by the Free Software Foundation; either version 2 of the License, or (at your
+ * option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the
+ * implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * for more details.
+ *
+ * You should have received a copy of the GNU General Public License along with this program; if not, write to
+ * the Free Software Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA.
+ */
+?>
+<?
+ $link_url = item::root()->url();
+ if ($theme->allow_root_page):
+ $link_url .= $theme->permalinks["enter"];
+ endif;
+ if ($theme->show_root_desc):
+ if ($theme->root_description):
+ $root_text = $theme->root_description;
+ elseif (isset($item)):
+ $root_text = $item->description;
+ endif;
+ if ($root_text):
+ ?><div id="g-rootpage-quote"><?= $theme->bb2html($root_text, 1); ?></div><?
+ endif;
+ endif;
+?>
+<div id="g-rootpage-roll"<?= ($root_text)? null : ' class="g-full"'; ?>>
+<object type="application/x-shockwave-flash" data="<?= url::file("modules/imageblockex/player/minislideshow.swf"); ?>" width="100%" height="100%">
+<param name="movie" value="<?= url::file("modules/imageblockex/player/minislideshow.swf"); ?>" />
+<param name="FlashVars" value="xmlUrl=<?= $theme->root_feed; ?>&amp;delay=<?= $theme->root_delay; ?>&amp;showControls=false&amp;altLink=<?= $link_url ?>&amp;showDropShadow=true&amp;useResizes=true&amp;useFull=true&amp;showLoader=false" />
+<param name="bgcolor" value="#1c242e" />
+<param name="wmode" value="transparent" />
+<param name="menu" value="false" />
+<param name="quality" value="high" />
+</object>
+<div id="g-rootpage-link" onclick="javascript:location='<?= $link_url ?>'" ></div>
+<span><a href="<?= $link_url ?>"><?= t("Click to Enter") ?></a></span>
+</div>
diff --git a/themes/greydragon_old/views/rss_block.html.php b/themes/greydragon_old/views/rss_block.html.php
new file mode 100644
index 0000000..00b9e9d
--- /dev/null
+++ b/themes/greydragon_old/views/rss_block.html.php
@@ -0,0 +1,30 @@
+<?php defined("SYSPATH") or die("No direct script access.");
+/**
+ * Grey Dragon Theme - a custom theme for Gallery 3
+ * This theme was designed and built by Serguei Dosyukov, whose blog you will find at http://blog.dragonsoft.us
+ * Copyright (C) 2009-2012 Serguei Dosyukov
+ *
+ * This program is free software; you can redistribute it and/or modify it under the terms of the GNU General
+ * Public License as published by the Free Software Foundation; either version 2 of the License, or (at your
+ * option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the
+ * implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * for more details.
+ *
+ * You should have received a copy of the GNU General Public License along with this program; if not, write to
+ * the Free Software Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA.
+ */
+?>
+<ul id="g-feeds">
+<? foreach($feeds as $url => $title): ?>
+ <li style="clear: both;">
+ <span class="ui-icon-left">
+ <a href="<?= rss::url($url) ?>">
+ <span class="ui-icon ui-icon-signal-diag">&nbsp;</span>
+ <?= html::purify($title) ?>
+ </a>
+ </span>
+ </li>
+<? endforeach ?>
+</ul>
diff --git a/themes/greydragon_old/views/search.html.php b/themes/greydragon_old/views/search.html.php
new file mode 100644
index 0000000..dee48eb
--- /dev/null
+++ b/themes/greydragon_old/views/search.html.php
@@ -0,0 +1,35 @@
+<?php defined("SYSPATH") or die("No direct script access.");
+/**
+ * Grey Dragon Theme - a custom theme for Gallery 3
+ * This theme was designed and built by Serguei Dosyukov, whose blog you will find at http://blog.dragonsoft.us
+ * Copyright (C) 2009-2012 Serguei Dosyukov
+ *
+ * This program is free software; you can redistribute it and/or modify it under the terms of the GNU General
+ * Public License as published by the Free Software Foundation; either version 2 of the License, or (at your
+ * option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the
+ * implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * for more details.
+ *
+ * You should have received a copy of the GNU General Public License along with this program; if not, write to
+ * the Free Software Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA.
+ */
+?>
+<div id="g-search-results">
+ <h1><?= t("Search Results for \"%term\"", array("term" => $q)) ?> </h1>
+
+ <?= $theme->add_paginator("top"); ?>
+ <div class="g-album-grid-container">
+ <ul id="g-album-grid">
+<? if (count($items)): ?>
+ <? foreach ($items as $item): ?>
+ <?= $theme->get_thumb_element($item) ?>
+ <? endforeach ?>
+<? else: ?>
+ <li><?= t("No results found for <b>%term</b>", array("term" => $q)) ?></li>
+<? endif; ?>
+ </ul>
+ </div>
+ <?= $theme->add_paginator("bottom"); ?>
+</div> \ No newline at end of file
diff --git a/themes/greydragon_old/views/sidebar.html.php b/themes/greydragon_old/views/sidebar.html.php
new file mode 100644
index 0000000..03b2778
--- /dev/null
+++ b/themes/greydragon_old/views/sidebar.html.php
@@ -0,0 +1,27 @@
+<?php defined("SYSPATH") or die("No direct script access.");
+/**
+ * Grey Dragon Theme - a custom theme for Gallery 3
+ * This theme was designed and built by Serguei Dosyukov, whose blog you will find at http://blog.dragonsoft.us
+ * Copyright (C) 2009-2012 Serguei Dosyukov
+ *
+ * This program is free software; you can redistribute it and/or modify it under the terms of the GNU General
+ * Public License as published by the Free Software Foundation; either version 2 of the License, or (at your
+ * option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the
+ * implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * for more details.
+ *
+ * You should have received a copy of the GNU General Public License along with this program; if not, write to
+ * the Free Software Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA.
+ */
+?>
+<?= $theme->sidebar_top() ?>
+<div class="g-toolbar"><h1>&nbsp;</h1></div>
+<? if ((!$user->guest) || (!$theme->sidebar_hideguest)):
+ try { echo $theme->sidebar_blocks(); } catch (Exception $e) { }
+ else:
+ echo "";
+ endif;
+?>
+<?= $theme->sidebar_bottom() ?>
diff --git a/themes/greydragon_old/views/user_profile.html.php b/themes/greydragon_old/views/user_profile.html.php
new file mode 100644
index 0000000..587eec2
--- /dev/null
+++ b/themes/greydragon_old/views/user_profile.html.php
@@ -0,0 +1,44 @@
+<?php defined("SYSPATH") or die("No direct script access.") ?>
+<script type="text/javascript">
+ $(document).ready(function() {
+ $("#g-profile-return").click(function(event) {
+ history.go(-1);
+ return false;
+ })
+ });
+</script>
+
+<div id="g-user-profile">
+ <h1><?= t("User profile: %name", array("name" => $user->display_name())) ?></h1>
+ <div id="g-user-profile-operations">
+ <a id="g-profile-return" class="g-button ui-state-default ui-corner-all" href="#">
+ <?= t("Return") ?>
+ </a>
+<? if ($editable): ?>
+ <a class="g-button ui-state-default ui-corner-all g-dialog-link" href="<?= url::site("form/edit/users/{$user->id}") ?>">
+ <?= t("Edit") ?>
+ </a>
+ <a class="g-button ui-state-default ui-corner-all g-dialog-link" href="<?= url::site("users/form_change_email/{$user->id}") ?>">
+ <?= t("Change email") ?>
+ </a>
+ <a class="g-button ui-state-default ui-corner-all g-dialog-link" href="<?= url::site("users/form_change_password/{$user->id}") ?>">
+ <?= t("Change password") ?>
+ </a>
+<? endif ?>
+<? if ($contactable): ?>
+ <a class="g-button ui-state-default ui-corner-all g-dialog-link"
+ href="<?= url::site("user_profile/contact/{$user->id}") ?>">
+ <?= t("Contact") ?>
+ </a>
+<? endif ?>
+ </div>
+ <img src="<?= $user->avatar_url(40, $theme->url("images/avatar.jpg", true)) ?>"
+ alt="<?= html::clean_attribute($user->display_name()) ?>"
+ class="g-avatar g-left" width="40" height="40" />
+<? foreach ($info_parts as $info): ?>
+ <div class="g-block">
+ <h2><?= html::purify($info->title) ?></h2>
+ <div class="g-block-content"><?= $info->view ?></div>
+ </div>
+<? endforeach ?>
+</div>