changeset 75:915df8fcd16f

docs small fixes
author wizard
date Tue, 30 Mar 2010 20:31:36 +0400
parents 84aa8c395fce
children b1652a158b2b
files Lib/IMPL/DOM/Node.pm Lib/IMPL/Web/QueryHandler/SecureCookie.pm Lib/IMPL/Web/TDocument.pm
diffstat 3 files changed, 105 insertions(+), 12 deletions(-) [+]
line wrap: on
line diff
--- a/Lib/IMPL/DOM/Node.pm	Mon Mar 29 17:40:06 2010 +0400
+++ b/Lib/IMPL/DOM/Node.pm	Tue Mar 30 20:31:36 2010 +0400
@@ -229,7 +229,9 @@
 
         } else {
             delete $this->{$parentNode};
-            $newOwner = 0;
+            
+            #keep document
+            $newOwner = $this->{$document};
         }
         
         if (($this->{$document}||0) != $newOwner) {
@@ -273,3 +275,52 @@
 }
 
 1;
+
+__END__
+
+=pod
+
+=head1 NAME
+
+C<IMPL::DOM::Node> Элемент DOM модели
+
+=head1 DESCRIPTION
+
+Базовый узел DOM модели. От него можно наследовать другие элементы DOM модели.
+
+=head1 MEMBERS
+
+=head2 PROPERTIES
+
+=over
+
+=item C<[get] nodeName>
+
+Имя узла. Задается при создании.
+
+=item C<[get] document>
+
+Документ к которому принадлежит узел. Задается при поздании узла.
+
+=item C<[get] isComplex>
+
+Определяет является ли узел сложным (тоесть есть ли дети).
+
+C<true> - есть, C<false> - нет.
+
+=item C<[get,set] nodeValue>
+
+Значение узла, обычно простой скаляр, но ничто не мешает туда
+устанавливать любое значение.
+
+=item C<[get,list] childNodes>
+
+Список детей, является списокм C<IMPL::Object::List>.
+
+=item C<[get] parentNode>
+
+Ссылка на родительский элемент, если таковой имеется.
+
+=head2 METHODS
+
+=cut
\ No newline at end of file
--- a/Lib/IMPL/Web/QueryHandler/SecureCookie.pm	Mon Mar 29 17:40:06 2010 +0400
+++ b/Lib/IMPL/Web/QueryHandler/SecureCookie.pm	Tue Mar 30 20:31:36 2010 +0400
@@ -13,25 +13,33 @@
 sub CTOR {
 	my ($this) = @_;
 	
-	
+	$this->salt('DeadBeef') unless $this->salt;
 }
 
 sub Process {
 	my ($this,$action,$nextHandler) = @_;
 	
+	return undef unless $nextHandler;
+	
 	my $method = $action->query->cookie('method') || 'simple';
 	
 	if ($method eq 'simple') {
 		
 		my $sid = $action->query->cookie('sid'); 
-		my $cookie = $action->query->cookie('cookie');
+		my $cookie = $action->query->cookie('sdata');
+		my $sign = $action->query->cookie('sign'); 
 		
-		if ($action->query->cookie('sign') eq md5_hex(
-			$this->salt,
-			$sid,
-			$cookie,
-			$this->salt
-		) ) {
+		if (
+			$sid and
+			$cookie and
+			$sign and
+			$sign eq md5_hex(
+				$this->salt,
+				$sid,
+				$cookie,
+				$this->salt
+			)
+		) {
 			
 			my $context = $action->application->security->Session(
 				id => $sid				
@@ -50,5 +58,35 @@
 	}
 }
 
+1;
 
-1;
\ No newline at end of file
+__END__
+
+=pod
+
+=head1 NAME
+
+C<IMPL::Web::QueryHandler::SecureCookie>
+
+=head1 DESCRIPTION
+
+C<use base qw(IMPL::Web::QueryHandler)>
+
+Возобновляет сессию пользователя на основе информации переданной через Cookie.
+
+Использует механизм подписи информации для проверки верности входных данных перед
+началом каких-либо действий.
+
+Данный обработчик возвращает результат выполнения следдующего обработчика.
+
+=head1 MEMBERS
+
+=over
+
+=item C<[get,set] salt>
+
+Скаляр, использующийся для подписи данных.
+
+=back
+
+=cut
\ No newline at end of file
--- a/Lib/IMPL/Web/TDocument.pm	Mon Mar 29 17:40:06 2010 +0400
+++ b/Lib/IMPL/Web/TDocument.pm	Tue Mar 30 20:31:36 2010 +0400
@@ -2,7 +2,7 @@
 use strict;
 use warnings;
 
-use base qw(IMPL::DOM::Node IMPL::Object::Disposable);
+use base qw(IMPL::DOM::Document IMPL::Object::Disposable);
 use Template::Context;
 use Template::Provider;
 use IMPL::Class::Property;
@@ -15,7 +15,7 @@
 }
 
 our %CTOR = (
-    'IMPL::DOM::Node' => sub { nodeName => 'document' }
+    'IMPL::DOM::Document' => sub { nodeName => 'document' }
 );
 
 sub Provider {
@@ -100,6 +100,8 @@
 
 =head1 SYNOPSIS
 
+=begin code 
+
 // create new document
 my $doc = new IMPL::Web::TDocument;
 
@@ -109,6 +111,8 @@
 // render file
 print $doc->Render();
 
+=end code
+
 =head1 DESCRIPTION
 
 Документ, основанный на шаблоне Template::Toolkit. Позволяет загрузить шаблон,