[Affelio-cvs 840] CVS update: affelio/lib/Affelio/SNS

Back to archive index

Tadashi Okoshi slash****@users*****
2005年 12月 10日 (土) 11:12:29 JST


Index: affelio/lib/Affelio/SNS/Handshaker_s.pm
diff -u affelio/lib/Affelio/SNS/Handshaker_s.pm:1.28 affelio/lib/Affelio/SNS/Handshaker_s.pm:1.29
--- affelio/lib/Affelio/SNS/Handshaker_s.pm:1.28	Sat Dec 10 09:51:52 2005
+++ affelio/lib/Affelio/SNS/Handshaker_s.pm	Sat Dec 10 11:12:28 2005
@@ -14,7 +14,7 @@
 # along with this program; if not, write to the Free Software
 # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
 #
-# $Id: Handshaker_s.pm,v 1.28 2005/12/10 00:51:52 slash5234 Exp $
+# $Id: Handshaker_s.pm,v 1.29 2005/12/10 02:12:28 slash5234 Exp $
 
 ########################################################################
 #package Affelio::SNS::Handshaker_s::Util;
@@ -88,28 +88,54 @@
 	}
 
 	#################################
-	#authenticate
-
+	#authentication
+	#################################
 	#distill username
+	$xwsse_mesg =~ /Username="(.*)",(\s*)Password/;
+	my $username = $1;
+	debug_print("S::get_news username = [$username]");
 
 	#get password
+	my $passAB = $af->getFM()->get_attribute_by_afid($username, "password");
+	debug_print("S::get_news passAB = [$passAB]");
 
 	#auth
+	if(Affelio::misc::WSSE::authenticate($xwsse_mesg,$username,$passAB)){
+	    debug_print("S::get_news WSSE authentication OK.");
+	}else{
+	    debug_print("S::get_news WSSE authentication NG.");
+	    return {
+		flerror => XMLRPC::Data->type('boolean', 1),
+		message => "ERR:201 AuthenticationError"
+		};
+	}
 	
 	#################################
 	#get what's new contents
+	#################################
+	my $last_news_out = $af->getFM()->get_attribute_by_afid($username, 
+							"last_news_out");
+	debug_print("S::get_news last_news_out=[$last_news_out]");
+
+	my $news = $af->getMyNews()->retrieve_news(laterthan =>$last_news_out);
+
+	my @row=();
+	my $ret="";
+	while(@row = $news->fetchrow_array){
+	    $ret .= "$row[1]\n$row[2]\n$row[3]\n$row[4]\n$row[5]\n$row[6]\n";
+	}
+
+	#################################
+	#update last_news_out
+	#################################
+	my $uid = $af->getFM()->get_attribute_by_afid($username, "uid");
+	$af->getFM()->set_attribute_by_id($uid, "last_news_out", 
+				  Affelio::misc::Time::get_timestamp());
 
 
 	#################################
 	#send back return message
-	
-	#FORMAT
-	#   datetime appname title description creator
-	#   datetime appname title link
-	my $ret= Affelio::misc::Time::get_timestamp()
-	    . "\ndiary\ntest\ndesc\ncreator\n"
-	    . $af->{site__web_root};
-
+	#################################
 	return {
 	    flerror => XMLRPC::Data->type('boolean', 0),
 	    message => $ret


Affelio-cvs メーリングリストの案内
Back to archive index