public function edit($id) { //$this->output->enable_profiler(true); $id = (int) $id; $this->load->model('Deck'); $this->form_validation->set_rules('num', 'Number', 'required|integer'); $this->form_validation->set_rules('name', 'Name', 'required'); $this->layout->add_basic_assets()->menu(); if ($this->form_validation->run() === false) { $deck = Deck::find($id); $data = array('id' => $id, 'num' => $deck->get_num(), 'name' => $deck->get_name()); $create_edit = $this->layout->views('controllers/Deck/actions/create_edit', $data, array(), true); $this->layout->action_view(array('create_edit' => $create_edit)); } else { $data = array('num' => (int) $this->input->post('num'), 'name' => $this->input->post('name')); $result = Deck::update($id, $data); if ($result === true) { $this->layout->view('others/form_success'); } elseif ($result instanceof Standard_error) { $this->layout->views('others/form_failure', array('message' => $result->message)); $data = array('id' => $id, 'num' => $this->input->post('num'), 'name' => $this->input->post('name')); $create_edit = $this->layout->views('controllers/Deck/actions/create_edit', $data, array(), true); $this->layout->action_view(array('create_edit' => $create_edit)); } } }