X-Git-Url: http://git.freeside.biz/gitweb/?p=freeside.git;a=blobdiff_plain;f=FS%2Fbin%2Ffreeside-selfservice-server;h=8ce74d5c82e750d594bff215fd5cfe02e826a214;hp=544f307eed4a0cfe6c482f5e3e4f0251f7c63a83;hb=f822e27a1e00594332ffa487a1c284234c5580a6;hpb=15e57a4859d967a13113602b112c4aa197ca6002 diff --git a/FS/bin/freeside-selfservice-server b/FS/bin/freeside-selfservice-server index 544f307ee..8ce74d5c8 100644 --- a/FS/bin/freeside-selfservice-server +++ b/FS/bin/freeside-selfservice-server @@ -13,9 +13,10 @@ use Storable 2.09 qw(nstore_fd fd_retrieve); use Net::SSH qw(sshopen2); use FS::Daemon qw(daemonize1 drop_root logfile daemonize2 sigint sigterm); use FS::UID qw(adminsuidsetup forksuidsetup); -use FS::ClientAPI; +use FS::ClientAPI qw( load_clientapi_modules ); use FS::ClientAPI_SessionCache; use FS::Record qw( qsearch qsearchs ); +use FS::TicketSystem; use FS::Conf; use FS::cust_svc; @@ -52,6 +53,8 @@ drop_root(); $ENV{HOME} = (getpwuid($>))[7]; #for ssh +load_clientapi_modules; + adminsuidsetup $user; #logfile("/usr/local/etc/freeside/selfservice.". $FS::UID::datasrc); #MACHINE @@ -72,6 +75,13 @@ my $cache = new FS::ClientAPI_SessionCache( { } ); $cache->remove('signup_info_cache'); +#and also clear the selfservice skin info cache, for the same reason +my $ss_cache = new FS::ClientAPI_SessionCache( { + 'namespace' => 'FS::ClientAPI::MyAccount', +} ); +$ss_cache->remove($_) + foreach grep /^skin_info_cache_agent/, $ss_cache->get_keys(); + my $clientd = "/usr/local/sbin/freeside-selfservice-clientd"; #better name? my $warnkids=0; @@ -99,28 +109,7 @@ while (1) { if ( $keepalives && $keepalive_count++ > 10 ) { $keepalive_count = 0; lock_write; - nstore_fd( { _token => '_keepalive' }, $writer ); - foreach my $agent ( qsearch( 'agent', { disabled => '' } ) ) { - my $config = qsearchs( 'conf', { name => 'selfservice-bulk_ftp_dir', - agentnum => $agent->agentnum, - } ) - or next; - - my $session = - FS::ClientAPI->dispatch( 'Agent/agent_login', - { username => $agent->username, - password => $agent->_password, - } - ); - - nstore_fd( { _token => '_ftp_scan', - dir => $config->value, - session_id => $session->{session_id}, - }, - $writer - ); - } unlock_write; } next; @@ -169,12 +158,10 @@ while (1) { warn "child $pid spawned\n" if $Debug; } else { #kid time - ##get new db handle $FS::UID::dbh->{InactiveDestroy} = 1; forksuidsetup($user); - #get db handle - #adminsuidsetup($user); + FS::TicketSystem->init(); my $type = $packet->{_packet}; warn "calling $type handler\n" if $Debug;