public static function is_valid()
 {
     $result = AddonBoilerplateOutfittersLicense::isValid('AddonBoilerplate');
     if ($result !== true) {
         //The license didn't validate as the subscription has expired for the user. Handle it how you would like below
         $admin = BeanFactory::getBean('Administration');
         $admin->retrieveSettings('addonboilerplate');
         $last_sent = $admin->settings['addonboilerplate_licenseemail'];
         $elapsed = 60 * 60;
         if (empty($last_sent) || $last_sent + $elapsed < time()) {
             $admin->saveSetting('addonboilerplate', 'licenseemail', time());
             require_once 'modules/AddonBoilerplate/includes/classes/AddonBoilerplate/Helper.php';
             global $sugar_config, $sugar_version, $sugar_flavor;
             $error_email = AddonBoilerplate_Helper::get_error_email_address();
             /**
                             //send email to the admin user
                             $email_to = $error_email;
                             $subject =  '[CRITICAL] AddonBoilerplate is no longer functioning';
                             $bodyHTML= "
             The license was unable to validate. Please log into your SugarCRM instance, go to Admin->AddonBoilerplate->License Configuration and validate your license.
             
             Site: ".$sugar_config['site_url']."
             SugarCRM Version: ".$sugar_version."
             SugarCRM Edition: ".$sugar_flavor."
             AddonBoilerplate Version: ".AddonBoilerplate_Helper::get_addonboilerplate_version();
                     
                             AddonBoilerplate_Helper::send_email($email_to,$subject,$bodyHTML,'*****@*****.**');
             */
             return $result;
         }
     }
     return $result;
 }
} else {
    if ($_REQUEST['method'] == 'change') {
        AddonBoilerplateOutfittersLicense::change();
    } 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']);
                            }
                        }
                    }