tra('QR Code'), 'documentation' => 'PluginQR', 'description' => tra('Generate QR Code'), 'body' => tra('Data'), 'prefs' => ['wikiplugin_qr'], 'format' => 'html', 'params' => [ 'size' => [ 'required' => false, 'name' => tra('Size'), 'description' => tra('Size of QR Code'), 'since' => '23.0', 'filter' => 'digits', 'default' => 350, ], ], ]; } function wikiplugin_qr($data, $params) { // default size $params['size'] ??= 350; if (extension_loaded('imagick')) { $imageBackEnd = new ImagickImageBackEnd(); $imageType = 'png'; } else { $imageBackEnd = new SvgImageBackEnd(); $imageType = 'svg+xml'; } $writer = new Writer( new ImageRenderer( new RendererStyle($params['size']), $imageBackEnd ) ); $tfaSecretQR = base64_encode($writer->writeString($data)); return ''; }