protected function actionInstall() { //license check done in a separate request because it can't be done in one run if (!\GO::scriptCanBeDecoded()) { throw new Exception("The license file you provided didn't work. Please contact Intermesh about this error."); } else { //add all users to the modules they have access too \GO\Professional\License::autoConfigureModulePermissions(); echo json_encode(array('success' => true)); } }
/** * The code that needs to be called when the cron is running * * If $this->enableUserAndGroupSupport() returns TRUE then the run function * will be called for each $user. (The $user parameter will be given) * * If $this->enableUserAndGroupSupport() returns FALSE then the * $user parameter is null and the run function will be called only once. * * @param CronJob $cronJob * @param User $user [OPTIONAL] */ public function run(CronJob $cronJob, User $user = null) { GO::session()->runAsRoot(); $licenseFile = \GO::getLicenseFile(); $temporaryLicenseFile = new \GO\Base\Fs\File(GO::config()->file_storage_path . 'license/' . $licenseFile->name()); if ($temporaryLicenseFile->exists()) { if (!$temporaryLicenseFile->move($licenseFile)) { throw new \Exception("Could not move license file to Group-Office root!"); } else { if (!GO::scriptCanBeDecoded()) { GO\Base\Mail\AdminNotifier::sendMail("Group-Office license invalid", "You attempted to install a license but the license file you provided didn't work. Please contant Intermesh about this error."); } else { //add all users to the modules they have access too \GO\Professional\License::autoConfigureModulePermissions(); GO\Base\Mail\AdminNotifier::sendMail("Group-Office license installed successfully!", "Your license was installed and the new users were automatically added to the App permissions if necessary.\n\nThank you for using Group-Office!"); } } } }