HEX
Server: Apache
System: Linux WWW 6.1.0-40-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.153-1 (2025-09-20) x86_64
User: web11 (1011)
PHP: 8.2.29
Disabled: NONE
Upload Files
File: /var/www/apklausos/application/helpers/ZipHelper.php
<?php

namespace LimeSurvey\Helpers;

class ZipHelper
{
    /** @var ZipArchive */
    private $zip;

    public function __construct($zip = null)
    {
        $this->zip = $zip;
    }

    public function addFolder($folder, $pathInZip = '')
    {
        if (!is_dir($folder)) {
            throw new \InvalidArgumentException('The folder does not exist.');
        }

        if (!empty($pathInZip)) {
            $pathInZip = rtrim($pathInZip, '/') . '/';
        }

        $files = new \RecursiveIteratorIterator(
            new \RecursiveDirectoryIterator($folder),
            \RecursiveIteratorIterator::LEAVES_ONLY
        );

        foreach ($files as $file) {
            if (!$file->isDir()) {
                $filePath = $file->getPathname();
                $relativePath = ltrim(substr($filePath, strlen($folder)), DIRECTORY_SEPARATOR);
                $this->zip->addFile($filePath, $pathInZip . $relativePath);
            }
        }
    }
}