. // }}} /** * Handle network public feed * * @package GNUsocial * @category Controller * * @author Hugo Sales * @copyright 2020 Free Software Foundation, Inc http://www.fsf.org * @license https://www.gnu.org/licenses/agpl.html GNU AGPL v3 or later */ namespace App\Util\Form; use App\Util\Formatting; use Symfony\Component\Form\DataTransformerInterface; use Symfony\Component\Form\Exception\TransformationFailedException; class ArrayTransformer implements DataTransformerInterface { /** * Array to string, but can't use type annotations * * @param mixed $a */ public function transform($a) { if (!is_array($a)) { throw new TransformationFailedException(); } return Formatting::toString($a, Formatting::SPLIT_BY_SPACE); } /** * String to array, but can't use type annotations * * @param mixed $s */ public function reverseTransform($s) { if (empty($s)) { return []; } $arr; if (is_string($s) && Formatting::toArray($s, $arr, Formatting::SPLIT_BY_BOTH)) { return $arr; } else { throw new TransformationFailedException(); } } }