} or Abort('Database error', 501, $@);
my $user = eval {
+ my $rootpath = ($ENV{REQUEST_URI} // '/writer') =~ s{(?<!^)/.+}{}r;
if (defined $post{username}) {
$cookie{login} = EncodeURI(join ':', @post{qw( username pass )});
}
if (AddCookie(CGI::Cookie->new(
-name => 'login',
-value => '',
- -path => '/writer',
+ -path => $rootpath,
-expires => 'now',
)->as_string)) {
delete $cookie{login};
my $httpcookie = CGI::Cookie->new(
-name => 'login',
-value => join(':', @{$found}{qw( username pass )}),
- -path => '/writer',
+ -path => $rootpath,
) or die "prepared object is empty\n";
AddCookie($httpcookie->as_string);
} or Abort(["Unable to create login cookie", $@], 403);
en => ["\N{REGIONAL INDICATOR SYMBOL LETTER G}\N{REGIONAL INDICATOR SYMBOL LETTER B}", 'english'],
eo => ['<span style="color:green">★</span>', 'esperanto'],
ru => ["\N{REGIONAL INDICATOR SYMBOL LETTER R}\N{REGIONAL INDICATOR SYMBOL LETTER U}", 'русский'],
+ la => ["\N{PUSHPIN}", 'latin'],
);
my @wordcols = pairkeys
my %wordcol = (
source => {-label => 'Image'},
thumb => {-label => 'Convert options', -multiple => 1},
);
-my ($find) = map {{id => $_}} $fields{id} || $Request || ();
+if (my $search = $fields{q}) {
+ my %filter = (form => {ilike => '%'.$search.'%'});
+ my $results = $db->select(word => '*', \%filter);
+ say '<h1>Search</h1><ul>';
+ printf("<li><small>%s</small> %s %s</li>\n",
+ $_->{id}, showlink($_->{form}, "/writer/$_->{id}"),
+ sprintf('<img src="/%s" style="height:3ex; width:auto" />', Shiar_Sheet::FormRow::imagepath($_ => 'thumb')) x defined $_->{thumb}
+ ) for $results->hashes;
+ say "</ul>\n";
+ exit;
+}
+
+my ($find) = map {{id => $_}} $fields{id} || $Request || ();
my $row;
if ($find) {
$row = $db->select(word => '*', $find)->hash
prio => undef,
);
$subrow{wptitle} = $1 if $subrow{form} =~ s/\h*\[(.*)\]$//; # [Link] shorthand
+ $subrow{alt} = [split m{/}, $1] if $subrow{form} =~ s{/(\S.*)}{}; # /alternates shorthand
$db->insert(word => \%subrow);
delete $fields{$field};
}
'convert',
$imgpath,
-delete => '1--1', -background => 'white',
- -gravity => @cmds ? 'northwest' : 'center',
+ -gravity => defined $row->{thumb} ? 'northwest' : 'center',
@cmds,
-resize => "$xyres^", -extent => $xyres,
'-strip', -quality => '60%', -interlace => 'plane',