Changes to 'refs/tags/kolab-webadmin-2.4.0'
Jeroen van Meeuwen
vanmeeuwen at kolabsys.com
Fri Apr 13 10:20:16 CEST 2012
Tag 'kolab-webadmin-2.4.0' created by Jeroen van Meeuwen (Kolab Systems) <vanmeeuwen at kolabsys.com> at 2012-04-13 09:20 +0200
Release kolab-webadmin-2.4.0
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.12 (GNU/Linux)
iEYEABECAAYFAk+H4bcACgkQKN6f2pNCvwiXXwCgp2K9myTRuEp+DJlWOUw0YwBx
thQAnjykOJ2qk8z7XVhy8D7oAlSIicIG
=VLF7
-----END PGP SIGNATURE-----
Changes since the dawn of time:
Aleksander Machniak (235):
- Initial commit
Merge branch 'master' of ssh://git.klab.cc/git/machniak/kolab-wap
- Add session.use_cookies to critical PHP settings check
Merge branch 'master' of ssh://git.klab.cc/git/vanmeeuwen/kolab-wap
Improvements in kolab_html class, form functionality moved into separate class
Smarty 3.1.7
Style improvements, good-looking search box, watermark
Support kolab_form::INPUT_SELECT
Improvements in kolab_html class, form functionality moved into separate class
Improvements in kolab_html class, form functionality moved into separate class
More style improvements, extended user form, more phpdoc
Improvements in kolab_html class, form functionality moved into separate class
Improvements in kolab_html class, form functionality moved into separate class
Style improvements, good-looking search box, watermark
Merge branch 'master' of ssh://git.klab.cc/git/vanmeeuwen/kolab-wap
Restructured directory tree and class names (I'm not happy with it still)
Renamed classes (use kolab_) prefix
Merge branch 'master' of ssh://git.klab.cc/git/vanmeeuwen/kolab-wap
Improved form: title, tabs, buttons
Merge branch 'master' of ssh://git.klab.cc/git/vanmeeuwen/kolab-wap
Merge branch 'master' of ssh://git.klab.cc/git/vanmeeuwen/kolab-wap
Remove unused functions
Merge branch 'master' of ssh://git.klab.cc/git/machniak/kolab-wap
Fixed handling of expired sessions, fixed error logging
Rename kolab_api -> kolab_client_api, kolab_api_result -> kolab_client_api_result
Get rid of Smarty plugins, use engine methods directly for better performance
Added search form events
Some style improvements
Disabled some logging
Fixed floated div width issue in Chrome
Style improvements here and there, new logout button
Extended search form
CS fixes
Removed admin_ part of file/class names
Remove debug code
Typo
- Allow setting users list attributes
Fix typo in log message
Fix wrong assignment
Fix filtering list attributes
Print displayname on users list
Users searching
User search
Merge branch 'master' of ssh://git.klab.cc/git/machniak/kolab-wap
Users list sorting
Users list sorting, CS fixes
Users list pagination support
Merge branch 'master' of ssh://git.klab.cc/git/machniak/kolab-wap
Users list pagination
Merge branch 'master' of ssh://git.klab.cc/git/machniak/kolab-wap
CS fixes
Lang fix
Fix sql injections
Fix some whitespaces
Support pagination in groups.list and domains.list
Fixed possible SQL Injection
List attributes parameter support in groups.list
Small improvements
Merge branch 'master' of ssh://git.klab.cc/git/machniak/kolab-wap
Fixed domain name in systsem.capabilities response
Unify user_types and capabilities responses (list and count items)
Some improvements
Dashboard
Fix escaping form elements attributes
Some improvements for main page look
Allow any attributes with data- prefix
Add footer on login page too
- Some improvements in form fields handling
Added proxy functionality - allows direct API calls
API localization
Add mysql_fetch_assoc() wrapper in SQL class
Added smart form elements
Support form_fields value, add password prepopulation
Class filenames unification
Fixed parse error
Fixed proxy feature, some fixes here and there
Support auto_form_fields update
Simplified code with user_type_attributes() method
Fix on user_type_id
Fix typo
Fix form type detection
Small improvements in generate_* methods
Fixed typo in serialize_form()
Don't hardcode user_type_id
Some improvements in forms
Fix call to undefined method
Fix SQL error
Added simple SQL error handling/logging
Generate empty auto-fields in user.add
Rename password to userpassword
Merge branch 'master' of ssh://git.klab.cc/git/machniak/kolab-wap
Don't show password in user edit form
Fixed css issue with long users list
Implemented user.delete action, some improvements in user.add
Handle better cn=* logins
Don't require password fields in user edit form
Added license headers and LICENSE file
Fixed list paging issues
Fixed indentation
Improved API reponse handler
Added system.configure action
Added protocol detection to build proper API URL
Fixed methods' argument description
Added phpdoc
More phpdoc
Session validation is redundant in system.configure, removed
Logout on invalid-session (403) response from the API
Functionality related to user-type change
Fixed listarea widget in IE8
Unified form_value.generate API method (#625)
Generate correct email address when sn is empty
Hide all attribute fields that are not listed in 'form_fields' or 'auto_form_fields'
Merge branch 'master' of ssh://git.kolab.org/git/kolab-wap
Fix service method existance check - exclude private methods
Move user type detection to service class, return type id in user.info result
Improve performance by caching group/user types in memory
Fix typo in user_type_attributes()
More input checks in user_find_by_attribute() to skip "empty" searches
From now attributes in DB aren't serialized
Merge branch 'master' of ssh://git.kolab.org/git/kolab-wap
Support select field options from "form_fields"
Add autofocus attribute for username input in login form
Add more attributes to the map
Move user type selector to Personal fieldset
Fix password fields handling
Fix PHP warning when values of the select field aren't defined
Improve form_value.generate to support many attributes at a time
Fix fieldset selection on type change
Add form_value.validate
Small improvement for .listelement
Improvements in form generation, fixed user_type_id for edit form
Regenerate auto_form_fields values on user type change (#626)
Merge branch 'master' of ssh://git.kolab.org/git/kolab-wap
Fix hidden fields handling (#633)
Fix list widget
Merge branch 'master' of ssh://git.kolab.org/git/kolab-wap
Display account type in user edit form (#633)
Implement form_value.select_options
Use form_value.select_options
Move generic form generation code to kolab_client_task class (would be shared by 'group' and other modules)
Fix handling of disabled (auto-generated) fields (#635)
Merge branch 'master' of ssh://git.kolab.org/git/kolab-wap
Fix parse error
Support maxlength in listelement widget
Groups UI
Fixed typos in group_info() and group_members_list()
Merge branch 'master' of ssh://git.kolab.org/git/kolab-wap
Group add/edit forms
Merge branch 'master' of ssh://git.kolab.org/git/kolab-wap
Fix listelement serialization (#637)
Fix group.member_list response
Fix group members listing
Implemented form_value.list_options with uniquemember autocompletion
Improved Groups UI
Merge branch 'master' of ssh://git.kolab.org/git/kolab-wap
Autocompletion list widget
Fix users search (#641)
Move form widgets into main application script
Unified input elements width
jQuery 1.7.2
Implement groups searching
Implement groups search (UI)
Unified debug information in edit forms
Unify 'dn' item usage
Add created/modified by information in edit form
Small improvement in unknown user name handling
Fixed/Improved result normalization (with DN attribute handling)
Merge branch 'master' of ssh://git.kolab.org/git/kolab-wap
Merge branch 'master' of ssh://git.kolab.org/git/kolab-wap
Support new result type of *.info API calls
Support multiselect fields with fix for form serialization
Improved multiselect style
Make debug information optional, provide devel_mode config option
Fix typo in last change
Don't store user_types in session when working in devel_mode
Merge branch 'master' of ssh://git.kolab.org/git/kolab-wap
Improved search box styles
Implemented 'roles' service and autocompletion for nsrole attribute
Merge branch 'master' of ssh://git.kolab.org/git/kolab-wap
Added more phpdoc comments
Code cleanup and some fixes
Limit ldap_bind() calls
Limit ldap_search() calls by fetching all extra user attributes in one call
Fix identation
Improved LDAP connection handling
Fix so user roles names are listed instead of DNs
Group type ID detection (#660)
Fix PHP warning
Merge branch 'master' of ssh://git.kolab.org/git/kolab-wap
Unified some methods: Use object_type_*() instead of separate user_type_*/group_type_*/<any>_type_*.
Fix typo
Fix Fatal error
Some fixes
Removed debug code
Fix typo
Use 'id' as unique identifier (and entrydn), so API client don't need to know what real attribute name is
Unify function names (remove duplicated code)
Simplify some code, don't check userpassword2 on API backend
Use optional flag to mark required fields in UI
Make sure we always return valid email addresses
Check required fields on client side
Move some shared code to service (parent) class
Unify input attributes handling including unique attribute
Move user_edit/group_edit code into LDAP class, keep service classes backend-unaware
Merge branch 'master' of ssh://git.kolab.org/git/kolab-wap
Remove some redundant connect() calls.
Use unique_attribute() method
Fix result attributes parsing
Fix group_members_list()
Merge branch 'master' of ssh://git.kolab.org/git/kolab-wap
Fix so autocomplete list widget is displayed properly when the field is empty and disabled/readonly
Simplify effective rights checks in the form generator
Fix UI widgets to properly handle readonly/disabled state
Merge branch 'master' of ssh://git.kolab.org/git/kolab-wap
Fix clicking delete button on last listelement row
Remove entrydn field, value doesn't exist
Make a select really readonly by disabling options
Add translation for OU
Fix "0" empty in list widgets (broken in 63c1224c05a49b2e4382c96478ed7b3e20002d86)
User friendly OU names
Fix (properly) list widgets
Merge branch 'master' of ssh://git.kolab.org/git/kolab-wap
More list widget fixes (#682)
Comment out some debug code
Fix parse error in last commit
Add unified method to resolve entrydn into user-friendly text.
Resolve group names too
Fix auto_form_fields re-generation on object type change (#690)
Move list options convertion to user-friendly values to the API
Added timer() function
Added 'Generate password' link
Add object_type and type_id arguments to list_options/select_options calls (#698)
Include unique entry identifier in form_value.generate calls (#700)
Simplified pretty-printing of OU - use ldap_dn2ufn()
Fix "No type ID specified" error in auto-complete lists (#702)
Jeroen van Meeuwen (Kolab Systems) (240):
Initial commit
Add initial stab at some API work
Check in initial version of Thomas' work
Update .htaccess
Fix typo
Fix typo
Reuse the acquired $service / $method information
Let's try this again
Only return headers that actually exist
Actually authenticate the user
Update .htaccess to not automatically start sessions, and not use cookies
Remove print statement
Update .htaccess to use php_flag instead of php_value
Remove our own shitty Session lib
Check session validity through the $_SESSION['user']->_authenticated boolean
Attempt to get to listing domains
Return the domain name as part of the session information
Use the domain as auth detects it
Add additional services,
Add functions user_add() to Auth() and LDAP()
Expand variables obtained from the configuration, when possible
Add more service handlers
Update and add additional service_handlers
Add additional inline commentary for clarification
Add user_delete() function
Refine deleting a user
Add user_info() call, returning the ldap search result
Add Auth->user_info() call
Add user_info() API call
Merge branch 'master' of ssh://hosted01.klab.cc/git/vanmeeuwen/kolab-wap
Correct user_info()
Add a user_find_by_attribute() call, that returns FALSE if not a single user can be found carrying the attribute(s)
Add API calls to get, reset and set the current working domain name
Insert the result payload under a JSON dictionary key "result". This prevents lists returned from API calls to become part of a dictionary with integers as keys for the values
Add API calls to retrieve group information and to list the members of a group
Implement calls to the configuration library that allow obtaining settings in a raw fashion (i.e. without expanding any values contained within the settings obtained)
Add service handler group_types
Ensure mail addresses initially generated are unique
Add additional service handlers to load
Add group service handler
Update user->capabilities() with outcommented service methods yet to be implemented
Update domains service capabilities
Update form_value service capabilities
Update group service capabilities
Update group_types service capabilities
Update user_types service capabilities
Update users service capabilities
Add kolab_admin_groups_actions service handler
Load groups
Function's called get_username
Add search() call to Auth
Fix obtaining the group membership list for a user
Add a user_find_by_attribute() call, that returns FALSE if not a single user can be found carrying the attribute(s)
Add API calls to get, reset and set the current working domain name
Insert the result payload under a JSON dictionary key "result". This prevents lists returned from API calls to become part of a dictionary with integers as keys for the values
Add API calls to retrieve group information and to list the members of a group
Implement calls to the configuration library that allow obtaining settings in a raw fashion (i.e. without expanding any values contained within the settings obtained)
Add service handler group_types
Ensure mail addresses initially generated are unique
Add additional service handlers to load
Add group service handler
Update user->capabilities() with outcommented service methods yet to be implemented
Update domains service capabilities
Update form_value service capabilities
Update group service capabilities
Update group_types service capabilities
Update user_types service capabilities
Update users service capabilities
Add kolab_admin_groups_actions service handler
Load groups
Function's called get_username
Add search() call to Auth
Fix obtaining the group membership list for a user
Merge branch 'master' of ssh://hosted01.klab.cc/git/vanmeeuwen/kolab-wap
Rename 'client' to be in 'public_html'
Move some parts of the main .htaccess to be API interface specific
Restructure the files that do not belong in public_html to live in lib/
Update cache/.htaccess
Set plugins directory
Do not enforce / require the session.use_cookies setting to be set to either true or false
The function is called get_request_header, not request_header
The function is called get_request_header, not request_header
Do not enforce / require the session.use_cookies setting to be set to either true or false
The function is called get_request_header, not request_header
The function is called get_request_header, not request_header
Merge branch 'master' of ssh://hosted01.klab.cc/git/vanmeeuwen/kolab-wap
The service method groups.list uses GET, not POST
Add groups.list backend handlers
Remove obsolete add_user_test files
Modify the group list page to use the now implemented groups.list GET method service handler
Update LDAP to obtain the base_dn and filter for users
Merge branch 'master' of ssh://git.kolab.org/git/kolab-wap
Add some initial translations just to patch things up
Add form_value.generate_homedirectory()
Provide (non-functional) version of form_value.generate_uidnumber() and form_value.generate_gidnumber()
Update labels user.email and user.alias
Add additional labels
Provide form_value.generate_mailhost() (dummy function)
Add some attributes for the form and shuffle some
Correct .htaccess for this instance
Add kolab_recipient_policy capabilities
Merge branch 'dev/recipient_policy'
Return value changes
Use preferredlanguage to normalize some values that are supposed to be ascii
Merge branch 'master' of ssh://git.kolab.org/git/kolab-wap
Add public function list_rights($subject)
Add effective_rights() to LDAP
Update LDAP class with some extra TODOs
Add a preliminary version of listing options for a select list.
Add additional user information that may be specified as being a part of the user type, but is not returned as a result in your average LDAP query.
Add locale for user.nsrole
Add INSTALL file with setup instructions
Even more verbosily document INSTALL
Improve configuration handling
Use more items from configuration
More verbose loggin
Return false rather than null
Fix using 'ldap_uri' instead of 'uri'
Only use $_SESSION['user']->get_domain() if the method actually exists
Merge branch 'dev/configuration-handling'
Generate a proper primary mail attribute value for groups
Use lowercase comparisons when trying to see of the members of a group can be expanded
Make adding groups work
Take a stab at making groups editable (and users, ultimately)
Rename function user_attributes to get_attributes so it can sensibly be used for users, groups and other objects
Update kolab_admin.js to realize the difference between selecting to add a user, and submitting a form to add a user
Be a little more intelligent about where to add groups of a certain type using standard configuration section/item resolving mechanisms
Create a function Auth::modify_entry() to get things edited in one go.
Move to use configuration value 'unique_attribute' and 'user_name_attribute' and 'group_name_attribute' instead of it's short equivalents (write once read many times)
Also translate the edit success notification
Actually generate the uidnumber and gidnumber
Add 'edit' to capabilities
Generate the uid and preseed it into the recipient policy if it does not already exist.
Deprecate Auth::modify_entry_attributes
Discover what the RDN is by using the old LDAP object
'nsrole', as an attribute that can actually be added is called 'nsroledn' - provide that form_value.list_options function as well
Inverse form_value.list_options for nsrole and nsroledn, and issue a warning when using 'nsrole'
Add function user_edit()
Add nsroledn attribute to 'system' tab
Only replace attributes that are not empty.
Improve handling of optional form fields
Correct the comparison of an attribute being marked as optional
Attributes posted and also "static" forms should be preserved (as posted)
Supply the unique attribute to form submissions as data, so that form_value service methods such as generate_uid and generate_primary_mail can take into account whether the existing result found for a value generated is actually the same LDAP object as is being edited. Resolves #666.
Special treatment for the userpassword attribute (#665)
Allow the sort key to be an array
Allow the sort_by parameter th the users_list to be an array
Use the array sort_by
If the username cannot be obtained from the displayname, use the cn
Use the cn as the title for the user info / edit form if the displayname is empty / not available
If the query for domain name spaces failed, we are not a multi-domain setup.
Fall back to finding the user by entrydn attribute if the unique_attr does not work.
Append entrydn to the form as well
Provide Auth functions to get to attributes per objectclass, and syntax parameters per attributetype
Provide functions to interface users;
Merge branch 'master' of ssh://git.kolab.org/git/kolab-wap
Fix typo
Fix group deletion
Fix typo
Reduce code footprint to resolve a subject to a DN
Additional translations
Merge branch 'master' of ssh://git.kolab.org/git/kolab-wap
'group' => 'user'
Revert the alternate configuration file
Correct syntax error
More translations
Move fields to a "Contact Information" tab
I love spelling things out in full: unique_attr -> unique_attribute
Do not pass an array with a useless key to a function that is expecting a string
Rename user.shell -> user.loginshell
Move loginshell to the system tab
Check in effective_rights()
Implement capabilities based on effective_rights for groups
Implement effective_rights for users
Implement effective_rights for the menu
Merge branch 'master' of ssh://git.kolab.org/git/kolab-wap
Only mark fields as disabled if they're actually disabled - not if they're just read-only. Resolves #670
Use the correct values (the user details array, not the result from user_info()) in the call to modify_entry()
Override the default 'disabled' and 'readonly' attributes to fields depending on the access defined in $auth->list_rights($entry)
Enable getting back from the environment what we have set elsewhere (workaround for some issues that should be resolved by resolving #671).
Re-order alphabetically
Provide functions list_options_c and list_options_preferredlanguage()
Take into consideration whether or not the field is also a field for which the value is automatically generated
Retrieve all attributelevel access rights
Provide select_options_preferredlanguage from database and list_options_kolabdelegate
More labels
Revert the conditions under which a field is marked as disabled
Additional translations
Group sensible attributes together
Do not mark auto-generated fields as disabled or its values won't be submitted and the result is an attempt to delete the values from LDAP... :/
Fix #674 - disabled elements still have a white background
'title' is supposed to refer to job title or title in an organizational context.
Abstract searching from the authn/authz backend as well
Add a public search function, moving the internal (private) search functions to _search and __search
Add select_options_ou
Submit the data for an entry to the API calls for select options, so that the options can be limited based on entry metadata (object_type, type_id, ...)
Set a default preferredlanguage
Extend Auth::LDAP::group_info() and Auth::LDAP::user_info() with $attributes = array('*') parameter so all attributes we are interested in can be retrieved in one go.
Suppress console output
Suppress console output.
1) Populate the textarea element with an autocomplete widget with the original values.
Be compatible with lists that only have values
Clean up listing group members
List groups as options for uniquemember values too
Do not attempt to recursively resolve group members for API service method group.members_list
Allow a parameter $recurse to be passed along to group member listing
Remove the devel_mode cheat
Merge branch 'master' of ssh://git.kolab.org/git/kolab-wap
Add Conf::get_list(), allowing a list to be returned from a comma- or comma-space seperated value.
Use the login settings from the configuration file. Resolves #594
Add 3.0.0 initialization SQL file.
Add sample kolab.conf
Update INSTALL with the new doc/ contents
Correct use of $conf to $this->conf
Provide some content on the About page
If a DN is specified as the user login, use it as such
Fix single-value autocomplete lists
This doesn't actually fix anything.
Allow the configuration of whether an administrator user can override automatically generated fields, using a boolean kolab_wap/admin_auto_fields_rw setting.
Return the result of $auth->user_edit() to the client.
Translate the initials attribute to 'Initials' instead of 'Middle names'
Inverse the logic on declaring an array with a positive, non-zero length as empty
Make effective_rights() work with legacy group membership based authorization mechanisms
Enhance legacy_rights() with self-write access, and attributes from the schema
Add list_options_member(), and consolidate the function with list_options_uniquemember() into _list_options_members()
Add service method group_effective_rights()
Add the member attribute to the system tab on group information display
Use the correct service to call the API service method effective_rights() on
Add translation for group.member label
Correct getting effective rights for user, not group
Merge branch 'master' of ssh://git.kolab.org/git/kolab-wap
Do not just insert the default_locale as the default value for the preferredlanguage select list, take into account the object may already have a preferredlanguage set
Set the default OU for adding new users
Re-prepopulate the form fields for which the value is automatically generated after reloading the form for a type change (#690)
Revert "Re-prepopulate the form fields for which the value is automatically generated after reloading the form for a type change (#690)"
Clause the overriding of readonly fields with more administrator rights
Keep the uidnumber and gidnumber aligned - either highest one will cause the other to be bumped.
Merge branch 'master' of ssh://git.kolab.org/git/kolab-wap
Add a sample httpd configuration file
Update kolab-webadmin.conf for httpd
More information about the commits
mailing list