changeset 160:3f09584bf189

Corrected web application modules
author wizard
date Mon, 27 Dec 2010 19:41:36 +0300
parents f8de52d3c112
children 47c9877ccacc
files Lib/IMPL/Web/Application/ControllerUnit.pm Lib/IMPL/Web/QueryHandler/PageFormat.pm Lib/IMPL/Web/QueryHandler/UrlController.pm
diffstat 3 files changed, 19 insertions(+), 4 deletions(-) [+]
line wrap: on
line diff
--- a/Lib/IMPL/Web/Application/ControllerUnit.pm	Mon Dec 27 01:37:44 2010 +0300
+++ b/Lib/IMPL/Web/Application/ControllerUnit.pm	Mon Dec 27 19:41:36 2010 +0300
@@ -211,7 +211,7 @@
 		my %methodInfo = (
 			name => $method
 		);
-		$methodInfo{parameters} = $info->{parameters} if $info->{parameters};
+		$methodInfo{parameters} = [ grep /^[^\:]/, @{ $info->{parameters} } ] if ref $info->{parameters} eq 'ARRAY';
 		push @{$smd{methods}},\%methodInfo; 
 	}
 	return \%smd;
--- a/Lib/IMPL/Web/QueryHandler/PageFormat.pm	Mon Dec 27 01:37:44 2010 +0300
+++ b/Lib/IMPL/Web/QueryHandler/PageFormat.pm	Mon Dec 27 19:41:36 2010 +0300
@@ -19,6 +19,7 @@
 BEGIN {
 	public property templatesCharset => prop_all;
 	public property templatesBase => prop_all;
+	public property includes => prop_all | prop_list;
 	public property defaultTarget => prop_all;
 	public property pathinfoPrefix => prop_all;
 	public property cache => prop_all;
@@ -77,7 +78,7 @@
 		$doc->LoadFile (
 			($this->template || File::Spec->catfile($this->templatesBase,@path)),
 			$this->templatesCharset,
-			$this->templatesBase,
+			[$this->templatesBase, $this->includes],
 			{
 				result => scalar($nextHandler->()),
 				action => $action,
--- a/Lib/IMPL/Web/QueryHandler/UrlController.pm	Mon Dec 27 01:37:44 2010 +0300
+++ b/Lib/IMPL/Web/QueryHandler/UrlController.pm	Mon Dec 27 19:41:36 2010 +0300
@@ -16,7 +16,7 @@
 sub Process {
 	my ($this,$action,$nextHandler) = @_;
 	
-	my $namespace = $this->namespace || $action->application->type;
+	my $namespace = $this->namespace || $action->application->typeof;
 	
 	my @target = grep $_, split /\//, ($ENV{PATH_INFO} || '') or die new IMPL::Exception("No target specified");
 	
@@ -53,10 +53,24 @@
 
 =head1 NAME
 
-C<IMPL::Web::QueryHandler::UrlController> - вызов метода на основе <url> запроса.
+C<IMPL::Web::QueryHandler::UrlController> - вызов метода на основе C<url> запроса.
 
 =head1 DESCRIPTION
 
 Использует переменную C<$ENV{PATH_INFO}> для получения имени и метода модуля.
+Например запрос C<http://localhost/User/register.html> интерпретируется как вызов метода C<register>
+у модуля C<User>. 
+
+=head1 MEMBERS
+
+=head2 PROPERTIES
+
+=over
+
+=item C<[get,set] namespace>
+
+Пространство имен в котором находится модуль. по умолчению совпадает с именем класса приложения, например C<My::App>
+
+=back
 
 =cut
\ No newline at end of file