Пример #1
0
 public function edit($id)
 {
     if (!$this->session->userdata('logged_in')) {
         redirect(base_url('login'));
     }
     $data_form = ['action' => 'edit/' . $id, 'cover_path' => file_exists($this->albums_path . $id . '/main.png') ? base_url('assets/images/albums/' . $id . '/main.png') : base_url($this->default_cover), 'cover' => '', 'errors' => []];
     if ($this->input->post()) {
         $prepared = $this->prepare_data();
         $data = $prepared['data'];
         $data['errors'] = $errors = $prepared['errors'];
         $data['id'] = $id;
         if (!$errors) {
             $this->albums_model->save_album($data, $id);
             $this->session->set_flashdata('success', ['title' => 'Успех!', 'text' => 'Альбом успешно сохранен']);
             $data['cover_path'] = file_exists($this->albums_path . $id . '/main.png') ? base_url('assets/images/albums/' . $id . '/main.png?s=' . random_string()) : base_url($this->default_cover);
         } else {
             $error = '<br><br>' . implode('<br><br>', $errors);
             $this->session->set_flashdata('danger', ['title' => 'Ошибка!', 'text' => $error]);
             if ($data['cover']) {
                 $data['cover_path'] = base_url($this->upload_path . $data['cover']);
             }
         }
         $data['photos'] = count($this->albums_model->get_albums_images($id));
     } else {
         $data = $this->albums_model->get_album($id);
     }
     $data_form = array_merge($data_form, $data);
     $breadcrumbs = [['url' => $this->module, 'title' => 'Альбомы'], ['url' => $this->module . '/edit/' . $id, 'title' => $data_form['texts'][1]['title']]];
     $this->render_view('form', $breadcrumbs, $data_form, $this->module);
 }