array(
'label' => "Users can register",
'type' => "checkbox",
'note' => "",
),
'send_welcome_email' => array(
'label' => "Send registration welcome email",
'type' => "checkbox",
'note' => "Upon successful registration, this will send the user an email with login information, including their password.",
),
'users_eponymous_groups' => array(
'label' => "Create a group for each user",
'type' => "checkbox",
'note' => "This will create a group for each user with the same name as the user. This might be useful if you want to assign different permission settings to every user.",
),
'users_register_passcode' => array(
'label' => "Request passcode to register",
'type' => "checkbox",
'note' => "",
),
'users_register_passcode' => array(
'label' => "Passcode",
'type' => "text",
'note' => "Enter the Passcode that is required for users to register with your site.",
),
'users_random_number_reg' => array(
'label' => "Prevent automatic/robot registration",
'type' => "checkbox",
'note' => "This will generate a random number as an image, the user has to confirm during the registration step.",
),
'users_validate_user' => array(
'label' => "Validate users by email",
'type' => "checkbox",
'note' => "Send an email to the user, to validate registration.",
),
'users_validate_email' => array(
'label' => "Validate email address",
'type' => "checkbox",
'link' => "kernel/admin/index.php?page=server/General Settings",
'note' => "This feature should be used only when you need the maximum security and should be used with discretion. If a visitor's email server is not responding, they will not be able to register. You also must have a valid sender email to use this feature.",
),
'users_forgot_pass' => array(
'label' => "Remind passwords by email",
'type' => "checkbox",
'note' => "This will display a 'forgot password' link on the login page and allow users to have their password sent to their registered email address.",
),
'users_pass_due' => array(
'label' => "Password invalid after days",
'type' => "text",
'note' => "",
),
'users_clear_passwords' => array(
'label' => "Store plaintext passwords",
'type' => "checkbox",
'note' => "Passwords will be visible in the database. If a user requests a password, their password will *not* be reset and simply emailed to them in plain text. This option is less secure, but better suited to sites with a wide variety of users.",
),
'users_case_sensitive_login' => array(
'label' => 'Case-Sensitive Login',
'type' => "checkbox",
'note' => 'This determines whether user login names are case-sensitive.'
),
'user_password_generator' => array(
'label' => "Password generator",
'type' => "checkbox",
'note' => "Display password generator on registration page that creates secure passwords.",
),
'users_pass_chr_num' => array(
'label' => "Force to use characters and numbers in passwords",
'type' => "checkbox",
'note' => "",
),
'users_min_pass_length' => array(
'label' => "Minimum password length",
'type' => "text",
'note' => "",
),
'users_remember_me' => array(
'label' => "Remember me feature",
'type' => "checkbox",
'note' => "Registered users will stay logged even if they close their browser.",
),
'cookie_domain' => array(
'label' => "Remember me domain",
'type' => "text",
'note' => "Remember to use a '.' wildcard prefix if you want domain wide cookies.
e.g.: .mysite.com for a domain called www.mysite.com",
),
'cookie_path' => array(
'label' => "Remember me path",
'type' => "text",
'note' => "The path '/foo' would match '/foobar' and '/foo/bar.html'",
),
);
$gBitSmarty->assign( 'loginSettings', $loginSettings );
if( !function_exists("gd_info" ) ) {
$gBitSmarty->assign( 'warning', 'PHP GD library is required for this feature (not found on your system)' );
}
if( !empty( $_REQUEST["loginprefs"] ) ) {
if( !preg_match( "#^/#", $_REQUEST['cookie_path'] ) ) {
$_REQUEST['cookie_path'] = BIT_ROOT_URL;
}
foreach( array_keys( $loginSettings ) as $feature ) {
if( $loginSettings[$feature]['type'] == 'text' ) {
simple_set_value( $feature, USERS_PKG_NAME );
} else {
simple_set_toggle( $feature, USERS_PKG_NAME );
}
}
simple_set_value( 'users_remember_time', USERS_PKG_NAME );
simple_set_value( 'users_auth_method', USERS_PKG_NAME );
if ( isset( $_REQUEST['registration_group_choice'] ) ) {
$listHash = array();
$groupList = $gBitUser->getAllGroups( $listHash );
$in = array();
$out = array();
foreach ( $groupList['data'] as $gr ) {
if ($gr['group_id'] == -1)
continue;
if ( $gr['is_public'] == 'y' && !in_array( $gr['group_id'], $_REQUEST['registration_group_choice'] ) ) // deselect
$out[] = $gr['group_id'];
elseif ( $gr['is_public'] != 'y' && in_array( $gr['group_id'], $_REQUEST['registration_group_choice'] ) ) //select
$in[] = $gr['group_id'];
}
if ( count($in) ) {
$gBitUser->storeRegistrationChoice( $in, 'y' );
}
if ( count($out) ) {
$gBitUser->storeRegistrationChoice( $out, NULL );
}
}
}
$registerSettings = array(
'reg_real_name' => array(
'label' => "Real Name",
'type' => "checkbox",
'note' => "Allow users to supply their real name.",
),
'reg_country' => array(
'label' => "Country",
'type' => "checkbox",
'note' => "Allow users to pick country of residency.",
),
'reg_language' => array(
'label' => "Language",
'type' => "checkbox",
'note' => "Allow users to select their preferred language.",
),
'reg_homepage' => array(
'label' => "Homepage URL",
'type' => "checkbox",
'note' => "Allow users to enter the url to their own homepage.",
),
'reg_portrait' => array(
'label' => "Self Portrait",
'type' => "checkbox",
'note' => "Allow users to upload a self portrait.",
),
);
$gBitSmarty->assign( 'registerSettings', $registerSettings );
if( !empty( $_REQUEST["registerprefs"] ) ) {
foreach( array_keys( $registerSettings ) as $feature ) {
if( $registerSettings[$feature]['type'] == 'text' ) {
simple_set_value( $feature, USERS_PKG_NAME );
} else {
simple_set_toggle( $feature, USERS_PKG_NAME );
}
}
}
$httpSettings = array(
'site_https_login' => array(
'label' => "Allow secure (https) login",
'type' => "checkbox",
'note' => "",
),
'site_https_login_required' => array(
'label' => "Require secure (https) login",
'type' => "checkbox",
'note' => "",
),
'site_http_domain' => array(
'label' => "HTTP server name",
'type' => "text",
'note' => "",
),
'site_http_port' => array(
'label' => "HTTP port",
'type' => "text",
'note' => "",
),
'site_http_prefix' => array(
'label' => "HTTP URL prefix",
'type' => "text",
'note' => "",
),
'site_https_domain' => array(
'label' => "HTTPS server name",
'type' => "text",
'note' => "",
),
'site_https_port' => array(
'label' => "HTTPS port",
'type' => "text",
'note' => "",
),
'site_https_prefix' => array(
'label' => "HTTPS URL prefix",
'type' => "text",
'note' => "",
),
);
$gBitSmarty->assign( 'httpSettings', $httpSettings );
if( !empty( $_REQUEST["httpprefs"] ) ) {
foreach( array_keys( $httpSettings ) as $feature ) {
if( $httpSettings[$feature]['type'] == 'text' ) {
simple_set_value( $feature, USERS_PKG_NAME );
} else {
simple_set_toggle( $feature, USERS_PKG_NAME );
}
}
}
$ldapSettings = array(
'users_auth_create_gBitDbUser' => array(
'label' => "Create user if not in bitweaver",
'type' => "checkbox",
'note' => "",
),
'users_auth_create_user_auth' => array(
'label' => "Create user if not in Auth",
'type' => "checkbox",
'note' => "",
),
'users_auth_skip_admin' => array(
'label' => "Just use bitweaver auth for admin",
'type' => "checkbox",
'note' => "",
),
'users_ldap_host' => array(
'label' => "LDAP Host",
'type' => "text",
'note' => "",
),
'users_ldap_port' => array(
'label' => "LDAP Port",
'type' => "text",
'note' => "",
),
'users_ldap_basedn' => array(
'label' => "LDAP Base DN",
'type' => "text",
'note' => "",
),
'users_ldap_userdn' => array(
'label' => "LDAP User DN",
'type' => "text",
'note' => "",
),
'users_ldap_userattr' => array(
'label' => "LDAP User Attribute",
'type' => "text",
'note' => "",
),
'users_ldap_useroc' => array(
'label' => "LDAP User OC",
'type' => "text",
'note' => "",
),
'users_ldap_groupdn' => array(
'label' => "LDAP Group DN",
'type' => "text",
'note' => "",
),
'users_ldap_groupattr' => array(
'label' => "LDAP Group Atribute",
'type' => "text",
'note' => "",
),
'users_ldap_groupoc' => array(
'label' => "LDAP Group OC",
'type' => "text",
'note' => "",
),
'users_ldap_memberattr' => array(
'label' => "LDAP Member Attribute",
'type' => "text",
'note' => "",
),
'users_ldap_memberisdn' => array(
'label' => "LDAP Member Is DN",
'type' => "text",
'note' => "",
),
'users_ldap_adminuser' => array(
'label' => "LDAP Admin User",
'type' => "text",
'note' => "",
),
'users_ldap_adminpass' => array(
'label' => "LDAP Admin Pwd",
'type' => "password",
'note' => "",
),
);
$gBitSmarty->assign( 'ldapSettings', $ldapSettings );
$ldapEnabled= function_exists('ldap_connect');
$gBitSmarty->assign( 'ldapEnabled', $ldapEnabled );
if( $ldapEnabled && !empty( $_REQUEST["auth_pear"] ) ) {
foreach( array_keys( $ldapSettings ) as $feature ) {
if( $ldapSettings[$feature]['type'] == 'text' ) {
simple_set_value( $feature, USERS_PKG_NAME );
} else {
simple_set_toggle( $feature, USERS_PKG_NAME );
}
}
}
$listHash = array();
$groupList = $gBitUser->getAllGroups($listHash);
$gBitSmarty->assign_by_ref('groupList', $groupList['data']);
?>