Search

Yes I added lock activation filter. I created quite a few accounts however was unable to spot where the activation code is... if I understood correctly it should be added to the event itself so I should not need additional Data Sources right?

Not quite.

The activation code can not be added to the event itself, because you will use a native Symphony event for registration.

But this native event returns the ID of the newly created entry (=member), and you can easily filter a datasource by this ID to return data of the new member (including the activation field which will output the code as long as the member is not activated).

Ah ok misunderstood the concept of where the Activation code would be... plus i had a minor mistake in my ds filtering so nothing was showing up. Managed to send my first activation email :)

Thanks Michael really appreciated your help :)

Loving the members extension, only one problem.

How do I automatically log a user in after registration?

@korelogic don't know if this makes sense but maybe you can attach two events and submit registration using Javascript to an ajax form then from the same page submit the login details using same email/username and password as registration. Obviously check if registration passed before trying to login - not sure if that would suit your needs.

Anyhow when trying to change a password being logged in as a member I am getting the following error

<b>Fatal error</b>:  Call to a member function get() on a non-object in <b>/home4/jonmifsu/public_html/prcom/extensions/members/lib/member.symphony.php</b> on line <b>359</b>

Any Idea why am I missing something? The password changes and the user is automatically logged out. (tried including the email and excluding it from the form same results)

Can you reproduce the issue with the 1.1 Beta?

Tried with 1.1RC1 error disappeared seems to have been fixed :) in 1.1

great job with this extension really useful.

The Members 1.1 RC1 is now available for testing. Barring any major issues, this code will be released as is as 1.1 on July 28th. If you spot any issues, please add them to the tracker

Download

Changelog [from Beta 1]

  • Revert Member: Email uniqueness changes [introduced in Beta 1]
  • Add MembersPostLogin/MembersPreLogout delegates

@gunglien, You got in quick, glad to here it's resolved. That issue usually means that the active member section has not been set via the Preferences page.

@brendo thought I had chosen it from the preferences as when I didn't choose it I was not able to login or anything - oh well as long as its fixed I'm happy.

just a small question brendo - at work we've been asked to integrate a login system using 3rd party details - that is we'll redirect login details and obtain an xml file with the user information. My senior asked if it was possible to do this by extending the member's extension.. I'm not sure if this would be a little bit too much cumbersome. If I had to extend the class.members.php Members Abstract class and extend/replace some functions related to the db in the main extension driver would you think it would be possible?

That's the idea of the abstract class and interface, so your thinking is definitely on the right track. The one thing the Members extension currently lacks is the ability to load different Member classes, it's currently hardcoded to SymphonyMember. You could toy around with adding this yourself (either by setting it to your custom Member class or detecting when to use SymphonyMember and when to use YourMember)

Alternatively, if your current authentication system makes use of OpenID, there's already an existing extension that integrates with Members.

No open id - just joining two faces of the company basically as web was separated from user accounts.

So just extending the Members class should be fine? I don't think we will be using SymphonyMember and the roles will most probably be provided by the XML or else according to the type of auth used, one for each role type from what I understood. I do not need to override functions such as getField etc? or would I need to since I do not think I will be creating a section to handle members (yet as they might want to add it as an extra later on).

I am having issues creating a New Member via the frontend after moving my code to a different server? Locally everything works fine, but on my staging server I get the following response:

<members-new result="error">
     <filter name="permission" status="failed">You are not authorised to perform this action.</filter>
        <post-values>
            <email>test@test.com</email>
            <password>
                <password>Password1</password>
                <confirm>Password1</confirm>
            </password>
        </post-values>
        <message>Entry encountered errors when saving.</message>
    </members-new>

UPDATE - please ignore public user needed permission to create new user.

@muthahubbard Check your roles and permissions. I think you have a permission filter (with the current logged in member) that is saying that the user with (rolex) is not allowed to create entries.


@brendo extending the members class is fantastic extension doing exactly what I want it to do. I can login and logout users with MyMember. Just a quick question in relation to roles. I get the user role from the external sources, (i have an array of possible values so I can insert these into symphony) however I am not sure where I have to change to set the roleid / value properly to make sure I can use role filtering on certain pages. it's not a big deal if its not possible I can always use the symphony variable to determine this.

I think it is the following line in the extension but would appreciate a confirmation

$role_data = $this->getMemberDriver()->getMember()->getData(extension_Members::getField('role')->get('id'));

Yeah, that line uses the Role field to return the corresponding Role data (which is just the Role ID at the moment). This Role ID is then passed off the RoleManager which is responsible for pulling the various event and page permissions.

