Profile Manager v3.0

Release Notes

Provides better use of profile fields, replaces (replace profile fields) and configurable group fields

- importing default or custom fields
- ordering of custom fields (drag and drop)
- adds pulldown, radio, multiselect, calendar and datepicker field types
- show on register form (profile fields only)
- show output as tags
- mandatory fields (for register form, profile fields only)
- mandatory profile icon on register form
- disallow editing of a specific field (applies to edit profile only)
- replace profile fields access control with just one profile access option

Needs to be positioned after the profile plugin!!!



Version history
 - added: custom group fields
 - added: separate admin menu box for replacing profile/group fields
 - added: admin option to completely hide the non-editable profile fields from the edit profile form
 - added: warning in admin settings if plugin is ordered incorrectly
 - added: more reserved custom field names
 - changed: split admin profile fields page into views
 - changed: edit profile details => added security tokens
 - changed: adding custom field with 'description' name now is possible
 - changed: display of custom fields
 - changed: a lot of code
 - fixed: noneditable fields fix for 1.6
 - added: admin option for simplified access control
 - added: admin option for enforcing a profile icon on register form
 - added: regexp check on name field of a new profile field (a-zA-Z0-9_)
 - fixed: added maximum height to the multiple-select pulldown (control in css)
 - added: datepicker can be internationalised
 - added: multiselect pulldown field based on
 - added: dutch translation
 - changed: datepicker uses strftime instead of date php function in output so it listen to the server locale 
 - added: input/securitytoken view on profile edit form to comply to 1.6.x standards
 - fixed: show as tags also on edit profile and register
 - fixed: datepicker handling existing (non unix timestamp) data
 - fixed: loading of css of datepicker not working in IE
 - fixed: reference to in datepicker

 - added: option to output field (on profile) always as tags
 - added: datepicker (saves selected date as unix timestamp), can replace default elgg calendar view
 - added: option for disallowing editing of profile field (eg only ask on register or data maintained in external system)
 - initial release

 - profile completeness
 - multilingual options (in pulldown, radio, multiselect)
 - Default values for fields (user specified)
 - Force empty fields on profile
 - admin only profile fields
 - search based on fields
 - grouping of fields
 - editing of custom fields (instead of recreating)

Known issues:
- on register error backward maintaining selected profile icon is impossible due to security reasons

ColdTrick IT Solutions
(c) 2009 ColdTrick IT Solutions

