Changeset 23662
- Timestamp:
- 11/14/08 17:25:54 (5 years ago)
- Location:
- lang/perl/MENTA/trunk
- Files:
-
- 5 modified
-
NOTE (modified) (1 diff)
-
app/data/data.sqlite (modified) (previous)
-
app/menta.cgi (modified) (2 diffs)
-
app/tmpl/bbs.html (modified) (1 diff)
-
lib/MENTA.pm (modified) (11 diffs)
Legend:
- Unmodified
- Added
- Removed
-
lang/perl/MENTA/trunk/NOTE
r23661 r23662 51 51 フックとかつける? 52 52 redirect/render とかは発行したら detach するべき 53 uri_with っぽいのもほしい。 53 54 -
lang/perl/MENTA/trunk/app/menta.cgi
r23659 r23662 31 31 sub do_index { 32 32 render('index.html'); 33 die "DON'T REACH HERE"; 33 34 } 34 35 … … 54 55 render('mobile.html'); 55 56 } 57 -
lang/perl/MENTA/trunk/app/tmpl/bbs.html
r23661 r23662 3 3 %=r render_partial('header.html', $title) 4 4 <h1><%= $title %></h1> 5 <form method="post" action="<%= docroot %>bbs_sqlite">5 <form method="post" action="<%= uri_for('bbs_sqlite') %>"> 6 6 <input type="text" name="body" /> 7 7 <input type="submit" value="送信" /> -
lang/perl/MENTA/trunk/lib/MENTA.pm
r23659 r23662 4 4 use utf8; 5 5 6 our $FINISHED;7 6 our $REQ; 8 7 our $CONFIG; … … 44 43 local $MENTA::CONFIG; 45 44 local $MENTA::REQ; 46 local $MENTA::FINISHED = 0;47 45 local $MENTA::CARRIER; 48 46 … … 54 52 local $SIG{__DIE__} = sub { 55 53 my $msg = shift; 54 return $msg if ref $msg && ref $msg eq 'HASH' && $msg->{finished}; 56 55 my $i = 0; 57 56 my @trace; … … 98 97 if (my $code = main->can($meth)) { 99 98 $code->(); 100 unless ($MENTA::FINISHED) { 101 die "なにも出力してません"; 102 } 99 die "なにも出力してません"; 103 100 } else { 104 101 if (my $cdir = config->{menta}->{controller_dir}) { … … 110 107 if (my $code = main->can($meth)) { 111 108 $code->(); 112 unless ($MENTA::FINISHED) { 113 die "なにも出力してません"; 114 } 109 die "なにも出力してません"; 115 110 } else { 116 111 die "「${mode}」というモードは存在しません!${controller} の中に ${meth} が定義されていないようです"; … … 139 134 if (my $err = $@) { 140 135 die "エラー処理失敗: $err" unless ref $err eq 'HASH'; 136 return if $err->{finished}; 141 137 142 138 warn $err->{message}; … … 223 219 } 224 220 221 sub finish() { 222 die {finished => 1}; 223 } 224 225 225 sub render { 226 226 my ($tmpl, @params) = @_; … … 231 231 print $out; 232 232 233 $MENTA::FINISHED++;233 finish; 234 234 } 235 235 … … 240 240 print "\r\n"; 241 241 242 $MENTA::FINISHED++;242 finish; 243 243 } 244 244 … … 251 251 print $str; 252 252 253 $MENTA::FINISHED++;253 finish; 254 254 } 255 255 … … 344 344 } 345 345 346 sub uri_for { 347 my ($path, $query) = @_; 348 my @q; 349 while (my ($key, $val) = each %$query) { 350 $val = join '', map { '%' . unpack("H2", $_) } split //, $val; 351 push @q, "$key=$val"; 352 } 353 docroot . $path . join('&', @q); 354 } 355 346 356 1;
![(please configure the [header_logo] section in trac.ini)](/share/chrome/site/your_project_logo.png)