db->count_all('cm_setting_roles'); } public function getRoles($limit, $offset = 0) { // Get a list of all user accounts $query = $this->db->order_by("created_at", "desc") ->limit($limit, $offset)->get('cm_setting_roles'); if ($query->num_rows() > 0) { return $query->result_array(); } return array(); } public function getRole($id) { // Get the user details $query = $this->db->where("roleID", $id)->get('cm_setting_roles'); if ($query->num_rows() > 0) { return $query->result_array(); } return array(); } public function createRole() { // Create the user account $data = array( 'name' => $this->input->post('name'), 'slug' => $this->input->post('slug') ); $this->db->insert('cm_setting_roles', $data); } public function updateRole($id) { // update the user account $data = array( 'name' => $this->input->post('name'), 'slug' => $this->input->post('slug') ); $this->db->where('roleID', $id); $this->db->update('cm_setting_roles', $data); } public function removeRole($id) { // Delete a user account $this->db->delete('cm_setting_roles', array('roleID' => $id)); } function roleSearch($term) { $this->db->select("*"); $this->db->like("name", $term); // $this->db->limit($limit, $offset); $query = $this->db->get('cm_setting_roles'); if ($term == "") { $this->db->limit(15); } if ($query->num_rows() > 0) { $results = $query->result_array(); foreach ($results as $r) : echo ''; echo '' . $r['name'] . ''; echo '' . $r['slug'] . ''; echo '' . $r['created_at'] . ''; echo ' ' . ' '; echo ''; echo ''; endforeach; } else { echo "

" . $this->lang->line('no_results') . "

"; } } public function categorySearch($term) { $this->load->helper('sql_search'); $this->db->from('cm_category'); $this->db->select("*"); $this->db->like("categoryTitle", $term); $query = $this->db->query($this->db->get_compiled_select() . ' or ' . getSqlCho('categoryTitle', $term)); if ($term == "") { $this->db->limit(15); } if ($query->num_rows() > 0) { $results = $query->result_array(); foreach ($results as $p) : echo ''; echo '' . $p['categoryTitle'] . ''; echo ' '; echo ''; endforeach; } else { echo "

" . $this->lang->line('no_results') . "

"; } } public function countUsers() { $term = getSearchTerm(); return $this->db->from('cm_user u')->select("userName, r.name groupName, email, userID") ->join('cm_setting_roles r', 'u.roleID = r.roleID', 'left') ->like("userName", $term) ->or_like('r.name', $term)->count_all_results(); } public function getUsers($limit, $offset = 0) { // Get a list of all user accounts $term = getSearchTerm(); $this->load->helper('sql_search'); $query = $this->db->from('cm_user u')->select("userName, if(r.name is Null, 'None', r.name) groupName, email, userID") ->join('cm_setting_roles r', 'u.roleID = r.roleID', 'left') ->like("userName", $term) ->or_like('r.name', $term); $query = $this->db->query($this->db->get_compiled_select() . ($term ? ' or ' . getSqlCho('userName', $term) : '') . ' order by u.dateUpdated desc'); if ($query->num_rows() > 0) { return $query->result_array(); } return array(); } public function userSearch($term) { $this->load->helper('sql_search'); $query = $this->db->from('cm_user u')->select("userName, r.name groupName, email, userID") ->join('cm_setting_roles r', 'u.roleID = r.roleID', 'left') ->like("userName", $term) ->or_like('r.name', $term); $query = $this->db->query($this->db->get_compiled_select() . ($term ? ' or ' . getSqlCho('userName', $term) : '') . ' order by u.dateUpdated desc'); if ($term == "") { $this->db->limit(15); } if ($query->num_rows() > 0) { $results = $query->result_array(); foreach ($results as $u) : echo ''; echo '' . $u['userName'] . ''; echo '' . $u['groupName'] . ''; echo '' . $u['email'] . ''; echo ' '; echo ''; endforeach; } else { echo "

" . $this->lang->line('no_results') . "

"; } } protected function addPostCategory($postID, $categories) { $tmp = []; $this->db->where('postID', $postID)->delete('cm_post_category'); if (count($categories)) { return $this->db->insert_batch('cm_post_category', array_filter(array_map(function ($category) use ($postID) { return ['postID' => $postID, 'categoryID' => $category]; }, $categories), function ($c) use (&$tmp) { $isDup = $c['categoryID'] ? false : true; if (!$isDup) { foreach ($tmp as $t) { if ($t['categoryID'] == $c['categoryID']) { $isDup = true; break; } } } array_push($tmp, $c); if (!$isDup) { return $c; } })); } } protected function addPostPage($postID, $pages) { $tmp = []; $this->db->where('postID', $postID)->delete('cm_post_page'); if (count($pages)) { return $this->db->insert_batch('cm_post_page', array_filter(array_map(function ($page) use ($postID) { return ['postID' => $postID, 'pageID' => $page]; }, $pages), function ($c) use (&$tmp) { $isDup = $c['pageID'] ? false : true; if (!$isDup) { foreach ($tmp as $t) { if ($t['pageID'] == $c['pageID']) { $isDup = true; break; } } } array_push($tmp, $c); if (!$isDup) { return $c; } })); } } public function getPostByCategoryId($categoryID, $limit = 15, $offset = 0) { $rows = []; $this->db->select("cm_post.*, cm_category.categoryTitle"); $this->db->where("cm_category.categoryID", $categoryID); $this->db->join('cm_category', 'cm_category.categoryID = cm_post.categoryID or cm_post.categoryID = 0', 'left'); $this->db->order_by("cm_post.postID", "desc"); $this->db->limit($limit, $offset); return $this->db->get('cm_post')->result(); } public function getPostByPageId($pageID, $limit = 15, $offset = 0) { $rows = []; $this->db->select("cm_post.*, cm_category.categoryTitle"); if (is_array($pageID)) { $this->db->where_in('cm_post.pageID', $pageID); } else { $this->db->where('cm_post.pageID', $pageID); } $this->db->join('cm_category', 'cm_category.categoryID = cm_post.categoryID or cm_post.categoryID = 0', 'left'); $this->db->order_by("cm_post.postID", "desc"); $this->db->group_by("cm_post.postID"); $this->db->limit($limit, $offset); return $this->db->get('cm_post')->result(); } public function createUser() { // Create the user account $data = array( 'userName' => $this->input->post('username'), 'email' => $this->input->post('email'), 'password' => md5($this->input->post('password') . SALT), 'roleID' => $this->input->post('role'), 'name' => $this->input->post('name'), 'gender' => $this->input->post('gender'), 'mobile' => $this->input->post('mobile') ); $this->db->insert('cm_user', $data); } public function updateUser($id) { // update the user account $data = array( 'email' => $this->input->post('email'), 'email' => $this->input->post('email'), 'roleID' => $this->input->post('role'), 'name' => $this->input->post('name'), 'gender' => $this->input->post('gender'), 'mobile' => $this->input->post('mobile') ); if ($this->input->post('password')) { $data['password'] = md5($this->input->post('password') . SALT); } $this->db->where('userID', $id); $this->db->update('cm_user', $data); } public function createPost() { $categoryID = 0; $data = array( 'postTitle' => $this->input->post('postTitle'), 'categoryID' => $categoryID, // 'postURL' => $this->input->post('postURL'), // 'postContent' => $this->input->post('content'), 'postContentHTML' => $this->input->post('content'), 'postExcerpt' => $this->input->post('postExcerpt'), 'published' => $this->input->post('published'), 'datePosted' => date('Y-m-d H:i:s', strtotime($this->input->post('datePosted'))), 'dateUpdated' => date('Y-m-d H:i:s'), 'unixStamp' => $this->input->post('unixStamp'), ); if ($this->input->post('postImage') != "") { $data['postImage'] = $this->input->post('postImage'); } $this->db->insert('cm_post', $data); $insertID = $this->db->insert_id(); $this->addPostCategory($insertID, $this->input->post('categories') ? explode(',', $this->input->post('categories')) : []); $this->addPostPage($insertID, $this->input->post('pages') ? explode(',', $this->input->post('pages')) : []); $this->db->where('postID', $insertID)->update('cm_post', array('postURL' => $insertID)); } public function updatePost($id) { $categoryID = 0; $this->addPostCategory($id, $this->input->post('categories') ? explode(',', $this->input->post('categories')) : []); $this->addPostPage($id, $this->input->post('pages') ? explode(',', $this->input->post('pages')) : []); $data = array( 'postTitle' => $this->input->post('postTitle'), 'categoryID' => $categoryID, // 'postURL' => $this->input->post('postURL'), 'postContentHTML' => $this->input->post('content'), 'postExcerpt' => $this->input->post('postExcerpt'), 'published' => $this->input->post('published'), 'datePosted' => date('Y-m-d H:i:s', strtotime($this->input->post('datePosted'))), 'dateUpdated' => date('Y-m-d H:i:s'), 'unixStamp' => $this->input->post('unixStamp'), ); if ($this->input->post('postImage') != "") { $data['postImage'] = $this->input->post('postImage'); } $this->db->where("postID", $id); $this->db->update('cm_post', $data); } }