1 tonightlife Jun 03, 2009 15:31
3 tonightlife Jun 03, 2009 16:41
That would be right, but the groups will have restricted permissions, so the new users won't choose their access levels, because I would administrate the group permission.
e.g. I have 3 blogs and every blog has its own group (only these group memebers can write post in this special blog).
So, the new user can decide for which blog he/she wants to register.
4 sam2kb Jun 03, 2009 17:18
Moved do feature requests
We can make some groups "open" for registration, so users may choose from those "open" groups. I think this makes sense.
5 tonightlife Jun 03, 2009 17:31
That would be great, how and where can I do this??
6 sam2kb Jun 03, 2009 17:34
You can't do this, it's the note/request for devs. We can just wait for replies and hope that they will add this in next release.
BTW this can be easily done with plugin.
7 tonightlife Jun 03, 2009 17:51
And does such a plugin exits? Or do I have to develop it on my own?
thx
8 yabba Jun 03, 2009 18:07
You'd need to write your own plugin.
Take a look at /inc/plugins/model/_plugins.admin.class.php ( approx line 52+ ) for all teh supported plugin events :
/**
* Get the list of all events/hooks supported by the plugin framework.
*
* Also puts in additional events provided by plugins.
* fp> please provide an example/use case
*
* Additional to the returned event methods (which can be disabled), there are internal
* ones which just get called on the plugin (and get not remembered in T_pluginevents), e.g.:
* - AfterInstall
* - BeforeEnable
* - BeforeDisable
* - BeforeInstall
* - BeforeUninstall
* - BeforeUninstallPayload
* - DisplaySkin (called on a skin from {@link GetProvidedSkins()})
* - ExecCronJob
* - GetDefaultSettings
* - GetDefaultUserSettings
* - GetExtraEvents
* - GetHtsrvMethods
* - PluginInit
* - PluginSettingsUpdateAction (Called as action before updating the plugin's settings)
* - PluginSettingsEditAction (Called as action before editing the plugin's settings)
* - PluginSettingsEditDisplayAfter (Called after standard plugin settings are displayed for editing)
* - PluginSettingsValidateSet (Called before setting a plugin's setting in the backoffice)
* - PluginUserSettingsUpdateAction (Called as action before updating the plugin's user settings)
* - PluginUserSettingsEditDisplayAfter (Called after displaying normal user settings)
* - PluginUserSettingsValidateSet (Called before setting a plugin's user setting in the backoffice)
* - PluginVersionChanged (Called when we detect a version change)
*
* The max length of event names is 40 chars (T_pluginevents.pevt_event).
*
* @todo Finish/Complete descriptions
*
* @return array Name of event (key) => description (value)
*/
function get_supported_events()
{
static $supported_events;
if( empty( $supported_events ) )
{
$supported_events = array(
'AdminAfterPageFooter' => '',
'AdminDisplayEditorButton' => '',
'AdminDisplayToolbar' => 'Display a toolbar on the edit screen(s)',
'AdminDisplayCommentFormFieldset' => '',
'AdminDisplayItemFormFieldset' => '',
'AdminEndHtmlHead' => '',
'AdminAfterMenuInit' => '',
'AdminTabAction' => '',
'AdminTabPayload' => '',
'AdminToolAction' => '',
'AdminToolPayload' => '',
'AdminBeforeItemEditCreate' => 'This gets called before a new item gets created from the backoffice.',
'AdminBeforeItemEditUpdate' => 'This gets called before an existing item gets updated from the backoffice.',
'AdminBeforeItemEditDelete' => 'This gets called before an existing item gets deleted from the backoffice.',
'AdminBeginPayload' => '',
'CacheObjects' => 'Cache data objects.',
'CachePageContent' => 'Cache page content.',
'CacheIsCollectingContent' => 'Gets asked for if we are generating cached content.',
'AfterCommentDelete' => 'Gets called after a comment has been deleted from the database.',
'AfterCommentInsert' => 'Gets called after a comment has been inserted into the database.',
'AfterCommentUpdate' => 'Gets called after a comment has been updated in the database.',
'AfterItemDelete' => '',
'PrependItemInsertTransact' => '',
'AfterItemInsert' => '',
'PrependItemUpdateTransact' => '',
'AfterItemUpdate' => '',
'AppendItemPreviewTransact' => '',
'FilterItemContents' => 'Filters the content of a post/item right after input.',
'UnfilterItemContents' => 'Unfilters the content of a post/item right before editing.',
// fp> rename to "PreRender"
'RenderItemAsHtml' => 'Renders content when generated as HTML.',
'RenderItemAsXml' => 'Renders content when generated as XML.',
'RenderItemAsText' => 'Renders content when generated as plain text.',
// fp> rename to "DispRender"
// dh> TODO: those do not get called anymore!
'DisplayItemAsHtml' => 'Called on an item when it gets displayed as HTML.',
'DisplayItemAsXml' => 'Called on an item when it gets displayed as XML.',
'DisplayItemAsText' => 'Called on an item when it gets displayed as text.',
// fp> These is actually RENDERing, right?
// TODO: Rename to "DispRender"
'FilterCommentAuthor' => 'Filters the comment author.',
'FilterCommentAuthorUrl' => 'Filters the URL of the comment author.',
'FilterCommentContent' => 'Filters the content of a comment.',
'AfterUserDelete' => '',
'AfterUserInsert' => '',
'AfterUserUpdate' => '',
// fp> This is actually RENDERing, right?
// TODO: Rename to "DispRender"
'FilterIpAddress' => 'Called when displaying an IP address.',
'ItemApplyAsRenderer' => 'Asks the plugin if it wants to apply as a renderer for an item.',
'ItemCanComment' => 'Asks the plugin if an item can receive comments/feedback.',
'ItemSendPing' => 'Send a ping to a service about new items.',
'ItemViewsIncreased' => 'Called when the view counter of an item got increased.',
'SkinTag' => '',
'AppendHitLog' => 'Called when a hit gets logged, but before it gets recorded.',
'DisplayCommentToolbar' => 'Display a toolbar on the public feedback form',
'DisplayCommentFormButton' => '',
'DisplayCommentFormFieldset' => '',
'DisplayMessageFormButton' => '',
'DisplayMessageFormFieldset' => '',
'DisplayLoginFormFieldset' => 'Called when displaying the "Login" form.',
'DisplayRegisterFormFieldset' => 'Called when displaying the "Register" form.',
'DisplayValidateAccountFormFieldset' => 'Called when displaying the "Validate account" form.',
'CommentFormSent' => 'Called when a public comment form has been sent and gets received.',
'BeforeCommentFormInsert' => 'Called before a comment gets recorded through the public comment form.',
'AfterCommentFormInsert' => 'Called after a comment has been added through public form.',
'BeforeTrackbackInsert' => 'Gets called before a trackback gets recorded.',
'AfterTrackbackInsert' => 'Gets called after a trackback has been recorded.',
'LoginAttempt' => 'Called when a user tries to login.',
'LoginAttemptNeedsRawPassword' => 'A plugin has to return true here, if it needs a raw (un-hashed) password in LoginAttempt.',
'AlternateAuthentication' => '',
'MessageFormSent' => 'Called when the "Message to user" form has been submitted.',
'MessageFormSentCleanup' => 'Called after a email message has been sent through public form.',
'Logout' => 'Called when a user logs out.',
'GetSpamKarmaForComment' => 'Asks plugin for the spam karma of a comment/trackback.',
// Other Plugins can use this:
'CaptchaValidated' => 'Validate the test from CaptchaPayload to detect humans.',
'CaptchaValidatedCleanup' => 'Cleanup data used for CaptchaValidated.',
'CaptchaPayload' => 'Provide a turing test to detect humans.',
'RegisterFormSent' => 'Called when the "Register" form has been submitted.',
'ValidateAccountFormSent' => 'Called when the "Validate account" form has been submitted.',
'AppendUserRegistrTransact' => 'Gets appended to the transaction that creates a new user on registration.',
'AfterUserRegistration' => 'Gets called after a new user has registered.',
'SessionLoaded' => '', // gets called after $Session is initialized, quite early.
'AfterLoginAnonymousUser' => 'Gets called at the end of the login procedure for anonymous visitors.',
'AfterLoginRegisteredUser' => 'Gets called at the end of the login procedure for registered users.',
'BeforeBlogDisplay' => 'Gets called before a (part of the blog) gets displayed.',
'SkinBeginHtmlHead' => 'Gets called at the top of the HTML HEAD section in a skin.',
'SkinEndHtmlBody' => 'Gets called at the end of the skin\'s HTML BODY section.',
'DisplayTrackbackAddr' => '',
'GetCronJobs' => 'Gets a list of implemented cron jobs.',
'GetProvidedSkins' => 'Get a list of "skins" handled by the plugin.',
'PluginUserSettingsEditAction' => 'Called as action before editing a user\'s settings.',
);
There's doc pages for them all, but buggered if I can find them, I find it easier to read code ;)
The hooks you'll ( probably ) require are ;
'DisplayRegisterFormFieldset' => 'Called when displaying the "Register" form.',
'RegisterFormSent' => 'Called when the "Register" form has been submitted.',
¥
9 sam2kb Jun 03, 2009 18:07
You have to develop it or [url=http://forums.b2evolution.net/viewforum.php?f=34]post a request[/url] and wait.
Far more secure for you as admin to "upgrade" a user to the correct group than to allow any man and his dog to choose his access level on (open) registration ;)
¥