public function add_post($type = '', $id = -1) { $groups_name = $this->users->get_user_group_name(get_active_user_id()); $groups = array(); $user_created_posts = ''; $user_created_categories = ''; $default_user_post_category = ''; foreach ($groups_name as $key => $value) { $group = $this->users->get_groups($value); if ($group[0]->allow_posts) { $user_created_posts = 1; } if ($group[0]->allow_categories) { $user_created_categories = 1; } $default_user_post_category .= $group[0]->default_user_post_category; $groups[] = $group[0]; } if (!$this->user->is_logged_in()) { redirect("/user/main/userLogin", 'location'); } else { // if($this->builderengine->get_option('user_created_posts') == 'yes' && $type != '') if ($user_created_posts && $type != '') { $category = new Category(); $categores = explode(',', $default_user_post_category); $data['default_user_post_category'] = $category->where_in('name', $categores)->get(); $this->load->model('post'); $post = new Post($id); $data['object'] = $post; $data['page'] = ucfirst($type); if ($this->input->post() && $this->input->post('category_id')) { $image_name = mt_rand() . '.jpg'; $this->load->model('user'); $this->user->upload_file('image', 'files/users', $image_name); $_POST['groups_allowed'] = implode(',', $this->users->get_user_group_name($this->user->get_id())); $_POST['image'] = base_url() . 'files/users/' . $image_name; $post->create($_POST); redirect('/user/blog/posts', 'location'); } $this->show->set_user_backend(); $this->show->user_backend('add_post', $data); } else { redirect("user/main/dashboard", 'location'); } } }
public function update() { $this->load->library('form_validation'); $this->form_validation->set_rules('task[name]', 'lang:admin_tasks_form_field_name', 'required'); $this->form_validation->set_rules('task[text]', 'lang:admin_tasks_form_field_text', 'required'); $this->form_validation->set_rules('task[categories][]', 'lang:admin_tasks_form_field_categories', 'required'); $this->form_validation->set_rules('task_id', 'id', 'required'); if ($this->form_validation->run()) { $task_id = $this->input->post('task_id'); $task = new Task(); $task->get_by_id($task_id); if ($task->exists()) { $task_data = $this->input->post('task'); $overlay = $this->input->post('overlay'); $task->from_array($task_data, array('name', 'internal_comment')); $task->text = remove_base_url($task_data['text']); $author = new Teacher(); if ((int) $task_data['author_id'] > 0) { $author->get_by_id((int) $task_data['author_id']); } $this->_transaction_isolation(); $this->db->trans_begin(); $categories = new Category(); $categories->where_in('id', $task_data['categories']); $categories->get(); $task->category->get(); $task->delete($task->category->all); if ($task->save(array('category' => $categories->all, 'author' => $author)) && $this->lang->save_overlay_array(remove_base_url_from_overlay_array($overlay, 'text')) && $this->db->trans_status()) { $this->db->trans_commit(); $this->messages->add_message('lang:admin_tasks_flash_message_save_successful', Messages::MESSAGE_TYPE_SUCCESS); $this->_action_success(); } else { $this->db->trans_rollback(); $this->messages->add_message('lang:admin_tasks_flash_message_save_failed', Messages::MESSAGE_TYPE_ERROR); } } else { $this->messages->add_message('lang:admin_tasks_error_message_task_not_found', Messages::MESSAGE_TYPE_ERROR); } redirect(create_internal_url('admin_tasks')); } else { $this->edit(); } }
function members() { list($params, $id, $slug) = $this->parse_params(func_get_args()); $cat = new Category(); if (isset($params['content'])) { $getter = new Content(); $model = $url_bit = 'content'; } else { if (isset($params['albums'])) { $getter = new Album(); $model = 'album'; $url_bit = 'albums'; } else { if (isset($params['essays'])) { $getter = new Text(); $model = $url_bit = 'text'; } } } if (is_null($id) && !$slug) { $this->error('403', 'Required parameter "id" not present.'); return; } else { if (is_array($id)) { list($id, $content_id) = $id; } } if ($this->method != 'get') { $id = explode(',', $id); if (!isset($content_id)) { $this->error('403', 'Required content id not present.'); return; } if (strpos($content_id, ',') !== FALSE) { $ids = explode(',', $content_id); } else { $ids = array($content_id); } if (isset($params['content'])) { $c = new Content(); } else { if (isset($params['albums'])) { $c = new Album(); } else { $c = new Text(); $c->where('page_type', 0); } } $categories = $cat->where_in('id', $id)->get_iterated(); $first_category_id = false; foreach ($categories as $category) { if (!$first_category_id) { $first_category_id = $category->id; } $members = $category->{$model . 's'}->select('id')->get_iterated(); $member_ids = array(); foreach ($members as $member) { $member_ids[] = $member->id; } $contents = $c->where_in('id', $ids)->order_by('id ASC')->get_iterated(); foreach ($contents as $content) { if ($content->exists()) { switch ($this->method) { case 'post': case 'put': $category->save($content); break; case 'delete': $category->delete($content); break; } } } $category->update_counts($c->model); } if (count($categories) > 1 || $this->method == 'delete') { exit; } else { $this->redirect("/categories/{$first_category_id}/{$url_bit}"); } } if (!is_null($id)) { $category = $cat->get_by_id($id); } else { if ($slug) { $category = $cat->get_by_slug($slug); } } if (!$category->exists()) { $this->error('404', 'Category not found.'); return; } $params['auth'] = $this->auth; if ($model === 'album') { $final = $getter->listing(array_merge($params, array('category' => $category->id))); } else { $params['category'] = $category->id; $final = $getter->listing($params); } $final['category'] = $category->to_array(); $this->set_response_data($final); }
function index_get() { $filters = $this->get("filter")["filters"]; $page = $this->get('page'); $limit = $this->get('limit'); $sort = $this->get("sort"); $data["results"] = array(); $data["count"] = 0; $obj = new Category(null, $this->entity); //Sort if (!empty($sort) && isset($sort)) { foreach ($sort as $value) { $obj->order_by($value["field"], $value["dir"]); } } //Filter if (!empty($filters) && isset($filters)) { foreach ($filters as $value) { if (!empty($value["operator"]) && isset($value["operator"])) { if ($value["operator"] == "where_in") { $obj->where_in($value["field"], $value["value"]); } else { if ($value["operator"] == "or_where_in") { $obj->or_where_in($value["field"], $value["value"]); } else { if ($value["operator"] == "where_not_in") { $obj->where_not_in($value["field"], $value["value"]); } else { if ($value["operator"] == "or_where_not_in") { $obj->or_where_not_in($value["field"], $value["value"]); } else { if ($value["operator"] == "like") { $obj->like($value["field"], $value["value"]); } else { if ($value["operator"] == "or_like") { $obj->or_like($value["field"], $value["value"]); } else { if ($value["operator"] == "not_like") { $obj->not_like($value["field"], $value["value"]); } else { if ($value["operator"] == "or_not_like") { $obj->or_not_like($value["field"], $value["value"]); } else { if ($value["operator"] == "startswith") { $obj->like($value["field"], $value["value"], "after"); } else { if ($value["operator"] == "endswith") { $obj->like($value["field"], $value["value"], "before"); } else { if ($value["operator"] == "contains") { $obj->like($value["field"], $value["value"], "both"); } else { if ($value["operator"] == "or_where") { $obj->or_where($value["field"], $value["value"]); } else { $obj->where($value["field"] . ' ' . $value["operator"], $value["value"]); } } } } } } } } } } } } } else { $obj->where($value["field"], $value["value"]); } } } if (!empty($limit) && !empty($page)) { $obj->get_paged_iterated($page, $limit); $data["count"] = $obj->paged->total_rows; } if ($obj->result_count() > 0) { foreach ($obj as $value) { //Results $data["results"][] = array("id" => $value->id, "name" => $value->name, "sub_of" => $value->sub_of); } } //Response Data $this->response($data, 200); }