I hadn't anticipated users being able extend the Roles system, so I'm not quite sure how you would go about creating your own. You could have a look at the lib/class.role.php file, which has the RoleManager and Role classes. If the API is flexible enough for your needs, you could replace the logic with your own? One thing is that pretty tightly coupled at the moment is the Role->canAccessEvent function, so that could be a bit of a ball ache to replicate. If possible, I would transcribe the Roles in your XML into Symphony so you can use the Role field natively, but your welcome to try otherwise!

Glad that the Member class was easy enough to extend. How did you go about making Members use it? Just update the construct function or something else?

For the roles for now its not a really big issue because we will be making use in template using the role parameter as for now we only want to give permissions on parts of pages rather then lock whole pages. (since its 3rd party login I don't have any role field in my db but i can make the system return ids matching that of symphony and then just edit that line to return the role id from the cookie so its not really a big issue if i need to use page filtering depending on roles)

basically for the members since I am getting data from a 3rd party xml (via https) I just replaced the login function to submit the username and password to the 3rd party via https and getting back xml data relating to the user and then storing this into the cookie object. For now isLoggedIn is only using cookie data however they should provide me a session variable to be able to check if the member should still be logged in whilst allowing me to update/get more information.

Then obviously had to extend addMemberDetailsToPageParams to add the new role since this was obtained at login and appendLoginStatusToEventXML so I am adding most of the cookie information that might be required to the xml to avoid creating additional datasources.

Whilst I set all the filters as true as I won't be using them(just a precaution in case someone attaches any by mistake) and setIdentityField findMemberIDFromCredentials and fetchMemberFromID are not being used since I don't have any related fields and I am not checking any member id's at this point so as an ID i have returned a hash value of the login to be able to track a member's movement around the site so hopefully we can provide customized client experience depending on habits in some point in the future.

Hope somebody will find this useful. In the end it was pretty easy I had managed to get it working within a few hours.

just another small question Brendo the extension is listed to be compatible with 2.2.1 however we have not managed to upgrade our live version yet still on 2.2 Local copy seems to be working the only error I get is when a user tries to login when already logged in; was wondering if there are any other possible issues? As we won't be able to upgrade until a couple of weeks as our policy is to have it done on weekends where site maintenance is more viable however the guys taking care of our servers have just decided to take a few weeks off so I'm not sure if we can possibly push this on live any sooner then the 2.2.1 upgrade.

I've implemented a shoutbox for logged in member profiles, mainly to see how member input behaves. Inserting {$member-id} as a value in the author field works fine unless the member has filled in the "Name" field--for some reason the system outputs their name instead of their username, which is a problem because then it incorrectly links to a non-existent profile.

I have seen posts in this thread explaining how to do what I intend to do, but there must be something I'm missing because I can't get it to work--it outputs a blank author field. I don't even know why the system picks the name over the username. What am I doing wrong?

EDIT: Nevermind, I'll try again with the new version.

Members updated to version 1.1 on 6th of August 2011

Changelog

  • Member: Username uniqueness is now done by handle, rather than value
  • Member: Activation and Member: Role UI has been updated to better show a Member's role while they are unactivated
  • Fix sorting and output parameter of the Member: Activation field
  • The Member: Reset Password event now works correctly with the Member: Email field when no Member: Username field is present
  • Addition of the Italian localisation
  • Other minor miscellaneous tweaks and fixes

#WIN

Thanks, Brendo!

Admittedly I haven't scoped this out much but just wondering if anyone has had any similar experiences.

We have a project using the old, now discontinued members extension, we've uninstalled this on a dev copy and integrating this new members extension ( mucho excitement! ).

However we'd really like to migrate the old users across, worst case we'd have to get all the users to use the forget password function but it'd be ace if we could someone migrate the passwords across also. I'm gonna dig into it a bit more in the morning but if anyones gone through this already and has some pointers it'd be much appreciated.

Great work on this extension by the way!

Most likely, you will not be able to migrate passwords because of the added security. The password field now stores passwords with an added Password Salt.

Create an account or sign in to comment.

Symphony • Open Source XSLT CMS

Server Requirements

  • PHP 5.3-5.6 or 7.0-7.3
  • PHP's LibXML module, with the XSLT extension enabled (--with-xsl)
  • MySQL 5.5 or above
  • An Apache or Litespeed webserver
  • Apache's mod_rewrite module or equivalent

Compatible Hosts

Sign in

Login details