join the dots so server starts on reload_config
[scpubgit/Clifton.git] / lib / App / Clifton / Server.pm
index 4a46499..07a10bb 100644 (file)
@@ -39,6 +39,21 @@ sub shutdown { shift->_do(shutdown => @_) }
 sub _body_for_reload_config {
   my ($self, $args) = @_;
   my $config = $self->config_loader->config_from_file($self->config_file);
+  my $jt = $self->jabber_towers;
+  foreach my $bridge ($config->bridges->flatten) {
+
+    $jt->{$bridge->name} = $self->_new_child(
+      Jabber_Tower, {
+        jabber_config => $bridge->jabber,
+        irc_config => $bridge->irc,
+        bridge_name => $bridge->name,
+        server => $self,
+      }
+    );
+  }
+  foreach my $user ($config->users->flatten) {
+    $jt->{$_}->userconfig_set->add($user) for @{$user->allow};
+  }
   $self->current_config($config);
   $args->{on_finished}->($config);
 }