} else {
     if ($_REQUEST['method'] == 'add') {
         AddonBoilerplateOutfittersLicense::add();
     } else {
         if ($_REQUEST['method'] == 'test') {
             //optional param: user_id - test if a specific user has access to the add-on
             //Sugar 6: /index.php?module=SampleLicenseAddon&action=outfitterscontroller&method=test&to_pdf=1
             //Sugar 7: #bwc/index.php?module=SampleLicenseAddon&action=outfitterscontroller&method=test&to_pdf=1
             $user_id = null;
             if (!empty($_REQUEST['user_id'])) {
                 $user_id = $_REQUEST['user_id'];
             }
             $validate_license = AddonBoilerplateOutfittersLicense::isValid($currentModule, $user_id, true);
             if ($validate_license !== true) {
                 echo "License did NOT validate.<br/><br/>Reason: " . $validate_license;
                 $validated = AddonBoilerplateOutfittersLicense::doValidate($currentModule);
                 if (is_array($validated['result'])) {
                     echo "<br/><br/>Key validation = " . !empty($validated['result']['validated']);
                     require 'modules/' . $currentModule . '/license/config.php';
                     if ($outfitters_config['validate_users'] == true) {
                         echo "<br/>User validation = " . !empty($validated['result']['validated_users']);
                         echo "<br/>Licensed User Count = " . $validated['result']['licensed_user_count'];
                         echo "<br/>Current User Count = " . $validated['result']['user_count'];
                         if ($validated['result']['user_count'] > $validated['result']['licensed_user_count']) {
                             echo "<br/><br/>Additional Users Required = " . ($validated['result']['user_count'] - $validated['result']['licensed_user_count']);
                         }
                     }
                 }
             } else {
                 echo "License validated";
             }
 /**
  * For validation via client-side (used by License Configuration form)
  *
  * Does NOT obey the validation_frequency setting. Validates every time.
  * This function is meant to be used only on the License Configuration screen for a specific add-on
  */
 public static function validate()
 {
     $json = getJSONobj();
     if (empty($_REQUEST['key'])) {
         header('HTTP/1.1 400 Bad Request');
         $response = "Key is required.";
         echo $json->encode($response);
         exit;
     }
     global $sugar_config, $currentModule;
     //load license validation config
     require 'modules/' . $currentModule . '/license/config.php';
     $validated = AddonBoilerplateOutfittersLicense::doValidate($currentModule, $_REQUEST['key']);
     $store = array('last_ran' => time(), 'last_result' => $validated);
     require_once 'modules/Administration/Administration.php';
     $administration = new Administration();
     $serialized = base64_encode(serialize($store));
     $administration->saveSetting('SugarOutfitters', $outfitters_config['shortname'], $serialized);
     if ($validated['success'] === false) {
         header('HTTP/1.1 400 Bad Request');
     } else {
         //use config_override.php...config.php has a higher chance of having rights restricted on servers
         global $currentModule;
         //load license validation config
         require 'modules/' . $currentModule . '/license/config.php';
         require 'modules/Configurator/Configurator.php';
         $cfg = new Configurator();
         $cfg->config['outfitters_licenses'][$outfitters_config['shortname']] = $_REQUEST['key'];
         $cfg->handleOverride();
     }
     echo $json->encode($validated['result']);
 }