phpldapadmin: Upgrade configuration to 1.2.0.5.
authorMatthijs Kooijman <matthijs@www.drsnuggles.stderr.nl>
Thu, 15 Apr 2010 10:28:14 +0000 (12:28 +0200)
committerMatthijs Kooijman <matthijs@www.drsnuggles.stderr.nl>
Thu, 15 Apr 2010 10:28:14 +0000 (12:28 +0200)
26 files changed:
etc/phpldapadmin/config.php
etc/phpldapadmin/templates/creation/alias.xml
etc/phpldapadmin/templates/creation/courierMailAccount.xml
etc/phpldapadmin/templates/creation/courierMailAlias.xml
etc/phpldapadmin/templates/creation/dNSDomain.xml
etc/phpldapadmin/templates/creation/example.xml
etc/phpldapadmin/templates/creation/inetOrgPerson.xml
etc/phpldapadmin/templates/creation/kolabPerson.xml
etc/phpldapadmin/templates/creation/mozillaOrgPerson.xml
etc/phpldapadmin/templates/creation/organizationalRole.xml
etc/phpldapadmin/templates/creation/ou.xml
etc/phpldapadmin/templates/creation/posixAccount.xml
etc/phpldapadmin/templates/creation/posixGroup.xml
etc/phpldapadmin/templates/creation/sambaDomain.xml
etc/phpldapadmin/templates/creation/sambaGroupMapping.xml
etc/phpldapadmin/templates/creation/sambaMachine.xml
etc/phpldapadmin/templates/creation/sambaSamAccount.xml
etc/phpldapadmin/templates/creation/sendmailMTAAliasObject.xml
etc/phpldapadmin/templates/creation/sendmailMTAClass.xml
etc/phpldapadmin/templates/creation/sendmailMTACluster.xml
etc/phpldapadmin/templates/creation/sendmailMTAMapObject.xml
etc/phpldapadmin/templates/creation/sendmailVirtualDomain.xml
etc/phpldapadmin/templates/creation/sendmailVirtualUser.xml
etc/phpldapadmin/templates/creation/simpleSecurityObject.xml
etc/phpldapadmin/templates/modification/inetOrgPerson.xml
etc/phpldapadmin/templates/template.dtd

index 6d6a00ee855e22bbe6ab0998d9576400925d84c1..e6e935be119f5f63d956fda98bba44aaeee186e5 100644 (file)
@@ -6,6 +6,7 @@
 
 /**
  * The phpLDAPadmin config file
+ * See: http://phpldapadmin.sourceforge.net/wiki/index.php/Config.php
  *
  * This is where you can customise some of the phpLDAPadmin defaults
  * that are defined in config_default.php.
  * To override a default, use the $config->custom variable to do so.
  * For example, the default for defining the language in config_default.php
  *
- * $this->default->appearance['lang'] = array(
+ * $this->default->appearance['language'] = array(
  *  'desc'=>'Language',
  *  'default'=>'auto');
  *
- * to override this, use $config->custom->appearance['lang'] = 'en';
+ * to override this, use $config->custom->appearance['language'] = 'en_EN';
  *
  * This file is also used to configure your LDAP server connections.
  *
@@ -39,7 +40,7 @@
 /* Useful important configuration overrides  */
 /*********************************************/
 
-/* If you are asked to put pla in debug mode, this is how you do it: */
+/* If you are asked to put PLA in debug mode, this is how you do it: */
 #  $config->custom->debug['level'] = 255;
 #  $config->custom->debug['syslog'] = true;
 #  $config->custom->debug['file'] = '/tmp/pla_debug.log';
@@ -57,8 +58,8 @@
 
 /* The temporary storage directory where we will put jpegPhoto data
    This directory must be readable and writable by your web server. */
-// $config->custom->jpeg['tmpdir'] = "/tmp";     // Example for Unix systems
-#  $config->custom->jpeg['tmpdir'] = "c:\\temp"; // Example for Windows systems
+// $config->custom->jpeg['tmpdir'] = '/tmp';     // Example for Unix systems
+#  $config->custom->jpeg['tmpdir'] = 'c:\\temp'; // Example for Windows systems
 
 /* Set this to (bool)true if you do NOT want a random salt used when
    calling crypt().  Instead, use the first two letters of the user's
    30 seconds or the setting of max_exection_time if this is null. */
 // $config->custom->session['timelimit'] = 30;
 
+/* Our local timezone
+   This is to make sure that when we ask the system for the current time, we
+   get the right local time. If this is not set, all time() calculations will
+   assume UTC if you have not set PHP date.timezone. */
+// $config->custom->appearance['timezone'] = null;
+#  $config->custom->appearance['timezone'] = 'Australia/Melbourne';
+
 /*********************************************/
 /* Commands                                  */
 /*********************************************/
 /* Command availability ; if you don't authorize a command the command
    links will not be shown and the command action will not be permitted.
    For better security, set also ACL in your ldap directory. */
-
 /*
-$config->custom->commands['all'] = array(
- 'home'    => true,
- 'external_links' => array('feature'  => true,
-                           'bug'      => true,
-                           'donation' => true,
-                           'help'     => true,
-                           'credits'  => true),
- 'purge'   => true,
- 'schema'  => true,
- 'import'  => true,
- 'export'  => true,
- 'logout'  => true,
- 'search'  => array('simple_search'     => true,
-                    'predefined_search' => true,
-                    'advanced_search'   => true),
- 'server_refresh' => true,
- 'server_info'    => true,
- 'entry_refresh'  => true,
- 'entry_move'     => true,
- 'entry_internal_attributes_show' => true,
- 'entry_delete'  => array('simple_delete' => true,
-                          'mass_delete'   => false),
- 'entry_rename'  => true,
- 'entry_compare' => true,
- 'entry_create'  => true,
- 'attribute_add'          => true,
- 'attribute_add_value'    => true,
- 'attribute_delete'       => true,
- 'attribute_delete_value' => true);
+$config->custom->commands['cmd'] = array(
+       'entry_internal_attributes_show' => true,
+       'entry_refresh' => true,
+       'oslinks' => true,
+       'switch_template' => true
+);
+
+$config->custom->commands['script'] = array(
+       'add_attr_form' => true,
+       'add_oclass_form' => true,
+       'add_value_form' => true,
+       'collapse' => true,
+       'compare' => true,
+       'compare_form' => true,
+       'copy' => true,
+       'copy_form' => true,
+       'create' => true,
+       'create_confirm' => true,
+       'delete' => true,
+       'delete_attr' => true,
+       'delete_form' => true,
+       'draw_tree_node' => true,
+       'expand' => true,
+       'export' => true,
+       'export_form' => true,
+       'import' => true,
+       'import_form' => true,
+       'login' => true,
+       'logout' => true,
+       'login_form' => true,
+       'mass_delete' => true,
+       'mass_edit' => true,
+       'mass_update' => true,
+       'modify_member_form' => true,
+       'monitor' => true,
+       'purge_cache' => true,
+       'query_engine' => true,
+       'rename' => true,
+       'rename_form' => true,
+       'rdelete' => true,
+       'refresh' => true,
+       'schema' => true,
+       'server_info' => true,
+       'show_cache' => true,
+       'template_engine' => true,
+       'update_confirm' => true,
+       'update' => true
+);
 */
 
 /*********************************************/
