HEX
Server: Apache/2.4.65 (Debian)
System: Linux web6 5.10.0-36-amd64 #1 SMP Debian 5.10.244-1 (2025-09-29) x86_64
User: innocamp (1028)
PHP: 7.4.33
Disabled: pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare,
Upload Files
File: //home/cedarbrk/public_html/wp-content/plugins/webp-express/lib/classes/ImageRoot.php
<?php

namespace WebPExpress;

use \WebPExpress\PathHelper;

class ImageRoot
{
    public $id;
    private $imageRootDef;

    /**
     * Constructor.
     *
     * @param  array  $imageRootDef   assoc array containing "id", "url" and either "abs-path", "rel-path" or both.
     */
    public function __construct($imageRootDef)
    {
        $this->imageRootDef = $imageRootDef;
        $this->id = $imageRootDef['id'];
    }

    /**
     *  Get / calculate abs path.
     *
     *  If "rel-path" is set and document root is available, the abs path will be calculated from the relative path.
     *  Otherwise the "abs-path" is returned.
     *  @throws Exception In case rel-path is not
     */
    public function getAbsPath()
    {
        $def = $this->imageRootDef;
        if (isset($def['rel-path']) && PathHelper::isDocRootAvailable()) {
            return rtrim($_SERVER["DOCUMENT_ROOT"], '/') . '/' . $def['rel-path'];
        } elseif (isset($def['abs-path'])) {
            return $def['abs-path'];
        } else {
            if (!isset($def['rel-path'])) {
                throw new \Exception(
                    'Image root definition in config file is must either have a "rel-path" or "abs-path" property defined. ' .
                    'Probably your system setup has changed. Please re-save WebP Express options and regenerate .htaccess'
                );
            } else {
                throw new \Exception(
                    'Image root definition in config file is defined by "rel-path". However, DOCUMENT_ROOT is unavailable so we ' .
                    'cannot use that (as the rel-path is relative to that. ' .
                    'Probably your system setup has changed. Please re-save WebP Express options and regenerate .htaccess'
                );
            }
        }
    }

}