forked from GNUsocial/gnu-social
Stronger typing and fixes in RequireValidatedEmail
This commit is contained in:
parent
d5a24da167
commit
3f3482f017
@ -80,7 +80,7 @@ class RequireValidatedEmailPlugin extends Plugin
|
|||||||
*/
|
*/
|
||||||
public $disallowLogin = false;
|
public $disallowLogin = false;
|
||||||
|
|
||||||
function onRouterInitialized($m)
|
public function onRouterInitialized(URLMapper $m)
|
||||||
{
|
{
|
||||||
$m->connect('main/confirmfirst/:code',
|
$m->connect('main/confirmfirst/:code',
|
||||||
array('action' => 'confirmfirstemail'));
|
array('action' => 'confirmfirstemail'));
|
||||||
@ -95,15 +95,18 @@ class RequireValidatedEmailPlugin extends Plugin
|
|||||||
*
|
*
|
||||||
* @return bool hook result code
|
* @return bool hook result code
|
||||||
*/
|
*/
|
||||||
function onStartNoticeSave($notice)
|
public function onStartNoticeSave(Notice $notice)
|
||||||
{
|
{
|
||||||
$user = User::getKV('id', $notice->profile_id);
|
$author = $notice->getProfile();
|
||||||
if (!empty($user)) { // it's a remote notice
|
if (!$author->isLocal()) {
|
||||||
if (!$this->validated($user)) {
|
// remote notice
|
||||||
// TRANS: Client exception thrown when trying to post notices before validating an e-mail address.
|
return true;
|
||||||
$msg = _m('You must validate your email address before posting.');
|
}
|
||||||
throw new ClientException($msg);
|
$user = $author->getUser();
|
||||||
}
|
if (!$this->validated($user)) {
|
||||||
|
// TRANS: Client exception thrown when trying to post notices before validating an e-mail address.
|
||||||
|
$msg = _m('You must validate your email address before posting.');
|
||||||
|
throw new ClientException($msg);
|
||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
@ -136,7 +139,7 @@ class RequireValidatedEmailPlugin extends Plugin
|
|||||||
*
|
*
|
||||||
* @return bool
|
* @return bool
|
||||||
*/
|
*/
|
||||||
protected function validated($user)
|
protected function validated(User $user)
|
||||||
{
|
{
|
||||||
// The email field is only stored after validation...
|
// The email field is only stored after validation...
|
||||||
// Until then you'll find them in confirm_address.
|
// Until then you'll find them in confirm_address.
|
||||||
@ -162,7 +165,7 @@ class RequireValidatedEmailPlugin extends Plugin
|
|||||||
*
|
*
|
||||||
* @return bool true if user is grandfathered
|
* @return bool true if user is grandfathered
|
||||||
*/
|
*/
|
||||||
protected function grandfathered($user)
|
protected function grandfathered(User $user)
|
||||||
{
|
{
|
||||||
if ($this->grandfatherCutoff) {
|
if ($this->grandfatherCutoff) {
|
||||||
$created = strtotime($user->created . " GMT");
|
$created = strtotime($user->created . " GMT");
|
||||||
@ -183,7 +186,7 @@ class RequireValidatedEmailPlugin extends Plugin
|
|||||||
*
|
*
|
||||||
* @return bool true if user has a trusted OpenID.
|
* @return bool true if user has a trusted OpenID.
|
||||||
*/
|
*/
|
||||||
function hasTrustedOpenID($user)
|
function hasTrustedOpenID(User $user)
|
||||||
{
|
{
|
||||||
if ($this->trustedOpenIDs && class_exists('User_openid')) {
|
if ($this->trustedOpenIDs && class_exists('User_openid')) {
|
||||||
foreach ($this->trustedOpenIDs as $regex) {
|
foreach ($this->trustedOpenIDs as $regex) {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user