@@ -117,63 +143,147 @@ $config->custom->commands['all'] = array(
 /*********************************************/
 
 // Use the displayName in the tree view, when available.
-$config->custom->appearance['tree_display_formats'] = array("%displayName", "%rdnValue");
-
-// Only use custom templates (starting with custom_)
-$config->custom->appearance['custom_templates_only'] = true;
+$config->custom->appearance['tree_display_format'] = array("%displayName", "%rdnValue");
 
 /* If you want to choose the appearance of the tree, specify a class name which
    inherits from the Tree class. */
-// $config->custom->appearance['tree'] = "AJAXTree";
-#  $config->custom->appearance['tree'] = "HTMLTree";
-
-/* If you want to customise the entry view/edition, specify your factory name which
-   inherits from the EntryFactory class.
-   The 'DefaultEntryFactory' draws all the attributes of an entry according this
-   config file and the ldap schema definition ; the 'TemplateEntryFactory' draws
-   an entry according to the template whose regexp matches with the dn. */
-#  $config->custom->appearance['entry_factory'] = "DefaultEntryFactory";
-// $config->custom->appearance['entry_factory'] = "TemplateEntryFactory";
-
-/* If you want to customise an attribute view/edition, specify your factory name which
-   inherits from the AttributeFactory class.
-   An AttributeFactory defines which class to use to represent a given attribute */
-// $config->custom->appearance['attribute_factory'] = "AttributeFactory";
+// $config->custom->appearance['tree'] = 'AJAXTree';
+#  $config->custom->appearance['tree'] = 'HTMLTree';
+
+/* Just show your custom templates. */
+$config->custom->appearance['custom_templates_only'] = true;
+
+/* Disable the default template. */
+// $config->custom->appearance['disable_default_template'] = false;
+
+/* Hide the warnings for invalid objectClasses/attributes in templates. */
+// $config->custom->appearance['hide_template_warning'] = false;
 
 /* Configure what objects are shown in left hand tree */
 // $config->custom->appearance['tree_filter'] = '(objectclass=*)';
 
 /* The height and width of the tree. If these values are not set, then
-   no tree scroll bars are provided.
+   no tree scroll bars are provided. */
 // $config->custom->appearance['tree_height'] = null;
 #  $config->custom->appearance['tree_height'] = 600;
 // $config->custom->appearance['tree_width'] = null;
 #  $config->custom->appearance['tree_width'] = 250;
 
+/*********************************************/
+/* User-friendly attribute translation       */
+/*********************************************/
+
+/* Use this array to map attribute names to user friendly names. For example, if
+   you don't want to see "facsimileTelephoneNumber" but rather "Fax". */
+// $config->custom->appearance['friendly_attrs'] = array();
+$config->custom->appearance['friendly_attrs'] = array(
+       'facsimileTelephoneNumber' => 'Fax',
+       'gid'                      => 'Group',
+       'mail'                     => 'Email',
+       'telephoneNumber'          => 'Telephone',
+       'uid'                      => 'User Name',
+       'userPassword'             => 'Password'
+);
+
+/*********************************************/
+/* Hidden attributes                         */
+/*********************************************/
+
+/* You may want to hide certain attributes from being edited. If you want to
+   hide attributes from the user, you should use your LDAP servers ACLs.
+   NOTE: The user must be able to read the hide_attrs_exempt entry to be
+   excluded. */
+// $config->custom->appearance['hide_attrs'] = array();
+#  $config->custom->appearance['hide_attrs'] = array('objectClass');
+
+/* Members of this list will be exempt from the hidden attributes.*/
+// $config->custom->appearance['hide_attrs_exempt'] = null;
+#  $config->custom->appearance['hide_attrs_exempt'] = 'cn=PLA UnHide,ou=Groups,c=AU';
+
+/*********************************************/
+/* Read-only attributes                      */
+/*********************************************/
+
+/* You may want to phpLDAPadmin to display certain attributes as read only,
+   meaning that users will not be presented a form for modifying those
+   attributes, and they will not be allowed to be modified on the "back-end"
+   either. You may configure this list here:
+   NOTE: The user must be able to read the readonly_attrs_exempt entry to be
+   excluded. */
+// $config->custom->appearance['readonly_attrs'] = array();
+
+/* Members of this list will be exempt from the readonly attributes.*/
+// $config->custom->appearance['readonly_attrs_exempt'] = null;
+#  $config->custom->appearance['readonly_attrs_exempt'] = 'cn=PLA ReadWrite,ou=Groups,c=AU';
+
+/*********************************************/
+/* Group attributes                          */
+/*********************************************/
+
+/* Add "modify group members" link to the attribute. */
+// $config->custom->modify_member['groupattr'] = array('member','uniqueMember','memberUid');
+
+/* Configure filter for member search. This only applies to "modify group members" feature */
+// $config->custom->modify_member['filter'] = '(objectclass=Person)';
+
+/* Attribute that is added to the group member attribute. */
+// $config->custom->modify_member['attr'] = 'dn';
+
+/* For Posix attributes */
+// $config->custom->modify_member['posixattr'] = 'uid';
+// $config->custom->modify_member['posixfilter'] = '(uid=*)';
+// $config->custom->modify_member['posixgroupattr'] = 'memberUid';
+
+/*********************************************/
+/* Support for attrs display order           */
+/*********************************************/
+
+/* Use this array if you want to have your attributes displayed in a specific
+   order. You can use default attribute names or their fridenly names.
+   For example, "sn" will be displayed right after "givenName". All the other
+   attributes that are not specified in this array will be displayed after in
+   alphabetical order. */
+// $config->custom->appearance['attr_display_order'] = array();
+#  $config->custom->appearance['attr_display_order'] = array(
+#   'givenName',
+#   'sn',
+#   'cn',
+#   'displayName',
+#   'uid',
+#   'uidNumber',
+#   'gidNumber',
+#   'homeDirectory',
+#   'mail',
+#   'userPassword'
+#  );
+
 /*********************************************/
 /* Define your LDAP servers in this section  */
 /*********************************************/
 
-$i=0;
-$ldapservers = new LDAPServers;
+$servers = new Datastore();
+
+/* $servers->NewServer('ldap_pla') must be called before each new LDAP server
+   declaration. */
+$servers->newServer('ldap_pla');
 
 /* A convenient name that will appear in the tree viewer and throughout
    phpLDAPadmin to identify this LDAP server to users. */
-$ldapservers->SetValue($i,'server','name','My LDAP Server');
+$servers->setValue('server','name','My LDAP Server');
 
 /* Examples:
    'ldap.example.com',
    'ldaps://ldap.example.com/',
    'ldapi://%2fusr%local%2fvar%2frun%2fldapi'
            (Unix socket at /usr/local/var/run/ldap) */
-$ldapservers->SetValue($i,'server','host','ldap.drsnuggles.stderr.nl');
+$servers->setValue('server','host','ldap.drsnuggles.stderr.nl');
 
 /* The port your LDAP server listens on (no quotes). 389 is standard. */
-// $ldapservers->SetValue($i,'server','port','389');
+// $servers->setValue('server','port',389);
 
 /* Array of base DNs of your LDAP server. Leave this blank to have phpLDAPadmin
    auto-detect it for you. */
-$ldapservers->SetValue($i,'server','base',array('dc=drsnuggles,dc=stderr,dc=nl'));
+$servers->setValue('server','base',array('dc=drsnuggles,dc=stderr,dc=nl'));
 
 /* Four options for auth_type:
    1. 'cookie': you will login via a web form, and a client-side cookie will
@@ -189,28 +299,23 @@ $ldapservers->SetValue($i,'server','base',array('dc=drsnuggles,dc=stderr,dc=nl')
    your situation. If you choose 'cookie', your cookie contents will be
    encrypted using blowfish and the secret your specify above as
    session['blowfish']. */
-$ldapservers->SetValue($i,'server','auth_type','session');
+$servers->setValue('login','auth_type','session');
 
 /* The DN of the user for phpLDAPadmin to bind with. For anonymous binds or
    'cookie' or 'session' auth_types, LEAVE THE LOGIN_DN AND LOGIN_PASS BLANK. If
    you specify a login_attr in conjunction with a cookie or session auth_type,
-   then you can also specify the login_dn/login_pass here for searching the
+   then you can also specify the bind_id/bind_pass here for searching the
    directory for users (ie, if your LDAP server does not allow anonymous binds. */
-// $ldapservers->SetValue($i,'login','dn','');
- $ldapservers->SetValue($i,'login','dn','cn=admin,dc=drsnuggles,dc=stderr,dc=nl');
+$servers->setValue('login','bind_id','cn=admin,dc=drsnuggles,dc=stderr,dc=nl');
+#  $servers->setValue('login','bind_id','cn=Manager,dc=example,dc=com');
 
-/* Your LDAP password. If you specified an empty login_dn above, this MUST also
+/* Your LDAP password. If you specified an empty bind_id above, this MUST also
    be blank. */
-// $ldapservers->SetValue($i,'login','pass','');
- $ldapservers->SetValue($i,'login','pass','');
-
-// Make sure that uniqueNumber doesn't start counting at 1000. The uidNumbers
-// will still work correctly, since they start counting at whatever minimal
-// value is in the directory already.
- $ldapservers->SetValue($i,'auto_number','min',0);
+// $servers->setValue('login','bind_pass','');
+#  $servers->setValue('login','bind_pass','secret');
 
 /* Use TLS (Transport Layer Security) to connect to the LDAP server. */
-// $ldapservers->SetValue($i,'server','tls',false);
+// $servers->setValue('server','tls',false);
 
 /************************************
  *      SASL Authentication         *
@@ -219,19 +324,19 @@ $ldapservers->SetValue($i,'server','auth_type','session');
 /* Enable SASL authentication LDAP SASL authentication requires PHP 5.x
    configured with --with-ldap-sasl=DIR. If this option is disabled (ie, set to
    false), then all other sasl options are ignored. */
-// $ldapservers->SetValue($i,'server','sasl_auth',false);
+// $servers->setValue('server','sasl_auth',false);
 
 /* SASL auth mechanism */
-// $ldapservers->SetValue($i,'server','sasl_mech','PLAIN');
+// $servers->setValue('server','sasl_mech','PLAIN');
 
 /* SASL authentication realm name */
-// $ldapservers->SetValue($i,'server','sasl_realm','');
-#  $ldapservers->SetValue($i,'server','sasl_realm',"example.com");
+// $servers->setValue('server','sasl_realm','');
+#  $servers->setValue('server','sasl_realm','example.com');
 
 /* SASL authorization ID name
    If this option is undefined, authorization id will be computed from bind DN,
    using sasl_authz_id_regex and sasl_authz_id_replacement. */
-// $ldapservers->SetValue($i,'server','sasl_authz_id', null);
+// $servers->setValue('server','sasl_authz_id', null);
 
 /* SASL authorization id regex and replacement
    When sasl_authz_id property is not set (default), phpLDAPAdmin will try to
@@ -246,24 +351,18 @@ $ldapservers->SetValue($i,'server','auth_type','session');
    For info about pcre regexes, see:
    - pcre(3), perlre(3)
    - http://www.php.net/preg_replace */
-// $ldapservers->SetValue($i,'server','sasl_authz_id_regex',null);
-// $ldapservers->SetValue($i,'server','sasl_authz_id_replacement',null);
-#  $ldapservers->SetValue($i,'server','sasl_authz_id_regex','/^uid=([^,]+)(.+)/i');
-#  $ldapservers->SetValue($i,'server','sasl_authz_id_replacement','$1');
+// $servers->setValue('server','sasl_authz_id_regex',null);
+// $servers->setValue('server','sasl_authz_id_replacement',null);
+#  $servers->setValue('server','sasl_authz_id_regex','/^uid=([^,]+)(.+)/i');
+#  $servers->setValue('server','sasl_authz_id_replacement','$1');
 
 /* SASL auth security props.
-   See http://beepcore-tcl.sourceforge.net/tclsasl.html#anchor5 for explanation.
-*/
-// $ldapservers->SetValue($i,'server','sasl_props',null);
-
-/* If the link between your web server and this LDAP server is slow, it is
-   recommended that you set 'low_bandwidth' to true. This will enable
-   phpLDAPadmin to forego some "fancy" features to conserve bandwidth. */
-// $ldapservers->SetValue($i,'server','low_bandwidth',false);
+   See http://beepcore-tcl.sourceforge.net/tclsasl.html#anchor5 for explanation. */
+// $servers->setValue('server','sasl_props',null);
 
 /* Default password hashing algorithm. One of md5, ssha, sha, md5crpyt, smd5,
    blowfish, crypt or leave blank for now default algorithm. */
-// $ldapservers->SetValue($i,'appearance','password_hash','md5');
+// $servers->setValue('appearance','password_hash','md5');
 
 /* If you specified 'cookie' or 'session' as the auth_type above, you can
    optionally specify here an attribute to use when logging in. If you enter
@@ -271,43 +370,39 @@ $ldapservers->SetValue($i,'server','auth_type','session');
    and log in as that user.
    Leave blank or specify 'dn' to use full DN for logging in. Note also that if
    your LDAP server requires you to login to perform searches, you can enter the
-   DN to use when searching in 'login_dn' and 'login_pass' above. You may also
-   specify 'string', in which case you can provide a string to use for logging
-   users in. See 'login_string' directly below. */
-// $ldapservers->SetValue($i,'login','attr','dn');
+   DN to use when searching in 'bind_id' and 'bind_pass' above.
+// $servers->setValue('login','attr','dn');
+
+/* Base DNs to used for logins. If this value is not set, then the LDAP server
+   Base DNs are used. */
+// $servers->setValue('login','base',array());
+
+/* If 'login,attr' is used above such that phpLDAPadmin will search for your DN
+   at login, you may restrict the search to a specific objectClasses. EG, set this
+   to array('posixAccount') or array('inetOrgPerson',..), depending upon your
+   setup. */
+// $servers->setValue('login','class',array());
 
 /* If you specified something different from 'dn', for example 'uid', as the
    login_attr above, you can optionally specify here to fall back to
    authentication with dn.
    This is useful, when users should be able to log in with their uid, but
    the ldap administrator wants to log in with his root-dn, that does not
-   necessarily have the uid attribute. */
-// $ldapservers->SetValue($i,'login','fallback_dn',false);
-
-/* If you specified 'cookie' or 'session' as the auth_type above, and you
-   specified 'string' for 'login_attr' above, you must provide a string here for
-   logging users in. If, for example, I have a lot of user entries with DNs like
-   "uid=dsmith,ou=People,dc=example,dc=com", then I can specify a string
-   "uid=<username>,ou=People,dc=example,dc=com" and my users can login with
-   their user names alone, ie: "dsmith" in this case. */
-#  $ldapservers->SetValue($i,'login','string','uid=<username>,ou=People,dc=example,dc=com');
-
-/* If 'login_attr' is used above such that phpLDAPadmin will search for your DN
-   at login, you may restrict the search to a specific objectClass. EG, set this
-   to 'posixAccount' or 'inetOrgPerson', depending upon your setup. */
-// $ldapservers->SetValue($i,'login','class',null);
+   necessarily have the uid attribute.
+   When using this feature, login_class is ignored. */
+// $servers->setValue('login','fallback_dn',false);
 
 /* Specify true If you want phpLDAPadmin to not display or permit any
    modification to the LDAP server. */
-// $ldapservers->SetValue($i,'server','read_only',false);
+// $servers->setValue('server','read_only',false);
 
 /* Specify false if you do not want phpLDAPadmin to draw the 'Create new' links
    in the tree viewer. */
-// $ldapservers->SetValue($i,'appearance','show_create',true);
+// $servers->setValue('appearance','show_create',true);
 
 /* This feature allows phpLDAPadmin to automatically determine the next
    available uidNumber for a new entry. */
-// $ldapservers->SetValue($i,'auto_number','enable',true);
+// $servers->setValue('auto_number','enable',true);
 
 /* The mechanism to use when finding the next available uidNumber. Two possible
    values: 'uidpool' or 'search'.
@@ -315,178 +410,71 @@ $ldapservers->SetValue($i,'server','auth_type','session');
    blindly lookup the next available uidNumber. The 'search' mechanism searches
    for entries with a uidNumber value and finds the first available uidNumber
    (slower). */
-// $ldapservers->SetValue($i,'auto_number','mechanism','search');
+// $servers->setValue('auto_number','mechanism','search');
 
 /* The DN of the search base when the 'search' mechanism is used above. */
-#  $ldapservers->SetValue($i,'auto_number','search_base','ou=People,dc=example,dc=com');
-
-/* The minimum number to use when searching for the next available UID number
-   (only when 'search' is used for auto_uid_number_mechanism' */
-// $ldapservers->SetValue($i,'auto_number','min','1000');
+#  $servers->setValue('auto_number','search_base','ou=People,dc=example,dc=com');
 
-/* The DN of the uidPool entry when 'uidpool' mechanism is used above. */
-#  $servers[$i]['auto_uid_number_uid_pool_dn'] = 'cn=uidPool,dc=example,dc=com';
+/* The minimum number to use when searching for the next available number
+   (only when 'search' is used for auto_number */
+$servers->setValue('auto_number','min',array('uidNumber'=>1000,'gidNumber'=>500,'uniqueIdentifier'=>0));
 
 /* If you set this, then phpldapadmin will bind to LDAP with this user ID when
    searching for the uidnumber. The idea is, this user id would have full
    (readonly) access to uidnumber in your ldap directory (the logged in user
    may not), so that you can be guaranteed to get a unique uidnumber for your
    directory. */
-// $ldapservers->SetValue($i,'auto_number','dn',null);
+// $servers->setValue('auto_number','dn',null);
 
 /* The password for the dn above. */
-// $ldapservers->SetValue($i,'auto_number','pass',null);
+// $servers->setValue('auto_number','pass',null);
 
 /* Enable anonymous bind login. */
-// $ldapservers->SetValue($i,'login','anon_bind',true);
+// $servers->setValue('login','anon_bind',true);
 
 /* Use customized page with prefix when available. */
-#  $ldapservers->SetValue($i,'custom','pages_prefix','custom_');
-
-/* If you set this, then phpldapadmin will bind to LDAP with this user when
-   testing for unique attributes (as set in unique_attrs array). If you want to
-   enforce unique attributes, than this id should have full (readonly) access
-   to the attributes in question (the logged in user may not have enough access)
-*/
-// $ldapservers->SetValue($i,'unique_attrs','dn',null);
-
-/* The password for the dn above */
-// $ldapservers->SetValue($i,'unique_attrs','pass',null);
+#  $servers->setValue('custom','pages_prefix','custom_');
 
 /* If you set this, then only these DNs are allowed to log in. This array can
    contain individual users, groups or ldap search filter(s). Keep in mind that
    the user has not authenticated yet, so this will be an anonymous search to
    the LDAP server, so make your ACLs allow these searches to return results! */
-#  $ldapservers->SetValue($i,'login','allowed_dns',array(
+#  $servers->setValue('login','allowed_dns',array(
 #   'uid=stran,ou=People,dc=example,dc=com',
 #   '(&(gidNumber=811)(objectClass=groupOfNames))',
 #   '(|(uidNumber=200)(uidNumber=201))',
 #   'cn=callcenter,ou=Group,dc=example,dc=com'));
 
 /* Set this if you dont want this LDAP server to show in the tree */
-// $ldapservers->SetValue($i,'appearance','visible',true);
+// $servers->setValue('server','visible',true);
 
 /* This is the time out value in minutes for the server. After as many minutes
    of inactivity you will be automatically logged out. If not set, the default
    value will be ( session_cache_expire()-1 ) */
-#  $ldapservers->SetValue($i,'login','timeout',30);
+#  $servers->setValue('login','timeout',30);
 
 /* Set this if you want phpldapadmin to perform rename operation on entry which
    has children. Certain servers are known to allow it, certain are not */
-// $ldapservers->SetValue($i,'server','branch_rename',false);
-
-/**************************************************************************
- * If you want to configure additional LDAP servers, do so below.         *
- * Remove the commented lines and use this section as a template for all  *
- * your other LDAP servers.                                               *
- **************************************************************************/
-
-/*
-$i++;
-$ldapservers->SetValue($i,'server','name','LDAP Server');
-$ldapservers->SetValue($i,'server','host','127.0.0.1');
-$ldapservers->SetValue($i,'server','port','389');
-$ldapservers->SetValue($i,'server','base',array(''));
-$ldapservers->SetValue($i,'server','auth_type','cookie');
-$ldapservers->SetValue($i,'login','dn','');
-$ldapservers->SetValue($i,'login','pass','');
-$ldapservers->SetValue($i,'server','tls',false);
-$ldapservers->SetValue($i,'server','low_bandwidth',false);
-$ldapservers->SetValue($i,'appearance','password_hash','md5');
-$ldapservers->SetValue($i,'login','attr','dn');
-$ldapservers->SetValue($i,'login','string',null);
-$ldapservers->SetValue($i,'login','class',null);
-$ldapservers->SetValue($i,'server','read_only',false);
-$ldapservers->SetValue($i,'appearance','show_create',true);
-$ldapservers->SetValue($i,'auto_number','enable',true);
-$ldapservers->SetValue($i,'auto_number','mechanism','search');
-$ldapservers->SetValue($i,'auto_number','search_base',null);
-$ldapservers->SetValue($i,'auto_number','min','1000');
-$ldapservers->SetValue($i,'auto_number','dn',null);
-$ldapservers->SetValue($i,'auto_number','pass',null);
-$ldapservers->SetValue($i,'login','anon_bind',true);
-$ldapservers->SetValue($i,'custom','pages_prefix','custom_');
-$ldapservers->SetValue($i,'unique_attrs','dn',null);
-$ldapservers->SetValue($i,'unique_attrs','pass',null);
-
-# SASL auth
-$ldapservers->SetValue($i,'server','sasl_auth',true);
-$ldapservers->SetValue($i,'server','sasl_mech','PLAIN');
-$ldapservers->SetValue($i,'server','sasl_realm','EXAMPLE.COM');
-$ldapservers->SetValue($i,'server','sasl_authz_id',null);
-$ldapservers->SetValue($i,'server','sasl_authz_id_regex','/^uid=([^,]+)(.+)/i');
-$ldapservers->SetValue($i,'server','sasl_authz_id_replacement','$1');
-$ldapservers->SetValue($i,'server','sasl_props',null);
-*/
-
-/*********************************************/
-/* User-friendly attribute translation       */
-/*********************************************/
-
-/* Use this array to map attribute names to user friendly names. For example, if
-   you don't want to see "facsimileTelephoneNumber" but rather "Fax". */
-$friendly_attrs = array();
-
-$friendly_attrs['facsimileTelephoneNumber'] = 'Fax';
-$friendly_attrs['telephoneNumber']          = 'Phone';
-$friendly_attrs['uid']                      = 'User Name';
-
-/*********************************************/
-/* Support for attrs display order           */
-/*********************************************/
-
-/* Use this array if you want to have your attributes displayed in a specific
-   order. You can use default attribute names or their fridenly names.
-   For example, "sn" will be displayed right after "givenName". All the other
-   attributes that are not specified in this array will be displayed after in
-   alphabetical order. */
-#  $attrs_display_order = array(
-#   'givenName',
-#   'sn',
-#   'cn',
-#   'displayName',
-#   'uid',
-#   'uidNumber',
-#   'gidNumber',
-#   'homeDirectory',
-#   'mail',
-#   'userPassword'
-#  );
-
-/*********************************************/
-/* Hidden attributes                         */
-/*********************************************/
-
-/* You may want to hide certain attributes from being displayed in the editor
-   screen. Do this by adding the desired attributes to this list (and uncomment
-   it). This only affects the editor screen. Attributes will still be visible in
-   the schema browser and elsewhere. An example is provided below:
-   NOTE: The user must be able to read the hidden_except_dn entry to be
-   excluded. */
-#  $hidden_attrs = array( 'jpegPhoto', 'objectClass' );
-#  $hidden_except_dn = "cn=PLA UnHide,ou=Groups,c=AU";
-
-/* Hidden attributes in read-only mode. If undefined, it will be equal to
-   $hidden_attrs. */
-#  $hidden_attrs_ro = array(
-#   'objectClass','shadowWarning', 'shadowLastChange', 'shadowMax',
-#   'shadowFlag', 'shadowInactive', 'shadowMin', 'shadowExpire');
-
-/**                                         **/
-/** Read-only attributes                    **/
-/**                                         **/
-
-/* You may want to phpLDAPadmin to display certain attributes as read only,
-   meaning that users will not be presented a form for modifying those
-   attributes, and they will not be allowed to be modified on the "back-end"
-   either. You may configure this list here:
-   NOTE: The user must be able to read the read_only_except_dn entry to be
-   excluded. */
-#  $read_only_attrs = array( 'objectClass' );
-#  $read_only_except_dn = "cn=PLA ReadWrite,ou=Groups,c=AU";
-
-/* An example of how to specify multiple read-only attributes: */
-#  $read_only_attrs = array( 'jpegPhoto', 'objectClass', 'someAttribute' );
+// $servers->setValue('server','branch_rename',false);
+
+/* If you set this, then phpldapadmin will show these attributes as
+   internal attributes, even if they are not defined in your schema. */
+// $servers->setValue('server','custom_sys_attrs',array(''));
+#  $servers->setValue('server','custom_sys_attrs',array('passwordExpirationTime','passwordAllowChangeTime'));
+
+/* If you set this, then phpldapadmin will show these attributes on
+   objects, even if they are not defined in your schema. */
+// $servers->setValue('server','custom_attrs',array(''));
+#  $servers->setValue('server','custom_attrs',array('nsRoleDN','nsRole','nsAccountLock'));
+
+/* These attributes will be forced to MAY attributes and become option in the
+   templates. If they are not defined in the templates, then they wont appear
+   as per normal template processing. You may want to do this becuase your LDAP
+   server may automatically calculate a default value.
+   In Fedora Directory Server using the DNA Plugin one could ignore uidNumber,
+   gidNumber and sambaSID. */
+// $servers->setValue('force_may','attrs',array(''));
+#  $servers->setValue('force_may','attrs',array('uidNumber','gidNumber','sambaSID'));
 
 /*********************************************/
 /* Unique attributes                         */
@@ -494,60 +482,70 @@ $friendly_attrs['uid']                      = 'User Name';
 
 /* You may want phpLDAPadmin to enforce some attributes to have unique values
    (ie: not belong to other entries in your tree. This (together with
-   unique_attrs['dn'] and unique_attrs['pass'] option will not let updates to
-   occur with other attributes have the same value.
-   NOTE: Currently the unique_attrs is NOT enforced when copying a dn. (Need to
-   present a user with the option of changing the unique attributes. */
-#  $unique_attrs = array('uid','uidNumber','mail');
-
-/*********************************************/
-/* Group attributes                          */
-/*********************************************/
-
-/* Add "modify group members" link to the attribute. */
-// $config->custom->modify_member['groupattr'] = array('member','uniqueMember','memberUid')
-
-/* Configure filter for member search. This only applies to "modify group members" feature */
-// $config->custom->modify_member['filter'] = '(objectclass=Person)';
+   'unique','dn' and 'unique','pass' option will not let updates to
+   occur with other attributes have the same value. */
+#  $servers->setValue('unique','attrs',array('mail','uid','uidNumber'));
 
-/* Attribute that is added to the group member attribute. */
-// $config->custom->modify_member['attr'] = 'dn';
-
-/*********************************************/
-/* Predefined Queries (canned views)         */
-/*********************************************/
-
-/* To make searching easier, you may setup predefined queries below: */
-$q=0;
-$queries = array();
-
-/* The name that will appear in the simple search form */
-$queries[$q]['name'] = 'User List';
-
-/* The base to search on */
-$queries[$q]['base'] = 'dc=example,dc=com';
-
-/* The search scope (sub, base, one) */
-$queries[$q]['scope'] = 'sub';
+/* If you set this, then phpldapadmin will bind to LDAP with this user ID when
+   searching for attribute uniqueness. The idea is, this user id would have full
+   (readonly) access to your ldap directory (the logged in user may not), so
+   that you can be guaranteed to get a unique uidnumber for your directory. */
+// $servers->setValue('unique','dn',null);
 
-/* The LDAP filter to use */
-$queries[$q]['filter'] = '(&(objectClass=posixAccount)(uid=*))';
+/* The password for the dn above. */
+// $servers->setValue('unique','pass',null);
 
-/* The attributes to return */
-$queries[$q]['attributes'] = 'cn, uid, homeDirectory, telephonenumber, jpegphoto';
+/**************************************************************************
+ * If you want to configure additional LDAP servers, do so below.         *
+ * Remove the commented lines and use this section as a template for all  *
+ * your other LDAP servers.                                               *
+ **************************************************************************/
 
-/* If you want to configure more pre-defined queries, copy and paste the above (including the "$q++;") */
-$q++;
-$queries[$q]['name'] = 'Samba Users';
-$queries[$q]['base'] = 'dc=example,dc=com';
-$queries[$q]['scope'] = 'sub';
-$queries[$q]['filter'] = '(&(|(objectClass=sambaAccount)(objectClass=sambaSamAccount))(objectClass=posixAccount)(!(uid=*$)))';
-$queries[$q]['attributes'] = 'uid, smbHome, uidNumber';
+/*
+$servers->newServer('ldap_pla');
+$servers->setValue('server','name','LDAP Server');
+$servers->setValue('server','host','127.0.0.1');
+$servers->setValue('server','port',389);
+$servers->setValue('server','base',array(''));
+$servers->setValue('login','auth_type','cookie');
+$servers->setValue('login','bind_id','');
+$servers->setValue('login','bind_pass','');
+$servers->setValue('server','tls',false);
 
-$q++;
-$queries[$q]['name'] = 'Samba Computers';
-$queries[$q]['base'] = 'dc=example,dc=com';
-$queries[$q]['scope'] = 'sub';
-$queries[$q]['filter'] = '(&(objectClass=sambaAccount)(uid=*$))';
-$queries[$q]['attributes'] = 'uid, homeDirectory';
+# SASL auth
+$servers->setValue('server','sasl_auth',true);
+$servers->setValue('server','sasl_mech','PLAIN');
+$servers->setValue('server','sasl_realm','EXAMPLE.COM');
+$servers->setValue('server','sasl_authz_id',null);
+$servers->setValue('server','sasl_authz_id_regex','/^uid=([^,]+)(.+)/i');
+$servers->setValue('server','sasl_authz_id_replacement','$1');
+$servers->setValue('server','sasl_props',null);
+
+$servers->setValue('appearance','password_hash','md5');
+$servers->setValue('login','attr','dn');
+$servers->setValue('login','fallback_dn',false);
+$servers->setValue('login','class',null);
+$servers->setValue('server','read_only',false);
+$servers->setValue('appearance','show_create',true);
+
+$servers->setValue('auto_number','enable',true);
+$servers->setValue('auto_number','mechanism','search');
+$servers->setValue('auto_number','search_base',null);
+$servers->setValue('auto_number','min',array('uidNumber'=>1000,'gidNumber'=>500));
+$servers->setValue('auto_number','dn',null);
+$servers->setValue('auto_number','pass',null);
+
+$servers->setValue('login','anon_bind',true);
+$servers->setValue('custom','pages_prefix','custom_');
+$servers->setValue('unique','attrs',array('mail','uid','uidNumber'));
+$servers->setValue('unique','dn',null);
+$servers->setValue('unique','pass',null);
+
+$servers->setValue('server','visible',true);
+$servers->setValue('login','timeout',30);
+$servers->setValue('server','branch_rename',false);
+$servers->setValue('server','custom_sys_attrs',array('passwordExpirationTime','passwordAllowChangeTime'));
+$servers->setValue('server','custom_attrs',array('nsRoleDN','nsRole','nsAccountLock'));
+$servers->setValue('force_may','attrs',array('uidNumber','gidNumber','sambaSID'));
+*/
 ?>
index 64ab07130109325b106175620240c01b9423b5e3..1cc755578068df11c428555305f783750f4c8606 100644 (file)
@@ -1,15 +1,16 @@
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
 <!DOCTYPE template SYSTEM "template.dtd">
 <!--This template doesnt work needs modification to the Engine.-->
+
 <template>
-<title>LDAP Alias</title>
-<!--<regexp>^ou=People,o=.*,</regexp>-->
-<icon>images/mail_alias.png</icon>
-<description>New LDAP Alias</description>
 <askcontainer>1</askcontainer>
-<rdn>aliasedObjectName</rdn>
+<description>New LDAP Alias</description>
+<icon>ldap-alias.png</icon>
+<invalid>0</invalid>
+<rdn>uid</rdn>
+<!--<regexp>^ou=People,o=.*,</regexp>-->
+<title>Generic: LDAP Alias</title>
 <visible>1</visible>
-<invalid>1</invalid>
 
 <objectClasses>
 <objectClass id="alias"></objectClass>
 <attributes>
 <attribute id="aliasedObjectName">
        <display>Alias To</display>
+       <order>2</order>
+       <page>1</page>
+</attribute>
+<attribute id="uid">
+       <display>User ID</display>
        <order>1</order>
        <page>1</page>
 </attribute>
 </attributes>
+
 </template>
index bc1a6c4f5bc2ee9dbd82c524e14968641599e843..b7602abf930255239dd2968d509d5b37c15d5677 100644 (file)
@@ -1,14 +1,15 @@
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
 <!DOCTYPE template SYSTEM "template.dtd">
+
 <template>
-<title>Courier Mail Account</title>
-<!--<regexp>^ou=People,o=.*,</regexp>-->
-<icon>images/mail_account.png</icon>
-<description>New Courier Mail Account</description>
 <askcontainer>1</askcontainer>
+<description>New Courier Mail Account</description>
+<icon>mail_account.png</icon>
+<invalid>0</invalid>
 <rdn>cn</rdn>
+<!--<regexp>^ou=People,o=.*,</regexp>-->
+<title>Courier Mail: Account</title>
 <visible>1</visible>
-<invalid>0</invalid>
 
 <objectClasses>
 <objectClass id="inetOrgPerson"></objectClass>
 <attributes>
 <attribute id="givenName">
        <display>Given Name</display>
-       <onchange>autoFill:cn,%givenName% %sn%</onchange>
-       <onchange>autoFill:uid,%gidNumber|0-0/T%-%givenName|0-1/l%%sn/l%</onchange>
+       <onchange>=autoFill(cn;%givenName% %sn%)</onchange>
+       <onchange>=autoFill(uid;%gidNumber|0-0/T%-%givenName|0-1/l%%sn/l%)</onchange>
        <order>1</order>
        <page>1</page>
 </attribute>
 <attribute id="sn">
        <display>Last name</display>
-       <onchange>autoFill:cn,%givenName% %sn%</onchange>
-       <onchange>autoFill:uid,%gidNumber|0-0/T%-%givenName|0-1/l%%sn/l%</onchange>
+       <onchange>=autoFill(cn;%givenName% %sn%)</onchange>
+       <onchange>=autoFill(uid;%gidNumber|0-0/T%-%givenName|0-1/l%%sn/l%)</onchange>
        <order>2</order>
        <page>1</page>
 </attribute>
 </attribute>
 <attribute id="uid">
        <display>User ID</display>
-       <icon>images/uid.png</icon>
-       <!--<onchange>autoFill:homeDirectory,/home/users/%uid%</onchange>-->
-       <onchange>autoFill:homeDirectory,/home/users/%gidNumber|0-0/T%/%uid|3-%</onchange>
+       <icon>ldap-uid.png</icon>
+       <!--<onchange>=autoFill(homeDirectory;/home/users/%uid%)</onchange>-->
+       <onchange>=autoFill(homeDirectory;/home/users/%gidNumber|0-0/T%/%uid|3-%)</onchange>
        <order>4</order>
        <page>1</page>
 </attribute>
 <attribute id="uidNumber">
        <display>UID Number</display>
-       <hint>Automatically determined</hint>
-       <icon>images/terminal.png</icon>
-       <value>=php.GetNextNumber(/,uid)</value>
-       <readonly>1</readonly>
+       <icon>terminal.png</icon>
        <order>6</order>
        <page>1</page>
+       <readonly>1</readonly>
+       <value>=php.GetNextNumber(/;uidNumber)</value>
 </attribute>
 <attribute id="gidNumber">
        <display>GID Number</display>
-       <onchange>autoFill:uid,%gidNumber|0-0/T%-%givenName|0-1/l%%sn/l%</onchange>
-       <onchange>autoFill:homeDirectory,/home/users/%gidNumber|0-0/T%/%uid|3-%</onchange>
-       <option>=php.PickList(/,(objectClass=posixGroup),gidNumber,%cn%)</option>
+       <onchange>=autoFill(uid;%gidNumber|0-0/T%-%givenName|0-1/l%%sn/l%)</onchange>
+       <onchange>=autoFill(homeDirectory;/home/users/%gidNumber|0-0/T%/%uid|3-%)</onchange>
        <order>7</order>
        <page>1</page>
        <spacer>1</spacer>
+       <value><![CDATA[=php.PickList(/;(&(objectClass=posixGroup));gidNumber;%cn%;;;;cn)]]></value>
 </attribute>
 <attribute id="homeDirectory">
        <display>Home Directory</display>
        <page>1</page>
 </attribute>
 <attribute id="mail">
-        <display>Email</display>
-       <icon>images/mail.png</icon>
-        <order>9</order>
-        <page>1</page>
+       <display>Email</display>
+       <icon>mail.png</icon>
+       <order>9</order>
+       <page>1</page>
 </attribute>
 <attribute id="mailbox">
        <display>Mailbox</display>
 </attribute>
 <attribute id="userPassword">
        <display>Password</display>
-       <icon>images/lock.png</icon>
-       <type>password</type>
-       <verify>1</verify>
-       <helper>
-               <display>Encryption</display>
-               <id>enc</id>
-               <option>blowfish</option>
-               <option>clear</option>
-               <option>crypt</option>
-               <option>ext_des</option>
-               <option>md5</option>
-               <option>md5crypt</option>
-               <option>sha</option>
-               <option>smd5</option>
-               <option>ssha</option>
-               <value>md5</value>
-       </helper>
-       <post>=php.Password(%enc%,%userPassword%)</post>
+       <icon>lock.png</icon>
        <order>11</order>
        <page>1</page>
+       <post>=php.PasswordEncrypt(%enc%;%userPassword%)</post>
+       <verify>1</verify>
 </attribute>
 </attributes>
+
 </template>
index 906908f482e492bfbe91a35d97f32cac80760ebc..9a531961c55b1b8e307fff709b6491403e6fdb99 100644 (file)
@@ -1,14 +1,15 @@
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
 <!DOCTYPE template SYSTEM "template.dtd">
+
 <template>
-<title>Courier Mail Alias</title>
-<!--<regexp>^ou=People,o=.*,</regexp>-->
-<icon>images/mail_alias.png</icon>
-<description>New Courier Mail Alias</description>
 <askcontainer>1</askcontainer>
+<description>New Courier Mail Alias</description>
+<icon>mail_alias.png</icon>
+<invalid>0</invalid>
 <rdn>cn</rdn>
+<!--<regexp>^ou=People,o=.*,</regexp>-->
+<title>Courier Mail: Alias</title>
 <visible>1</visible>
-<invalid>0</invalid>
 
 <objectClasses>
 <objectClass id="inetOrgPerson"></objectClass>
@@ -37,4 +38,5 @@
        <page>1</page>
 </attribute>
 </attributes>
+
 </template>
index c2706aeabf1e2202bd9ea3a525765ba6f6d95115..4a980542b9699764f081be213d05ecc5474b3f8b 100644 (file)
@@ -1,12 +1,14 @@
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
 <!DOCTYPE template SYSTEM "template.dtd">
+
 <template>
-<title>DNS Entry</title>
-<!--<regexp>^ou=People,o=.*,</regexp>-->
-<icon>images/dc.png</icon>
-<description>New DNS Entry</description>
 <askcontainer>1</askcontainer>
+<description>New DNS Entry</description>
+<icon>ldap-dc.png</icon>
+<invalid>0</invalid>
 <rdn>dc</rdn>
+<!--<regexp>^ou=People,o=.*,</regexp>-->
+<title>Generic: DNS Entry</title>
 <visible>1</visible>
 
 <objectClasses>
@@ -15,9 +17,8 @@
 </objectClasses>
 
 <attributes>
-<attribute id="domainComponent">
-       <description>Domain Component</description>
-       <display>DC Name</display>
+<attribute id="dc">
+       <display>Domain Component</display>
        <order>1</order>
        <page>1</page>
 </attribute>
@@ -27,4 +28,5 @@
        <page>1</page>
 </attribute>
 </attributes>
+
 </template>
index 6fd740804c4a92a2ff1fbc2680ecc8f15560d340..812b707dd017f4ced5b6aad5e36237e5ad497ac9 100644 (file)
@@ -1,11 +1,14 @@
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
 <!DOCTYPE template SYSTEM "template.dtd">
+
 <template>
-<title>Example entry</title>
-<regexp>^$</regexp>
-<icon>images/star.png</icon>
+<askcontainer>1</askcontainer>
 <description>This is the description</description>
+<icon>star.png</icon>
+<invalid>1</invalid>
 <rdn>o</rdn>
+<regexp>^$</regexp>
+<title>Example entry</title>
 <visible>0</visible>
 
 <objectClasses>
 
 <attributes>
 <attribute id="attribute1">
-       <description>This is the attribute description</description>
        <display>Attribute 1</display>
        <hint>This is an example</hint>
-       <icon>images/user.png</icon>
+       <icon>ldap-uid.png</icon>
        <order>1</order>
        <page>1</page>
 </attribute>
 <attribute id="attribute2">
-       <description>This is the attribute description</description>
        <display>Attribute 2</display>
        <order>2</order>
        <page>2</page>
 </attribute>
 <attribute id="attribute3">
-       <description>This is the attribute description</description>
        <display>Attribute 3</display>
        <order>1</order>
        <page>2</page>
 </attribute>
 </attributes>
+
 </template>
index e82499fa1bec858853527a0ff5b6f4cce521ef9d..6469221d7be3eb7e1795f433880b7fd811df3642 100644 (file)
@@ -1,12 +1,14 @@
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
 <!DOCTYPE template SYSTEM "template.dtd">
+
 <template>
-<title>Address Book Entry</title>
-<!--<regexp>^ou=People,o=.*,</regexp>-->
-<icon>images/user.png</icon>
-<description>New Address Book Entry</description>
 <askcontainer>1</askcontainer>
+<description>New Address Book Entry</description>
+<icon>address-book.png</icon>
+<invalid>0</invalid>
 <rdn>cn</rdn>
+<!--<regexp>^ou=People,o=.*,</regexp>-->
+<title>Generic: Address Book Entry</title>
 <visible>1</visible>
 
 <objectClasses>
 <attributes>
 <attribute id="givenName">
        <display>First name</display>
-       <icon>images/uid.png</icon>
-       <onchange>autoFill:cn,%givenName% %sn%</onchange>
+       <icon>ldap-uid.png</icon>
+       <onchange>=autoFill(cn;%givenName% %sn%)</onchange>
        <order>1</order>
        <page>1</page>
 </attribute>
 <attribute id="sn">
        <display>Last name</display>
-       <onchange>autoFill:cn,%givenName% %sn%</onchange>
+       <onchange>=autoFill(cn;%givenName% %sn%)</onchange>
        <order>2</order>
        <page>1</page>
 </attribute>
        <page>1</page>
        <spacer>1</spacer>
 </attribute>
+<attribute id="jpegPhoto">
+       <display>Photo</display>
+       <order>3</order>
+       <spacer>1</spacer>
+</attribute>
 <attribute id="o">
        <display>Organisation</display>
        <order>4</order>
        <page>1</page>
 </attribute>
 <attribute id="street">
-       <display>Street</display>
-       <icon>images/mail.png</icon>
-       <type>textarea</type>
        <cols>50</cols>
-       <rows>4</rows>
+       <display>Street</display>
+       <icon>mail.png</icon>
        <order>4</order>
        <page>1</page>
+       <rows>4</rows>
+       <type>textarea</type>
 </attribute>
 <attribute id="l">
        <display>City</display>
@@ -65,7 +72,7 @@
 </attribute>
 <attribute id="telephoneNumber">
        <display>Work phone</display>
-       <icon>images/phone.png</icon>
+       <icon>phone.png</icon>
        <order>8</order>
        <page>1</page>
 </attribute>
@@ -85,4 +92,5 @@
        <page>1</page>
 </attribute>
 </attributes>
+
 </template>
index 042984203585f24cdef4cfcfc8329cd2cd78b689..8be2e6b974f683a9704e0e54da370f3ed0e85cb9 100644 (file)
@@ -1,14 +1,15 @@
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
 <!DOCTYPE template SYSTEM "template.dtd">
+
 <template>
-<title>Kolab User Entry</title>
-<!--<regexp>^ou=People,o=.*,</regexp>-->
-<icon>images/user.png</icon>
-<description>New Address Book Entry</description>
 <askcontainer>1</askcontainer>
+<description>New Address Book Entry</description>
+<icon>address-book.png</icon>
+<invalid>0</invalid>
 <rdn>cn</rdn>
+<!--<regexp>^ou=People,o=.*,</regexp>-->
+<title>Kolab: User Entry</title>
 <visible>1</visible>
-<invalid>1</invalid>
 
 <objectClasses>
 <objectClass id="inetOrgPerson"></objectClass>
 <attributes>
 <attribute id="givenName">
        <display>First name</display>
-       <icon>images/uid.png</icon>
-       <onchange>autoFill:cn,%givenName% %sn%</onchange>
+       <icon>ldap-uid.png</icon>
+       <onchange>=autoFill(cn;%givenName% %sn%)</onchange>
        <order>1</order>
 </attribute>
 <attribute id="sn">
        <display>Last name</display>
-       <onchange>autoFill:cn,%givenName% %sn%</onchange>
+       <onchange>=autoFill(cn;%givenName% %sn%)</onchange>
        <order>2</order>
 </attribute>
 <attribute id="cn">
 </attribute>
 <attribute id="userPassword">
        <display>Password</display>
-       <icon>images/lock.png</icon>
-       <type>password</type>
-       <verify>1</verify>
-       <helper>
-               <display>Encryption</display>
-               <id>enc</id>
-               <option>blowfish</option>
-               <option>clear</option>
-               <option>crypt</option>
-               <option>ext_des</option>
-               <option>md5</option>
-               <option>md5crypt</option>
-               <option>sha</option>
-               <option>smd5</option>
-               <option>ssha</option>
-               <value>md5</value>
-       </helper>
-       <post>=php.Password(%enc%,%userPassword%)</post>
+       <icon>lock.png</icon>
        <order>5</order>
+       <post>=php.PasswordEncrypt(%enc%;%userPassword%)</post>
        <spacer>1</spacer>
+       <verify>1</verify>
 </attribute>
-
 <attribute id="title">
        <display>Title</display>
-       <icon>images/ou.png</icon>
+       <icon>ldap-ou.png</icon>
        <order>6</order>
 </attribute>
 <attribute id="alias">
        <order>10</order>
        <spacer>1</spacer>
 </attribute>
-
 <attribute id="street">
        <display>Address</display>
-       <icon>images/mail.png</icon>
+       <icon>mail.png</icon>
        <order>11</order>
 </attribute>
 <attribute id="postOfficeBox">
        <display>Postal code</display>
        <order>15</order>
 </attribute>
-<attribute id="c">
+<!-- <attribute id="c">
        <display>Country</display>
        <order>16</order>
        <spacer>1</spacer>
-</attribute>
+</attribute> -->
 <attribute id="telephoneNumber">
        <display>Work phone</display>
-       <icon>images/phone.png</icon>
+       <icon>phone.png</icon>
        <order>17</order>
 </attribute>
 <attribute id="facsimileTelephoneNumber">
        <order>19</order>
 </attribute>
 </attributes>
+
 </template>
index fb05cda24deefcbd2ba70864d74d9fbfbc07958f..dc39a73ef2c251d75802a69070ac217293e44d3f 100644 (file)
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
 <!DOCTYPE template SYSTEM "template.dtd">
+
 <template>
-<title>Address Book Entry (mozillaOrgPerson)</title>
-<!--<regexp>^ou=People,o=.*,</regexp>-->
-<icon>images/user.png</icon>
-<description>New Address Book Entry</description>
 <askcontainer>1</askcontainer>
+<description>New Thunderbird Address Book Entry</description>
+<icon>address-book.png</icon>
+<invalid>0</invalid>
 <rdn>cn</rdn>
+<!--<regexp>^ou=People,o=.*,</regexp>-->
+<title>Thunderbird: Address Book Entry</title>
 <visible>1</visible>
 
 <objectClasses>
 <objectClass id="inetOrgPerson"></objectClass>
-<objectClass id="mozillaAddressBookEntry"></objectClass>
+<objectClass id="mozillaOrgPerson"></objectClass>
 </objectClasses>
 
 <attributes>
 <attribute id="givenName">
        <display>First Name</display>
-       <icon>images/uid.png</icon>
-       <onchange>autoFill:cn,%sn% %givenName%</onchange>
+       <onchange>=autoFill(cn;%sn% %givenName%)</onchange>
        <order>1</order>
 </attribute>
 <attribute id="sn">
        <display>Last Name</display>
-       <onchange>autoFill:cn,%sn% %givenName%</onchange>
+       <onchange>=autoFill(cn;%sn% %givenName%)</onchange>
        <order>2</order>
 </attribute>
 <attribute id="cn">
-       <display>Common Name</display>
+       <display>Display Name</display>
        <order>3</order>
 </attribute>
 <attribute id="mozillaNickName">
-       <display>Nickname</display>
+       <display>NickName</display>
        <order>4</order>
        <spacer>1</spacer>
 </attribute>
 <attribute id="mail">
-       <display>t_email</display>
+       <display>Email</display>
        <order>5</order>
 </attribute>
 <attribute id="mozillaSecondEmail">
-       <display>Additional email</display>
+       <display>Alternative Email</display>
        <order>6</order>
-       <spacer>1</spacer>
 </attribute>
-<attribute id="telephoneNumber">
-       <display>Work Phone</display>
-       <icon>images/phone.png</icon>
+<attribute id="nsAIMid">
+       <display>AIM Nick</display>
        <order>7</order>
 </attribute>
-<attribute id="homePhone">
-       <display>Home Phone</display>
+<attribute id="mozillaUseHtmlMail">
+       <display>HTML Email Format</display>
        <order>8</order>
+       <spacer>1</spacer>
 </attribute>
-<attribute id="facsimileTelephoneNumber">
-       <display>Fax</display>
+<attribute id="telephoneNumber">
+       <display>Work Phone Number</display>
        <order>9</order>
 </attribute>
-<attribute id="pager">
-       <display>Page</display>
+<attribute id="homePhone">
+       <display>Home Phone Number</display>
        <order>10</order>
 </attribute>
-<attribute id="mobile">
-       <display>Mobile</display>
+<attribute id="facsimileTelephoneNumber">
+       <display>Fax Number</display>
        <order>11</order>
-       <spacer>1</spacer>
 </attribute>
-<attribute id="homePostalAddress">
-       <display>Home Address</display>
+<attribute id="pager">
+       <display>Pager</display>
        <order>12</order>
 </attribute>
-<attribute id="mozillaHomePostalAddress2">
-       <display>Home Address 2</display>
+<attribute id="mobile">
+       <display>Mobile</display>
        <order>13</order>
+       <spacer>1</spacer>
 </attribute>
-<attribute id="mozillaHomeLocalityName">
-       <display>Home City</display>
+<attribute id="mozillaHomeStreet">
+       <display>Address (personal)</display>
        <order>14</order>
 </attribute>
-<attribute id="mozillaHomeState">
-       <display>Home State</display>
+<attribute id="mozillaHomeLocalityName">
+       <display>City (personal)</display>
        <order>15</order>
 </attribute>
-<attribute id="mozillaHomePostalCode">
-       <display>Home ZIP/Postal Code</display>
+<attribute id="mozillaHomeState">
+       <display>State (personal)</display>
        <order>16</order>
 </attribute>
-<attribute id="mozillaHomeCountryName">
-       <display>Home Country</display>
+<attribute id="mozillaHomePostalCode">
+       <display>Zip (personal)</display>
        <order>17</order>
 </attribute>
-<attribute id="mozillaHomeUrl">
-       <display>Home Web page</display>
+<attribute id="mozillaHomeCountryName">
+       <display>Country (personal)</display>
        <order>18</order>
-       <spacer>1</spacer>
 </attribute>
-<attribute id="title">
-       <display>Work Title</display>
+<attribute id="mozillaHomeUrl">
+       <display>Web page (personal)</display>
        <order>19</order>
+       <spacer>1</spacer>
 </attribute>
-<attribute id="ou">
-       <display>Work Department</display>
+<attribute id="title">
+       <display>Title (professional)</display>
        <order>20</order>
 </attribute>
-<attribute id="o">
-       <display>Work Organization</display>
+<attribute id="ou">
+       <display>Department (professional)</display>
        <order>21</order>
 </attribute>
-<attribute id="street">
-       <display>Work Address</display>
+<attribute id="o">
+       <display>Organization (professional)</display>
        <order>22</order>
 </attribute>
-<attribute id="mozillaWorkStreet2">
-       <display>Work Address 2</display>
+<attribute id="street">
+       <display>Address (professional)</display>
        <order>23</order>
 </attribute>
 <attribute id="l">
-       <display>Work City</display>
+       <display>City (professional)</display>
        <order>24</order>
 </attribute>
 <attribute id="st">
-       <display>Work State/Province</display>
+       <display>State (professional)</display>
        <order>25</order>
 </attribute>
 <attribute id="postalCode">
-       <display>Work ZIP/Postal Code</display>
+       <display>Zip (professional)</display>
        <order>26</order>
 </attribute>
 <attribute id="c">
-       <display>Work Country</display>
+       <display>Country (professional)</display>
        <order>27</order>
 </attribute>
 <attribute id="mozillaWorkUrl">
-       <display>Work Web page</display>
+       <display>Web Page (professional)</display>
        <order>28</order>
+       <spacer>1</spacer>
+</attribute>
+<attribute id="mozillaCustom1">
+       <display>Custom 1</display>
+       <order>29</order>
+</attribute>
+<attribute id="mozillaCustom2">
+       <display>Custom 2</display>
+       <order>30</order>
+</attribute>
+<attribute id="mozillaCustom3">
+       <display>Custom 3</display>
+       <order>31</order>
+</attribute>
+<attribute id="mozillaCustom4">
+       <display>Custom 4</display>
+       <order>32</order>
+</attribute>
+<attribute id="description">
+       <display>Description</display>
+       <order>33</order>
 </attribute>
 </attributes>
+
 </template>
index 66962887610f5d887305a7037c76e20bbc40d3e5..85e595a4e6578ca81615b6af92a70225b76d226e 100644 (file)
@@ -1,12 +1,14 @@
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
 <!DOCTYPE template SYSTEM "template.dtd">
+
 <template>
-<title>Organisational Role</title>
-<!--<regexp>^ou=People,o=.*,</regexp>-->
-<icon>images/o.png</icon>
-<description>New Organisational Role</description>
 <askcontainer>1</askcontainer>
+<description>New Organisational Role</description>
+<icon>ldap-o.png</icon>
+<invalid>0</invalid>
 <rdn>cn</rdn>
+<!--<regexp>^ou=People,o=.*,</regexp>-->
+<title>Generic: Organisational Role</title>
 <visible>1</visible>
 
 <objectClasses>
@@ -21,7 +23,7 @@
 </attribute>
 <attribute id="telephoneNumber">
        <display>Work phone</display>
-       <icon>images/phone.png</icon>
+       <icon>phone.png</icon>
        <order>2</order>
 </attribute>
 <attribute id="facsimileTelephoneNumber">
        <order>3</order>
        <spacer>1</spacer>
 </attribute>
-
 <attribute id="description">
        <display>Comments</display>
-       <icon>images/light.png</icon>
+       <icon>light.png</icon>
        <order>4</order>
        <spacer>1</spacer>
 </attribute>
-
 <attribute id="roleOccupant">
        <display>Occupant</display>
-       <icon>images/object.png</icon>
+       <icon>ldap-default.png</icon>
        <order>5</order>
        <spacer>1</spacer>
 </attribute>
-
 <attribute id="street">
        <display>Street Address</display>
-       <icon>images/mail.png</icon>
+       <icon>mail.png</icon>
        <order>6</order>
 </attribute>
 <attribute id="l">
        <order>9</order>
        <spacer>1</spacer>
 </attribute>
-
 <attribute id="postalAddress">
        <display>Postal Address</display>
-       <icon>images/mail.png</icon>
+       <icon>mail.png</icon>
        <order>10</order>
        <spacer>1</spacer>
 </attribute>
 <attribute id="registeredAddress">
        <display>Registered Address</display>
-       <icon>images/mail.png</icon>
+       <icon>mail.png</icon>
        <order>11</order>
 </attribute>
-
 </attributes>
+
 </template>
index e4ee85adb85a62c0dc804bec31a32fc04ee2f012..6e0f45acc14397ede2f931791d8a5331015a7b5d 100644 (file)
@@ -1,12 +1,14 @@
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
 <!DOCTYPE template SYSTEM "template.dtd">
+
 <template>
-<title>Organisational Unit</title>
-<!-- <regexp>^o=.*,</regexp> -->
-<icon>images/ou.png</icon>
-<description>New Organisational Unit</description>
 <askcontainer>1</askcontainer>
+<description>New Organisational Unit</description>
+<icon>ldap-ou.png</icon>
+<invalid>0</invalid>
 <rdn>ou</rdn>
+<!-- <regexp>^o=.*,</regexp> -->
+<title>Generic: Organisational Unit</title>
 <visible>1</visible>
 
 <objectClasses>
 
 <attributes>
 <attribute id="ou">
-       <description>Organisational Unit</description>
        <display>Organisational Unit</display>
        <hint>don't include "ou="</hint>
        <order>1</order>
        <page>1</page>
 </attribute>
 </attributes>
+
 </template>
index 6ebee33f698eebdb93cdc0aa442e9168991abb1a..2931c1ee757b95acd9387850796a7f3013d922c4 100644 (file)
@@ -1,34 +1,35 @@
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
 <!DOCTYPE template SYSTEM "template.dtd">
+
 <template>
-<title>User Account</title>
-<!--<regexp>^ou=People,o=.*,</regexp>-->
-<icon>images/user.png</icon>
-<description>New User Account</description>
 <askcontainer>1</askcontainer>
+<description>New User Account</description>
+<icon>ldap-user.png</icon>
+<invalid>0</invalid>
 <rdn>cn</rdn>
+<!--<regexp>^ou=People,o=.*,</regexp>-->
+<title>Generic: User Account</title>
 <visible>1</visible>
 
 <objectClasses>
 <objectClass id="inetOrgPerson"></objectClass>
 <objectClass id="posixAccount"></objectClass>
-<objectClass id="hostObject"></objectClass>
 </objectClasses>
 
 <attributes>
 <attribute id="givenName">
        <display>First name</display>
-       <icon>images/uid.png</icon>
-       <onchange>autoFill:cn,%givenName% %sn%</onchange>
-       <onchange>autoFill:uid,%givenName|0-1/l%%sn/l%</onchange>
+       <icon>ldap-uid.png</icon>
+       <onchange>=autoFill(cn;%givenName% %sn%)</onchange>
+       <onchange>=autoFill(uid;%givenName|0-1/l%%sn/l%)</onchange>
        <order>1</order>
        <page>1</page>
 </attribute>
 <attribute id="sn">
        <display>Last name</display>
-       <onchange>autoFill:cn,%givenName% %sn%</onchange>
-       <onchange>autoFill:uid,%givenName|0-1/l%%sn/l%</onchange>
-       <!-- <onchange>autoFill:homeDirectory,/home/users/%uid|0-1/l%/%uid%</onchange> -->
+       <onchange>=autoFill(cn;%givenName% %sn%)</onchange>
+       <onchange>=autoFill(uid;%givenName|0-1/l%%sn/l%)</onchange>
+       <!-- <onchange>=autoFill(homeDirectory;/home/users/%uid|0-1/l%/%uid%)</onchange> -->
        <order>2</order>
        <page>1</page>
 </attribute>
 </attribute>
 <attribute id="uid">
        <display>User ID</display>
-       <onchange>autoFill:homeDirectory,/home/%uid%</onchange>
+       <onchange>=autoFill(homeDirectory;/home/users/%uid%)</onchange>
        <order>4</order>
        <page>1</page>
        <spacer>1</spacer>
 </attribute>
 <attribute id="homeDirectory">
        <display>Home directory</display>
-       <!-- <onchange>autoFill:homeDirectory,/home/users/%gidNumber|0-0/T%/%uid|3-%</onchange> -->
+       <!-- <onchange>=autoFill(homeDirectory;/home/users/%gidNumber|0-0/T%/%uid|3-%)</onchange> -->
        <order>8</order>
        <page>1</page>
 </attribute>
 <attribute id="uidNumber">
        <display>UID Number</display>
-       <hint>Automatically determined</hint>
-       <icon>images/terminal.png</icon>
+       <icon>terminal.png</icon>
        <order>6</order>
        <page>1</page>
-       <value>=php.GetNextNumber(/,uid)</value>
        <readonly>1</readonly>
+       <value>=php.GetNextNumber(/;uidNumber)</value>
 </attribute>
 <attribute id="gidNumber">
        <display>GID Number</display>
-       <!-- <onchange>autoFill:homeDirectory,/home/users/%gidNumber|0-0/T%/%uid|3-%</onchange> -->
+       <!-- <onchange>=autoFill(homeDirectory;/home/users/%gidNumber|0-0/T%/%uid|3-%)</onchange> -->
        <order>7</order>
        <page>1</page>
-       <option>=php.PickList(/,(objectClass=posixGroup),gidNumber,%cn%)</option>
+       <value><![CDATA[=php.PickList(/;(&(objectClass=posixGroup));gidNumber;%cn%;;;;cn)]]></value>
 </attribute>
 <attribute id="loginShell">
        <display>Login shell</display>
        <order>9</order>
        <page>1</page>
-       <!-- <option>=php.PickList(/,(objectClass=posixAccount),loginShell,%loginShell%)</option> -->
-       <option>/bin/sh</option>
-       <option>/bin/bash</option>
+       <!-- <value><![CDATA[=php.PickList(/;(&(objectClass=posixAccount));loginShell;%loginShell%;;;;loginShell)]]></value> -->
+       <type>select</type>
+       <value id="/bin/sh">/bin/sh</value>
+       <value id="/bin/csh">/bin/csh</value>
+       <value id="/bin/tsh">/bin/tsh</value>
 </attribute>
 <attribute id="userPassword">
        <display>Password</display>
-       <icon>images/lock.png</icon>
-       <type>password</type>
-       <verify>1</verify>
-       <helper>
+       <!-- <helper>
                <display>Encryption</display>
                <id>enc</id>
-               <option>blowfish</option>
-               <option>clear</option>
-               <option>crypt</option>
-               <option>ext_des</option>
-               <option>md5</option>
-               <option>md5crypt</option>
-               <option>sha</option>
-               <option>smd5</option>
-               <option>ssha</option>
-               <value>ssha</value>
-       </helper>
-       <post>=php.Password(%enc%,%userPassword%)</post>
+               <value>=php.PasswordEncryptionTypes()</value>
+       </helper> -->
+       <icon>lock.png</icon>
        <order>5</order>
        <page>1</page>
+       <post>=php.PasswordEncrypt(%enc%;%userPassword%)</post>
        <spacer>1</spacer>
-</attribute>
-<attribute id="host">
-       <display>Accessable hosts</display>
-       <hidden>0</hidden>
-       <order>3</order>
-       <page>1</page>
+       <verify>1</verify>
 </attribute>
 </attributes>
+
 </template>
index 381099e8647ec709cad8e6f0ca5424ee12c92aa6..2a2452df4b86908612b41823d5522a86ccf26ae3 100644 (file)
@@ -1,12 +1,14 @@
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
 <!DOCTYPE template SYSTEM "template.dtd">
+
 <template>
-<title>Posix Group</title>
-<!-- <regexp>^ou=.*,</regexp> -->
-<icon>images/ou.png</icon>
-<description>New Posix Group</description>
 <askcontainer>1</askcontainer>
+<description>New Posix Group</description>
+<icon>ldap-ou.png</icon>
+<invalid>0</invalid>
 <rdn>cn</rdn>
+<!-- <regexp>^ou=.*,</regexp> -->
+<title>Generic: Posix Group</title>
 <visible>1</visible>
 
 <objectClasses>
 </attribute>
 <attribute id="gidNumber">
        <display>GID Number</display>
-       <hint>Automatically determined</hint>
        <order>2</order>
        <page>1</page>
-       <value>=php.GetNextNumber(/,gid)</value>
        <readonly>1</readonly>
        <spacer>1</spacer>
-       <!-- <option>=php.GetNextNumber(/,gid,false,(&amp;(objectClass=posixGroup)),*2;+1000)</option> -->
+       <value>=php.GetNextNumber(/;gidNumber)</value>
+       <!-- <value><![CDATA[=php.GetNextNumber(/;gidNumber;false;(&(objectClass=posixGroup));*2,+1000)]]></value> -->
 </attribute>
 <attribute id="memberUid">
        <display>Users</display>
-       <!-- <option>=php.MultiList(/,(objectClass=posixAccount),uid,%cn% (%uid|-4%))</option> -->
        <hidden>0</hidden>
        <order>3</order>
        <page>1</page>
+       <value><![CDATA[=php.MultiList(/;(&(objectClass=posixAccount));cn;%cn% (%uid|-4%))]]></value>
 </attribute>
 </attributes>
+
 </template>
index 702a827c80c2a689e77a8c83a1102fe68aaba4fc..563828e9f4dcc9e31ba3fad1bc9bd708e00f6bb0 100644 (file)
@@ -1,12 +1,14 @@
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
 <!DOCTYPE template SYSTEM "template.dtd">
+
 <template>
-<title>Samba Domain</title>
-<!--<regexp>^ou=People,o=.*,</regexp>-->
-<icon>images/dc.png</icon>
-<description>New Samba Domain</description>
 <askcontainer>1</askcontainer>
+<description>New Samba Domain</description>
+<icon>ldap-dc.png</icon>
+<invalid>0</invalid>
 <rdn>sambaDomainName</rdn>
+<!--<regexp>^ou=People,o=.*,</regexp>-->
+<title>Samba: Domain</title>
 <visible>1</visible>
 
 <objectClasses>
 <attribute id="sambaSID">
        <display>Samba SID</display>
        <hint>Samba SID is in the format S-1-5-21-x-y-z</hint>
-       <value>S-1-5-21-</value>
        <order>2</order>
        <page>1</page>
+       <value>S-1-5-21-</value>
 </attribute>
 </attributes>
+
 </template>
index 8ca84ccac9bbcedc30990e804a59f96e2472ff01..4feaee5e6d2b93835f354dfa20bea99c9c953212 100644 (file)
@@ -1,12 +1,14 @@
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
 <!DOCTYPE template SYSTEM "template.dtd">
+
 <template>
-<title>Samba3 Group Mapping</title>
-<!-- <regexp>^ou=.*,</regexp> -->
-<icon>images/ou.png</icon>
-<description>New Samba3 Group Mapping</description>
 <askcontainer>1</askcontainer>
+<description>New Samba3 Group Mapping</description>
+<icon>ldap-ou.png</icon>
+<invalid>0</invalid>
 <rdn>cn</rdn>
+<!-- <regexp>^ou=.*,</regexp> -->
+<title>Samba: Group Mapping</title>
 <visible>1</visible>
 
 <objectClasses>
 </attribute>
 <attribute id="gidNumber">
        <display>GID Number</display>
-       <hint>Automatically determined</hint>
-       <value>=php.GetNextNumber(/,gid,true,(&amp;(objectClass=sambaDomain)(sambaDomainName=mysambadomain))</value>
-       <readonly>1</readonly>
        <order>3</order>
        <page>1</page>
+       <readonly>1</readonly>
        <spacer>1</spacer>
+       <value><![CDATA[=php.GetNextNumber(/;gidNumber;true;(&(objectClass=sambaDomain)(sambaDomainName=mysambadomain))]]></value>
 </attribute>
 <attribute id="sambaSID">
        <display>Samba SID</display>
-       <option>=php.PickList(/,(objectClass=sambaDomain),sambaSID,%sambaSID% (%sambaDomainName%))</option>
        <helper>
                <id>sidsuffix</id>
-               <option>=php.GetNextNumber(/,gid,false,(&amp;(objectClass=sambaDomain)(sambaDomainName=mysambadomain)),*2;+1000)</option>
+               <value><![CDATA[=php.GetNextNumber(/;gidNumber;false;(&(objectClass=sambaDomain)(sambaDomainName=mysambadomain));*2,+1000)]]></value>
        </helper>
-       <post>=php.Join(-,(%sambaSID%,%sidsuffix%))</post>
        <order>4</order>
+       <post>=php.Join(-;%sambaSID%,%sidsuffix%)</post>
        <page>1</page>
+       <value><![CDATA[=php.PickList(/;(&(objectClass=sambaDomain));sambaSID;%sambaSID% (%sambaDomainName%));;;;sambaDomainName]]></value>
 </attribute>
 <attribute id="sambaGroupType">
        <display>Samba Group Type</display>
-       <option id="2">Domain Group</option>
-       <option id="4">Local Group</option>
-       <option id="5">Well-known Group</option>
-       <value>2</value>
        <order>5</order>
        <page>1</page>
        <spacer>1</spacer>
+       <type>select</type>
+       <value id="2">Domain Group</value>
+       <value id="4">Local Group</value>
+       <value id="5">Well-known Group</value>
 </attribute>
 <attribute id="memberUid">
        <display>Users</display>
-       <type>multiselect</type>
-       <option>=php.MultiList(/,(objectClass=posixAccount),uid,%cn% %uid|-4/U%,memberUid,dmdName=users:::dc=localdomain,root => cn=root; nobody => cn=nobody,cn,,,)</option>
-       <value>=php.MultiList(/,(&amp;(objectClass=posixAccount)(gidNumber=29999)),uid)</value>
-       <size>10</size>
        <hidden>0</hidden>
        <order>10</order>
        <page>1</page>
+       <size>10</size>
+       <value><![CDATA[=php.MultiList(/;(&(objectClass=posixAccount));uid)]]></value>
+       <!-- <value><![CDATA[=php.MultiList(/;(&(objectClass=posixAccount));uid;%cn% %uid|-4/U%;memberUid;dmdName=users,dc=localdomain;root => cn=root, nobody => cn=nobody;cn;;;)]]></value> -->
 </attribute>
 </attributes>
+
 </template>
index bc5d37f2a9aee8d7fc1905c947f4fcb193445916..fe5e5d33df54cfb2a41992a6fb11585fd5358023 100644 (file)
@@ -1,12 +1,14 @@
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
 <!DOCTYPE template SYSTEM "template.dtd">
+
 <template>
-<title>Samba3 Machine</title>
-<!--<regexp>^ou=People,o=.*,</regexp>-->
-<icon>images/server.png</icon>
-<description>New Samba3 Machine</description>
 <askcontainer>1</askcontainer>
+<description>New Samba3 Machine</description>
+<icon>server.png</icon>
+<invalid>0</invalid>
 <rdn>uid</rdn>
+<!--<regexp>^ou=People,o=.*,</regexp>-->
+<title>Samba: Machine</title>
 <visible>1</visible>
 
 <objectClasses>
 <attribute id="uid">
        <display>Machine Name</display>
        <hint>The machine name should end with a $</hint>
-        <icon>images/terminal.png</icon>
-       <onchange>autoFill:cn,%uid%</onchange>
+       <icon>terminal.png</icon>
+       <onchange>=autoFill(cn;%uid%)</onchange>
        <order>1</order>
        <page>1</page>
 </attribute>
 <attribute id="uidNumber">
-        <display>UID Number</display>
-        <hint>Automatically determined</hint>
-        <value>=php.GetNextNumber(/,uid)</value>
+       <display>UID Number</display>
+       <order>2</order>
+       <page>1</page>
        <readonly>1</readonly>
-        <order>2</order>
-        <page>1</page>
+       <value>=php.GetNextNumber(/;uidNumber)</value>
 </attribute>
 <attribute id="gidNumber">
-        <display>GID Number</display>
-       <option>=php.PickList(/,(objectClass=posixGroup),gidNumber,%cn%)</option>
-        <order>3</order>
-        <page>1</page>
+       <display>GID Number</display>
+       <order>3</order>
+       <page>1</page>
+       <value><![CDATA[=php.PickList(/;(&(objectClass=posixGroup));gidNumber;%cn%;;;;cn)]]></value>
 </attribute>
 <attribute id="sambaSID">
        <display>Samba SID</display>
-        <option>=php.PickList(/,(objectClass=sambaDomain),sambaSID,%sambaSID% (%sambaDomainName%))</option>
        <helper>
                <id>sidsuffix</id>
                <value></value>
        </helper>
-        <post>=php.Join(-,(%sambaSID%,%sidsuffix%))</post>
        <order>2</order>
        <page>1</page>
+       <post>=php.Join(-;%sambaSID%,%sidsuffix%)</post>
+       <value><![CDATA[=php.PickList(/;(&(objectClass=sambaDomain));sambaSID;%sambaSID% (%sambaDomainName%);;;;sambaDomainName)]]></value>
 </attribute>
 <attribute id="sambaAcctFlags">
-       <value>[W]</value>
        <hidden>1</hidden>
+       <value>[W]</value>
 </attribute>
 <attribute id="homeDirectory">
-       <value>/dev/null</value>
        <hidden>1</hidden>
+       <value>/dev/null</value>
 </attribute>
 <attribute id="cn">
-       <value></value>
        <hidden>1</hidden>
+       <value></value>
 </attribute>
 </attributes>
+
 </template>
index 75d98db2eafd88a09d170cc213fd0c3632c0d28d..d44fad821bf28a65fb0a312f31c6f9c439c407e7 100644 (file)
@@ -1,12 +1,14 @@
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
 <!DOCTYPE template SYSTEM "template.dtd">
+
 <template>
-<title>Samba3 Account</title>
-<!--<regexp>^ou=People,o=.*,</regexp>-->
-<icon>images/user.png</icon>
-<description>New Samba3 Account</description>
 <askcontainer>1</askcontainer>
+<description>New Samba3 Account</description>
+<icon>ldap-user.png</icon>
+<invalid>0</invalid>
 <rdn>cn</rdn>
+<!--<regexp>^ou=People,o=.*,</regexp>-->
+<title>Samba: Account</title>
 <visible>1</visible>
 
 <objectClasses>
 <attributes>
 <attribute id="givenName">
        <display>First name</display>
-       <icon>images/uid.png</icon>
-       <onchange>autoFill:cn,%givenName% %sn%</onchange>
+       <icon>ldap-uid.png</icon>
+       <onchange>=autoFill(cn;%givenName% %sn%)</onchange>
        <order>1</order>
        <page>1</page>
 </attribute>
 <attribute id="sn">
        <display>Last name</display>
-       <onchange>autoFill:cn,%givenName% %sn%</onchange>
-       <onchange>autoFill:uid,%gidNumber|0-0/T%-%givenName|0-1/l%%sn/l%</onchange>
+       <onchange>=autoFill(cn;%givenName% %sn%)</onchange>
        <order>2</order>
        <page>1</page>
 </attribute>
        <page>1</page>
        <spacer>1</spacer>
 </attribute>
+<attribute id="gidNumber">
+       <display>GID Number</display>
+       <onchange>=autoFill(homeDirectory;/home/users/%gidNumber|0-0/T%/%uid|3-%)</onchange>
+       <onchange>=autoFill(uid;%gidNumber|0-0/T%-%givenName|0-1/l%%sn/l%)</onchange>
+       <order>4</order>
+       <page>1</page>
+       <value><![CDATA[=php.PickList(/;(&(objectClass=posixGroup));gidNumber;%cn%;;;;cn)]]></value>
+</attribute>
 <attribute id="uid">
        <display>User ID</display>
-       <onchange>autoFill:homeDirectory,/home/users/%gidNumber|0-0/T%/%uid|3-%</onchange>
-       <order>4</order>
+       <onchange>=autoFill(homeDirectory;/home/users/%gidNumber|0-0/T%/%uid|3-%)</onchange>
+       <order>5</order>
        <page>1</page>
        <spacer>1</spacer>
 </attribute>
 <attribute id="uidNumber">
        <display>UID Number</display>
-       <hint>Automatically determined</hint>
-       <value>=php.GetNextNumber(/,uid)</value>
-       <order>5</order>
+       <order>6</order>
        <page>1</page>
        <readonly>1</readonly>
+       <value>=php.GetNextNumber(/;uidNumber)</value>
 </attribute>
 <attribute id="sambaSID">
        <display>Samba SID</display>
-       <option>=php.PickList(/,(objectClass=sambaDomain),sambaSID,%sambaSID% (%sambaDomainName%))</option>
        <helper>
                <id>sidsuffix</id>
-               <option>=php.GetNextNumber(/,uid,false,,*2;+1000)</option>
+               <value>=php.GetNextNumber(/;uidNumber;false;;*2,+1000)</value>
        </helper>
-       <post>=php.Join(-,(%sambaSID%,%sidsuffix%))</post>
-       <order>6</order>
+       <order>7</order>
        <page>1</page>
+       <post>=php.Join(-;%sambaSID%,%sidsuffix%)</post>
        <spacer>1</spacer>
+       <value><![CDATA[=php.PickList(/;(&(objectClass=sambaDomain));sambaSID;%sambaSID% (%sambaDomainName%);;;;sambaDomainName)]]></value>
 </attribute>
 <attribute id="userPassword">
        <display>Password</display>
-       <icon>images/lock.png</icon>
-       <onchange>autoFill:sambaLMPassword,%userPassword%</onchange>
-       <onchange>autoFill:sambaNTPassword,%userPassword%</onchange>
-       <type>password</type>
-       <verify>1</verify>
-       <helper>
-               <display>Encryption</display>
-               <id>enc</id>
-               <option>blowfish</option>
-               <option>clear</option>
-               <option>crypt</option>
-               <option>ext_des</option>
-               <option>md5</option>
-               <option>md5crypt</option>
-               <option>sha</option>
-               <option>smd5</option>
-               <option>ssha</option>
-               <value>md5</value>
-       </helper>
-       <post>=php.Password(%enc%,%userPassword%)</post>
-       <order>7</order>
+       <icon>lock.png</icon>
+       <onchange>=autoFill(sambaLMPassword;%userPassword%)</onchange>
+       <onchange>=autoFill(sambaNTPassword;%userPassword%)</onchange>
+       <order>8</order>
+       <post>=php.PasswordEncrypt(%enc%;%userPassword%)</post>
        <page>1</page>
+       <verify>1</verify>
 </attribute>
 <attribute id="sambaLMPassword">
        <display>LM Password</display>
-       <type>password</type>
-       <post>=php.SambaPassword(LM,%sambaLMPassword%)</post>
-       <order>8</order>
+       <order>9</order>
        <page>1</page>
+       <post>=php.PasswordEncrypt(LM;%sambaLMPassword%)</post>
+       <type>password</type>
 </attribute>
 <attribute id="sambaNTPassword">
        <display>NT Password</display>
-       <type>password</type>
-       <post>=php.SambaPassword(NT,%sambaNTPassword%)</post>
-       <order>9</order>
+       <order>10</order>
        <page>1</page>
+       <post>=php.PasswordEncrypt(NT;%sambaNTPassword%)</post>
        <spacer>1</spacer>
+       <type>password</type>
 </attribute>
 <attribute id="loginShell">
        <display>Login shell</display>
-       <icon>images/terminal.png</icon>
-       <!-- <option>=php.PickList(/,(objectClass=posixAccount),loginShell,%loginShell%)</option> -->
-       <option>/bin/sh</option>
-       <option>/bin/tsh</option>
-       <option>/bin/csh</option>
-       <order>10</order>
-       <page>1</page>
-</attribute>
-<attribute id="gidNumber">
-       <display>GID Number</display>
-       <onchange>autoFill:homeDirectory,/home/users/%gidNumber|0-0/T%/%uid|3-%</onchange>
-       <option>=php.PickList(/,(objectClass=posixGroup),gidNumber,%cn%)</option>
+       <icon>terminal.png</icon>
        <order>11</order>
        <page>1</page>
+       <type>select</type>
+       <!-- <value><![CDATA[=php.PickList(/;(&(objectClass=posixAccount));loginShell;%loginShell%)]]></value> -->
+       <value id="/bin/sh">/bin/sh</value>
+       <value id="/bin/csh">/bin/csh</value>
+       <value id="/bin/tsh">/bin/tsh</value>
 </attribute>
 <attribute id="sambaPrimaryGroupSID">
        <display>Primary Group ID</display>
-       <option>=php.PickList(/,(objectClass=sambaGroupMapping),sambaSID,%sambaSID% (%cn%),sambaPrimaryGroupSID)</option>
        <helper>
                <id>sidpgsuffix</id>
                <value></value>
        </helper>
-       <post>=php.Join(-,(%sambaPrimaryGroupSID%,%sidpgsuffix%))</post>
        <order>13</order>
        <page>1</page>
+       <post>=php.Join(-;%sambaPrimaryGroupSID%,%sidpgsuffix%)</post>
        <spacer>1</spacer>
+       <value><![CDATA[=php.PickList(/;(&(objectClass=sambaGroupMapping));sambaSID;%sambaSID% (%cn%);sambaPrimaryGroupSID;;;;cn)]]></value>
 </attribute>
 <attribute id="homeDirectory">
        <display>Home directory</display>
        <page>1</page>
 </attribute>
 <attribute id="sambaAcctFlags">
-       <value>[U]</value>
        <hidden>1</hidden>
+       <value>[U]</value>
 </attribute>
 </attributes>
+
 </template>
index 2ea98fb693234593d66ccfd44c178405e199e3a7..86688b6916947a0daccce524263173884df963a9 100644 (file)
@@ -1,14 +1,15 @@
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
 <!DOCTYPE template SYSTEM "template.dtd">
+
 <template>
-<title>Sendmail Alias</title>
-<!--<regexp>^ou=People,o=.*,</regexp>-->
-<icon>images/mail.png</icon>
-<description>New Sendmail Alias</description>
 <askcontainer>1</askcontainer>
+<description>New Sendmail Alias</description>
+<icon>mail.png</icon>
+<invalid>0</invalid>
 <rdn>sendmailMTACluster</rdn>
+<!--<regexp>^ou=People,o=.*,</regexp>-->
+<title>Sendmail: Alias</title>
 <visible>1</visible>
-<invalid>1</invalid>
 
 <objectClasses>
 <objectClass id="sendmailMTAAliasObject"></objectClass>
@@ -17,7 +18,7 @@
 <attributes>
 <attribute id="sendmailMTACluster">
        <display>Sendmail Cluster Name</display>
-       <icon>images/object.png</icon>
+       <icon>ldap-default.png</icon>
        <order>1</order>
        <page>1</page>
 </attribute>
 </attribute>
 <attribute id="sendmailMTAAliasValue">
        <display>Recipient Addresses</display>
-       <type>textarea</type>
        <order>4</order>
        <page>1</page>
+       <type>textarea</type>
 </attribute>
 <attribute id="sendmailMTAAliasGrouping">
-       <value>aliases</value>
        <hidden>1</hidden>
+       <value>aliases</value>
 </attribute>
 </attributes>
+
 </template>
index da546a7ebca462e089dffa06ce9dd58d75f202f0..9bbde8e58433620b134b3e5c2f56cb6113d8f157 100644 (file)
@@ -1,12 +1,14 @@
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
 <!DOCTYPE template SYSTEM "template.dtd">
+
 <template>
-<title>Sendmail Domain</title>
-<!--<regexp>^ou=People,o=.*,</regexp>-->
-<icon>images/mail.png</icon>
-<description>New Sendmail Domain</description>
 <askcontainer>1</askcontainer>
+<description>New Sendmail Domain</description>
+<icon>mail.png</icon>
+<invalid>0</invalid>
 <rdn>sendmailMTACluster</rdn>
+<!--<regexp>^ou=People,o=.*,</regexp>-->
+<title>Sendmail: Domain</title>
 <visible>1</visible>
 
 <objectClasses>
@@ -16,7 +18,7 @@
 <attributes>
 <attribute id="sendmailMTACluster">
        <display>Sendmail Cluster Name</display>
-       <icon>images/object.png</icon>
+       <icon>ldap-default.png</icon>
        <order>1</order>
        <page>1</page>
 </attribute>
@@ -32,8 +34,9 @@
        <page>1</page>
 </attribute>
 <attribute id="sendmailMTAClassName">
-       <value>w</value>
        <hidden>1</hidden>
+       <value>w</value>
 </attribute>
 </attributes>
+
 </template>
index f6afa63ffd16899309fbd09eed93bea67b564eb0..08bba5c12d2e0adcb7f45bc7fefedb6030c69eba 100644 (file)
@@ -1,12 +1,14 @@
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
 <!DOCTYPE template SYSTEM "template.dtd">
+
 <template>
-<title>Sendmail Cluster</title>
-<!--<regexp>^ou=People,o=.*,</regexp>-->
-<icon>images/mail.png</icon>
-<description>New Sendmail Cluster</description>
 <askcontainer>1</askcontainer>
+<description>New Sendmail Cluster</description>
+<icon>mail.png</icon>
+<invalid>0</invalid>
 <rdn>sendmailMTACluster</rdn>
+<!--<regexp>^ou=People,o=.*,</regexp>-->
+<title>Sendmail: Cluster</title>
 <visible>1</visible>
 
 <objectClasses>
@@ -20,4 +22,5 @@
        <page>1</page>
 </attribute>
 </attributes>
+
 </template>
index 6438dbf6ca2c8eb22322a20856b3e3fa3da1a506..5f4afd56a92f89fa985bc683e77cbfee2e74e8f9 100644 (file)
@@ -1,23 +1,28 @@
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
 <!DOCTYPE template SYSTEM "template.dtd">
-<!--This template doesnt work needs modification to the Engine.-->
+
+<!--This template doesnt does not appear to be correct. If it is correct, or if
+    you have modifications to make it correct, then let us know, and we'll
+    update and enable it.-->
+
 <template>
-<title>Sendmail Relays</title>
-<!--<regexp>^ou=People,o=.*,</regexp>-->
-<icon>images/mail.png</icon>
-<description>New Sendmail Relays</description>
 <askcontainer>1</askcontainer>
+<description>New Sendmail Relays</description>
+<icon>mail.png</icon>
+<invalid>1</invalid>
 <rdn>sendmailMTACluster</rdn>
+<!--<regexp>^ou=People,o=.*,</regexp>-->
+<title>Sendmail: Relays</title>
 <visible>1</visible>
 
 <objectClasses>
-<objectClass id="sendmailMTAClass"></objectClass>
+<objectClass id="sendmailMTAMapObject"></objectClass>
 </objectClasses>
 
 <attributes>
 <attribute id="sendmailMTACluster">
        <display>Sendmail Cluster Name</display>
-       <icon>images/object.png</icon>
+       <icon>ldap-default.png</icon>
        <order>1</order>
        <page>1</page>
 </attribute>
 </attribute>
 <attribute id="sendmailMTAKey">
        <display>Host/Network/Address</display>
-       <option>RELAY: Allow host/network/address to relay</option>
-       <option>OK: Accept local mail but disallow relay</option>
-       <option>REJECT: Reject messages</option>
-       <option>DISCARD: Discard messages</option>
-       <option>SKIP: Apply default action to messages</option>
-       <option>ERROR: Reject message with custom error</option>
        <order>3</order>
        <page>1</page>
+       <type>select</type>
+       <value id="RELAY">RELAY: Allow host/network/address to relay</value>
+       <value id="OK">OK: Accept local mail but disallow relay</value>
+       <value id="REJECT">REJECT: Reject messages</value>
+       <value id="DISCARD">DISCARD: Discard messages</value>
+       <value id="SKIP">SKIP: Apply default action to messages</value>
+       <value id="ERROR">ERROR: Reject message with custom error</value>
 </attribute>
 <attribute id="sendmailMTAMapName">
-       <value>access</value>
        <hidden>1</hidden>
+       <value>access</value>
 </attribute>
 </attributes>
+
 </template>
index 643e9d0032c92e5b753169dc68b9ce1df2515ef4..b2c1047b8ab477ac7b47626e602e7563bf64813a 100644 (file)
@@ -1,12 +1,14 @@
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
 <!DOCTYPE template SYSTEM "template.dtd">
+
 <template>
-<title>Sendmail Virtual Domain</title>
-<!--<regexp>^ou=People,o=.*,</regexp>-->
-<icon>images/mail.png</icon>
-<description>New Sendmail Domain</description>
 <askcontainer>1</askcontainer>
+<description>New Sendmail Domain</description>
+<icon>mail.png</icon>
+<invalid>0</invalid>
 <rdn>sendmailMTACluster</rdn>
+<!--<regexp>^ou=People,o=.*,</regexp>-->
+<title>Sendmail: Virtual Domain</title>
 <visible>1</visible>
 
 <objectClasses>
@@ -16,7 +18,7 @@
 <attributes>
 <attribute id="sendmailMTACluster">
        <display>Sendmail Cluster Name</display>
-       <icon>images/object.png</icon>
+       <icon>ldap-default.png</icon>
        <order>1</order>
        <page>1</page>
 </attribute>
@@ -32,8 +34,9 @@
        <page>1</page>
 </attribute>
 <attribute id="sendmailMTAClassName">
-       <value>VirtHost</value>
        <hidden>1</hidden>
+       <value>VirtHost</value>
 </attribute>
 </attributes>
+
 </template>
index 2dcba42a07ba73d11867dd52e984f2a5e46fc49a..c0469914fb5e205d3aaa33e583374b7a7f30f0ca 100644 (file)
@@ -1,14 +1,19 @@
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
 <!DOCTYPE template SYSTEM "template.dtd">
+
+<!--This template doesnt does not appear to be correct. If it is correct, or if
+    you have modifications to make it correct, then let us know, and we'll
+    update and enable it.-->
+
 <template>
-<title>Sendmail Virtual Users</title>
-<!--<regexp>^ou=People,o=.*,</regexp>-->
-<icon>images/mail.png</icon>
-<description>New Sendmail Virtual User</description>
 <askcontainer>1</askcontainer>
+<description>New Sendmail Virtual User</description>
+<icon>mail.png</icon>
+<invalid>1</invalid>
 <rdn>sendmailMTAMapObject</rdn>
+<!--<regexp>^ou=People,o=.*,</regexp>-->
+<title>Sendmail: Virtual Users</title>
 <visible>1</visible>
-<invalid>1</invalid>
 
 <objectClasses>
 <objectClass id="sendmailMTAMapObject"></objectClass>
@@ -17,7 +22,7 @@
 <attributes>
 <attribute id="sendmailMTACluster">
        <display>Sendmail Cluster Name</display>
-       <icon>images/object.png</icon>
+       <icon>ldap-default.png</icon>
        <order>1</order>
        <page>1</page>
 </attribute>
 <attribute id="sendmailMTAMapValue">
        <display>Recipient Addresses</display>
        <hint>use %1 to map user name port of address</hint>
-       <type>textarea</type>
        <order>4</order>
        <page>1</page>
+       <type>textarea</type>
 </attribute>
 <attribute id="sendmailMTAMapName">
-       <value>virtuser</value>
        <hidden>1</hidden>
+       <value>virtuser</value>
 </attribute>
 </attributes>
+
 </template>
index d2b4e4c2e75367587416bf5f9c4394076ba2ab37..2cb20002ded2ebbd5fc87384c8c3237c22645d16 100644 (file)
@@ -1,12 +1,14 @@
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
 <!DOCTYPE template SYSTEM "template.dtd">
+
 <template>
-<title>Simple Security Object</title>
-<!--<regexp>^ou=People,o=.*,</regexp>-->
-<icon>images/user.png</icon>
-<description>New Simple Security Object</description>
 <askcontainer>1</askcontainer>
+<description>New Simple Security Object</description>
+<icon>ldap-user.png</icon>
+<invalid>0</invalid>
 <rdn>userid</rdn>
+<!--<regexp>^ou=People,o=.*,</regexp>-->
+<title>Generic: Simple Security Object</title>
 <visible>1</visible>
 
 <objectClasses>
 <attributes>
 <attribute id="userid">
        <display>User Name</display>
-       <icon>images/uid.png</icon>
+       <icon>ldap-uid.png</icon>
        <order>1</order>
        <page>1</page>
        <spacer>1</spacer>
 </attribute>
 <attribute id="userPassword">
        <display>Password</display>
-       <icon>images/lock.png</icon>
-       <type>password</type>
-       <verify>1</verify>
-       <helper>
-               <display>Encryption</display>
-               <id>enc</id>
-               <option>blowfish</option>
-               <option>clear</option>
-               <option>crypt</option>
-               <option>ext_des</option>
-               <option>md5</option>
-               <option>md5crypt</option>
-               <option>sha</option>
-               <option>smd5</option>
-               <option>ssha</option>
-               <value>md5</value>
-       </helper>
-       <post>=php.Password(%enc%,%userPassword%)</post>
+       <icon>lock.png</icon>
        <order>5</order>
        <page>1</page>
+       <post>=php.PasswordEncrypt(%enc%;%userPassword%)</post>
+       <verify>1</verify>
 </attribute>
 </attributes>
+
 </template>
index 385b47266c76b6d5b27f12c0fb8e62a6306df982..7d53ccdb458ed9a2d246c5bff6f579d736400916 100644 (file)
@@ -1,32 +1,40 @@
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
 <!DOCTYPE template SYSTEM "template.dtd">
+
 <template>
-<title>Address Book Entry</title>
-<regexp>^uid=.*,</regexp>
-<icon>images/user.png</icon>
-<visible>0</visible>
-<rdn>uid</rdn>
+<description>Address Book Entry</description>
+<icon>address-book.png</icon>
+<invalid>0</invalid>
+<rdn>cn</rdn>
+<noleaf>1</noleaf>
+<!--<regexp>^ou=People,o=.*,</regexp>-->
+<title>Generic: Address Book Entry</title>
+<visible>1</visible>
 
 <objectClasses>
 <objectClass id="inetOrgPerson"></objectClass>
-<objectClass id="top"></objectClass>
 </objectClasses>
 
 <attributes>
 <attribute id="givenName">
        <display>First name</display>
-       <icon>images/uid.png</icon>
-       <onchange>autoFill:cn,%givenName% %sn%</onchange>
+       <icon>ldap-uid.png</icon>
+       <onchange>=autoFill(cn;%givenName% %sn%)</onchange>
        <order>1</order>
 </attribute>
 <attribute id="sn">
        <display>Last name</display>
-       <onchange>autoFill:cn,%givenName% %sn%</onchange>
+       <onchange>=autoFill(cn;%givenName% %sn%)</onchange>
        <order>2</order>
 </attribute>
 <attribute id="cn">
        <display>Common Name</display>
+       <order>3</order>
        <readonly>1</readonly>
+       <spacer>1</spacer>
+</attribute>
+<attribute id="jpegPhoto">
+       <display>Photo</display>
        <order>3</order>
        <spacer>1</spacer>
 </attribute>
        <order>4</order>
 </attribute>
 <attribute id="street">
-       <display>Street</display>
-       <icon>images/mail.png</icon>
-       <type>textarea</type>
        <cols>50</cols>
-       <rows>4</rows>
+       <display>Street</display>
+       <icon>mail.png</icon>
        <order>5</order>
+       <rows>4</rows>
+       <type>textarea</type>
 </attribute>
 <attribute id="l">
        <display>City</display>
-       <option>Berlin</option>
-       <option>London</option>
-       <option>Paris</option>
-       <option>Washington</option>
-       <option>Other</option>
        <order>6</order>
 </attribute>
 <attribute id="st">
 </attribute>
 <attribute id="postalCode">
        <display>Postal code</display>
-       <maxlength>5</maxlength>
        <order>8</order>
        <spacer>1</spacer>
 </attribute>
 <attribute id="telephoneNumber">
        <display>Work phone</display>
-       <icon>images/phone.png</icon>
+       <icon>phone.png</icon>
        <order>9</order>
 </attribute>
 <attribute id="facsimileTelephoneNumber">
@@ -79,4 +81,5 @@
        <order>12</order>
 </attribute>
 </attributes>
+
 </template>
index aae9e964bc9a0eb05f2208fea48346709c2664fd..64ed7866f301eb3c4ad5f472f87b7f56463c88f2 100644 (file)
@@ -1,11 +1,13 @@
-<!-- ==========================================================================
- This is the DTD for phpLDAPAdmin Templates (draft).
+<!--
+==========================================================================
+ This is the DTD for phpLDAPAdmin Templates.
 
- Copyright (c) 2005 <adezorzi AT rhx DOT it>
+ Copyright (c) 2009
 
- temporary URI for the DTD: http://www.phamm.org/DTD/pla-template-strict.dtd
- Validate your templates here: http://www.stg.brown.edu/service/xmlvalid/
-========================================================================== -->
+ Temporary URI for the DTD: http://phpldapadmin.sf.net/release/templates/template.dtd
+ Validate your templates here: http://www.xmlvalidation.com
+==========================================================================
+-->
 
 <!-- Unused -->
 <!ENTITY % Boolean "(0 | 1)">
@@ -13,9 +15,8 @@
 <!-- ================================================================ -->
 
 <!-- Template Definition -->
-<!ELEMENT template (title,regexp?,icon?,description?,askcontainer?,rdn?,
-                       destinationcontainer?,action?,leaf?,
-                       visible?,invalid?,objectClasses,attributes)>
+<!ELEMENT template (askcontainer?,description?,icon?,invalid?,rdn?,regexp?,
+       title,visible?,objectClasses,attributes)>
 
 <!-- ObjectClasses Definition -->
 <!ELEMENT objectClasses (objectClass+)>
 
 <!-- Attributes Definition -->
 <!ELEMENT attributes (attribute*)>
-<!ELEMENT attribute (array?, value*, cols?, description?, display?, helper?, hidden?, readonly?, hint?,
-                       icon?, onchange*, order?, override?, page?, post?,minvalnb?,maxvalnb?,
-                       presubmit?, rows?, spacer*, type?, option*, verify?)>
+<!ELEMENT attribute (cols?,default?,display?,helper?,hidden?,hint?,icon?,
+       maxlength?,onchange*,order?,page?,post?,presubmit?,readonly?,rows?,size?,
+       spacer?,type?,value*,verify?)?>
 <!ATTLIST attribute id CDATA #REQUIRED>
 
 <!-- helper -->
-<!ELEMENT helper (value*,display?,hint?,id?,location?,option*)>
+<!ELEMENT helper (default?,display?,id?,value*)>
 
 <!-- ================================================================ -->
 
 <!-- Common Parameters -->
 <!ELEMENT icon (#PCDATA)>
-<!ELEMENT hint (#PCDATA)>
-<!ELEMENT description (#PCDATA)>
+<!ELEMENT default (#PCDATA)>
 <!ELEMENT display (#PCDATA)>
+<!ELEMENT value (#PCDATA)>
 
 <!-- Header Parameters -->
-<!ELEMENT title (#PCDATA)>
-<!ELEMENT regexp (#PCDATA)>
 <!ELEMENT askcontainer (#PCDATA)>
+<!ELEMENT description (#PCDATA)>
+<!ELEMENT invalid (#PCDATA)>
 <!ELEMENT rdn (#PCDATA)>
+<!ELEMENT regexp (#PCDATA)>
+<!ELEMENT title (#PCDATA)>
 <!ELEMENT visible (#PCDATA)>
-<!ELEMENT invalid (#PCDATA)>
-<!ELEMENT destinationcontainer (#PCDATA)>
-<!ELEMENT action (#PCDATA)>
-<!ELEMENT leaf (#PCDATA)>
 
 <!-- Attribute Parameters -->
-<!ELEMENT array (#PCDATA)>
-<!ELEMENT minvalnb (#PCDATA)>
-<!ELEMENT maxvalnb (#PCDATA)>
 <!ELEMENT cols (#PCDATA)>
-<!ELEMENT value (#PCDATA)>
 <!ELEMENT hidden (#PCDATA)>
-<!ELEMENT readonly (#PCDATA)>
+<!ELEMENT hint (#PCDATA)>
+<!ELEMENT maxlength (#PCDATA)>
 <!ELEMENT onchange (#PCDATA)>
 <!ELEMENT order (#PCDATA)>
-<!ELEMENT override (#PCDATA)>
 <!ELEMENT page (#PCDATA)>
 <!ELEMENT post (#PCDATA)>
 <!ELEMENT presubmit (#PCDATA)>
+<!ELEMENT readonly (#PCDATA)>
 <!ELEMENT rows (#PCDATA)>
+<!ELEMENT size (#PCDATA)>
 <!ELEMENT spacer (#PCDATA)>
 <!ELEMENT type (#PCDATA)>
 <!ELEMENT verify (#PCDATA)>
 
 <!-- Helper Parameters -->
 <!ELEMENT id (#PCDATA)>
-<!ELEMENT location (#PCDATA)>
-<!ELEMENT option (#PCDATA)>