powermail icon indicating copy to clipboard operation
powermail copied to clipboard

[BUG] Error on initialization of settings

Open grischpel opened this issue 1 year ago • 1 comments

image

(1/1) Error
Typed property In2code\Powermail\Domain\Validator\AbstractValidator::$settings must not be accessed before initialization

in /var/www/website/htdocs/vendor/in2code/powermail/Classes/Domain/Validator/AbstractValidator.php line 61
     *
     * @return bool
     */
    public function isServerValidationEnabled(): bool {
  return $this->settings['validation']['server'] === '1';
        return isset($this->settings['validation']['server']) 
            && $this->settings['validation']['server'] === '1';
    }


In file /htdocs/vendor/in2code/powermail/Classes/Domain/Validator/AbstractValidator

public function isServerValidationEnabled(): bool {
    return $this->settings['validation']['server'] === '1';
}

Temporary fix:

public function isServerValidationEnabled(): bool {
    return isset($this->settings['validation']['server']) && $this->settings['validation']['server'] === '1';
}

Typo3 Version: 12.4.14 Powermail Version: 12.4.2

grischpel avatar Oct 10 '24 10:10 grischpel

Temporary fix:

public function isServerValidationEnabled(): bool {
    return isset($this->settings['validation']['server']) && $this->settings['validation']['server'] === '1';
}

Typo3 Version: 12.4.14 Powermail Version: 12.4.2

Better Version of the fix:

  /**
   * @var array
   */
  protected array $settings = [];
  /**
   * Check if javascript validation is activated
   *
   * @return bool
   */
  public function isServerValidationEnabled(): bool {
    return !empty($this->settings['validation']['server']) && $this->settings['validation']['server'] === '1';
  }

grischpel avatar Mar 13 '25 09:03 grischpel