]> Frank Brehm's Git Trees - my-stuff/fotoalbum.git/commitdiff
Thema vollständig eingebunden
authorFrank Brehm <frank@brehm-online.com>
Mon, 10 Mar 2008 10:12:12 +0000 (10:12 +0000)
committerFrank Brehm <frank@brehm-online.com>
Mon, 10 Mar 2008 10:12:12 +0000 (10:12 +0000)
git-svn-id: http://svn.brehm-online.com/svn/my-stuff/fotoalbum/trunk@3 ec8d2aa5-1599-4edb-8739-2b3a1bc399aa

28 files changed:
themes/AlfredsWorld/Bord_B.png [new file with mode: 0644]
themes/AlfredsWorld/Bord_BL.png [new file with mode: 0644]
themes/AlfredsWorld/Bord_BR.png [new file with mode: 0644]
themes/AlfredsWorld/Bord_L.png [new file with mode: 0644]
themes/AlfredsWorld/Bord_R.png [new file with mode: 0644]
themes/AlfredsWorld/Bord_T.png [new file with mode: 0644]
themes/AlfredsWorld/Bord_TL.png [new file with mode: 0644]
themes/AlfredsWorld/Bord_TR.png [new file with mode: 0644]
themes/AlfredsWorld/CREDIT [new file with mode: 0644]
themes/AlfredsWorld/Gimp/Bord_B.xcf [new file with mode: 0644]
themes/AlfredsWorld/Gimp/Bord_BL.xcf [new file with mode: 0644]
themes/AlfredsWorld/Gimp/Bord_BR.xcf [new file with mode: 0644]
themes/AlfredsWorld/Gimp/Bord_L.xcf [new file with mode: 0644]
themes/AlfredsWorld/Gimp/Bord_R.xcf [new file with mode: 0644]
themes/AlfredsWorld/Gimp/Bord_T.xcf [new file with mode: 0644]
themes/AlfredsWorld/Gimp/Bord_TL.xcf [new file with mode: 0644]
themes/AlfredsWorld/Gimp/Bord_TR.xcf [new file with mode: 0644]
themes/AlfredsWorld/Gimp/More.xcf [new file with mode: 0644]
themes/AlfredsWorld/Gimp/More_de.xcf [new file with mode: 0644]
themes/AlfredsWorld/Gimp/Rahmen.xcf [new file with mode: 0644]
themes/AlfredsWorld/More.png [new file with mode: 0644]
themes/AlfredsWorld/Null.gif [new file with mode: 0644]
themes/AlfredsWorld/Prev.png [new file with mode: 0644]
themes/AlfredsWorld/Style.css [new file with mode: 0644]
themes/AlfredsWorld/album.th [new file with mode: 0644]
themes/AlfredsWorld/image.th [new file with mode: 0644]
themes/AlfredsWorld/lang/de/More.png [new file with mode: 0644]
themes/AlfredsWorld/requires [new file with mode: 0644]

