Jake Vanderwerf
2026-09-18 a6413da67a4579866f0fd0323ddb23a7b6b9654a
inc/integrations/Field.php
@@ -17,14 +17,21 @@
   protected array $options;
   protected mixed $default;
   protected string $subtype;
   protected string $placeholder;
   protected bool $hidden = false;
   protected int $min;
   protected int $max;
   protected bool $isAdditionalField = false;
   protected bool $isSetupField = false;
   protected bool $isAdvancedField = false;
   protected bool $hideStored = false;
   public function __construct(string $name, string $label, string $type, callable|string|bool $permission)
   {
      $this->name = $name;
      $this->label = $label;
      $this->type = $type;
      $this->permission = $permission;
      $this->permission = is_callable($permission) ? Closure::fromCallable($permission) : $permission;
   }
   public function checkPermission():bool
@@ -49,6 +56,14 @@
   {
      $this->required = true;
   }
   public function setHideStored():void
   {
      $this->hideStored = true;
   }
   public function isHideStored():bool
   {
      return $this->hideStored;
   }
   public function setOptions(array $options):void
   {
      $this->options = $options;
@@ -58,6 +73,30 @@
      $this->default = $default;
   }
   public function makeSetupField():void
   {
      $this->isSetupField = true;
   }
   public function isSetupField():bool
   {
      return $this->isSetupField;
   }
   public function makeAdvancedField():void
   {
      $this->isAdvancedField = true;
   }
   public function isAdvancedField():bool{
      return $this->isAdvancedField;
   }
   public function makeAdditionalField():void
   {
      $this->isAdditionalField = true;
   }
   public function isAdditionalField():bool
   {
      return $this->isAdditionalField;
   }
   public function setHint(string $hint):void
   {
      $this->hint = $hint;
@@ -69,7 +108,21 @@
   public function setSubType(string $type):void
   {
      $this->subType = $type;
      $this->subtype = $type;
   }
   public function setMin(int $min):void
   {
      $this->min = $min;
   }
   public function setMax(int $max):void
   {
      $this->max = $max;
   }
   public function setPlaceholder(string $string):void
   {
      $this->placeholder = sanitize_text_field($string);
   }
   public function getConfig():array
@@ -91,12 +144,23 @@
      if (isset($this->hint)) {
         $conf['hint'] = $this->hint;
      }
      if (isset($this->subType)) {
         $conf['subtype'] = $this->subType;
      if (isset($this->subtype)) {
         $conf['subtype'] = $this->subtype;
      }
      if ($this->hidden) {
         $conf['hidden'] = true;
      }
      if (isset($this->min)) {
         $conf['min'] = $this->min;
      }
      if (isset($this->max)) {
         $conf['max'] = $this->max;
      }
      if (isset($this->placeholder)) {
         $conf['placeholder'] = $this->placeholder;
      }
      return $conf;
   }
}