UI on profile settings page to opt out of following everyone
This commit is contained in:
parent
7a80ebeb13
commit
5d56d9bb69
@ -150,6 +150,47 @@ class FollowEveryonePlugin extends Plugin
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Show a checkbox on the profile form to ask whether to follow everyone
|
||||
*
|
||||
* @param Action $action The action being executed
|
||||
*
|
||||
* @return boolean hook value
|
||||
*/
|
||||
|
||||
function onEndProfileFormData($action)
|
||||
{
|
||||
$user = common_current_user();
|
||||
|
||||
$action->elementStart('li');
|
||||
// TRANS: Checkbox label in form for profile settings.
|
||||
$action->checkbox('followeveryone', _('Follow everyone'),
|
||||
($action->arg('followeveryone')) ?
|
||||
$action->arg('followeveryone') :
|
||||
User_followeveryone_prefs::followEveryone($user->id));
|
||||
$action->elementEnd('li');
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* Save checkbox value for following everyone
|
||||
*
|
||||
* @param Action $action The action being executed
|
||||
*
|
||||
* @return boolean hook value
|
||||
*/
|
||||
|
||||
function onEndProfileSaveForm($action)
|
||||
{
|
||||
$user = common_current_user();
|
||||
|
||||
User_followeveryone_prefs::savePref($user->id,
|
||||
$action->boolean('followeveryone'));
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* Provide version information about this plugin.
|
||||
*
|
||||
|
@ -145,4 +145,22 @@ class User_followeveryone_prefs extends Memcached_DataObject
|
||||
return (bool)$ufep->followeveryone;
|
||||
}
|
||||
}
|
||||
|
||||
static function savePref($user_id, $followEveryone)
|
||||
{
|
||||
$ufep = self::staticGet('user_id', $user_id);
|
||||
|
||||
if (empty($ufep)) {
|
||||
$ufep = new User_followeveryone_prefs();
|
||||
$ufep->user_id = $user_id;
|
||||
$ufep->followeveryone = $followEveryone;
|
||||
$ufep->insert();
|
||||
} else {
|
||||
$orig = clone($ufep);
|
||||
$ufep->followeveryone = $followEveryone;
|
||||
$ufep->update();
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user