diff --git a/themes/AlfredsWorld/Bord_B.png b/themes/AlfredsWorld/Bord_B.png
new file mode 100644 (file)
index 0000000..eb32eb8
Binary files /dev/null and b/themes/AlfredsWorld/Bord_B.png differ
diff --git a/themes/AlfredsWorld/Bord_BL.png b/themes/AlfredsWorld/Bord_BL.png
new file mode 100644 (file)
index 0000000..dbe15af
Binary files /dev/null and b/themes/AlfredsWorld/Bord_BL.png differ
diff --git a/themes/AlfredsWorld/Bord_BR.png b/themes/AlfredsWorld/Bord_BR.png
new file mode 100644 (file)
index 0000000..d7b51a9
Binary files /dev/null and b/themes/AlfredsWorld/Bord_BR.png differ
diff --git a/themes/AlfredsWorld/Bord_L.png b/themes/AlfredsWorld/Bord_L.png
new file mode 100644 (file)
index 0000000..43b8e4a
Binary files /dev/null and b/themes/AlfredsWorld/Bord_L.png differ
diff --git a/themes/AlfredsWorld/Bord_R.png b/themes/AlfredsWorld/Bord_R.png
new file mode 100644 (file)
index 0000000..8fc1759
Binary files /dev/null and b/themes/AlfredsWorld/Bord_R.png differ
diff --git a/themes/AlfredsWorld/Bord_T.png b/themes/AlfredsWorld/Bord_T.png
new file mode 100644 (file)
index 0000000..73d002e
Binary files /dev/null and b/themes/AlfredsWorld/Bord_T.png differ
diff --git a/themes/AlfredsWorld/Bord_TL.png b/themes/AlfredsWorld/Bord_TL.png
new file mode 100644 (file)
index 0000000..36e3270
Binary files /dev/null and b/themes/AlfredsWorld/Bord_TL.png differ
diff --git a/themes/AlfredsWorld/Bord_TR.png b/themes/AlfredsWorld/Bord_TR.png
new file mode 100644 (file)
index 0000000..026259f
Binary files /dev/null and b/themes/AlfredsWorld/Bord_TR.png differ
diff --git a/themes/AlfredsWorld/CREDIT b/themes/AlfredsWorld/CREDIT
new file mode 100644 (file)
index 0000000..4c8238f
--- /dev/null
@@ -0,0 +1,2 @@
+Inspired by 'DropPurple'. Utilizing transparent thumbnail borders and overlays.
+<a href='http://www.brehm-online.com/'>Frank Brehm</a>
diff --git a/themes/AlfredsWorld/Gimp/Bord_B.xcf b/themes/AlfredsWorld/Gimp/Bord_B.xcf
new file mode 100644 (file)
index 0000000..4d17599
Binary files /dev/null and b/themes/AlfredsWorld/Gimp/Bord_B.xcf differ
diff --git a/themes/AlfredsWorld/Gimp/Bord_BL.xcf b/themes/AlfredsWorld/Gimp/Bord_BL.xcf
new file mode 100644 (file)
index 0000000..09ce003
Binary files /dev/null and b/themes/AlfredsWorld/Gimp/Bord_BL.xcf differ
diff --git a/themes/AlfredsWorld/Gimp/Bord_BR.xcf b/themes/AlfredsWorld/Gimp/Bord_BR.xcf
new file mode 100644 (file)
index 0000000..3d69b22
Binary files /dev/null and b/themes/AlfredsWorld/Gimp/Bord_BR.xcf differ
diff --git a/themes/AlfredsWorld/Gimp/Bord_L.xcf b/themes/AlfredsWorld/Gimp/Bord_L.xcf
new file mode 100644 (file)
index 0000000..7e12ec6
Binary files /dev/null and b/themes/AlfredsWorld/Gimp/Bord_L.xcf differ
diff --git a/themes/AlfredsWorld/Gimp/Bord_R.xcf b/themes/AlfredsWorld/Gimp/Bord_R.xcf
new file mode 100644 (file)
index 0000000..bbdc51f
Binary files /dev/null and b/themes/AlfredsWorld/Gimp/Bord_R.xcf differ
diff --git a/themes/AlfredsWorld/Gimp/Bord_T.xcf b/themes/AlfredsWorld/Gimp/Bord_T.xcf
new file mode 100644 (file)
index 0000000..070b0f7
Binary files /dev/null and b/themes/AlfredsWorld/Gimp/Bord_T.xcf differ
diff --git a/themes/AlfredsWorld/Gimp/Bord_TL.xcf b/themes/AlfredsWorld/Gimp/Bord_TL.xcf
new file mode 100644 (file)
index 0000000..ae12350
Binary files /dev/null and b/themes/AlfredsWorld/Gimp/Bord_TL.xcf differ
diff --git a/themes/AlfredsWorld/Gimp/Bord_TR.xcf b/themes/AlfredsWorld/Gimp/Bord_TR.xcf
new file mode 100644 (file)
index 0000000..36bf9bf
Binary files /dev/null and b/themes/AlfredsWorld/Gimp/Bord_TR.xcf differ
diff --git a/themes/AlfredsWorld/Gimp/More.xcf b/themes/AlfredsWorld/Gimp/More.xcf
new file mode 100644 (file)
index 0000000..d29036b
Binary files /dev/null and b/themes/AlfredsWorld/Gimp/More.xcf differ
diff --git a/themes/AlfredsWorld/Gimp/More_de.xcf b/themes/AlfredsWorld/Gimp/More_de.xcf
new file mode 100644 (file)
index 0000000..6a8b903
Binary files /dev/null and b/themes/AlfredsWorld/Gimp/More_de.xcf differ
diff --git a/themes/AlfredsWorld/Gimp/Rahmen.xcf b/themes/AlfredsWorld/Gimp/Rahmen.xcf
new file mode 100644 (file)
index 0000000..a1e3cf6
Binary files /dev/null and b/themes/AlfredsWorld/Gimp/Rahmen.xcf differ
diff --git a/themes/AlfredsWorld/More.png b/themes/AlfredsWorld/More.png
new file mode 100644 (file)
index 0000000..479eaa8
Binary files /dev/null and b/themes/AlfredsWorld/More.png differ
diff --git a/themes/AlfredsWorld/Null.gif b/themes/AlfredsWorld/Null.gif
new file mode 100644 (file)
index 0000000..35d42e8
Binary files /dev/null and b/themes/AlfredsWorld/Null.gif differ
diff --git a/themes/AlfredsWorld/Prev.png b/themes/AlfredsWorld/Prev.png
new file mode 100644 (file)
index 0000000..192acb7
Binary files /dev/null and b/themes/AlfredsWorld/Prev.png differ
diff --git a/themes/AlfredsWorld/Style.css b/themes/AlfredsWorld/Style.css
new file mode 100644 (file)
index 0000000..a108acc
--- /dev/null
@@ -0,0 +1,279 @@
+BODY {
+  background:      #d7cfec;
+  color:           #000000;
+  font-family:     Verdana, Arial, Helvetica;
+  font-size:       1em;
+  margin:          0;
+  padding:         0;
+}
+
+A {
+  color:           #000000;
+  text-decoration: none;
+}
+A:hover {
+  text-decoration: underline;
+}
+
+UL A:visited {
+  color:           #203643;
+}
+
+H1 { /* the header of all pages */
+  height:          70px;
+  background:      #666699;
+  color:           white;
+  font-weight:     normal;
+  letter-spacing:  3pt;
+  font-size:       2em;
+  vertical-align:  top;
+  text-align:      right;
+  margin:          0px;
+  background-repeat: no-repeat;
+  background-position: 0px 0px;
+}
+
+UL.menu { /* the navigation menu (parent folders) */
+  background:      #babadd;
+  border-top:      solid 1px #404822;
+  border-bottom:   solid 1px #404822;
+  font-weight:     bold;
+  letter-spacing:  1pt;
+  margin:          0px;
+  padding:         3px 0px 3px 2%;
+  color:           #404822;
+}
+
+UL.menu LI {
+  display:         inline;
+  color:           #404822;
+}
+
+UL.menu LI A {
+  color:           #404822;
+}
+
+UL.menu LI.up {
+  position:        absolute;
+  right:           2%;
+}
+
+H2 { /* headers and footers */
+  font-weight:     normal;
+  font-style:      normal;
+  font-size:       1em;
+  line-height:     130%;
+  color:           #000000;
+  margin:          3% 2% 1% 2%;
+  padding:         2px;
+  border:          dotted 2px #000000;
+}
+
+UL.list { /* the list of subfolders */
+  margin-left:     0px;
+
+}
+
+UL.list LI {
+  list-style-type: none;
+  line-height:     1.4;
+  margin-bottom:   0px;
+  padding-left:    0px;
+  margin-left:     0px;
+  list-style:      none;
+  vertical-align:  top;
+  position:        relative;
+  Clear:           left ;
+}
+
+UL.list LI A {
+  color:           #203643;
+}
+
+DIV A { /* color of links in captions */
+  color:           #B85761;
+}
+
+H2 A { /* color of links in the headers/footers */
+  color:           #B85761;
+}
+
+HR.bar {
+  width:           100%;
+  height:          1px;
+  margin-top:      3px;
+  margin-bottom:   3px;
+  margin-left:     0;
+  margin-right:    0;
+  border-top:      1px solid #000000;
+  border-bottom:   0;
+  border-left:     0;
+  border-right:    0;
+}
+
+/*div characteristics*/
+DIV.album {
+  float:           left;
+  clear:           both;
+  margin-top:      20px;
+  margin-bottom:   30px;
+  margin-right:    5px;
+  margin-left:     40px;
+}
+
+TABLE.nav {
+  font-size:       1em;
+  font-weight:     normal;
+}
+
+TABLE.nav SPAN.main {
+  color:           black;
+}
+
+TABLE.nav A {
+  color:           blue;
+}
+
+DIV.fullimage { /* the full image areas */
+  float:           left;
+  overflow:        hidden;
+  margin:          2em;
+}
+
+DIV.fullimage A IMG {
+  border:          7px #ffffff; /*#203643;*/
+  border-style:    inset;
+}
+
+DIV.divider {
+  color:           #ffffff;
+  text-align:      center;
+  font-weight:     bold;
+  letter-spacing:  3pt;
+  font-size:       0.8em;
+  background:      #666699;
+  margin-bottom:   20px;
+  border:          2px solid;
+  border-color:    #D3D3D3 black black #D3D3D3;
+  clear:           both;
+}
+
+DIV.spacer { /* needed to clean the flow before and after floating thumbnails */
+  clear:           both;
+}
+
+DIV.infotext {
+  font:            Comic Sans;
+  font-size:       1em;
+  color:           #000000;
+  line-height:     130%;
+  text-align:      center;
+  padding:         0px 4px;
+  clear:           both;
+}
+
+DIV.infotext A {
+  color:           #000000;
+}
+
+DIV.thumbs { /* the area all the thumbnails reside in */
+  margin:          3%;
+  clear:           both;
+}
+
+div.thumbs2 { /* the area all the thumbnails reside in */
+  margin:          3%;
+}
+
+  /*"onionskin" drop shadow rules-*/
+
+.wrap1, .wrap2, .wrap3, .wrap4, .wrap5, {
+  display:         inline-table;
+  display:         block;
+}
+
+.wrapname { /* holds text and framed image as unit*/
+  float:           left;
+  margin-bottom:   20px;
+  margin-right:    5px;
+}
+
+.wrap1 { /* bottom layer of shadow- make sure to match the background color to the appropriate shadow graphics*/
+  border:          1px solid #d7cfec /*note- FOR IE only- a border is needed to properly render shadow when there is text below the image*/ ;
+  background:      url(shadow.jpg) right bottom no-repeat;
+}
+
+.wrap2 { /* middle layer of shadow- make sure to match the background color to the appropriate shadow graphics*/
+  background:      url(corner_bl.jpg) -12px 100% no-repeat;
+}
+
+.wrap3 { /* top layer of shadow- make sure to match the background color to the appropriate shadow graphics */
+  padding:         0 16px 16px 0;
+  background:      url(corner_tr.jpg) 100% -4px no-repeat;
+}
+
+.wrap4 {
+  border:          1px solid;
+  border-color:    #D3D3D3 black black #D3D3D3; /*picture border outer highlights*/
+}
+
+.wrap5 {
+  border:          11px solid #FFFFFF; /*primary picture border style*/
+}
+
+.wrap3 IMG {
+  display:         block;
+  border:          2px solid;
+  border-color:    gray #D3D3D3 #B7BDAD gray ; /*picture border inner highlights*/
+}
+
+DIV DIV.caption, DIV.name { /* this is for text above thumbnails and images */
+  font:            Comic Sans;
+  font-size:       1em;
+  color:           #000000;
+  line-height:     130%;
+  text-align:      center;
+  padding:         0px 4px;
+  clear:           both;
+}
+
+/* Footer treatments*/
+ADDRESS { /* the footer of all pages */
+  float:           right;
+  width:           90%;
+  margin:          2%;
+  font-size:       .5em;
+  color:           #203643;
+  font-style:      normal;
+  text-align:      right;
+  display:         none;
+}
+
+ADDRESS A { /* color of links in the footer */
+  color:           #B85761;
+  display:         block;
+}
+
+ADDRESS SPAN.helmar {
+  display:         block;
+}
+
+#SlideShowButton {
+       font-size:75%;
+}
+#SlideShow {
+       font-size:75%;
+}
+.title {
+       color: black;
+       font-size: 13px;
+}
+
+.main {
+       color: black:
+       font-size: 1em;
+}
+.credit {
+       color: gray;
+       font-size: 0.8em;
+}
diff --git a/themes/AlfredsWorld/album.th b/themes/AlfredsWorld/album.th
new file mode 100644 (file)
index 0000000..75171d5
--- /dev/null
@@ -0,0 +1,302 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+#c// ###################################################################
+#c// Album Theme by David Ljung Madison
+#c// Design by Dave Simmer of DaveWeb.com, modified by Dave Madison
+#c// -- Auto generated by simmer_theme v3.08
+#c// -- From: http://MarginalHacks.com/Hacks/album/
+#c// ###################################################################
+#c//
+<:
+
+  # Version requirements
+  if (Version_Num() < 3.12) {
+    print STDERR "\n[THEME ERROR]  This theme requires album v3.12\n";
+    exit(-1);
+  }
+
+  # Path setting - this is the path to the images
+  $PATH = Theme_URL();
+  $CSS = "<link rel='stylesheet' type='text/css' href='".$PATH."/Style.css'>";
+
+  $BODY="";
+  $START_TITLE = "<span class='title'>";
+  $START_MAIN = "<span class='main'>";
+  $START_CREDIT = "<span class='credit'>";
+  $END_FONT = "</span>";
+
+  $SLIDESHOW = Option('slideshow');
+  # Icons/graphics
+  @Bar_M = ( "$PATH/Bar_M.png", '100%', 20 );
+  $Icon =  { '_'  => [ "$PATH/Icon.png", 325, 60 ], };
+  $Back =  { '_'  => [ "$PATH/Back.png", 165, 60 ], };
+  $Next =  { '_'  => [ "$PATH/Next.png",  20, 15 ], };
+  $Prev =  { '_'  => [ "$PATH/Prev.png",  20, 15 ], };
+  $More =  { '_'  => [ "$PATH/More.png", 251, 43 ],
+             'de' => [ "$PATH/lang/de/More.png", 221, 41 ],
+           };
+
+sub Bar {
+  my ($colspan) = @_;
+
+:>
+    <tr>
+      <td colspan='<:=$colspan:>' height="<:=$bar_H:>">
+        <hr class="bar" /></td>
+    </tr>
+<:
+
+}
+
+  # Thumbnail border
+  @Bord_L  = ( "$PATH/Bord_L.png",  18,  2);
+  @Bord_R  = ( "$PATH/Bord_R.png",  19,  3);
+  @Bord_TL = ( "$PATH/Bord_TL.png", 18, 15);
+  @Bord_TR = ( "$PATH/Bord_TR.png", 19, 15);
+  @Bord_BL = ( "$PATH/Bord_BL.png", 18, 19);
+  @Bord_BR = ( "$PATH/Bord_BR.png", 19, 19);
+  @Bord_T  = ( "$PATH/Bord_T.png",   3, 15);
+  @Bord_B  = ( "$PATH/Bord_B.png",   6, 19);
+
+  @Border = (\@Bord_TL,\@Bord_T,\@Bord_TR,\@Bord_RT,\@Bord_R,\@Bord_RB,\@Bord_BR,\@Bord_B,\@Bord_BL,\@Bord_LB,\@Bord_L,\@Bord_LT) unless @Border;
+
+  # Overlay padding
+  push(@Over_T, 39);
+  push(@Over_B, 39);
+  push(@Over_L, 39);
+  push(@Over_R, 39);
+
+:>//
+#c//
+#c// ###################################################################
+#c// Everything beyond here is the same for every DaveWeb theme..
+#c// ###################################################################
+<:
+  # Shorthand for column info specified by -columns
+  $Dir_Thumbs = Option('dir_thumbs');
+  $Cols = Option('columns');
+  $Col_Perc = int(100/$Cols)."%";
+
+:>//
+<html>
+  <head>
+    <meta http-equiv="content-type" content="text/html;charset=<:=Option('charset'):>">
+    <meta http-equiv="Content-Style-Type" content="text/css">
+    <: Meta() :>
+    <title><:= Trans('Album:') :> <:= Path('album_name') :></title>
+    <:= $CSS :>
+  </head>
+  <body <:=$BODY:> <:Body_Tag():>>
+
+    <h1>
+      <: print Path('album_name') :>
+    </h1>
+
+    <ul class="menu">
+    <: while (Parent_Albums()) { _:>
+      <: if (Parent_Albums_Left() > 1) { _:>
+      <li>
+        <: pParent_Album() :> &raquo;
+      <: } else { _:>
+      <li>
+        <: pParent_Album() :>
+      <: } _:>
+      </li>
+      <: Next_Parent_Album() :>
+    <: } _:>
+      <li class="up">
+        <a href=<:=Back():>><: $trans = Option('trans'); print $trans->{'Up'}; :></a>
+      </li>
+    </ul>
+
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+<: if ($Dir_Thumbs && isHeader()) { _:>
+      <tr>
+        <td colspan="<:=$Cols:>">
+          <br />
+          <center>
+          <:=$START_MAIN:>
+            <:pHeader():>
+          <:=$END_FONT:>
+          </center></td>
+      </tr>
+<: } _:>
+
+    <tr>
+      <td colspan="<:=$Cols:>"><:=Image_Array("$PATH/Null.gif",20,10):></td>
+    </tr>
+
+#c// Are there more albums below this one?
+<:
+  my $alb = First('dirs');
+  if ($alb) { _:>
+    <tr>
+      <td colspan="<:=$Cols:>">
+        <table width='100%' align='center' cellspacing='3'>
+          <tr>
+<:    if (!$Dir_Thumbs) { :>
+            <td width='50%'>
+            <:=$START_TITLE:>
+              <:= $More ? Image_Ref($More) : "<b>".Trans('More albums:')."</b>:" :>
+              <br />
+              <:=$END_FONT:>
+              <:=$START_MAIN:>
+<:    } elsif ($More) { :>
+            <td height='50' align='center' width='<:=$Col_Perc:>' valign='top'>
+              <:=Image_Ref($More):>
+            </td>
+<:    } :>
+#c//
+#c// Loop on all the albums
+<:  my @save;
+    while ($alb) {
+      if ($Dir_Thumbs) {
+_:>
+            <td align='center' width='<:=$Col_Perc:>' valign='bottom'>
+              <: PickOverlay($alb, 'thumb') if @Overlays :>
+              <: Border($alb, 'thumb','dir', @Border) if Get($alb,'thumb','x') :>
+              <: push(@save,$alb); :>
+            </td>
+<:      if (New_Row($alb,$Cols,$More?1:0) || !Next($alb)) { _:>
+          </tr><tr>
+<:        foreach my $save ( @save ) { _:>
+      <:= "<td></td>\n" unless !$More || Get($save,'num') :>
+            <td align='center' width='<:=$Col_Perc:>' valign='top'>
+              <:=$START_MAIN:>
+              <:= Image_Array( (-e Get($save,'path').'/.htaccess') ? @Locked : @NotLocked) :>
+              <:=Get($save,'href','dir'):>
+              <:=Pretty(Name($save),1,1):></a>
+              <: my $cap = Caption($save);
+                 my $num_pics = Get($save,'num_pics_str');
+                 my $num_dirs = Get($save,'num_dirs_str');
+                 if ($cap || $num_pics || $num_dirs) { _:>
+              <br />
+              <font size='-2'>
+              <:=$cap if $cap:>
+              <:="<br />" if $cap && ($num_pics || $num_dirs):>
+              <:=$num_dirs:>
+              <:=", " if $num_pics && $num_dirs:>
+              <:=$num_pics:>
+              </font>
+          <: } :>
+          <:=$END_FONT:>
+<:
+          } # end foreach $save
+          undef @save;
+          if (New_Row($alb,$Cols,$More?1:0)) { _:>
+          </tr><tr>
+<:
+          } # end new row
+        } # end printing of $save
+      # end if $Dir_Thumbs
+      } else {
+        print Image_Array( (-e Get($alb,'path').'/.htaccess') ? @Locked : @NotLocked);
+        print Get($alb,'href','dir');
+        print Pretty(Name($alb),1,1), "</a>";
+        my $cap = Caption($alb);
+# Actually, the current album code doesn't set 'num_pics' if dir_thumb isn't
+# set, but I'll leave this here in case that changes.
+        my $num_pics = Get($alb,'num_pics');
+        $num_pics = $num_pics ? $num_pics>1 ? "$num_pics images\n" : "1 image\n" : "";
+        my $num_dirs = Get($alb,'num_dirs');
+        $num_dirs = $num_dirs ? $num_dirs>1 ? "$num_dirs albums\n" : "1 album\n" : "";
+        if ($cap || $num_pics || $num_dirs) { _:>
+            &nbsp;
+            <font size='-2'>
+          <:=$cap if $cap:>
+          <:=": " if $cap && ($num_pics || $num_dirs):>
+          <:=$num_dirs:>
+          <:=", " if $num_pics && $num_dirs:>
+          <:=$num_pics:>
+            </font>
+          <: }
+          print "<br />\n";
+      } # end not $Dir_Thumbs
+      $alb = Next($alb);
+    } # End child album loop
+_:>
+
+<:    if (!$Dir_Thumbs) { :>
+        <:=$END_FONT:>
+      </td>
+      <td>
+        <center>
+        <:=$START_MAIN:>
+        <:pHeader():>
+        <:=$END_FONT:>
+        </center>
+      </td>
+<:    }
+:>//
+          </tr>
+        </table></td>
+    </tr>
+
+#c// Bar after child albums
+<: Bar($Cols) :>
+
+#c//
+#c// End if albums
+<:  } :>
+
+#c//
+#c// The images
+<:
+  my $img = First('pics');
+  if ($img) { _:>//
+  <tr>
+<:  my @save;
+    while ($img) {
+_:>
+    <td align='center' valign='bottom' width='<:=$Col_Perc:>'>
+      <: PickOverlay($img, 'thumb') if @Overlays :>
+      <: Border($img,'thumb','image', @Border) if Get($img,'thumb','x') :>
+      <: push(@save,$img); :></td>
+<:    if (New_Row($img,$Cols) || !Next($img)) { _:>
+  </tr><tr>
+<:      foreach my $save ( @save ) { _:>
+    <td align='center' valign='top' width='<:=$Col_Perc:>'>
+      <:=$START_MAIN:>
+      <:=Get($save,'href','image'):>
+      <:=Pretty(Name($save),1,1):></a>
+      <: if (my $cap = Caption($save)) { _:><br />
+      <font size='-2'>
+      <:=$cap:></font>
+      <: } :>
+      <:=$END_FONT:></td>
+<:
+        }
+        undef @save;
+        if (New_Row($img,$Cols)) { _:>
+  </tr><tr>
+    <td height="20" colspan="<:=$Cols:>"><:=Image_Array("$PATH/Null.gif",20,20):></td>
+  </tr><tr>
+<:
+        }
+      }
+      $img = Next($img);
+    } # End child album loop
+_:>
+  </tr><tr>
+    <td height="20" colspan="<:=$Cols:>"><:=Image_Array("$PATH/Null.gif",20,20):></td>
+  </tr>
+<: Bar($Cols) :>
+<:}:>//
+
+<: if (isFooter()) { _:>
+  <tr>
+    <td colspan="<:=$Cols:>">
+      <br />
+      <center><:pFooter():></center></td>
+  </tr>
+<: Bar($Cols) :>
+<: } _:>
+  <tr>
+    <td colspan="<:=$Cols:>">
+      <div align="center">
+        <:=$START_CREDIT:><: Credit() :> on <:=scalar localtime:><:=$END_FONT:></div></td>
+  </tr>
+</table>
+<p></p>
+</body>
+
+</html>
diff --git a/themes/AlfredsWorld/image.th b/themes/AlfredsWorld/image.th
new file mode 100644 (file)
index 0000000..e00eca9
--- /dev/null
@@ -0,0 +1,320 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+#c// ###################################################################
+#c// Album Theme by David Ljung Madison
+#c// Design by Dave Simmer of DaveWeb.com, modified by Dave Madison
+#c// -- Auto generated by simmer_theme v3.08
+#c// -- From: http://MarginalHacks.com/Hacks/album/
+#c// ###################################################################
+#c//
+<:
+
+  # Version requirements
+  if (Version_Num() < 3.12) {
+    print STDERR "\n[THEME ERROR]  This theme requires album v3.12\n";
+    exit(-1);
+  }
+
+  # Path setting - this is the path to the images
+  $PATH = Theme_URL();
+  $CSS = "<link rel='stylesheet' type='text/css' href='".$PATH."/Style.css'>";
+
+  $BODY="";
+  $START_TITLE = "<span class='title'>";
+  $START_MAIN = "<span class='main'>";
+  $START_CREDIT = "<span class='credit'>";
+  $END_FONT = "</span>";
+
+  $SLIDESHOW = Option('slideshow');
+  # Icons/graphics
+  @Bar_M = ( "$PATH/Bar_M.png", '100%', 20 );
+  $Icon =  { '_' => [ "$PATH/Icon.png", 325, 60 ], };
+  $Back =  { '_' => [ "$PATH/Back.png", 165, 60 ], };
+  $Next =  { '_' => [ "$PATH/Next.png",  20, 15 ], };
+  $Prev =  { '_' => [ "$PATH/Prev.png",  20, 15 ], };
+  $More =  { '_' => [ "$PATH/More.png", 165, 60 ], };
+
+sub Bar {
+  my ($colspan) = @_;
+
+:>
+    <tr>
+      <td colspan='<:=$colspan:>' height="<:=$bar_H:>">
+        <hr class="bar" /></td>
+    </tr>
+<:
+
+}
+
+
+  # Thumbnail border
+  @Over_TL = ("$PATH/Bord_TL.png", 90, 71);
+  @Over_T  = ("$PATH/Bord_T.png", 31, 71);
+  @Over_TR = ("$PATH/Bord_TR.png", 84, 71);
+  @Over_R  = ("$PATH/Bord_R.png", 90, 25);
+  @Over_BR = ("$PATH/Bord_BR.png", 84, 71);
+  @Over_B  = ("$PATH/Bord_B.png", 31, 71);
+  @Over_BL = ("$PATH/Bord_BL.png", 90, 71);
+  @Over_L  = ("$PATH/Bord_L.png", 90, 25);
+
+  # Thumbnail border
+  @Bord_L  = ( "$PATH/Bord_L.png",  18,  2);
+  @Bord_R  = ( "$PATH/Bord_R.png",  19,  3);
+  @Bord_TL = ( "$PATH/Bord_TL.png", 18, 15);
+  @Bord_TR = ( "$PATH/Bord_TR.png", 19, 15);
+  @Bord_BL = ( "$PATH/Bord_BL.png", 18, 19);
+  @Bord_BR = ( "$PATH/Bord_BR.png", 19, 19);
+  @Bord_T  = ( "$PATH/Bord_T.png",   3, 15);
+  @Bord_B  = ( "$PATH/Bord_B.png",   6, 19);
+
+  @Border = (\@Bord_TL,\@Bord_T,\@Bord_TR,\@Bord_RT,\@Bord_R,\@Bord_RB,\@Bord_BR,\@Bord_B,\@Bord_BL,\@Bord_LB,\@Bord_L,\@Bord_LT) unless @Border;
+
+  # Overlay padding
+  push(@Over_T, 39);
+  push(@Over_B, 39);
+  push(@Over_L, 39);
+  push(@Over_R, 39);
+
+:>//
+#c//
+#c// ###################################################################
+#c// Everything beyond here is the same for every DaveWeb theme..
+#c// ###################################################################
+<html>
+<head>
+  <meta http-equiv="content-type" content="text/html;charset=<:=Option('charset'):>">
+  <meta http-equiv="Content-Style-Type" content="text/css">
+  <: Meta() :>
+  <title><:=Trans('Image:') :> <:=Name(This_Image) :></title>
+  <:= $CSS :>
+<: if ($SLIDESHOW) { :>
+<: unless ($CSS) { :>
+  <style type="text/css">
+    <!--
+       #SlideShowButton { font-size:75%; }
+       #SlideShow { font-size:75%; }
+    -->
+  </style>
+<: } :>
+  <script type='text/javascript'>
+  <!--
+    var cururl = <:=Image_Page_URL():>;
+    <:Set_Image_Next():>
+    var strurl = <:=Image_Page_URL():>;
+    var timeout_value = 0;
+    var stop_request = 0;
+    var picnum = 2;
+    var loopCheck ='off';
+
+    function slideshow() {
+      if ( timeout_value != 0 && <:= num('pics') :> - picnum >= 0 ) {
+        setTimeout( 'gonext()', timeout_value * 1000 )
+      }
+    }
+
+    function gonext() {
+      var counter = '';
+      if (loopCheck != 'on'){
+        counter = '&counter=' + picnum;
+      };
+      this.location = strurl + '?time=' + timeout_value + '&loop=' + loopCheck + counter
+    }
+
+    function checkanimate() {
+      if ( this.location.toString().indexOf('?time=30') >= 0 ) {
+        timeout_value = 30
+      } else if ( this.location.toString().indexOf('?time=15' ) >= 0 ) {
+        timeout_value = 15
+      } else if ( this.location.toString().indexOf('?time=10' ) >= 0 ) {
+        timeout_value = 10
+      } else if ( this.location.toString().indexOf('?time=5' ) >= 0) {
+        timeout_value = 5
+      } else if ( this.location.toString().indexOf('?time=3' ) >= 0) {
+        timeout_value = 3
+      } else if ( this.location.toString().indexOf('?time=0' ) >= 0) {
+        timeout_value = 0
+      };
+      if ( this.location.toString().indexOf('&loop=on') >= 0 ) {
+        loopCheck = 'on'
+      };
+      if ( this.location.toString().indexOf('&counter=') >= 0 ) {
+        do_count();
+      };
+    }
+
+    function do_count() {
+      var x = this.location.toString().indexOf('&counter=');
+      picnum = parseInt( this.location.toString().substring( x + 9 ) ) + 1;
+    }
+
+    function reset_timer() {
+      timeout_value = document.SlideShow.time.options[document.SlideShow.time.selectedIndex].value;
+    }
+
+    function stopshow() {
+      this.location = cururl;
+    }
+
+    function toggleLoop(){
+      if( loopCheck == 'on'){
+        loopCheck = 'off'
+      } else {
+        loopCheck = 'on'
+      }
+    }
+
+    function slideshowForm(){
+
+      if (this.location.toString().indexOf('&stop=1') >= 0) {
+        stopshow();
+      }
+
+      checkanimate();
+      document.write("<form id=SlideShow name=SlideShow>");
+      document.write("&nbsp;&nbsp; <button id=SlideShowButton>Slideshow</button>");
+
+      document.write("<span style='white-space: nowrap'>");
+      document.write("&nbsp;&nbsp;&nbsp;delay:&nbsp;");
+      document.write("<select name='time' onchange='reset_timer()' size=1  style='font-size:12px;'><option value=0 ");
+      if ( timeout_value == 0 ) {
+        document.write(" selected ");
+      };
+      document.write(">Select</option><option value=3 ");
+      if ( timeout_value == 3 ) {
+        document.write(" selected ");
+      };
+      document.write(">3  seconds</option><option value=5");
+      if( timeout_value == 5 ) {
+        document.write(" selected ");
+      };
+      document.write(" >5  seconds</option><option value=10 ");
+      if( timeout_value == 10 ) {
+        document.write(" selected ");
+      };
+      document.write(":>10  seconds</option><option value=15");
+      if( timeout_value == 15 ) {
+        document.write(" selected ");
+      };
+      document.write(" >15  seconds</option><option value=30 ");
+      if( timeout_value == 30 ) {
+        document.write(" selected ");
+      };
+      document.write(">30  seconds</option></select>");
+
+      document.write("&nbsp;&nbsp;&nbsp;loop:&nbsp;");
+      document.write("<input type=checkbox  name='loop'");
+      if ( loopCheck =='on' ) {
+        document.write("checked");
+      };
+      document.write(" onclick='toggleLoop()'>");
+      document.write("</span>");
+
+      document.write("<button id=SlideShowButton name='stop' value=1>Stop</button>");
+      document.write("</form>");
+    }
+
+    <: print "AddOnload(slideshow)" if ($SLIDESHOW) :>
+
+  //-->
+  </script>
+<: } :>
+
+</head>
+
+<body <:=$BODY:> <:Body_Tag():> >
+
+    <h1>
+      <: print Path('album_name') :>
+    </h1>
+
+    <ul class="menu">
+    <: while (Parent_Albums()) { _:>
+      <: if (Parent_Albums_Left() > 1) { _:>
+      <li>
+        <: pParent_Album() :> &raquo;
+      <: } else { _:>
+      <li>
+        <: pParent_Album() :>
+      <: } _:>
+      </li>
+      <: Next_Parent_Album() :>
+    <: } _:>
+      <li class="up">
+        <a href=<:=Back():>><: $trans = Option('trans'); print $trans->{'Up'}; :></a>
+      </li>
+    </ul>
+
+<: if (isHeader()) { _:>
+<h2>
+  <:pHeader():>
+</h2>
+<: } _:>
+
+<: if ($SLIDESHOW) { :>
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+  <tr>
+    <td valign="bottom" align="center">
+      <script type='text/javascript'>
+        slideshowForm();
+      //-->
+    </td>
+  </tr>
+  <: Bar(1) :>
+</table>
+<: } # of Slideshow :>
+
+<br />
+<table border="0" cellpadding="2" cellspacing="0" width="100%" class="nav">
+  <tr valign="top">
+    <td width="25%" style="text-align: left;">
+<: if ( my $prev = Prev( This_Image, $opt->{image_loop} ) ) { _:>
+        <:=Get($prev,'href','image_page','image_page'):>
+        <:="&laquo;&nbsp;" :><:=Pretty(Name($prev),1):></a>
+<: } _:>
+    </td>
+    <td width="50%" style="text-align: center;">
+        <:=Get(This_Image,'href','image'):>
+        <:=Pretty(Name(This_Image),1,1):></a><br />
+        <:=$START_MAIN:><:=Caption(This_Image):><:=$END_FONT:></td>
+    <td width="25%" style="text-align: right;">
+<: if (my $next = Next(This_Image, $opt->{image_loop})) { _:>
+        <:=Get($next,'href','image_page','image_page'):>
+        <:=Pretty(Name($next),1):><:= "&nbsp;&raquo;" :></a>
+<: } _:>
+    </td>
+  </tr>
+</table>
+
+               <table border="0" cellpadding="0" cellspacing="0" width="100%">
+
+#c//
+#c// The image
+#c//
+                       <tr>
+                               <td valign="top" width="100%">
+                                       <div align="center"><br />
+                                       <: PickOverlay(This_Image, 'full') if @Overlays :>
+                                       <: Border(This_Image,'full','image',  @Border) :>
+                                       </div>
+                               </td>
+                       </tr>
+
+                       <tr>
+                               <td height="20"><:=Image_Array("$PATH/Null.gif",20,20):></td>
+                       </tr>
+
+<: Bar(1) :>
+
+                       <tr>
+                               <td>
+                                       <div align="center">
+                                               <:=$START_CREDIT:><: Credit() :> on <:=scalar localtime:><:=$END_FONT:></div>
+                               </td>
+                       </tr>
+                       <tr>
+                               <td></td>
+                       </tr>
+               </table>
+               <p></p>
+       </body>
+
+</html>
diff --git a/themes/AlfredsWorld/lang/de/More.png b/themes/AlfredsWorld/lang/de/More.png
new file mode 100644 (file)
index 0000000..01a5fa1
Binary files /dev/null and b/themes/AlfredsWorld/lang/de/More.png differ
diff --git a/themes/AlfredsWorld/requires b/themes/AlfredsWorld/requires
new file mode 100644 (file)
index 0000000..e4fba21
--- /dev/null
@@ -0,0 +1 @@
+3.12