public function update() { if (FabriqModules::module('roles')->requiresPermission('update blog posts', 'blog')) { $blog = FabriqModules::new_model('blog', 'Blogs'); $blog->find(PathMap::arg(2)); if ($blog->title != '' && ($blog->locked == 0 || FabriqModules::module('roles')->requiresPermission('update blog posts', 'blog'))) { Fabriq::title('Update blog entry'); if (file_exists('libs/javascript/tiny_mce/tiny_mce.js')) { FabriqLibs::js_lib('tiny_mce', 'tiny_mce'); FabriqLibs::js_lib('jquery.tinymce', 'tiny_mce'); FabriqModules::add_js('blog', 'blog'); } // determine if extension modules are enabled $pathmapEnabled = FabriqModules::enabled('pathmap'); FabriqModules::set_var('blog', 'pathmapEnabled', $pathmapEnabled); if ($pathmapEnabled) { FabriqModules::module('pathmap')->start_update('blog', 'show', $blog->id); FabriqModules::set_var('pathmap', 'pathmap_controller', 'blog'); FabriqModules::set_var('pathmap', 'pathmap_action', 'show'); FabriqModules::set_var('pathmap', 'pathmap_modpage', 'module'); } $taxonomyEnabled = FabriqModules::enabled('taxonomy'); FabriqModules::set_var('blog', 'taxonomyEnabled', $taxonomyEnabled); if ($taxonomyEnabled) { FabriqModules::module('taxonomy')->termsList('blog', $blog->db_table, $blog->id); } if (isset($_POST['submit'])) { $blog->title = trim($_POST['title']); $blog->body = trim($_POST['body']); $blog->locked = isset($_POST['locked']) && $_POST['locked'] == 1 ? 1 : 0; $blog->user = $_SESSION[Fabriq::siteTitle()]['FABMOD_USERS_userid']; if (strlen($blog->title) == '') { Messaging::message('Blog title is required'); } if (strlen($blog->body) == '') { Messaging::message('Blog body is required'); } if (!Messaging::has_messages()) { $blog->update(); FabriqModules::trigger_event($this->name, 'create', 'blog entry updated', $blog); // create map if needed if ($pathmapEnabled) { $_POST['pathmap_extra'] = $blog->id; $_POST['pathmap_wildcard'] = NULL; FabriqModules::module('pathmap')->update('blog', 'show', $blog->id); } // add taxonomy if available if ($taxonomyEnabled) { FabriqModules::module('taxonomy')->termsList('blog', $blog->db_table, $blog->id); } if (!Messaging::has_messages()) { header('Location: ' . PathMap::build_path('blog')); exit; } } FabriqModules::set_var('blog', 'submitted', true); } FabriqModules::set_var('blog', 'blog', $blog); } else { FabriqModules::set_var('blog', 'notFound', true); Fabriq::title('Blog entry not found'); } } }
/** * Check whether or not the user is logged in */ public static function checkUserStatus() { if ((!isset($_SESSION[Fabriq::siteTitle()]['FABMOD_USERS_roles']) || $_SESSION[Fabriq::siteTitle()]['FABMOD_USERS_roles'] == '') && Fabriq::installed()) { $role = FabriqModules::new_model('roles', 'Roles'); $role->getRole('unauthenticated'); $_SESSION[Fabriq::siteTitle()]['FABMOD_USERS_roles'] = serialize(array($role->id, $role->role)); } }
<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 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 userHasPermission($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; } return FALSE; } return FALSE; } return FALSE; }