Stumbled upon an issue in ATS 2.2.3, which doesn't appear in the changelog of your current dev version.
I added a text custom field to tickets. That went well, and the field is actually displayed on titcket on front end as expected. However trying to edit that custom field in the backednd result in a PHP error, under PHP 7.1.0 (didn't try, bt pretty sure the same would happen with 7.0.x)
The error is:
[] operator not supported for strings
After some debugging, I found that this is caused by an incorrect, or maybe missing initilization of the value property of the CustomfieldCats custom field class:
class CustomfieldCats extends GenericList { protected function getInput() { /** @var \Akeeba\TicketSystem\Admin\Model\CustomFields $item */ $item = $this->form->getModel(); // Initialize to array, avoid [] operator not supported for strings error $this->value = empty($this->value) ? array() : $this->value(); // foreach($item->cats as $cat) { $this->value[] = $cat->id; } return parent::getInput(); } protected function getOptions() { $options = Select::getCategoriesOptions(); return $options; } }
Initiliazing the $this->value is enough. It seems to be initialized as an empty string, which causes the error.
I didn't dig further to find how "value" was initialized, nor to other CustomFields, which may also have the same problem.
Rgds