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)); } }
/** * Returns whether or the module is enabled * @param string $module * @return bool */ public static function enabled($module) { // make sure that fabriq is installed if (!Fabriq::installed()) { return false; } global $db; $sql = "SELECT enabled FROM fabmods_modules WHERE module = ?"; $data = $db->prepare_select($sql, array('enabled'), array($module)); if (count($data) == 0) { return FALSE; } return $data[0]['enabled'] == 1 ? TRUE : FALSE; }
public function show($entry) { if (FabriqModules::module('roles')->requiresPermission('view blog posts', 'blog')) { $blog = FabriqModules::new_model('blog', 'Blogs'); if (!$entry || !is_numeric($entry)) { $blog->find(PathMap::arg(2)); } else { $blog->find($entry); } if ($blog->title != '' && ($blog->locked == 0 || FabriqModules::module('roles')->requiresPermission('update blog posts', 'blog'))) { Fabriq::title('Blog - ' . $blog->title); $user = FabriqModules::new_model('users', 'Users'); $user->find($blog->user); $blog->user = $user; $taxonomyEnabled = FabriqModules::enabled('taxonomy'); FabriqModules::set_var('blog', 'taxonomyEnabled', $taxonomyEnabled); FabriqModules::set_var('blog', 'blog', $blog); $isAdmin = FabriqModules::module('roles')->userHasPermission('update blog posts', 'blog'); FabriqModules::set_var('blog', 'isAdmin', $isAdmin); } else { FabriqModules::set_var('blog', 'notFound', true); Fabriq::title('Blog entry not found'); } } }
public function itemsDestroy() { if (FabriqModules::module('roles')->requiresPermission('update menus', 'sitemenus')) { $menu = FabriqModules::new_model('sitemenus', 'Menus'); $menu->find(PathMap::arg(3)); if ($menu->menuName != '') { $menuItem = FabriqModules::new_model('sitemenus', 'MenuItems'); $menuItem->find(PathMap::arg(4)); if ($menuItem->itemName != '') { Fabriq::title("Add item to menu \"{$menu->menuName}\""); $menu->buildMenu(); FabriqModules::set_var('sitemenus', 'menu', $menu); FabriqModules::set_var('sitemenus', 'found', true); FabriqModules::set_var('sitemenus', 'moduleName', $this->name); if (isset($_POST['submitted'])) { $menuItem->destroy(); FabriqModules::set_var('sitemenus', 'submitted', true); } FabriqModules::set_var('sitemenus', 'menuItem', $menuItem); } else { Fabriq::title("Menu item not found"); FabriqModules::set_var('sitemenus', 'found', false); } } else { Fabriq::title("Menu not found"); FabriqModules::set_var('sitemenus', 'found', false); } } }
/** * 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(); } }
<!DOCTYPE HTML> <html lang="en"> <head> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" /> <title>Fabriq Framework | <?php echo Fabriq::title(); ?> </title> <link href='http://fonts.googleapis.com/css?family=Open+Sans:400italic,700italic,400,700' rel='stylesheet' type='text/css'> <?php // process css queue foreach (Fabriq::cssqueue() as $css) { echo "<link href=\"{$css['path']}{$css['css']}{$css['ext']}\" media=\"{$css['media']}\" rel=\"stylesheet\" type=\"text/css\" />\n"; } // process javascript queue foreach (Fabriq::jsqueue() as $js) { echo "<script language=\"JavaScript\" type=\"text/javascript\" src=\"{$js['path']}{$js['js']}{$js['ext']}\"></script>\n"; } ?> <script type="text/javascript"> //<![CDATA[ jQuery.extend(Fabriq.settings, {"basePath": "<?php echo PathMap::base_path(); ?> ", "cleanURLs": <?php echo PathMap::clean_urls_str(); ?> }); //]]> </script> <!--[if lt IE 9]>
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; }
<h1>My Account</h1> <h3>Welcome, <?php echo $_SESSION[Fabriq::siteTitle()]['FABMOD_USERS_displayname']; ?> </h3> <ul> <li><a href="<?php echo PathMap::build_path('users', 'changePassword'); ?> ">Change password</a></li> <li><a href="<?php echo PathMap::build_path('users', 'updateAccount'); ?> ">Update account</a></li> <li><a href="<?php echo PathMap::build_path('users', 'logout'); ?> ">Log out</a></li> </ul>
public function noPermission() { global $_FAPP; Fabriq::title('Access denied'); FabriqModules::set_var('roles', 'controller', $_FAPP['cdefault']); FabriqModules::set_var('roles', 'action', $_FAPP['adefault']); }
<?php $found = FabriqModules::get_var('sitemenus', 'found'); ?> <h1><?php echo Fabriq::title(); ?> </h1> <?php if ($found) { ?> <p> <a href="<?php echo PathMap::build_path('sitemenus', 'index'); ?> ">Return to menu list</a> | <a href="<?php echo PathMap::build_path('sitemenus', 'items', 'create', $menu->id); ?> ">Add menu item</a> </p> <p><?php echo $menu->description; ?> </p> <?php if (count($menu->items) > 0) { ?> <ul> <?php for ($i = 0; $i < count($menu->items); $i++) {
/** * Fetch the list of updates */ public function fetchUpdates() { if (FabriqModules::module('roles')->hasRole('administrator')) { global $db; Fabriq::title('Fabriq Updates'); // get the currently installed version $query = "SELECT version FROM fabriq_config ORDER BY installed DESC, version DESC LIMIT 1"; $db->query($query); $data = mysqli_fetch_array($db->result); $installedVersion = $data['version']; FabriqModules::set_var('fabriqinstall', 'installedVersion', $installedVersion); // get the list of updates from the site try { $versions = json_decode(file_get_contents('http://fabriqframework.com/changelog/json'), TRUE); $available = array(); $upToDate = false; if (is_array($versions) && count($versions) > 0) { foreach ($versions as $version => $info) { if ($version > $installedVersion) { $available[$version] = $info; } } if (count($available) == 0) { $upToDate = true; } FabriqModules::set_var('fabriqinstall', 'available', $available); FabriqModules::set_var('fabriqinstall', 'connected', true); } else { FabriqModules::set_var('fabriqinstall', 'connected', false); } FabriqModules::set_var('fabriqinstall', 'upToDate', $upToDate); } catch (Exception $e) { FabriqModules::set_var('fabriqinstall', 'connected', false); } } }
* * Copyright (c)2013, Ralivue.com * Licensed under the BSD license. * http://fabriqframework.com/license */ // set error displaying for testing purposes ini_set('display_errors', 1); error_reporting(E_ALL & ~E_NOTICE); // start sessions session_start(); // require core Fabriq base classes require_once 'core/Fabriq.core.php'; // determine which site should be servied FabriqStack::determineSite(); // check to make sure application has been configured $installed = Fabriq::installed(); // register default __autoload function spl_autoload_register('fabriq_default_autoload'); // include core files if ($installed) { if (file_exists('config/config.inc.php') && FabriqStack::site() == 'default') { require_once 'config/config.inc.php'; } else { require_once 'sites/' . FabriqStack::site() . '/config/config.inc.php'; } } require_once 'core/FabriqModules.core.php'; if (file_exists('sites/' . FabriqStack::site() . '/app/PathMap.class.php')) { require_once 'sites/' . FabriqStack::site() . '/app/PathMap.class.php'; } else { require_once 'app/PathMap.class.php';
/** * 500 server error */ public function _500() { header("HTTP/1.0 500 Internal Server Error"); Fabriq::title('500 Internal Server Error'); }
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); }