forked from vergnet/site-accueil-insa
37 lines
1.2 KiB
PHP
37 lines
1.2 KiB
PHP
<?php
|
|
/**
|
|
* Matomo - free/libre analytics platform
|
|
*
|
|
* @link https://matomo.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');
|
|
Filesystem::unlinkTargetFilesNotPresentInSource($source . '/libs', $target . '/libs');
|
|
Filesystem::unlinkTargetFilesNotPresentInSource($source . '/vendor', $target . '/vendor');
|
|
Filesystem::unlinkTargetFilesNotPresentInSource($source . '/node_modules', $target . '/node_modules');
|
|
|
|
foreach ($this->getPluginsFromDirectoy($source) as $pluginDir) {
|
|
Filesystem::unlinkTargetFilesNotPresentInSource($source . $pluginDir, $target . $pluginDir);
|
|
}
|
|
}
|
|
}
|