Something went wrong. Try again.
@recaptime-dev's working patches + fork for Phorge, a community fork of Phabricator. (Upstream dev and stable branches are at upstream/main and upstream/stable respectively.) hq.recaptime.dev/wiki/Phorge
phorge phabricator
Something went wrong. Try again.
1.7 kB · 57 lines
PHP
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758<?php
final class PhabricatorSystemSelectEncodingController extends PhabricatorController {
public function shouldRequireLogin() { return false; }
public function processRequest() { $request = $this->getRequest();
if (!function_exists('mb_list_encodings')) { return $this->newDialog() ->setTitle(pht('No Encoding Support')) ->appendParagraph( pht( 'This system does not have the "%s" extension installed, '. 'so character encodings are not supported. Install "%s" to '. 'enable support.', 'mbstring', 'mbstring')) ->addCancelButton('/'); }
if ($request->isFormPost()) { $result = array('encoding' => $request->getStr('encoding')); return id(new AphrontAjaxResponse())->setContent($result); }
$encodings = mb_list_encodings(); $encodings = array_fuse($encodings); asort($encodings); unset($encodings['pass']); unset($encodings['auto']);
$encodings = array( '' => pht('(Use Default)'), ) + $encodings;
$form = id(new AphrontFormView()) ->setUser($this->getRequest()->getUser()) ->appendRemarkupInstructions(pht('Choose a text encoding to use.')) ->appendChild( id(new AphrontFormSelectControl()) ->setLabel(pht('Encoding')) ->setName('encoding') ->setValue($request->getStr('encoding')) ->setOptions($encodings));
return $this->newDialog() ->setTitle(pht('Select Character Encoding')) ->appendChild($form->buildLayoutView()) ->addSubmitButton(pht('Choose Encoding')) ->addCancelButton('/'); }}