verbb / icon-picker

A Craft CMS field to select SVG or font icons from a folder for use in your content.
Other
17 stars 8 forks source link

[2.0.0-beta.1] Can't access edit entry page with an icon picker field #53

Closed Nellyaa closed 2 years ago

Nellyaa commented 2 years ago

Description

I've installed the Icon Picker plugin on Craft 4 and loading my self-hosted Font Awesome 6 font directory. When I create the Icon Picker field the fonts show up fine. But opening any entry with the newly added icon picker field throws an error. It's impossible to access the edit page anymore.

Steps to reproduce

  1. Install icon picker on Craft 4
  2. Set plugin icon directory to custom folder with fonts
  3. Create icon picker field and attach to entry section
  4. Try to edit one entry in that section
  5. Get error

Additional info

Additional context

Error thrown:

An Error occurred while handling another error:
TypeError: in_array(): Argument #2 ($haystack) must be of type array, null given in /var/www/vendor/verbb/icon-picker/src/services/Service.php:358
Stack trace:
#0 /var/www/vendor/verbb/icon-picker/src/services/Service.php(358): in_array('font-awesome-al...', NULL)
#1 /var/www/vendor/verbb/icon-picker/src/fields/IconPickerField.php(58): verbb\iconpicker\services\Service->getEnabledRemoteSets(Object(verbb\iconpicker\fields\IconPickerField))
#2 /var/www/vendor/craftcms/cms/src/fieldlayoutelements/CustomField.php(257): verbb\iconpicker\fields\IconPickerField->getInputHtml(Object(verbb\iconpicker\models\IconModel), Object(craft\elements\Category))
#3 /var/www/vendor/craftcms/cms/src/fieldlayoutelements/BaseField.php(215): craft\fieldlayoutelements\CustomField->inputHtml(Object(craft\elements\Category), false)
#4 /var/www/vendor/craftcms/cms/src/fieldlayoutelements/CustomField.php(210): craft\fieldlayoutelements\BaseField->formHtml(Object(craft\elements\Category), false)
#5 /var/www/vendor/craftcms/cms/src/web/View.php(1438): craft\fieldlayoutelements\CustomField->craft\fieldlayoutelements\{closure}()
#6 /var/www/vendor/craftcms/cms/src/fieldlayoutelements/CustomField.php(211): craft\web\View->namespaceInputs(Object(Closure), 'fields')
#7 /var/www/vendor/craftcms/cms/src/models/FieldLayout.php(675): craft\fieldlayoutelements\CustomField->formHtml(Object(craft\elements\Category), false)
#8 /var/www/vendor/craftcms/cms/src/web/View.php(1433): craft\models\FieldLayout->craft\models\{closure}()
#9 /var/www/vendor/craftcms/cms/src/models/FieldLayout.php(674): craft\web\View->namespaceInputs(Object(Closure), NULL)
#10 /var/www/vendor/craftcms/cms/src/controllers/ElementsController.php(706): craft\models\FieldLayout->createForm(Object(craft\elements\Category), false, Array)
#11 /var/www/vendor/craftcms/cms/src/controllers/ElementsController.php(416): craft\controllers\ElementsController->_prepareEditor(Object(craft\elements\Category), true, Object(craft\web\Response), 'main-form', Object(Closure), Object(Closure), Object(Closure))
#12 [internal function]: craft\controllers\ElementsController->craft\controllers\{closure}(Object(craft\web\Response), 'main-form')
#13 /var/www/vendor/craftcms/cms/src/web/CpScreenResponseFormatter.php(107): call_user_func(Object(Closure), Object(craft\web\Response), 'main-form')
#14 /var/www/vendor/craftcms/cms/src/web/CpScreenResponseFormatter.php(48): craft\web\CpScreenResponseFormatter->_formatTemplate(Object(craft\web\Response), Object(craft\web\CpScreenResponseBehavior))
#15 /var/www/vendor/yiisoft/yii2/web/Response.php(1095): craft\web\CpScreenResponseFormatter->format(Object(craft\web\Response))
#16 /var/www/vendor/craftcms/cms/src/web/Response.php(274): yii\web\Response->prepare()
#17 /var/www/vendor/yiisoft/yii2/web/Response.php(339): craft\web\Response->prepare()
#18 /var/www/vendor/yiisoft/yii2/web/ErrorHandler.php(136): yii\web\Response->send()
#19 /var/www/vendor/craftcms/cms/src/web/ErrorHandler.php(184): yii\web\ErrorHandler->renderException(Object(TypeError))
#20 /var/www/vendor/yiisoft/yii2/base/ErrorHandler.php(135): craft\web\ErrorHandler->renderException(Object(TypeError))
#21 /var/www/vendor/craftcms/cms/src/web/ErrorHandler.php(63): yii\base\ErrorHandler->handleException(Object(TypeError))
#22 [internal function]: craft\web\ErrorHandler->handleException(Object(TypeError))
#23 {main}
Previous exception:
TypeError: in_array(): Argument #2 ($haystack) must be of type array, null given in /var/www/vendor/verbb/icon-picker/src/services/Service.php:358
Stack trace:
#0 /var/www/vendor/verbb/icon-picker/src/services/Service.php(358): in_array('font-awesome-al...', NULL)
#1 /var/www/vendor/verbb/icon-picker/src/fields/IconPickerField.php(58): verbb\iconpicker\services\Service->getEnabledRemoteSets(Object(verbb\iconpicker\fields\IconPickerField))
#2 /var/www/vendor/craftcms/cms/src/fieldlayoutelements/CustomField.php(257): verbb\iconpicker\fields\IconPickerField->getInputHtml(Object(verbb\iconpicker\models\IconModel), Object(craft\elements\Category))
#3 /var/www/vendor/craftcms/cms/src/fieldlayoutelements/BaseField.php(215): craft\fieldlayoutelements\CustomField->inputHtml(Object(craft\elements\Category), false)
#4 /var/www/vendor/craftcms/cms/src/fieldlayoutelements/CustomField.php(210): craft\fieldlayoutelements\BaseField->formHtml(Object(craft\elements\Category), false)
#5 /var/www/vendor/craftcms/cms/src/web/View.php(1438): craft\fieldlayoutelements\CustomField->craft\fieldlayoutelements\{closure}()
#6 /var/www/vendor/craftcms/cms/src/fieldlayoutelements/CustomField.php(211): craft\web\View->namespaceInputs(Object(Closure), 'fields')
#7 /var/www/vendor/craftcms/cms/src/models/FieldLayout.php(675): craft\fieldlayoutelements\CustomField->formHtml(Object(craft\elements\Category), false)
#8 /var/www/vendor/craftcms/cms/src/web/View.php(1433): craft\models\FieldLayout->craft\models\{closure}()
#9 /var/www/vendor/craftcms/cms/src/models/FieldLayout.php(674): craft\web\View->namespaceInputs(Object(Closure), NULL)
#10 /var/www/vendor/craftcms/cms/src/controllers/ElementsController.php(706): craft\models\FieldLayout->createForm(Object(craft\elements\Category), false, Array)
#11 /var/www/vendor/craftcms/cms/src/controllers/ElementsController.php(416): craft\controllers\ElementsController->_prepareEditor(Object(craft\elements\Category), true, Object(craft\web\Response), 'main-form', Object(Closure), Object(Closure), Object(Closure))
#12 [internal function]: craft\controllers\ElementsController->craft\controllers\{closure}(Object(craft\web\Response), 'main-form')
#13 /var/www/vendor/craftcms/cms/src/web/CpScreenResponseFormatter.php(107): call_user_func(Object(Closure), Object(craft\web\Response), 'main-form')
#14 /var/www/vendor/craftcms/cms/src/web/CpScreenResponseFormatter.php(48): craft\web\CpScreenResponseFormatter->_formatTemplate(Object(craft\web\Response), Object(craft\web\CpScreenResponseBehavior))
#15 /var/www/vendor/yiisoft/yii2/web/Response.php(1095): craft\web\CpScreenResponseFormatter->format(Object(craft\web\Response))
#16 /var/www/vendor/craftcms/cms/src/web/Response.php(274): yii\web\Response->prepare()
#17 /var/www/vendor/yiisoft/yii2/web/Response.php(339): craft\web\Response->prepare()
#18 /var/www/vendor/yiisoft/yii2/base/Application.php(390): yii\web\Response->send()
#19 /var/www/web/index.php(12): yii\base\Application->run()
#20 {main}
engram-design commented 2 years ago

Should be fixed in 2.0.0-beta.2