diff options
Diffstat (limited to 'plugins')
-rw-r--r-- | plugins/CoreUpdater/Controller.php | 26 | ||||
-rw-r--r-- | plugins/CoreUpdater/Model.php | 34 |
2 files changed, 38 insertions, 22 deletions
diff --git a/plugins/CoreUpdater/Controller.php b/plugins/CoreUpdater/Controller.php index aba935637a..f6952594f6 100644 --- a/plugins/CoreUpdater/Controller.php +++ b/plugins/CoreUpdater/Controller.php @@ -243,26 +243,6 @@ class Controller extends \Piwik\Plugin\Controller } } - private function getPluginsFromDirectoy($directoryToLook) - { - $directories = _glob($directoryToLook . '/plugins/' . '*', GLOB_ONLYDIR); - - $directories = array_map(function ($directory) use ($directoryToLook) { - return str_replace($directoryToLook, '', $directory); - }, $directories); - - return $directories; - } - - private function removeGoneFiles($source, $target) - { - Filesystem::unlinkTargetFilesNotPresentInSource($source . '/core', $target . '/core'); - - foreach ($this->getPluginsFromDirectoy($source) as $pluginDir) { - Filesystem::unlinkTargetFilesNotPresentInSource($source . $pluginDir, $target . $pluginDir); - } - } - private function oneClick_Copy() { /* @@ -272,12 +252,14 @@ class Controller extends \Piwik\Plugin\Controller @chmod($this->pathRootExtractedPiwik . '/misc/cron/archive.sh', 0755); } + $model = new Model(); + /* * Copy all files to PIWIK_INCLUDE_PATH. * These files are accessed through the dispatcher. */ Filesystem::copyRecursive($this->pathRootExtractedPiwik, PIWIK_INCLUDE_PATH); - $this->removeGoneFiles($this->pathRootExtractedPiwik, PIWIK_INCLUDE_PATH); + $model->removeGoneFiles($this->pathRootExtractedPiwik, PIWIK_INCLUDE_PATH); /* * These files are visible in the web root and are generally @@ -301,7 +283,7 @@ class Controller extends \Piwik\Plugin\Controller * Copy the non-PHP files (e.g., images, css, javascript) */ Filesystem::copyRecursive($this->pathRootExtractedPiwik, PIWIK_DOCUMENT_ROOT, true); - $this->removeGoneFiles($this->pathRootExtractedPiwik, PIWIK_DOCUMENT_ROOT); + $model->removeGoneFiles($this->pathRootExtractedPiwik, PIWIK_DOCUMENT_ROOT); } /* diff --git a/plugins/CoreUpdater/Model.php b/plugins/CoreUpdater/Model.php new file mode 100644 index 0000000000..e03015e1b3 --- /dev/null +++ b/plugins/CoreUpdater/Model.php @@ -0,0 +1,34 @@ +<?php +/** + * Piwik - free/libre analytics platform + * + * @link http://piwik.org + * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later + * + */ +namespace Piwik\Plugins\CoreUpdater; + +use Piwik\Filesystem; + +class Model +{ + public function getPluginsFromDirectoy($directoryToLook) + { + $directories = _glob($directoryToLook . '/plugins/' . '*', GLOB_ONLYDIR); + + $directories = array_map(function ($directory) use ($directoryToLook) { + return str_replace($directoryToLook, '', $directory); + }, $directories); + + return $directories; + } + + public function removeGoneFiles($source, $target) + { + Filesystem::unlinkTargetFilesNotPresentInSource($source . '/core', $target . '/core'); + + foreach ($this->getPluginsFromDirectoy($source) as $pluginDir) { + Filesystem::unlinkTargetFilesNotPresentInSource($source . $pluginDir, $target . $pluginDir); + } + } +} |