亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來(lái)到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? manager.pm

?? Punjab is a jabber XMLRPC/SOAP/REST client. It is a xmlrpc, soap, or REST server that allows for p
?? PM
?? 第 1 頁(yè) / 共 2 頁(yè)
字號(hào):
package PunJab::Manager;use warnings;use strict;use DBD::SQLite;use POE;use POE::Filter::XML;use POE::Filter::XML::Node;use POE::Filter::XML::NS qw/ :JABBER :IQ /;use POE::Filter::XML::Utils;use PunJab::Util;use POSIX qw(strftime);use Data::Uniqid qw ( suniqid uniqid luniqid );sub new(){	my $class = shift;	my $self =  $class . '->new()';	die "$self requires an even amount of arguments" if(@_ & 1);	my $args = {};	while($#_ != -1)	{		my $key = lc(shift(@_));		my $value = shift(@_);		if(ref($value) eq 'HASH')		{			my $hash = {};			foreach my $sub_key (keys %$value)			{				$hash->{lc($sub_key)} = $value->{$sub_key};			}			$args->{$key} = $hash;			next;		}		$args->{$key} = $value;	}	my $session_id;	POE::Session->create	(		inline_states => 		{			_start => 				sub				{				    my $alias;				    my ($kernel, $heap) = @_[KERNEL, HEAP];				    $kernel->alias_set($args->{'alias'});				    $heap->{'CONFIG'} = $args;				    $session_id = $_[SESSION]->ID;				    #my $dbd = "sql";				    $heap->{'CONFIG'}->{sql}->{dbfile} = $args->{database}."/".$args->{'alias'};  				    $heap->{'CONFIG'}->{sql}->{dbname} = "dbi:SQLite:dbname=".$args->{database}."/".$args->{'alias'};				    # connect to the database				    $heap->{dbh} = DBI->connect($heap->{'CONFIG'}->{sql}->{dbname});				    if (!$heap->{dbh}) {					die "Error connecting to $heap->{'CONFIG'}->{sql}->{dbname}\n\t$DBI::errstr\n";				    }    				    if ($heap->{'CONFIG'}->{debug}>0) {					&debug('Started sqlite');				    }				    $heap->{dbh}->func( 'NOW', 0, sub { return strftime "%Y%m%d%H%M%S", localtime;								       }, 'create_function' );				    # grab the tables and if they are not created, create them				    my @tables = $heap->{dbh}->tables();				    # The database design is in flux right now.				    # I hope soon we will decide on something.				    				    foreach my $table (@tables)				    {										if($table eq "roster")					{					    $heap->{'roster_table'} = 1;										    next;					}					if($table eq "message")					{					    $heap->{'message_table'} = 1;										    next;					}					if($table eq "iq")					{					    $heap->{'iq_table'} = 1;					    next;					}					if($table eq "presence")					{					    $heap->{'presence_table'} = 1;					    next;					}					if($table eq "groups")					{					    $heap->{'groups_table'} = 1;					    next;					}							    }				    # create the tables.				    if (not $heap->{'roster_table'}) {					if ($heap->{'CONFIG'}->{debug}>0) {					    &debug("create roster table");					}					$heap->{dbh}->do(							 "CREATE TABLE roster (                                                                            id INTEGER PRIMARY KEY NOT NULL,                                                                            jid varchar(255)  default '',                                                                            name text,                                                                            ask text,                                                                            subscription text,                                                                            group_name text,                                                                            xml text)"									);				    }				    if (not $heap->{'iq_table'}) {					if ($heap->{'CONFIG'}->{debug}>0) {					    &debug("create iq table");					}					$heap->{dbh}->do(							 "CREATE TABLE iq (                                                                            iq_id INTEGER PRIMARY KEY NOT NULL,                                                                            from_attr varchar(255)  default '',                                                                            type varchar(255)  default '',                                                                            id varchar(255)  default '',                                                                            xml text )"									);				    }				    if (not $heap->{'message_table'}) {					if ($heap->{'CONFIG'}->{debug}>0) {					    &debug("create message table");					}					$heap->{dbh}->do(							 "CREATE TABLE message (                                                                            message_id INTEGER PRIMARY KEY NOT NULL,                                                                            to_attr varchar(255)  default '',                                                                            from_attr varchar(255)  default '',                                                                            type varchar(255)  default '',                                                                            body text,                                                                            subject text,                                                                            thread text,                                                                            id varchar(255)  default '',                                                                            time_stamp timestamp(14),                                                                            xml text )"									);				    }				    if (not $heap->{'presence_table'}) {					if ($heap->{'CONFIG'}->{debug}>0) {					    &debug("create presence table");					}					$heap->{dbh}->do(							 "CREATE TABLE presence (                                                                            presence_id INTEGER PRIMARY KEY NOT NULL,                                                                            to_attr varchar(255)  default '',                                                                            from_attr varchar(255)  default '',                                                                            type varchar(255)  default '',                                                                            show varchar(255)  default '',                                                                            status varchar(255)  default '',                                                                            priority varchar(255)  default '',                                                                            id varchar(255)  default '',                                                                            time_stamp timestamp(14),                                                                            xml text )"									);				    }				    # set up statement handles 				    $heap->{'insert_message'} = $heap->{dbh}->prepare(										      "INSERT INTO message (                                                                                                           to_attr,                                                                                                          from_attr,                                                                                                         type,                                                                                                         id,                                                                                                         body,                                                                                                         subject,                                                                                                         thread,                                                                                                         time_stamp,                                                                                                         xml                                                                                                                       )                                                                                                     VALUES (                                                                                                              ?,                                                                                                              ?,                                                                                                              ?,                                                                                                              ?,                                                                                                              ?,                                                                                                              ?,                                                                                                              ?,                                                                                                          NOW(),                                                                                                               ?                                                                                                                  )"											    );				    				    $heap->{'insert_presence'} = $heap->{dbh}->prepare(										       "INSERT INTO presence (                                                                                                           to_attr,                                                                                                           from_attr,                                                                                                          type,                                                                                                          show,                                                                                                          status,                                                                                                          priority,                                                                                                          id,                                                                                                          time_stamp,                                                                                                          xml                                                                                                               )                                                                                                      VALUES (                                                                                                                  ?,                                                                                                            ?,                                                                                                            ?,                                                                                                            ?,                                                                                                            ?,                                                                                                            ?,                                                                                                            ?,                                                                                                        NOW(),                                                                                                            ?                                                                                                              )"											     );				    $heap->{'ins_r'} = $heap->{dbh}->prepare(									     "INSERT INTO roster (                                                                                                         jid,                                                                                                        name,                                                                                                        ask,                                                                                                        subscription,                                                                                                        group_name,                                                                                                        xml                                                                                                         )                                                                                                    VALUES (                                                                                                          ?,                                                                                                          ?,                                                                                                          ?,                                                                                                          ?,                                                                                                          ?,                                                                                                          ?                                                                                                          )"									     );				    				    $heap->{'select_roster'} = $heap->{dbh}->prepare(							     "SELECT * FROM roster ORDER BY group_name"										     ); 				},			_stop =>				sub				{				    if ($_[HEAP]->{'CONFIG'}->{debug}>0) {					&debug("Manager Stoped");				    }				    my $kernel = $_[KERNEL];				    				    undef $_[HEAP]->{'dbh'};				    unlink $_[HEAP]->{'CONFIG'}->{sql}->{dbfile};				},                       shutdown =>                                sub {				   my ($kernel, $heap) = @_[KERNEL, HEAP];				   $heap->{shutdown} = 1;						   				   $kernel->alias_remove($args->{'alias'}) if defined $args->{'alias'};				   $heap->{'dbh'}->disconnect() if defined $heap->{'dbh'};				   undef $heap->{'dbh'};				   unlink $_[HEAP]->{'CONFIG'}->{sql}->{dbfile};				   			       },			input_event          => \&input_event,                        start_roster         => \&start_roster,                        start_browse         => \&start_browse,                        start_vcard          => \&start_vcard,                        manage_iq            => \&manage_iq,			manage_roster        => \&manage_roster,			manage_message       => \&manage_message,                        start_message_event  => \&start_message_event,			manage_presence      => \&manage_presence,                        start_presence_event => \&start_presence_event,                        manage_events        => \&manage_events, 			get_managed_iq       => \&get_managed_iq,			get_managed_roster   => \&get_managed_roster,                        get_managed_message  => \&get_managed_message,                        get_managed_presence => \&get_managed_presence,                        check_managed_message=> \&check_managed_message,                        delete_presence      => \&delete_presence,		}	);    return $session_id;}sub input_event {        my ($self, $kernel,$heap,$node) = @_[SESSION, KERNEL, HEAP, ARG0];		if($node->name() eq 'iq')	{	    my $attrs = $node->get_attrs();	    	    if(defined($attrs->{'type'}) and $attrs->{'type'} eq +IQ_RESULT)	    {		my $children = $node->get_children_hash();		if(defined($children->{'query'}) and 		   $children->{'query'}->attr('xmlns') eq +NS_JABBER_ROSTER)		{		    $kernel->yield('manage_roster', $node);		} else { 		    $kernel->yield('manage_iq', $node);		}	    } else { 		$kernel->yield('manage_iq', $node);	    }	    # if an event is associated with this node then act	    # you can also use return_to_send in PCJ	    if(exists($attrs->{'id'}))	    {		if(defined($heap->{'PENDING'}->{$attrs->{'id'}}))		{		    # if this turns into database, need to delete from it too		    delete $heap->{'iq'}->{$attrs->{'id'}};		    my $array = delete $heap->{'PENDING'}->{$attrs->{'id'}};		    my $session = shift @$array;		    my $event   = shift @$array;		    $kernel->post($session, $event, $node,@$array);		    		}	    }	} elsif($node->name() eq 'message') {	  	    $kernel->yield('manage_message', $node);	    	} elsif($node->name() eq 'presence') {	    $kernel->yield('manage_presence', $node);	    	}	return 0;}sub start_message_event(){    my ($self, $sender,$kernel,$heap,$event,$event_param)	= @_[SESSION,SENDER, KERNEL, HEAP, ARG0, ARG1];    my $tmp_hash = { 	sender => $sender , 	event => $event , 	param => $event_param 	};    push(@{$heap->{'manage_message_event'}},$tmp_hash);}# maybe combine these functions?sub start_presence_event(){    my ($self, $sender,$kernel,$heap,$event,$event_param)	= @_[SESSION,SENDER, KERNEL, HEAP, ARG0, ARG1];    my $tmp_hash = { 	sender => $sender , 	event => $event , 	param => $event_param 	};    push(@{$heap->{'manage_presence_event'}},$tmp_hash);}sub start_roster(){	my ($self, $sender,$kernel,$heap,$event,$event_param,$id,$sid,$jabber_session) 	    = @_[SESSION,SENDER, KERNEL, HEAP, ARG0 .. ARG4];	# clear out roster and groups	$heap->{dbh}->do(			  "DELETE FROM roster"			 );	my $node = POE::Filter::XML::Node->new('iq');	$node->attr('type', +IQ_GET);	$node->attr('id', $id);	my $q = $node->insert_tag('query');	$q->attr('xmlns',+NS_JABBER_ROSTER);			$heap->{'PENDING'}->{$id}->[0] = $sender;	$heap->{'PENDING'}->{$id}->[1] = $event;	$heap->{'PENDING'}->{$id}->[2] = $event_param;	$heap->{'PENDING'}->{$id}->[3] = $node;	$heap->{'PENDING'}->{$id}->[4] = $sid;	$heap->{'PENDING'}->{$id}->[5] = 'start_roster';	$kernel->post($jabber_session, 'output_handler', $node);	}sub start_browse(){	my ($self,$kernel,$heap,$event,$event_param,$sender,$id,$sid,$jid,$auto,$items) 	    = @_[SESSION, KERNEL, HEAP, ARG0 .. ARG6];		for (my $i=1;$i<=3;$i++) {	    $heap->{'PENDING'}->{$id."$i"}->[0] = $sender;	    $heap->{'PENDING'}->{$id."$i"}->[1] = $event;	    $heap->{'PENDING'}->{$id."$i"}->[2] = $event_param;	    $heap->{'PENDING'}->{$id."$i"}->[3] = $id;	    $heap->{'PENDING'}->{$id."$i"}->[4] = $jid;	    $heap->{'PENDING'}->{$id."$i"}->[5] = $sid;	    $heap->{'PENDING'}->{$id."$i"}->[6] = $auto;	    $heap->{'PENDING'}->{$id."$i"}->[7] = $items;	}	}sub start_vcard(){	my ($self,$kernel,$heap,$event,$event_param,$sender,$jid,$id,$sid) 	    = @_[SESSION, KERNEL, HEAP, ARG0 .. ARG5];		    $heap->{'PENDING'}->{$id}->[0] = $sender;	    $heap->{'PENDING'}->{$id}->[1] = $event;	    $heap->{'PENDING'}->{$id}->[2] = $event_param;	    $heap->{'PENDING'}->{$id}->[3] = $jid;	    $heap->{'PENDING'}->{$id}->[4] = $sid;	}sub manage_events() {    	my ($self, $sender, $kernel, $heap,$event,$event_param,$node,$sid) = 

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
蜜桃视频一区二区三区在线观看| 日韩一区精品视频| 欧美精品丝袜久久久中文字幕| 久久精品国产网站| 一区二区三区在线视频免费 | 自拍偷拍国产精品| 日韩一区二区麻豆国产| 91视频免费观看| 国产麻豆精品95视频| 香蕉影视欧美成人| 亚洲丝袜精品丝袜在线| 欧美精品一区二区三区在线| 欧美在线视频全部完| 国产高清精品网站| 欧美aaaaaa午夜精品| 亚洲九九爱视频| 国产精品欧美一区二区三区| 日韩一级黄色片| 欧美日韩在线免费视频| 本田岬高潮一区二区三区| 欧美色综合天天久久综合精品| 丁香亚洲综合激情啪啪综合| 毛片基地黄久久久久久天堂| 亚洲一区二区精品久久av| 亚洲欧美自拍偷拍色图| 国产欧美日韩一区二区三区在线观看| 在线播放日韩导航| 欧美日韩和欧美的一区二区| 99re热视频精品| 成人av在线一区二区| 国产在线精品视频| 精品一区二区三区影院在线午夜| 日韩在线一二三区| 亚洲成人777| 午夜精品免费在线| 亚洲国产精品一区二区www| 亚洲乱码中文字幕综合| 中文字幕亚洲欧美在线不卡| 欧美国产日产图区| 中文字幕国产一区| 国产精品传媒视频| 亚洲婷婷在线视频| 亚洲另类一区二区| 一区二区三区精品视频在线| 亚洲男人的天堂在线观看| 亚洲欧美一区二区三区孕妇| 亚洲视频一二三| 一区二区激情小说| 伊人一区二区三区| 亚洲v精品v日韩v欧美v专区| 亚洲国产aⅴ成人精品无吗| 亚洲一区成人在线| 天天综合网天天综合色| 日本午夜一区二区| 精品一区二区三区免费| 国产乱理伦片在线观看夜一区| 国产精品影视网| 成人av在线播放网址| 91在线观看一区二区| 欧美性xxxxx极品少妇| 欧美精品三级日韩久久| 亚洲精品一区二区三区香蕉| 中文字幕欧美区| 亚洲精品免费电影| 免费在线看一区| 国产高清久久久| 91国产免费看| 日韩一卡二卡三卡四卡| 欧美极品少妇xxxxⅹ高跟鞋 | 精品一区二区免费| 国产精品456| 99久久99久久综合| 欧美欧美欧美欧美| 国产午夜精品一区二区三区四区| 国产精品你懂的在线| 一区二区三区在线免费视频| 视频在线观看91| 国产高清视频一区| 欧美在线一二三| 久久蜜桃av一区二区天堂| 椎名由奈av一区二区三区| 天堂久久一区二区三区| 国产寡妇亲子伦一区二区| 91网站最新地址| 日韩欧美一级二级三级久久久| 欧美国产欧美综合| 午夜精品免费在线| 成人app在线观看| 日韩亚洲欧美综合| 日韩理论片在线| 九九视频精品免费| 色久优优欧美色久优优| 久久亚洲春色中文字幕久久久| 亚洲欧洲在线观看av| 精品一区二区三区香蕉蜜桃| 99re这里只有精品首页| 欧美电影免费观看高清完整版在 | 成人av在线影院| 欧美一级日韩免费不卡| 最近中文字幕一区二区三区| 久久精品国产亚洲一区二区三区| 91麻豆免费看| 久久精品在线免费观看| 日韩在线a电影| 色欧美日韩亚洲| 国产三级精品视频| 青青草国产成人99久久| 色婷婷av一区二区三区软件| 国产亚洲制服色| 麻豆中文一区二区| 精品视频色一区| 亚洲欧美偷拍卡通变态| 国产成人aaaa| 欧美成人三级在线| 午夜电影久久久| 在线一区二区三区做爰视频网站| 久久综合久久综合亚洲| 日韩影院在线观看| 欧美图片一区二区三区| 综合色天天鬼久久鬼色| 国产风韵犹存在线视精品| 日韩一区二区电影| 日韩精品成人一区二区三区| 欧美在线观看禁18| 亚洲黄色录像片| 色综合一区二区三区| 国产精品久久国产精麻豆99网站| 国产福利一区二区| 久久亚洲精品国产精品紫薇| 裸体健美xxxx欧美裸体表演| 欧美精品 日韩| 午夜伊人狠狠久久| 欧美顶级少妇做爰| 丝袜诱惑制服诱惑色一区在线观看| 91成人免费在线| 亚洲一二三四久久| 欧美撒尿777hd撒尿| 亚洲一区免费在线观看| 欧美视频在线一区二区三区 | 亚洲影院久久精品| 欧美伊人精品成人久久综合97| 亚洲欧美日本韩国| 在线一区二区观看| 丝袜脚交一区二区| 日韩一级在线观看| 精品亚洲免费视频| 国产婷婷色一区二区三区在线| 国产剧情av麻豆香蕉精品| 久久精品男人天堂av| 成人一级片网址| 亚洲精品免费在线观看| 欧美国产精品久久| 91亚洲精品久久久蜜桃| 亚洲另类一区二区| 欧美日韩大陆一区二区| 蜜臀av性久久久久av蜜臀妖精| 日韩美女一区二区三区四区| 狠狠色综合日日| 国产精品乱人伦一区二区| 一本在线高清不卡dvd| 五月激情丁香一区二区三区| 欧美一区二区免费| 国产精品996| 亚洲精品综合在线| 91精品国产综合久久精品| 精品午夜一区二区三区在线观看 | 日韩欧美国产系列| 国产福利91精品| 亚洲夂夂婷婷色拍ww47| 日韩欧美成人一区| 成人avav影音| 亚洲成人av福利| 国产香蕉久久精品综合网| 99久久精品国产观看| 五月开心婷婷久久| 久久理论电影网| 欧洲亚洲精品在线| 精品一区二区免费在线观看| 国产精品国产自产拍在线| 欧美精品久久99久久在免费线| 国产一区三区三区| 一区二区三区国产豹纹内裤在线| 日韩午夜三级在线| 91亚洲资源网| 激情文学综合网| 一区二区三区在线视频观看58| 日韩欧美成人一区二区| 91性感美女视频| 国产一区在线精品| 天堂成人免费av电影一区| 中文字幕av不卡| 日韩欧美亚洲国产另类| 91麻豆精品视频| 欧美一区二区三区啪啪| 福利一区二区在线观看| 日韩电影在线观看电影| 亚洲乱码国产乱码精品精98午夜 | 欧美视频在线一区二区三区| 国产麻豆精品一区二区| 手机精品视频在线观看|