public function create() { $this->load->helper('form'); $this->load->helper('htmlpurifier'); $this->load->library('form_validation'); $this->load->model('forums_m'); $this->load->model('labels/labels_m'); $this->form_validation->set_rules('name', 'Forum name', 'required|trim|htmlspecialchars|min_length[4]|xss_clean'); $this->form_validation->set_rules('label', 'Label', 'required'); if ($this->form_validation->run() == TRUE) { $name = $this->input->post('name'); $data = array('name' => $name, 'label' => $this->input->post('label'), 'date' => date('Y-m-d H:i:s'), 'clan' => $this->input->post('clan'), 'private' => $this->input->post('private'), 'description' => html_purify($this->input->post('description'), 'description')); $this->forums_m->insert_forum($data); $forumID = $this->db->insert_id(); // Insert slug $slug = makePageSlug($forumID . '-' . $name); $dataSlug = array('slug' => $slug); $this->forums_m->update_forum($forumID, $dataSlug); // Insert mods $mods = $this->input->post('mods'); $this->forums_m->add_moderators($mods, $forumID); redirect('admin/forums'); } else { $this->template->set('title', 'Create forum')->set('labels', $this->labels_m->get_all())->set('users', $this->ion_auth->users()->result())->build('admin/form'); } }
public function create() { $this->load->helper('form'); $this->load->helper('htmlpurifier'); $this->load->library('form_validation'); $this->load->library('upload'); if ($this->form_validation->run('posts') == TRUE) { $next_id = $this->posts_m->get_next_id(); $title = $this->input->post('title'); $slug = makePageSlug($title); $file_data = NULL; if (!empty($_FILES['userfile']['name'])) { $config['upload_path'] = $this->folder_path; $config['allowed_types'] = 'gif|jpg|png|bmp|jpeg'; $config['max_size'] = '0'; $config['max_width'] = '0'; $config['max_height'] = '0'; $config['file_name'] = $next_id; $this->upload->initialize($config); if ($this->upload->do_upload('userfile')) { $file_data = $this->upload->data(); } else { $this->session->set_flashdata('create_error', $this->upload->display_errors('', '')); } } $data = array('title' => $title, 'body' => html_purify($this->input->post('body'), 'wysiwyg'), 'date' => date('Y-m-d H:i:s'), 'teaser' => html_purify($this->input->post('teaser'), 'description'), 'author' => $this->user->user_id, 'label' => $this->input->post('label'), 'image' => $file_data['file_name'], 'featured' => $this->input->post('featured'), 'clan' => $this->input->post('clan'), 'slug' => $slug, 'state' => $this->input->post('state')); $this->posts_m->insert($data); redirect('admin/posts'); } else { $this->load->model('labels/labels_m'); $this->template->set('labels', $this->labels_m->get_all())->set('title', 'Create post')->build('admin/form'); } }
public function edit($id = 0) { $this->load->helper('form'); $this->load->helper('htmlpurifier'); $this->load->library('form_validation'); $this->template->append_metadata(Assets::adminJs('ckeditor', 'js/ckeditor')); $this->form_validation->set_rules('name', 'Name', 'required|trim|htmlspecialchars|min_length[4]|xss_clean'); $this->form_validation->set_rules('slug', 'Page slug', 'required|max_length[30]|min_length[3]|is_unique[pages.slug]'); $this->form_validation->set_rules('access', 'Access level', 'required'); $this->form_validation->set_rules('navigation', 'Navigation link name', 'trim|required|min_length[4]|htmlspecialchars|max_length[20]|xss_clean'); $this->form_validation->set_rules('content', 'Content', 'required'); if ($this->form_validation->run() == TRUE) { $navLink = $this->input->post('navigation'); $oldSlug = $this->pages_m->get($id)->slug; $slug = makePageSlug($this->input->post('slug')); $data = array('name' => $this->input->post('name'), 'description' => html_purify($this->input->post('description'), 'description'), 'slug' => $slug, 'content' => html_purify($this->input->post('content'), 'wysiwyg'), 'navigation' => $navLink, 'layout' => $this->input->post('layout'), 'date' => date('Y-m-d H:i'), 'access' => $this->input->post('access')); $this->pages_m->update($id, $data); // Edit navigation link $this->load->model('navigation/navigation_m'); $this->navigation_m->delete_by(array('link' => $oldSlug)); $dataNav = array('name' => $navLink, 'link' => $slug, 'type' => 'uri'); $this->navigation_m->insert($dataNav); redirect('admin/pages'); } else { $this->template->set('title', 'Edit page')->set('data', $this->pages_m->as_array()->get($id))->set('layouts', $this->template->get_theme_layouts($this->setting->theme))->build('admin/form'); } }