protected function validateInitialPathSettings()
    {
        $field = 'initial_path';
        $path = $this->getSubmitted($field);

        if (strlen($path) > 0 && preg_match('/^[\w-]+[\w-\/]*[\w-]+$|^[\w-]$/', $path) !== 1) {
            $this->setErrorInvalid($field, $this->translation->text('Initial path'));
            return false;
        }

        $destination = gplcart_file_absolute($path);

        if (!file_exists($destination)) {
            $this->setError($field, $this->translation->text('Destination does not exist'));
            return false;
        }

        if (!is_readable($destination)) {
            $this->setError($field, $this->translation->text('Destination is not readable'));
            return false;
        }

        return true;
    }