public function manage() { if (FabriqModules::module('roles')->requiresPermission('manage modules', $this->name)) { Fabriq::title('Admin | Manage modules'); FabriqModules::add_js($this->name, $this->name); Fabriq::fabriq_ui_on(); $modules = new Modules(); $modules->getAll(); // get and install any new modules $available = $this->scan_modules(); $toRegister = $this->to_register($modules, $available); foreach ($toRegister as $register) { FabriqModules::register_module($register); } // update modules collection $modules = new Modules(); $modules->getAll(); FabriqModules::set_var($this->name, 'modules', $modules); } }
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); } } }
/** * page title getter/setter * if NULL, return the page title * @param string $title * @return string */ public static function title($title = NULL) { if ($title != NULL) { self::$title = strip_tags($title); } else { return self::$title; } }
/** * @file Fabriq install template * @author Will Steinmetz * * Copyright (c)2013, Ralivue.com * Licensed under the BSD license. * http://fabriqframework.com/license */ ?> <!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[
public function updateAccount() { if (!$this->isLoggedIn()) { header('Location: ' . PathMap::build_path('users', 'login')); exit; } Fabriq::title('Update account'); $user = FabriqModules::new_model('users', 'Users'); $user->find($_SESSION[Fabriq::siteTitle()]['FABMOD_USERS_userid']); 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}/'; if (!preg_match($displayPattern, $_POST['display'])) { Messaging::message("Display name is invalid"); } if (!preg_match($emailPattern, $_POST['email'])) { Messaging::message("e-mail address is invalid"); } if (!Messaging::has_messages()) { $user->display = $_POST['display']; $user->email = $_POST['email']; $user->update(); $_SESSION[Fabriq::siteTitle()]['FABMOD_USERS_displayname'] = $user->display; $_SESSION[Fabriq::siteTitle()]['FABMOD_USERS_email'] = $user->email; Messaging::message('Account has bee updated', 'success'); } FabriqModules::set_var('users', 'submitted', true); } FabriqModules::set_var('users', 'user', $user); FabriqModules::add_js('users', 'jquery.validate.min'); FabriqModules::add_js('users', 'users-updateAccount'); FabriqModules::add_css('users', 'users-admin'); }
public function noPermission() { global $_FAPP; Fabriq::title('Access denied'); FabriqModules::set_var('roles', 'controller', $_FAPP['cdefault']); FabriqModules::set_var('roles', 'action', $_FAPP['adefault']); }
/** * 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); } } }
/** * 500 server error */ public function _500() { header("HTTP/1.0 500 Internal Server Error"); Fabriq::title('500 Internal Server Error'); }
* Copyright (c)2011, Ralivue.com * Licensed under the BSD license. * http://fabriqframework.com/license */ ?> <!DOCTYPE HTML> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" /> <?php // changes should not be made for the title, stylesheet includes, // and javascript includes if ($_FAPP['title_pos'] == 'left') { echo "<title>" . Fabriq::title() . " " . Fabriq::config('title_sep') . " " . Fabriq::config('title') . "</title>\n"; } else { echo "<title>" . Fabriq::config('title') . " " . Fabriq::config('title_sep') . " " . Fabriq::title() . "</title>\n"; } // 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(); ?>