Ejemplo n.º 1
0
 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');
         }
     }
 }
Ejemplo n.º 2
0
 /**
  * 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));
     }
 }
Ejemplo n.º 3
0
<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>
Ejemplo n.º 4
0
 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;
 }
Ejemplo n.º 5
0
 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;
 }