Esempio n. 1
0
 /**
  * Add action method
  *
  * @return void
  */
 public function add()
 {
     $this->prepareView('members/admin/add.phtml');
     $this->view->title = 'Members Admin : Add';
     $fields = $this->application->config()['forms']['Phire\\Members\\Form\\MembersAdmin'];
     $roles = \Phire\Table\Roles::findAll();
     foreach ($roles->rows() as $role) {
         $dupe = Table\Members::findBy(['role_id' => $role->id]);
         if (!isset($dupe->id)) {
             $fields[0]['role_id']['value'][$role->id] = $role->name;
         }
     }
     $fields[1]['name']['attributes']['onkeyup'] = "phire.createSlug('/' + this.value, '#uri');";
     $this->view->form = new Form\MembersAdmin($fields);
     if ($this->request->isPost()) {
         $this->view->form->addFilter('htmlentities', [ENT_QUOTES, 'UTF-8'])->setFieldValues($this->request->getPost());
         if ($this->view->form->isValid()) {
             $this->view->form->clearFilters()->addFilter('html_entity_decode', [ENT_QUOTES, 'UTF-8'])->filter();
             $member = new Model\MembersAdmin();
             $member->save($this->view->form->getFields());
             $this->view->id = $member->id;
             $this->sess->setRequestValue('saved', true);
             $this->redirect(BASE_PATH . APP_URI . '/members/edit/' . $member->id);
         }
     }
     $this->send();
 }
Esempio n. 2
0
 /**
  * Bootstrap the module
  *
  * @param  Application $application
  * @return void
  */
 public static function bootstrap(Application $application)
 {
     $members = Table\Members::findAll();
     if ($members->hasRows()) {
         foreach ($members->rows() as $member) {
             $controllerParams = ['memberName' => $member->name, 'memberUri' => $member->uri, 'roleId' => $member->role_id, 'redirect' => $member->redirect, 'append' => true];
             $routes = [$member->uri . '[/]' => ['controller' => 'Phire\\Members\\Controller\\IndexController', 'action' => 'index', 'controllerParams' => $controllerParams], $member->uri . '/login[/]' => ['controller' => 'Phire\\Members\\Controller\\IndexController', 'action' => 'login', 'controllerParams' => $controllerParams], $member->uri . '/register/:id' => ['controller' => 'Phire\\Members\\Controller\\IndexController', 'action' => 'register', 'controllerParams' => $controllerParams, 'acl' => ['resource' => 'member-register']], $member->uri . '/profile[/]' => ['controller' => 'Phire\\Members\\Controller\\IndexController', 'action' => 'profile', 'controllerParams' => $controllerParams, 'acl' => ['resource' => 'member-profile']], $member->uri . '/verify/:id/:hash' => ['controller' => 'Phire\\Members\\Controller\\IndexController', 'action' => 'verify', 'controllerParams' => $controllerParams], $member->uri . '/forgot[/]' => ['controller' => 'Phire\\Members\\Controller\\IndexController', 'action' => 'forgot', 'controllerParams' => $controllerParams], $member->uri . '/unsubscribe[/]' => ['controller' => 'Phire\\Members\\Controller\\IndexController', 'action' => 'unsubscribe', 'controllerParams' => $controllerParams, 'acl' => ['resource' => 'member-unsubscribe']], $member->uri . '/logout[/]' => ['controller' => 'Phire\\Members\\Controller\\IndexController', 'action' => 'logout', 'controllerParams' => $controllerParams]];
             $application->router()->addRoutes($routes);
         }
     }
 }
Esempio n. 3
0
 /**
  * Get count of member admins
  *
  * @return int
  */
 public function getCount()
 {
     return Table\Members::findAll()->count();
 }