<td style="width: 85px; padding: 5px; text-align: center;" class="fabriqmodules-config-col">
			<?php 
        if ($module->hasconfigs == 1 && $module->installed == 1) {
            ?>
				<button type="button" id="config-button-<?php 
            echo $module->id;
            ?>
" onclick="FabriqModules.configurationForm(<?php 
            echo $module->id;
            ?>
);">configure</button>
			<?php 
        } else {
            ?>
				&nbsp;
			<?php 
        }
        ?>
			</td>
		</tr>
<?php 
    }
    ?>
	</tbody>
</table>
<?php 
} else {
    FabriqModules::module('roles')->noPermission();
    FabriqModules::render('roles', 'noPermission');
    FabriqModules::has_permission(false);
}
    public function register()
    {
        if ($this->isLoggedIn()) {
            header("Location: " . PathMap::build_path('users', 'myAccount'));
            exit;
        }
        $configs = new ModuleConfigs();
        $configs->getForModule('users');
        if ($configs[$configs->configs['anyoneCanRegister']]->val == 0) {
            FabriqModules::module('roles')->noPermission();
            FabriqModules::render('roles', 'noPermission');
            FabriqModules::has_permission(false);
        } else {
            Fabriq::title('Register');
            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}/';
                $user = FabriqModules::new_model('users', 'Users');
                $user->display = $_POST['display'];
                $user->email = $_POST['email'];
                $user->encpwd = $_POST['pwd'];
                if (!preg_match($displayPattern, $user->display)) {
                    Messaging::message("Display name is invalid");
                }
                if (!preg_match($emailPattern, $user->email)) {
                    Messaging::message("e-mail address is invalid");
                }
                if (strlen($user->encpwd) < 8 || $user->encpwd == $user->display || $user->encpwd == $user->email) {
                    Messaging::message("Password is invalid");
                }
                if (!Messaging::has_messages()) {
                    $user->status = 1;
                    $user->banned = 0;
                    $user->forcepwdreset = 0;
                    $user->id = $user->create();
                    $user->encpwd = crypt($user->encpwd, $user->id);
                    $user->update();
                    global $_FAPP;
                    $url = $_FAPP['url'] . PathMap::build_path('users', 'login');
                    $message = <<<EMAIL
Hello {$user->display},

Your account has been created on the {$_FAPP['title']} website.

You can log in by navigating to {$url} in your browser.

Thanks,
The {$_FAPP['title']} team


NOTE: Do not reply to this message. It was automatically generated.
EMAIL;
                    mail($user->email, "Your account at {$_FAPP['title']}", $message, 'From: noreply@' . str_replace('http://', '', str_replace('https://', '', str_replace('www.', '', $_FAPP['url']))));
                }
                FabriqModules::set_var('users', 'submitted', true);
            } else {
                FabriqModules::add_js('users', 'jquery.validate.min');
                FabriqModules::add_js('users', 'users-register');
                FabriqModules::add_css('users', 'users-admin');
            }
        }
    }
 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;
 }