verifyFeature( 'allow_register' ); if( isset( $_REQUEST["register"] ) ) { $reg = $_REQUEST; // novalidation is set to yes if a user confirms his email is correct after tiki fails to validate it if( $gBitSystem->isFeatureActive( 'rnd_num_reg' ) ) { if( (empty( $reg['novalidation'] ) || $reg['novalidation'] != 'yes') && (!isset( $_SESSION['random_number'] ) || $_SESSION['random_number']!=$reg['regcode'])) { $errors['rnd_num_reg'] = "Wrong registration code"; } } // Check the mode if( $gBitSystem->isFeatureActive( 'use_register_passcode' ) ) { if( $reg["passcode"] != $gBitSystem->getPreference( "register_passcode",md5( $gBitUser->genPass() ) ) ) { $errors['passcode'] = 'Wrong passcode! You need to know the passcode to register at this site'; } } if( empty( $errors ) ) { $newUser = new BitPermUser(); if( $newUser->register( $reg ) ) { if( $gBitSystem->isFeatureActive( 'validate_user' ) ) { $gBitSmarty->assign('msg',tra('You will receive an email with information to login for the first time into this site')); $gBitSmarty->assign('showmsg','y'); } else { $url = $newUser->login( $reg['login'], $reg['password'], FALSE, FALSE ); header( 'Location: '.$url ); exit; } } else { $gBitSmarty->assign_by_ref( 'errors', $newUser->mErrors ); } } else { $gBitSmarty->assign_by_ref( 'errors', $errors ); } $gBitSmarty->assign_by_ref( 'reg', $reg ); } else { if( $gBitSystem->isFeatureActive( 'custom_user_fields' ) ) { $fields= explode( ',', $gBitSystem->getPreference( 'custom_user_fields' ) ); trim_array( $fields ); $gBitSmarty->assign('customFields', $fields); } } $languages = array(); $languages = $gBitLanguage->listLanguages(); $gBitSmarty->assign_by_ref('languages', $languages); $gBitSmarty->assign_by_ref('gBitLanguage', $gBitLanguage); // Get flags here $flags = array(); $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); $gBitSystem->display('bitpackage:users/register.tpl', 'Register' ); ?>