From 5eaf9f7d2eebaf6f656bfbd3d04f8a17c31898d2 Mon Sep 17 00:00:00 2001 From: Craig Andrews Date: Mon, 12 Oct 2009 21:21:00 -0400 Subject: [PATCH] Added a new plugin that requires a user to have a validated email address before being allowed to post notices --- .../RequireValidatedEmailPlugin.php | 52 +++++++++++++++++++ 1 file changed, 52 insertions(+) create mode 100644 plugins/RequireValidatedEmail/RequireValidatedEmailPlugin.php diff --git a/plugins/RequireValidatedEmail/RequireValidatedEmailPlugin.php b/plugins/RequireValidatedEmail/RequireValidatedEmailPlugin.php new file mode 100644 index 0000000000..4806538a04 --- /dev/null +++ b/plugins/RequireValidatedEmail/RequireValidatedEmailPlugin.php @@ -0,0 +1,52 @@ +. + * + * @category Plugin + * @package StatusNet + * @author Craig Andrews + * @copyright 2009 Craig Andrews http://candrews.integralblue.com + * @license http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0 + * @link http://status.net/ + */ + +if (!defined('STATUSNET') && !defined('LACONICA')) { + exit(1); +} + +class RequireValidatedEmailPlugin extends Plugin +{ + function __construct() + { + parent::__construct(); + } + + function onStartNoticeSave($notice) + { + $user = User::staticGet('id', $notice->profile_id); + if (!empty($user)) { // it's a remote notice + if (empty($user->email)) { + throw new ClientException(_("You must validate your email address before posting.")); + } + } + return true; + } +} +