. * * @category API * @package GNUsocial * @author Hannes Mannerheim * @license http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0 * @link http://www.gnu.org/software/social/ */ if (!defined('GNUSOCIAL')) { exit(1); } class ApiCheckNicknameAction extends ApiAction { protected function prepare(array $args=array()) { parent::prepare($args); if (common_config('site', 'private')) { $this->clientError(_('This site is private.'), 403); } if ($this->format !== 'json') { $this->clientError('This method currently only serves JSON.', 415); } return true; } protected function handle() { parent::handle(); $nickname = $this->trimmed('nickname'); try { Nickname::normalize($nickname, true); $nickname_ok = 1; } catch (NicknameException $e) { $nickname_ok = 0; } $this->initDocument('json'); $this->showJsonObjects($nickname_ok); $this->endDocument('json'); } }