Changeset 7f792c1 for perl/modules
- Timestamp:
- Jan 22, 2007, 12:20:17 AM (18 years ago)
- Branches:
- master, barnowl_perlaim, debian, release-1.10, release-1.4, release-1.5, release-1.6, release-1.7, release-1.8, release-1.9
- Children:
- 6837096
- Parents:
- 585bdc3
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
perl/modules/jabber.pl
r575877f r7f792c1 132 132 my $client = BarnOwl::Jabber::Connection->new; 133 133 134 $self->{Client}->{$jidStr} = $client; 135 $self->{Roster}->{$jidStr} = $client->Roster(); 134 $self->{$jidStr}->{Client} = $client; 135 $self->{$jidStr}->{Roster} = $client->Roster(); 136 $self->{$jidStr}->{Status} = "available"; 136 137 return $client; 137 138 } … … 140 141 my $self = shift; 141 142 my $jidStr = shift; 142 return 0 unless exists $self->{Client}->{$jidStr}; 143 144 $self->{Client}->{$jidStr}->Disconnect(); 145 delete $self->{Roster}->{$jidStr}; 146 delete $self->{Client}->{$jidStr}; 143 return 0 unless exists $self->{$jidStr}->{Client}; 144 145 $self->{$jidStr}->{Client}->Disconnect(); 146 delete $self->{$jidStr}; 147 147 148 148 return 1; … … 151 151 sub connected { 152 152 my $self = shift; 153 return scalar keys %{ $self ->{Client}};153 return scalar keys %{ $self }; 154 154 } 155 155 156 156 sub getJids { 157 157 my $self = shift; 158 return keys %{ $self ->{Client}};158 return keys %{ $self }; 159 159 } 160 160 … … 162 162 my $self = shift; 163 163 my $jidStr = shift; 164 return exists $self->{ Client}->{$jidStr};164 return exists $self->{$jidStr}; 165 165 } 166 166 … … 168 168 my $self = shift; 169 169 my $sid = shift || ""; 170 foreach my $ j ( keys %{ $self->{Client}} ) {171 return 1 if ($ self->{Client}->{$j}->{SESSION}->{id} eq $sid);170 foreach my $c ( values %{ $self } ) { 171 return 1 if ($c->{Client}->{SESSION}->{id} eq $sid); 172 172 } 173 173 return 0; … … 177 177 my $self = shift; 178 178 my $sid = shift; 179 foreach my $c (values %{ $self ->{Client}}) {180 return $c if $c->{SESSION}->{id} eq $sid;179 foreach my $c (values %{ $self }) { 180 return $c->{Client} if $c->{Client}->{SESSION}->{id} eq $sid; 181 181 } 182 182 return undef; … … 186 186 my $self = shift; 187 187 my $jidStr = shift; 188 return $self->{ Client}->{$jidStr};188 return $self->{$jidStr}->{Client}; 189 189 } 190 190 … … 192 192 my $self = shift; 193 193 my $sid = shift; 194 foreach my $ j ( $self->getJids) {195 return $ self->{Roster}->{$j}196 if $ self->{Client}->{$j}->{SESSION}->{id} eq $sid;194 foreach my $c (values %{ $self }) { 195 return $c->{Roster} 196 if $c->{Client}->{SESSION}->{id} eq $sid; 197 197 } 198 198 return undef; … … 202 202 my $self = shift; 203 203 my $jidStr = shift; 204 return $self->{Roster}->{$jidStr}; 205 return undef; 204 return $self->{$jidStr}->{Roster}; 206 205 } 207 206 ################################################################################ … … 217 216 push @::onMainLoop, sub { BarnOwl::Jabber::onMainLoop(@_) }; 218 217 push @::onGetBuddyList, sub { BarnOwl::Jabber::onGetBuddyList(@_) }; 218 $vars{show} = ''; 219 219 } else { 220 220 # Our owl doesn't support queue_message. Unfortunately, this … … 229 229 return if ( !$conn->connected() ); 230 230 231 $vars{status_changed} = 0; 232 my $idletime = owl::getidletime(); 233 if ($idletime >= 900 && $vars{show} eq 'away') { 234 $vars{show} = 'xa'; 235 $vars{status} = 'Auto extended-away after 15 minutes idle.'; 236 $vars{status_changed} = 1; 237 } elsif ($idletime >= 300 && $vars{show} eq '') { 238 $vars{show} = 'away'; 239 $vars{status} = 'Auto away after 5 minutes idle.'; 240 $vars{status_changed} = 1; 241 } elsif ($idletime == 0 && $vars{show} ne '') { 242 $vars{show} = ''; 243 $vars{status} = ''; 244 $vars{status_changed} = 1; 245 } 246 231 247 foreach my $jid ( $conn->getJids() ) { 232 248 my $client = $conn->getConnectionFromJidStr($jid); … … 240 256 do_logout($jid); 241 257 return; 258 } 259 if ($vars{status_changed}) { 260 my $p = new Net::XMPP::Presence; 261 $p->SetShow($vars{show}) if $vars{show}; 262 $p->SetStatus($vars{status}) if $vars{status}; 263 $client->Send($p); 242 264 } 243 265 }
Note: See TracChangeset
for help on using the changeset viewer.