Esempio n. 1
0
 public function action_edit()
 {
     $submitted = false;
     $id = $this->request->param('id');
     if (!$id) {
         Request::current()->redirect('flashcard');
     }
     $flashcard = ORM::factory('flashcard', $id);
     if ($this->request->method() === 'POST' && $this->request->post()) {
         if (Arr::get($this->request->post(), 'save') !== null) {
             $submitted = true;
             $safepost = Arr::map('Security::xss_clean', $this->request->post());
             $validator = $flashcard->validator($safepost);
             if ($validator->check()) {
                 $flashcard->title = Arr::get($safepost, 'title');
                 $flashcard->description = Arr::get($safepost, 'description');
                 $flashcard->course_id = Session::instance()->get('course_id');
                 $flashcard->save();
                 if (Arr::get($safepost, 'question_selected')) {
                     Model_Flashcard::insert_flashcard_question($flashcard->id, Arr::get($safepost, 'question_selected'));
                 }
                 Session::instance()->set('success', 'Flashcard edited successfully.');
                 Request::current()->redirect('flashcard');
                 exit;
             } else {
                 $this->_errors = $validator->errors('flashcard');
             }
         }
     }
     Breadcrumbs::add(array('Edit', Url::site('flashcard/edit/id/' . $id)));
     $this->form('flashcard/edit/id/' . $id, $submitted, array('title' => $flashcard->title, 'description' => $flashcard->description));
 }