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)); } }
/** * Registers a module with the modules database table * @param string $module */ public static function register_module($module) { $mod = new Modules(); $mod->getModuleByName($module); if ($mod->count() == 0) { // load the installer file $file = "modules/{$module}/{$module}.install.php"; if (file_exists('sites/' . FabriqStack::site() . "/{$file}")) { require_once 'sites/' . FabriqStack::site() . "/{$file}"; } else { if (file_exists($file)) { require_once $file; } else { throw new Exception("Module {$module} could not be found"); } } eval('$installer = new ' . $module . '_install();'); $info = $installer->info(); $mod->module = $module; $mod->enabled = 0; $mod->installed = 0; $mod->hasconfigs = 0; $mod->description = $info['description']; $mod->versioninstalled = $info['version']; if (isset($info['dependsOn'])) { $mod->dependson = implode(',', $info['dependsOn']); } $mod->id = $mod->create(); // register configs if available if (isset($info['configs'])) { foreach ($info['configs'] as $con) { $config = new ModuleConfigs(); $config->module = $mod->id; $config->var = $con; if (isset($info['configDefaults']) && array_key_exists($con, $info['configDefaults'])) { $config->val = $info['configDefaults'][$con]; } else { $config->val = ''; } $config->create(); } $mod->hasconfigs = 1; $mod->update(); } } return $mod->id; }
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'); } } }
public function js() { $apikey = new ModuleConfigs(); $apikey->getConfig('googleanalytics', 'apikey'); FabriqModules::set_var('googleanalytics', 'apikey', $apikey->val); }