132 |
my $startIndex=undef; |
my $startIndex=undef; |
133 |
my $backtrack=undef; |
my $backtrack=undef; |
134 |
my $persist=1; |
my $persist=1; |
|
my $anyPersist=0; |
|
135 |
my $subscriberID=undef; |
my $subscriberID=undef; |
136 |
my $channels={}; |
my $channels={}; |
137 |
foreach my $formElement (@formData) |
foreach my $formElement (@formData) |
150 |
|
|
151 |
$startIndex=-$backtrack if(!defined($startIndex) && defined($backtrack)); |
$startIndex=-$backtrack if(!defined($startIndex) && defined($backtrack)); |
152 |
$channels->{$channelName}->{'startIndex'}=$startIndex; |
$channels->{$channelName}->{'startIndex'}=$startIndex; |
|
$channels->{$channelName}->{'persist'}=$persist; |
|
|
$anyPersist|=$persist; |
|
153 |
|
|
154 |
$startIndex=undef; |
$startIndex=undef; |
155 |
$backtrack=undef; |
$backtrack=undef; |
|
$persist=1; |
|
156 |
} |
} |
157 |
$channelName=$1; |
$channelName=$1; |
158 |
} |
} |
206 |
|
|
207 |
$startIndex=-$backtrack if(!defined($startIndex) && defined($backtrack)); |
$startIndex=-$backtrack if(!defined($startIndex) && defined($backtrack)); |
208 |
$channels->{$channelName}->{'startIndex'}=$startIndex; |
$channels->{$channelName}->{'startIndex'}=$startIndex; |
|
$channels->{$channelName}->{'persist'}=$persist; |
|
|
$anyPersist|=$persist; |
|
209 |
} |
} |
210 |
|
|
211 |
delete($self->{'headerBuffer'}); |
delete($self->{'headerBuffer'}); |
212 |
|
|
213 |
if(defined($subscriberID) && $anyPersist) |
if(defined($subscriberID) && $persist) |
214 |
{ |
{ |
215 |
$self->{'subscriberID'}=$subscriberID; |
$self->{'subscriberID'}=$subscriberID; |
216 |
$self->deleteSubscriberWithID($subscriberID); |
$self->deleteSubscriberWithID($subscriberID); |
221 |
{ |
{ |
222 |
$self->emitOKHeader(); |
$self->emitOKHeader(); |
223 |
|
|
224 |
$self->setChannels($channels); |
$self->setChannels($channels,$persist); |
225 |
|
|
226 |
$self->close(1) unless($anyPersist); |
$self->close(1) unless($persist); |
227 |
|
|
228 |
return; |
return; |
229 |
} |
} |
247 |
sub setChannels { |
sub setChannels { |
248 |
my $self=shift; |
my $self=shift; |
249 |
my $channels=shift; |
my $channels=shift; |
250 |
|
my $persist=shift; |
251 |
|
|
252 |
foreach my $channelName (keys %{$channels}) |
foreach my $channelName (keys %{$channels}) |
253 |
{ |
{ |
|
my $persist=$channels->{$channelName}->{'persist'}; |
|
254 |
my $startIndex=$channels->{$channelName}->{'startIndex'}; |
my $startIndex=$channels->{$channelName}->{'startIndex'}; |
255 |
|
|
256 |
my $channel=Meteor::Channel->channelWithName($channelName); |
my $channel=Meteor::Channel->channelWithName($channelName); |