|
From: <ix...@us...> - 2001-12-02 12:48:12
|
ixjonez 01/12/02 04:48:11
Modified: lib/LiveFrame Tag: p`¶@h¶@h¶@X þ x¶@x¶@Ý X
î î ¶@¶@((
¨¶@¨¶@°¶@°¶@¸¶@¸¶@À¶@À¶@ȶ@ȶ@ж@ж@ض@ض@à¶@à¶@è¶@è¶@ð¶@ð¶@ø¶@ø¶@
/tmp/cvs-serv2473/lib/LiveFrame/Lab.pm No tag
Lab.pm
lib/LiveFrame/Lab Tag: ·@·@·@·@·@·@ ·@
·@(·@(·@0·@0·@8·@8·@@·@@·@H·@H·@P·@P·@X·@X·@`·@`·@h·@h·@p·@p·@x·@x·@·@·@·@·@·@·@·@·@ ·@ ·@¨·@¨·@°·@°·@¸·@¸·@À·@À·@È·@È·@з@з@Ø·@Ø·@à·@à·@è·@è·@ð·@ð·@ø·@ø·@
/tmp/cvs-serv2473/lib/LiveFrame/Lab/GalleryAction.pm
No tag GalleryAction.pm
Added: lib/LiveFrame/Lab GalleryForm.pm SpecForm.pm
lib/LiveFrame/Template/Plugin LiveFrameLab.pm
share/tmpl spec.tmpl
Removed: lib/LiveFrame/Lab StartAction.pm
share/tmpl gallery.tmpl
Log:
moderate redesign of the workflow. no action necessary for the start page.
insert second step called "spec" for specifying the details of the new
gallery. submit that to a GalleryAction which creates the gallery (not
yet implemented) and moves on to the first image step.
Revision Changes Path
No revision
No revision
No revision
No revision
No revision
No revision
No revision
No revision
No revision
No revision
1.2 +1 -1 lab/lib/LiveFrame/Lab.pm
Index: /tmp/cvs-serv2473/lib/LiveFrame/Lab.pm
===================================================================
RCS file: /cvsroot/liveframe/lab/lib/LiveFrame/Lab.pm,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- /tmp/cvs-serv2473/lib/LiveFrame/Lab.pm 2001/11/30 01:03:03 1.1
+++ /tmp/cvs-serv2473/lib/LiveFrame/Lab.pm 2001/12/02 12:48:11 1.2
@@ -20,7 +20,6 @@
$config->define('site_dir=s@');
$config->define('upload_dir=s');
- $self->add_action('start', 'LiveFrame::Lab::StartAction');
$self->add_action('gallery', 'LiveFrame::Lab::GalleryAction');
$self->add_action('image', 'LiveFrame::Lab::ImageAction');
$self->add_action('review', 'LiveFrame::Lab::ReviewAction');
@@ -28,6 +27,7 @@
$self->add_action('notify', 'LiveFrame::Lab::NotifyAction');
$self->add_form('start', 'LiveFrame::Lab::StartForm');
+ $self->add_form('spec', 'LiveFrame::Lab::SpecForm');
return 1;
}
No revision
No revision
1.2 +1 -1 lab/lib/LiveFrame/Lab.pm
Index: Lab.pm
===================================================================
RCS file: /cvsroot/liveframe/lab/lib/LiveFrame/Lab.pm,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- Lab.pm 2001/11/30 01:03:03 1.1
+++ Lab.pm 2001/12/02 12:48:11 1.2
@@ -20,7 +20,6 @@
$config->define('site_dir=s@');
$config->define('upload_dir=s');
- $self->add_action('start', 'LiveFrame::Lab::StartAction');
$self->add_action('gallery', 'LiveFrame::Lab::GalleryAction');
$self->add_action('image', 'LiveFrame::Lab::ImageAction');
$self->add_action('review', 'LiveFrame::Lab::ReviewAction');
@@ -28,6 +27,7 @@
$self->add_action('notify', 'LiveFrame::Lab::NotifyAction');
$self->add_form('start', 'LiveFrame::Lab::StartForm');
+ $self->add_form('spec', 'LiveFrame::Lab::SpecForm');
return 1;
}
No revision
No revision
No revision
No revision
1.2 +1 -2 lab/lib/LiveFrame/Lab/GalleryAction.pm
Index: /tmp/cvs-serv2473/lib/LiveFrame/Lab/GalleryAction.pm
===================================================================
RCS file: /cvsroot/liveframe/lab/lib/LiveFrame/Lab/GalleryAction.pm,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- /tmp/cvs-serv2473/lib/LiveFrame/Lab/GalleryAction.pm 2001/11/30 01:03:03 1.1
+++ /tmp/cvs-serv2473/lib/LiveFrame/Lab/GalleryAction.pm 2001/12/02 12:48:11 1.2
@@ -10,8 +10,7 @@
sub perform {
my ($self, $lab) = @_;
- $lab->attr('gallery_dir', $lab->cgi()->param('upload_set_dir'));
- return $lab->send_page('gallery');
+ return $lab->send_page('image');
}
1;
No revision
No revision
1.2 +1 -2 lab/lib/LiveFrame/Lab/GalleryAction.pm
Index: GalleryAction.pm
===================================================================
RCS file: /cvsroot/liveframe/lab/lib/LiveFrame/Lab/GalleryAction.pm,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- GalleryAction.pm 2001/11/30 01:03:03 1.1
+++ GalleryAction.pm 2001/12/02 12:48:11 1.2
@@ -10,8 +10,7 @@
sub perform {
my ($self, $lab) = @_;
- $lab->attr('gallery_dir', $lab->cgi()->param('upload_set_dir'));
- return $lab->send_page('gallery');
+ return $lab->send_page('image');
}
1;
1.1 lab/lib/LiveFrame/Lab/GalleryForm.pm
Index: GalleryForm.pm
===================================================================
# -*- Mode: Perl; indent-tabs-mode: nil; -*-
package LiveFrame::Lab::GalleryForm;
use strict;
use LiveFrame::Errors ();
use LiveFrame::Form ();
@LiveFrame::Lab::GalleryForm::ISA = ('LiveFrame::Form');
sub gallery_description {
my $self = shift;
$self->field('gallery_description', shift) if @_;
return $self->field('gallery_description');
}
sub gallery_dir {
my $self = shift;
$self->field('gallery_dir', shift) if @_;
return $self->field('gallery_dir');
}
sub gallery_position {
my $self = shift;
$self->field('gallery_position', shift) if @_;
return $self->field('gallery_position');
}
sub original_size {
my $self = shift;
$self->field('original_size', shift) if @_;
return $self->field('original_size');
}
sub gallery_title {
my $self = shift;
$self->field('gallery_title', shift) if @_;
return $self->field('gallery_title');
}
sub next_step {
my $self = shift;
$self->field('next_step', shift) if @_;
return $self->field('next_step');
}
sub site_dir {
my $self = shift;
$self->field('site_dir', shift) if @_;
return $self->field('site_dir');
}
sub thumbnail_height {
my $self = shift;
$self->field('thumbnail_height', shift) if @_;
return $self->field('thumbnail_height');
}
sub thumbnail_method {
my $self = shift;
$self->field('thumbnail_method', shift) if @_;
return $self->field('thumbnail_method');
}
sub thumbnail_percent {
my $self = shift;
$self->field('thumbnail_percent', shift) if @_;
return $self->field('thumbnail_percent');
}
sub thumbnail_width {
my $self = shift;
$self->field('thumbnail_width', shift) if @_;
return $self->field('thumbnail_width');
}
sub upload_photo_dir {
my $self = shift;
$self->field('upload_photo_dir', shift) if @_;
return $self->field('upload_photo_dir');
}
sub validate {
my ($self, $lab) = @_;
unless ($self->gallery_dir()) {
my $errors = LiveFrame::Errors->new();
$errors->add_error('gallery directory not specified');
die $errors;
}
return 1;
}
1;
1.1 lab/lib/LiveFrame/Lab/SpecForm.pm
Index: SpecForm.pm
===================================================================
# -*- Mode: Perl; indent-tabs-mode: nil; -*-
package LiveFrame::Lab::SpecForm;
use strict;
use LiveFrame::Errors ();
use LiveFrame::Form ();
@LiveFrame::Lab::SpecForm::ISA = ('LiveFrame::Form');
sub gallery_description {
my $self = shift;
$self->field('gallery_description', shift) if @_;
return $self->field('gallery_description');
}
sub gallery_dir {
my $self = shift;
$self->field('gallery_dir', shift) if @_;
return $self->field('gallery_dir');
}
sub gallery_position {
my $self = shift;
$self->field('gallery_position', shift) if @_;
return $self->field('gallery_position');
}
sub original_size {
my $self = shift;
$self->field('original_size', shift) if @_;
return $self->field('original_size');
}
sub gallery_title {
my $self = shift;
$self->field('gallery_title', shift) if @_;
return $self->field('gallery_title');
}
sub next_step {
my $self = shift;
$self->field('next_step', shift) if @_;
return $self->field('next_step');
}
sub site_dir {
my $self = shift;
$self->field('site_dir', shift) if @_;
return $self->field('site_dir');
}
sub thumbnail_height {
my $self = shift;
$self->field('thumbnail_height', shift) if @_;
return $self->field('thumbnail_height');
}
sub thumbnail_method {
my $self = shift;
$self->field('thumbnail_method', shift) if @_;
return $self->field('thumbnail_method');
}
sub thumbnail_percent {
my $self = shift;
$self->field('thumbnail_percent', shift) if @_;
return $self->field('thumbnail_percent');
}
sub thumbnail_width {
my $self = shift;
$self->field('thumbnail_width', shift) if @_;
return $self->field('thumbnail_width');
}
sub upload_photo_dir {
my $self = shift;
$self->field('upload_photo_dir', shift) if @_;
return $self->field('upload_photo_dir');
}
sub validate {
my ($self, $lab) = @_;
unless ($self->gallery_dir()) {
my $errors = LiveFrame::Errors->new();
$errors->add_error('gallery directory not specified');
die $errors;
}
return 1;
}
1;
1.1 lab/lib/LiveFrame/Template/Plugin/LiveFrameLab.pm
Index: LiveFrameLab.pm
===================================================================
# -*- Mode: Perl; indent-tabs-mode: nil; -*-
package LiveFrame::Template::Plugin::LiveFrame;
use strict;
use LiveFrame::Site ();
use LiveFrame::Template::Plugin::LiveFrame ();
@LiveFrame::Template::Plugin::LiveFrameLab::ISA =
('LiveFrame::Template::Plugin::LiveFrame');
sub site {
my ($self, $site_dir) = @_;
defined $site_dir or
die "site_dir not specified\n";
return LiveFrame::Site->new($site_dir);
}
sub site_dirs {
my ($self) = @_;
my $config = $self->variable('config') or
die "template variable [config] not found\n";
my $site_dirs = $config->site_dir() or
die "no gallery site directories defined\n";
return $site_dirs;
}
sub upload_dir {
my ($self) = @_;
my $config = $self->variable('config') or
die "template variable [config] not found\n";
my $upload_dir = $config->upload_dir() or
die "no upload directory defined\n";
return $upload_dir;
}
sub upload_photo_dirs {
my ($self) = @_;
my $upload_dir = $self->upload_dir() or
return undef;
opendir UPLOAD_DIR, $upload_dir or
die "can't open upload dir [$upload_dir]: $!\n";
my @upload_photo_dirs = grep { !/^\./ } readdir UPLOAD_DIR;
closedir UPLOAD_DIR;
@upload_photo_dirs or
die "no photo dirs within upload dir [$upload_dir]\n";
return \@upload_photo_dirs;
}
1;
1.1 lab/share/tmpl/spec.tmpl
Index: spec.tmpl
===================================================================
[% USE LiveFrameLab %]
[% INCLUDE header.tmpl %]
<form method="POST" action="[% LiveFrameLab.form_action('gallery') %]">
<input name="site_dir" value="[% LiveFrameLab.field('site_dir') %]" type="hidden">
<table cellpadding="0" cellspacing="0" border="0" width="550">
<tr>
<td>
<big><b>LiveFrame Lab</b></big><br>
Build a LiveFrame gallery in a few easy steps.
<br>
<br></td>
</tr>
<tr>
<td valign="top">
[% IF errors %]
<p>
<b>ERROR</b><br>
[% FOREACH e = errors.errors %]
[% e | html %]<br>
[% END %]
</p>
[% END %]
<b>GALLERY DIRECTORY</b><br>
<input name="gallery_dir" value="[% LiveFrameLab.field('gallery_dir') or LiveFrameLab.field('upload_photo_dir') %]" type="text" size="50">
<br>
<br>
<b>GALLERY TITLE</b><br>
<input name="gallery_title" value="[% LiveFrameLab.field('gallery_title') %]" type="text" size="50">
<br>
<br>
<b>GALLERY DESCRIPTION</b><br>
<textarea name="gallery_description" rows="2" cols="50" wrap="soft">
[% LiveFrameLab.field('gallery_description') %]
</textarea>
<br>
<br>
<b>ORIGINAL IMAGE SIZE</b><br>
Specify the approximate size of your originals to determine how they will be scaled for display:<br>
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td bgcolor="#cccccc">
<table cellpadding="3" cellspacing="1" border="0">
<tr>
<td bgcolor="#ffffff"><br></td>
<td bgcolor="#ffffff" nowrap>
<b>ORIGINAL SIZE</b></td>
<td bgcolor="#ffffff" nowrap>
<b>IMAGES TO BUILD</b></td>
</tr>
<tr>
<td bgcolor="#ffffff" align="center">
[% IF LiveFrameLab.field('original_size') == 2048 %]
<input type="radio" name="original_size" value="2048" checked>
[% ELSE %]
<input type="radio" name="original_size" value="2048">
[% END %]
</td>
<td bgcolor="#ffffff" nowrap>
2048x1536 (or larger)</td>
<td bgcolor="#ffffff" nowrap>
<b>XL</b> (orig.), <b>L</b> (1024x768), <b>M</b> (640x480), <b>S</b> (400x300)</td>
</tr>
<tr>
<td bgcolor="#ffffff" align="center">
[% IF ! LiveFrameLab.field('original_size') or LiveFrameLab.field('original_size') == 1024 %]
<input type="radio" name="original_size" value="1024" checked>
[% ELSE %]
<input type="radio" name="original_size" value="1024">
[% END %]
</td>
<td bgcolor="#ffffff" nowrap>
1024x768</td>
<td bgcolor="#ffffff" nowrap>
<b>L</b> (orig.), <b>M</b> (640x480), <b>S</b> (400x300)</td>
</tr>
<tr>
<td bgcolor="#ffffff" align="center">
[% IF LiveFrameLab.field('original_size') == 640 %]
<input type="radio" name="original_size" value="640" checked>
[% ELSE %]
<input type="radio" name="original_size" value="640">
[% END %]
</td>
<td bgcolor="#ffffff" nowrap>
640x480</td>
<td bgcolor="#ffffff" nowrap>
<b>L</b> (orig.), <b>S</b> (400x300)</td>
</tr>
<tr>
<td bgcolor="#ffffff" align="center">
[% IF LiveFrameLab.field('original_size') == 512 %]
<input type="radio" name="original_size" value="512" checked>
[% ELSE %]
<input type="radio" name="original_size" value="512">
[% END %]
</td>
<td bgcolor="#ffffff" nowrap>
512x384 (or smaller)</td>
<td bgcolor="#ffffff" nowrap>
one size (orig.)</td>
</tr>
<tr>
<td bgcolor="#ffffff" align="center">
[% IF LiveFrameLab.field('original_size') == 'no' %]
<input type="radio" name="original_size" value="no" checked>
[% ELSE %]
<input type="radio" name="original_size" value="no">
[% END %]
</td>
<td bgcolor="#ffffff" nowrap colspan="2">
do not create scaled images</td>
</tr>
</table></td>
</tr>
</table></td>
</tr>
<tr>
<td>
<br>
<b>THUMBNAIL SIZE</b><br>
Specify how the originals should be scaled to create thumbnails:<br>
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td bgcolor="#cccccc">
<table cellpadding="3" cellspacing="1" border="0">
<tr>
<td bgcolor="#ffffff"><br></td>
<td bgcolor="#ffffff" nowrap>
<b>METHOD</b></td>
<td bgcolor="#ffffff" nowrap>
<b>SIZE</b></td>
</tr>
<tr>
<td bgcolor="#ffffff" align="center">
[% IF LiveFrameLab.field('thumbnail_method') == 'proportionally' %]
<input type="radio" name="thumbnail_method" value="proportionally" checked>
[% ELSE %]
<input type="radio" name="thumbnail_method" value="proportionally">
[% END %]
</td>
<td bgcolor="#ffffff" nowrap>
proportional (scale height and width)</td>
<td bgcolor="#ffffff" nowrap>
<select name="thumbnail_percent">
[% FOREACH p = [1..20] %]
[% IF p == LiveFrameLab.field('thumbnail_percent') %]
<option selected>[% p %]
[% ELSIF !LiveFrameLab.field('thumbnail_percent') and p == 11 %]
<option selected>[% p %]
[% ELSE %]
<option>[% p %]
[% END %]
[% END %]
</select> percent
</td>
</tr>
<tr>
<td bgcolor="#ffffff" align="center">
[% IF ! LiveFrameLab.field('thumbnail_method') or LiveFrameLab.field('thumbnail_method') == 'width' %]
<input type="radio" name="thumbnail_method" value="width" checked>
[% ELSE %]
<input type="radio" name="thumbnail_method" value="width">
[% END %]
</td>
<td bgcolor="#ffffff" nowrap>
standardized width, scaled height</td>
<td bgcolor="#ffffff" nowrap>
[% IF ! LiveFrameLab.field('thumbnail_width') %]
<input name="thumbnail_width" type="text" size="3" value="75">
[% ELSE %]
<input name="thumbnail_width" type="text" size="3" value="[% LiveFrameLab.field('thumbnail_width') %]">
[% END %]
pixels wide (proportional height)</td>
</tr>
<tr>
<td bgcolor="#ffffff" align="center">
[% IF LiveFrameLab.field('thumbnail_method') == 'height' %]
<input type="radio" name="thumbnail_method" value="height" checked>
[% ELSE %]
<input type="radio" name="thumbnail_method" value="height">
[% END %]
</td>
<td bgcolor="#ffffff" nowrap>
standardize height, scaled width</td>
<td bgcolor="#ffffff" nowrap>
[% IF ! LiveFrameLab.field('thumbnail_height') %]
<input name="thumbnail_height" type="text" size="3" value="75">
[% ELSE %]
<input name="thumbnail_height" type="text" size="3" value="[% LiveFrameLab.field('thumbnail_height') %]">
[% END %]
pixels high (proportional width)</td>
</tr>
</table></td>
</tr>
</table></td>
</tr>
<tr>
<td>
<br>
<b>INDEX THIS GALLERY</b><br>
<table cellpadding="1" cellspacing="0" border="0">
<tr>
<td bgcolor="#cccccc">
<table cellpadding="0" cellspacing="0" border="0">
[% pos = 0 %]
[% site = LiveFrameLab.site(LiveFrameLab.field('site_dir')) %]
[% FOREACH g = site.galleries %]
[% IF pos == 0 %]
<tr>
<td bgcolor="#ffffff" colspan="3">
<br></td>
<td bgcolor="#ffffff" rowspan="2">
[% g.basename | html %]
</td>
</tr>
[% ELSE %]
<tr>
<td bgcolor="#ffffff" rowspan="2">
[% IF LiveFrameLab.field('gallery_position') == pos %]
<input type="radio" name="gallery_position" value="[% pos %]" checked>
[% ELSE %]
<input type="radio" name="gallery_position" value="[% pos %]">
[% END %]
</td>
<td bgcolor="#ffffff" rowspan="2">
between
</td>
<td bgcolor="#ffffff" align="bottom">
<img src="[% LiveFrameLab.img_src('toparrow.gif') %]" align="bottom" width="14" height="10" border="0"></td>
</tr>
<tr>
<td bgcolor="#ffffff">
<img src="[% LiveFrameLab.img_src('bottomarrow.gif') %]" align="top" width="14" height="10" border="0"></td>
<td bgcolor="#ffffff" rowspan="2">
[% g.basename | html %]
</td>
</tr>
[% END %]
[% IF pos == (site.num_galleries - 1) %]
<tr>
<td bgcolor="#ffffff" colspan="3">
<br>
</td>
</tr>
[% END %]
[% pos = pos + 1 %]
[% END %]
<tr>
<td bgcolor="#ffffff" colspan="4">
<b>or</b>
[% IF LiveFrameLab.field('gallery_position') == 'hide' %]
<input type="radio" name="gallery_position" value="hide" checked>
[% ELSE %]
<input type="radio" name="gallery_position" value="hide">
[% END %]
hide this gallery.
</td>
</tr>
</table></td>
</tr>
</table></td>
</tr>
<tr>
<td>
<br>
<b>WHAT'S NEXT?</b><br>
[% IF !LiveFrameLab.field('next_step') or LiveFrameLab.field('next_step') == 'continue' %]
<input type="radio" name="next_step" value="continue" checked>
[% ELSE %]
<input type="radio" name="next_step" value="continue">
[% END %]
<b>review each image</b>, specifying rotation and captioning, or
<br>
<br>
[% IF LiveFrameLab.field('next_step') == 'done' %]
<input type="radio" name="next_step" value="done" checked>
[% ELSE %]
<input type="radio" name="next_step" value="done">
[% END %]
<b>create gallery now</b>, with no image rotations, order changes or captions.
<br>
<br>
<input name="form_spec_save" type="submit" value="Save Changes and Continue...">
</td>
</tr>
</table>
</form>
[% INCLUDE footer.tmpl %]
|