public function configure() { global $_FAPP; if (!$_FAPP['templating']) { global $configs; } $configs = new ModuleConfigs(); $configs->getForModule('users'); if ($_FAPP['templating']) { FabriqTemplates::set_var('module_configs', $configs); } if (isset($_POST['submit'])) { $configs[$configs->configs['anyoneCanRegister']]->val = $_POST['anyoneCanRegister']; $configs->update($configs->configs['anyoneCanRegister']); Fabriq::render('none'); echo json_encode(array('success' => true)); } }
public function register() { if ($this->isLoggedIn()) { header("Location: " . PathMap::build_path('users', 'myAccount')); exit; } $configs = new ModuleConfigs(); $configs->getForModule('users'); if ($configs[$configs->configs['anyoneCanRegister']]->val == 0) { FabriqModules::module('roles')->noPermission(); FabriqModules::render('roles', 'noPermission'); FabriqModules::has_permission(false); } else { Fabriq::title('Register'); if (isset($_POST['submit'])) { $emailPattern = '/^([a-z0-9])(([-a-z0-9._])*([a-z0-9]))*\\@([a-z0-9])(([a-z0-9-])*([a-z0-9]))+' . '(\\.([a-z0-9])([-a-z0-9_-])?([a-z0-9])+)+$/i'; $displayPattern = '/([A-z0-9]){6,24}/'; $user = FabriqModules::new_model('users', 'Users'); $user->display = $_POST['display']; $user->email = $_POST['email']; $user->encpwd = $_POST['pwd']; if (!preg_match($displayPattern, $user->display)) { Messaging::message("Display name is invalid"); } if (!preg_match($emailPattern, $user->email)) { Messaging::message("e-mail address is invalid"); } if (strlen($user->encpwd) < 8 || $user->encpwd == $user->display || $user->encpwd == $user->email) { Messaging::message("Password is invalid"); } if (!Messaging::has_messages()) { $user->status = 1; $user->banned = 0; $user->forcepwdreset = 0; $user->id = $user->create(); $user->encpwd = crypt($user->encpwd, $user->id); $user->update(); global $_FAPP; $url = $_FAPP['url'] . PathMap::build_path('users', 'login'); $message = <<<EMAIL Hello {$user->display}, Your account has been created on the {$_FAPP['title']} website. You can log in by navigating to {$url} in your browser. Thanks, The {$_FAPP['title']} team NOTE: Do not reply to this message. It was automatically generated. EMAIL; mail($user->email, "Your account at {$_FAPP['title']}", $message, 'From: noreply@' . str_replace('http://', '', str_replace('https://', '', str_replace('www.', '', $_FAPP['url'])))); } FabriqModules::set_var('users', 'submitted', true); } else { FabriqModules::add_js('users', 'jquery.validate.min'); FabriqModules::add_js('users', 'users-register'); FabriqModules::add_css('users', 'users-admin'); } } }