Ejemplo n.º 1
0
 protected function get_view()
 {
     $privs = new UserKnownPrivsModel($this->connection);
     $pages = FannieAPI::listModules('FanniePage');
     sort($pages);
     $custom = new PagePermissionsModel($this->connection);
     $ret = '<form method="post">
         <div class="panel panel-default">
             <div class="panel-heading">Create Custom Permissions</div>
             <div class="panel-body">
                 <div class="form-group">
                     <label>Page</label>
                     <select name="page" class="form-control">
                         <option value="">Choose page</option>
                         ' . array_reduce($pages, function ($carry, $page) {
         return $carry . '<option>' . $page . '</option>';
     }) . '
                     </select>
                 </div>
                 <div class="form-group">
                     <label>Permission Class</label>
                     <select name="auth" class="form-control">
                     ' . $privs->toOptions(-1, true) . '
                     </select>
                 </div>
                 <div class="form-group">
                     <button type="submit" class="btn btn-default btn-core">Create</button>
                 </div>
             </div>
         </div>
         </form>
         <div class="panel panel-default">
             <div class="panel-heading">Pages With Custom Permissions</div>
             <div class="panel-body">
                 <table class="table table-bordered table-striped">
                     <tr><th>Name</th><th>Description</th><th>&nbsp;</th></tr>
                     ' . array_reduce($custom->find('pageClass'), function ($carry, $obj) {
         $page_class = $obj->pageClass();
         $page = new $page_class();
         return $carry . sprintf('<tr><td>%s</td><td>%s</td><td>
                             <a href="_method=delete&id=%s" class="btn btn-danger btn-xs">%s</a></td></tr>', $page_class, $page->description, $page_class, \COREPOS\Fannie\API\lib\FannieUI::deleteIcon());
     }) . '
                 </table>
             </div>
         </div>
         ';
     return $ret;
 }
Ejemplo n.º 2
0
 /**
   Create/update authorization class
   @param $auth_class [string] class name
   @param $description [string] description of authorization class
   @return [boolean] success / failure
 */
 public static function createClass($auth_class, $description)
 {
     $dbc = FannieDB::get(FannieConfig::factory()->get('OP_DB'));
     if (!$dbc->tableExists('userKnownPrivs')) {
         return false;
     }
     $notes = str_replace("\n", "<br />", $description);
     $model = new UserKnownPrivsModel($dbc);
     $model->auth_class($auth_class);
     $model->notes($notes);
     return $model->save() ? true : false;
 }