Source of file UpgradeService.php
Size: 2,026 Bytes - Last Modified: 2021-12-24T05:17:39+00:00
/var/www/docs.ssmods.com/process/src/src/Tasks/UpgradeService.php
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283 | <?php namespace Innoweb\GoogleAnalytics\Tasks; use SilverStripe\Control\Director; use SilverStripe\SiteConfig\SiteConfig; /** * Service to support upgrade of userforms module */ class UpgradeService { /** * @var bool */ protected $quiet; public function run() { $this->log('Upgrading settings'); // get correct config class if (class_exists('Symbiote\Multisites\Multisites')) { $configs = \Symbiote\Multisites\Model\Site::get(); } else { $configs = SiteConfig::get(); } if ($configs && $configs->exists()) { // only upgrade configs that require it foreach($configs as $config) { if ( (!$config->GoogleAnalyticsUpgradedV2 && $config->GoogleAnalyticsType === '') || $config->GoogleAnalyticsType === 'Old Asynchronous Analytics' ) { $this->upgradeConfig($config); } } } } protected function upgradeConfig($config) { $this->log('Upgrading config ID = ' . $config->ID); if (!$config->GoogleAnalyticsUpgradedV2) { $config->GoogleAnalyticsType = 'Universal Analytics'; $config->GoogleAnalyticsUpgradedV2 = true; } if ($config->GoogleAnalyticsType === 'Old Asynchronous Analytics') { $config->GoogleAnalyticsType = 'Universal Analytics'; } $config->write(); } public function log($message) { if($this->getQuiet()) { return; } if(Director::is_cli()) { echo "{$message}\n"; } else { echo "{$message}<br />"; } } /** * Set if this service should be quiet * * @param bool $quiet * @return $this */ public function setQuiet($quiet) { $this->quiet = $quiet; return $this; } public function getQuiet() { return $this->quiet; } } |