Like this plug-in? Consider making a donation.

  • Okay I will unload for now, thanks!

  • @Tom

    We have begun with the same way, prefixing fields with the group name, now switching it to make fields have a group attribute. But I think having 'field groups' containing field names will give better performance. So what we are switching to is just another 'trick'.  We don't have so many fields, but just over 8-10 is enough to need grouping.

    And thanks for the link to the datepicker =)



    @DD: We decided different against the fieldname idea as well. What we are leaning towards now is using an array in the en.php file; with all names of the fields that are the first in new group. Something like this:

    • 'custom_profile_fields:fieldnames_header_first' => 'firstname,companyname,birthday',
    • 'custom_profile_fields:fieldnames_headers'      => 'Personal,Business,Private',

    While looping through the fields to display, we check if the fielname is part of the 'fieldnames_header_first' array and if so, start a new group with a title give by the index..


    Reason for this deviation for the first idea is to not mess with fieldnames, keeping it compatible when this mod id not activated as well as future releases...

  • @tom

    haha yeah, the very same reason =) so you are using constant field groups, nice temporary solution =)


  • Hi Jeroen,

    Great plugin :). It saved me alot of time in trying to find it in the code and hard-coding my replacements :).

    A few questions -

    How does the Mandatory setting behave for current users?

    If I have Coppa installed for the registration page, what can I add to the registration form to make sure the profile replacement shows up for the items I specify I want on the registration form?

    thanks & much appreciated!

  • How does the Mandatory setting behave for current users?

    Yes, i would like to know that either.. great plugin!

    I have defined a custom Mandatory field "Ethnicity" as pulldown > show on registration. The first option is the value "please select ehnicity".  As it is Mandatory, this first option will be taken over on registration, even if the user passes this field. So i will have users with Ethnicity "please select ehnicity".  How can i fix it, so the first option will not count as a valid value? Instead user must be forced to select an option.

  • Huh.. big problem,
    i installed the plugin but when going to save profile changes, i receive this error: "We encountered an error (token mismatch). This probably means that the page you were using expired. Please try again"
    I tried the plugin with version 1.5  2009/03/13/01 where the fields assigned as dropdown where not displayed...but the plugin runs error free....and
    version 1.6rc1 (1.5) 2009/07/22/01 .... where i get the above error

  • just retry saving settings... fyi this doesn't support functionality with 1.6

  • it is the 1.6rc, the version file says that it is version 1.5
    However, retry to save returns always the same error. As mentioned above, i tried the 1.5 version 2009031301 as well, but the selected field forms, like pull down fields, are not displayed. Instead the Elgg default fields are used.

  • Forgot to mention that the mismatch error accours only related to this plugin. As soon i disable it, the error disapears. It is not a apache issue as far as i was able to track

  • Damn. Too bad this plugin conflicts with the Event Calendar 0.81 plugin. If you post an event for this year, the event plugin will display the year 1969 for some reason. The programmer for Event Calendar says that it is most likely a conflict with Custom Profile Fields. Any ideas on that here?

  • Anyone have any ideas about the multipicker not working in chrome?  Works great in firefox.  

  • Hey - this plugin is great. i resolved my issue with the profile field not showing up on the registration page (user error, needed to clear cache). But I have noticed a few problems that I thought I should report.

    item1- loading 'default profile fields' in 'Replace Profile Fields' page causes all my site's plugins' settings to be set to default. Is this intended behavior for this feature? I thought it just pulled the default values for the profile fields and not all the other plugin's also.

    item2- I have coppa installed, along with captcha plugins. I did a hack to ensure that captcha functions within the coppa plugin's registration form. When a profile field is enabled for mandatory, it shows up on my registration form below my captcha and coppa checkbox (but above the register button). Any suggestions on what I can modify to get it to showup above the captcha/coppa checkbox?


  • Hi

    I have this funny issue. When i create a field type tag.

    When i key in EG BiotechCorp it shows in profile as BioTechCorp.

    Very Stratege. Even tried field type text and this happens also.


    Any clue?

  • Just upgraded to version 3.0

    Now i get

    function removeField(guid){ if(confirm('Are you sure you wish to delete this field?')){ $.post('' + guid, function(data){ if(data == 'true'){ $('#custom_profile_field_' + guid).hide('slow'); $('#custom_profile_field_' + guid).remove(); reorderCustomFields(); } else { alert("Unknown error occurred while deleting"); } }); } } function toggleOption(field, guid){ $.post('' + guid + '&field=' + field, function(data){ if(data == 'true'){ var curval = $("#" + field + "_" + guid + " font").html(); if(curval == "Yes"){ $("#" + field + "_" + guid + " font").attr("class","metadata_config_right_disabled").html("No"); } else { $("#" + field + "_" + guid + " font").attr("class","metadata_config_right_enabled").html("Yes"); } } else { alert("Unknown error occurred while changing the option"); } }); } function reorderCustomFields(){ var strArray = $('#custom_profile_fields_ordering').sortable('serialize'); $.post('', strArray); }

    When i click on Replace profile fields

    Also when i click import default group field, it says nothing to import

  • Hi Jeroen Dalsem.

    Really cool Plugin. Is there a possibility to convert the profilefields to searchfields for the same Database? For example: at the regristation one enters sex and age, then with the same form you can search somebody, like a extended search?! I hope you understand my question, my english is not the best. Greeds from Swiss

  • @Jeroen: I would appreciate an explanation of how the "Import custom fields" feature is supposed to work. It looks like the "reset" button deletes all profile fields and "import default" imports a default list from an array in actions/importFromDefault.php; the Import Custom Fields button looks like it is expecting custom fields from the plugin's settings, but the plugin settings view doesn't seem to support adding custom profile fields. So how is the information about these custom fields supposed to get in the database?

    Admittedly, I'm working in 1.6.1 and I know you don't support 1.6.1, but what I'm seeing matches the screenshot above, and I would appreciate a few hints.

  • @Brian the Import Custom Fields button imports your previous (in the default version of replace profile fields) defined profile fields. If you haven't defined any of those custom fields, there will be nothing to import.

  • I have a quick question about calling on a profile page's owner. I have modified the original profile fields so I can set my own, but when a user goes to a friend's profile, he can't see the friend's profile information. I can set it so the visiting user can see his own information regardless of who's profile is being looked at, but I can't figure out how to get the profile fields of the page owner to show up instead.

    I've tried:



    $vars['user'] and $vars[guid']


    and perhaps a few others...

    Any ideas? Much appreciated! :)

  • Hi, Jeroen

    I've tried using the plugin for customising group fields, but pulldown fields aren't populating their values.

    After investigating further, I noticed that no matter whether I'm in profiles or groups, the custom_profile_fields_profile_override hook gets triggered. custom_profile_fields_group_override never gets called.

    I'm trying to figure out why this is, and will try to give more feedback if I succeed.


  • @Jeroen

    OK, I seem to have localised the problem. You have a "mod/custom_profile_fields/views/default/profile/edit.php" file that overrides the profile edit view and populates the pulldown values properly. You do not have a corresponding view for the groups plugin.

    I assume you'll need one for adding a group, as well as editing a group?


Jeroen Dalsem

Owner of ColdTrick IT Solutions, developing social networking sites for the dutch market


  • Category: User admin
  • License: GNU General Public License (GPL) version 2
  • Updated: 2022-8-24
  • Downloads: 107197
  • Recommendations: 309

Other Projects

View Jeroen Dalsem's plugins