diff options
| author | Lester Caine <lester@lsces.co.uk> | 2026-05-18 09:05:06 +0100 |
|---|---|---|
| committer | Lester Caine <lester@lsces.co.uk> | 2026-05-18 09:05:06 +0100 |
| commit | 61f154b3396b25444c82f6694303fd90106e7940 (patch) | |
| tree | f5c97e26014f127abb54200429b578cf3e0bff4c /hauth_register.php | |
| parent | 9f1d04bb6588ef69ea0b62fa4ef7f9149cd2d372 (diff) | |
| download | users-61f154b3396b25444c82f6694303fd90106e7940.tar.gz users-61f154b3396b25444c82f6694303fd90106e7940.tar.bz2 users-61f154b3396b25444c82f6694303fd90106e7940.zip | |
Tidy register structure post stripping the groups biased code
Diffstat (limited to 'hauth_register.php')
| -rwxr-xr-x | hauth_register.php | 120 |
1 files changed, 120 insertions, 0 deletions
diff --git a/hauth_register.php b/hauth_register.php new file mode 100755 index 0000000..2a41b8e --- /dev/null +++ b/hauth_register.php @@ -0,0 +1,120 @@ +<?php + +use Bitweaver\KernelTools; +/** + * register new user + * + * @copyright (c) 2004-15 bitweaver.org + * + * @package users + * @subpackage functions + */ + +/** + * required setup + */ +// Avoid user hell +use Bitweaver\HttpStatusCodes; +use Bitweaver\Users\BitHybridAuthManager; + +if( isset( $_REQUEST['tk'] ) ) { + unset( $_REQUEST['tk'] ); +} +require_once '../kernel/includes/setup_inc.php'; + +include_once KERNEL_PKG_INCLUDE_PATH . 'notification_lib.php'; + +$gBitSystem->verifyFeature( 'users_allow_register' ); + +BitHybridAuthManager::loadSingleton(); +global $gBitHybridAuthManager; +$gBitSmarty->assign( 'hybridProviders', $gBitHybridAuthManager->getEnabledProviders() ); + +// Everything below here is needed for registration + +use Bitweaver\Users\BaseAuth; + +if( !empty( $_REQUEST['returnto'] ) ) { + $_SESSION['returnto'] = $_REQUEST['returnto']; +} elseif( !empty( $_SERVER['HTTP_REFERER'] ) && !strpos( $_SERVER['HTTP_REFERER'], 'signin.php' ) && !strpos( $_SERVER['HTTP_REFERER'], 'hauth_register.php' ) ) { + $from = parse_url( $_SERVER['HTTP_REFERER'] ); + if( !empty( $from['path'] ) && $from['host'] == $_SERVER['SERVER_NAME'] ) { + $_SESSION['loginfrom'] = $from['path'].'?'.( !empty( $from['query'] ) ? $from['query'] : '' ); + } +} + +if( $gBitUser->isRegistered() ) { + KernelTools::bit_redirect( $gBitSystem->getDefaultPage() ); +} +if( isset( $_REQUEST["register"] ) ) { + + $pRegisterHash = $_REQUEST; + + include USERS_PKG_INCLUDE_PATH . 'register_inc.php'; + + $gBitSmarty->assign( 'reg', $pRegisterHash ); + +} else { + if( $gBitSystem->isFeatureActive( 'custom_user_fields' ) ) { + $fields= explode( ',', $gBitSystem->getConfig( 'custom_user_fields' ) ); + KernelTools::trim_array( $fields ); + $gBitSmarty->assign('customFields', $fields); + } + + for( $i=0; $i < BaseAuth::getAuthMethodCount(); $i++ ) { + $instance = BaseAuth::init( $i ); + if( $instance && $instance->canManageAuth() ) { + $auth_reg_fields = $instance->getRegistrationFields(); + foreach( array_keys( $auth_reg_fields ) as $auth_field ) { + $auth_reg_fields[$auth_field]['value'] = $auth_reg_fields[$auth_field]['default']; + } + $gBitSmarty->assign( 'auth_reg_fields', $auth_reg_fields ); + break; + } + } +} + +$languages = []; +$languages = $gBitLanguage->listLanguages(); +$gBitSmarty->assign( 'languages', $languages ); +$gBitSmarty->assign( 'gBitLanguage', $gBitLanguage ); + +// Get flags here +$flags = []; +$h = opendir( USERS_PKG_PATH.'icons/flags/' ); +while( $file = readdir( $h )) { + if( strstr( $file, ".gif" )) { + $parts = explode( '.', $file ); + $flags[] = $parts[0]; + } +} +closedir( $h ); +sort( $flags ); +$gBitSmarty->assign('flags', $flags); + + +// include preferences settings from other packages - these will be included as individual tabs +$packages = []; +foreach( $gBitSystem->mPackages as $package ) { + if( $gBitSystem->isPackageActive( $package['name'] )) { + $php_file = $package['path'].'user_register_inc.php'; + $tpl_file = $package['path'].'templates/user_register_inc.tpl'; + if( file_exists( $tpl_file )) { + if( file_exists( $php_file )) { + require $php_file; + } + $p=[]; + $p['template'] = $tpl_file; + $packages[] = $p; + } + } +} +$gBitSmarty->assign('packages',$packages ); + +if( !empty( $_REQUEST['error'] ) ) { + $gBitSmarty->assign( 'error', $_REQUEST['error'] ); + $gBitSystem->setHttpStatus( HttpStatusCodes::HTTP_UNAUTHORIZED ); +} + +$gBitSmarty->assign( 'metaKeywords', 'Login, Sign in, Registration, Register, Create new account' ); +$gBitSystem->display('bitpackage:users/register.tpl', 'Register' , [ 'display_mode' => 'display' ]);
\ No newline at end of file |
