Пример #1
0
 /**
  * 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!");
             }
         }
     }
 }
Пример #2
0
 protected function actionUpload()
 {
     if (!is_uploaded_file($_FILES['license_file']['tmp_name'][0])) {
         throw new Exception("No file received");
     }
     if (!extension_loaded('ionCube loader')) {
         throw new Exception("The required free ionCube loader is not installed. ");
     }
     $licenseFile = \GO::getLicenseFile();
     if ($_FILES['license_file']['name'][0] != $licenseFile->name()) {
         throw new Exception("File should be named " . $licenseFile->name());
     }
     if (!$licenseFile->exists() || !$licenseFile->isWritable()) {
         throw new Exception("Could not write file " . $licenseFile->name() . ". Please upload the file to the webserver and change the permissions so that the webserver can write to it.");
     }
     //		$destinationFolder = new GO\Base\Fs\Folder(GO::config()->file_storage_path.'license/');
     //		$destinationFolder->create();
     //
     $success = move_uploaded_file($_FILES['license_file']['tmp_name'][0], $licenseFile->path());
     //use cron to move the license as root.
     //		GO\Modules\Cron\LicenseInstaller::runOnce();
     echo json_encode(array('success' => $success));
 }