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)); } }
/** * Process everything the queue */ public static function processQueue() { if (!count(self::$queue)) { return false; } $next = FabriqStack::dequeue(); while ($next->controller == '') { if (!count(self::$queue)) { return false; } FabriqStack::processQueue(); } self::$processing = $next; switch ($next->type) { case 'module': $module =& FabriqModules::module($next->controller); call_user_func_array(array($module, $next->action), $next->extra); if (Fabriq::render() != 'none' && FabriqModules::has_permission() && !FabriqModules::stopMappedRender()) { FabriqTemplates::renderToBody($next); } break; case 'controller': default: PathMap::controller($next->controller); PathMap::action($next->action); $file = "app/controllers/{$next->controller}.controller.php"; if (file_exists('sites/' . FabriqStack::site() . "/{$file}")) { require_once 'sites/' . FabriqStack::site() . "/{$file}"; } else { require_once $file; } $c = "{$next->controller}_controller"; $controller = new $c(); $a = str_replace('.', '_', $next->action); if (!$controller->hasMethod($a)) { FabriqStack::error(404); } call_user_func(array($controller, $a)); FabriqTemplates::renderToBody($next); break; } if (count(self::$queue)) { FabriqStack::processQueue(); } }
public function getUserRoles() { Fabriq::render('none'); $roles = array(); if (isset($_SESSION[Fabriq::siteTitle()]['FABMOD_USERS_roles'])) { $roles = unserialize($_SESSION[Fabriq::siteTitle()]['FABMOD_USERS_roles']); } return $roles; }
public function requiresPermission($permission, $module) { if (isset($_SESSION[Fabriq::siteTitle()]['FABMOD_USERS_roles'])) { $roles = unserialize($_SESSION[Fabriq::siteTitle()]['FABMOD_USERS_roles']); if (count($roles) > 0) { global $db; $query = "SELECT COUNT( * ) AS num\nFROM fabmod_roles_moduleperms\nWHERE permission = (\n\tSELECT id\n\tFROM fabmods_perms\n\tWHERE permission = ?\n\tAND module = (\n\t\tSELECT id\n\t\tFROM fabmods_modules\n\t\tWHERE module = ?\n\t\tLIMIT 1\n\t)\n\tLIMIT 1\n)\nAND role\nIN (" . $db->qmarks(count($roles)) . ")"; $data = $db->prepare_select($query, array('num'), array_merge(array($permission, $module), $roles)); if ($data[0]['num'] > 0) { return TRUE; } $this->noPermission(); FabriqModules::render('roles', 'noPermission'); FabriqModules::has_permission(false); return FALSE; } $this->noPermission(); FabriqModules::render('roles', 'noPermission'); FabriqModules::has_permission(false); return FALSE; } // user isn't logged in if (Fabriq::render() != 'none') { FabriqModules::module('users')->login(); FabriqModules::render('users', 'login'); FabriqModules::has_permission(false); } return FALSE; }
public function configure() { Fabriq::render('view'); $module = new Modules(PathMap::arg(2)); $install_file = "modules/{$module->module}/{$module->module}.install.php"; if (file_exists('sites/' . FabriqStack::site() . "/{$install_file}")) { $install_file = 'sites/' . FabriqStack::site() . "/{$install_file}"; } else { if (!file_exists($install_file)) { throw new Exception("Module {$module->module} install file could not be found"); } } require_once $install_file; eval("\$installer = new {$module->module}_install();"); $installer->configure(); FabriqModules::set_var($this->name, 'module', $module); }