Esempio n. 1
0
 protected function execute(InputInterface $input, OutputInterface $output)
 {
     $z = $input->getArgument('params');
     $attributes = parseAttributes($z);
     $params = ['User-Name', 'Acct-Session-Id', 'Acct-Unique-Session-Id', 'Acct-Input-Octets', 'Acct-Output-Octets', 'Acct-Input-Gigawords', 'Acct-Output-Gigawords', 'Acct-Session-Time', 'Acct-Status-Type'];
     foreach ($params as $param) {
         if (!array_key_exists($param, $attributes)) {
             $output->writeln("Insufficient/Invalid parameters provided.");
             exit;
         }
     }
     if ($attributes['Acct-Status-Type'] == 'Start') {
         exit(0);
     }
     $username = $params['User-Name'];
     $acctsessionid = $params['Acct-Session-Id'];
     $acctuniqueid = $params['Acct-Unique-Session-Id'];
     $sessiontime = $params['Acct-Session-Time'];
     $inputoctets = $params['Acct-Input-Octets'];
     $outputoctets = $params['Acct-Output-Octets'];
     $inputgigs = $params['Acct-Input-Gigawords'];
     $outputgigs = $params['Acct-Output-Gigawords'];
     $account = new Account((new User($username))->fetchAccount($acctsessionid, $acctuniqueid));
     $account->takeTime($sessiontime);
     $account->takeData($inputoctets, $inputgigs, $outputoctets, $outputgigs);
     $account->setupAccounting();
     $account->countTime();
     $account->countData();
     $account->updateDatabase();
 }
 private static function _invokeCoA($uname)
 {
     $user = new RadiusUserAccount($uname);
     $plan = $user->getActivePlan();
     $plan->fetchPlanDetails();
     $account = new RadiusAccount($plan);
     $account->CoA(TRUE);
 }