1:  2:  3:  4:  5:  6:  7:  8:  9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 
<?php
namespace Omeka\Installation\Task;

use Omeka\Installation\Installer;

class CheckDirPermissionsTask implements TaskInterface
{
    public function perform(Installer $installer)
    {
        $config = $installer->getServiceLocator()->get('Config');
        $basePath = $config['file_store']['local']['base_path'];
        if (null === $basePath) {
            $basePath = OMEKA_PATH . '/files';
        }
        if (!is_dir($basePath) || !is_writable($basePath)) {
            $installer->addError(sprintf('"%s" is not a writable directory.', $basePath));
            return;
        }
    }
}