. * * @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 ApiQvitterCheckEmailAction extends ApiAction { var $email = null; protected function prepare(array $args=array()) { parent::prepare($args); $this->format = 'json'; $this->email = $this->trimmed('email'); if(!Validate::email($this->email, common_config('email', 'check_domain'))) { $this->clientError('Not a valid email address.', 400); } if (common_config('site', 'private')) { $this->clientError(_('This site is private.'), 403); } return true; } protected function handle() { parent::handle(); if($this->emailExists($this->email)) { $email_exists = 1; } else { $email_exists = 0; } $this->initDocument('json'); $this->showJsonObjects($email_exists); $this->endDocument('json'); } /** * Does the given email address already exist? * * Checks a canonical email address against the database. * * @param string $email email address to check * * @return boolean true if the address already exists */ function emailExists($email) { $user = User::getKV('email', $email); return is_object($user); } }