예제 #1
0
 /**
  * Get member admin by role ID
  *
  * @param  int $id
  * @return void
  */
 public function getByRoleId($id)
 {
     $member = Table\Members::findBy(['role_id' => $id]);
     if (isset($member->id)) {
         $this->data = array_merge($this->data, $member->getColumns());
     }
 }
예제 #2
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();
 }