/home/edulekha/crm.edulekha.com/application/controllers/admin/Todo.php
<?php
defined('BASEPATH') or exit('No direct script access allowed');
class Todo extends AdminController
{
public function __construct()
{
parent::__construct();
$this->load->model('todo_model');
}
/* Get all staff todo items */
public function index()
{
if ($this->input->is_ajax_request()) {
echo json_encode($this->todo_model->get_todo_items($this->input->post('finished'), $this->input->post('todo_page')));
exit;
}
$data['bodyclass'] = 'main-todo-page';
$data['total_pages_finished'] = ceil(total_rows(db_prefix().'todos', [
'finished' => 1,
'staffid' => get_staff_user_id(),
]) / $this->todo_model->getTodosLimit());
$data['total_pages_unfinished'] = ceil(total_rows(db_prefix().'todos', [
'finished' => 0,
'staffid' => get_staff_user_id(),
]) / $this->todo_model->getTodosLimit());
$data['title'] = _l('my_todos');
$this->load->view('admin/todos/all', $data);
}
/* Add new todo item */
public function todo()
{
if ($this->input->post()) {
$data = $this->input->post();
if ($data['todoid'] == '') {
unset($data['todoid']);
$id = $this->todo_model->add($data);
if ($id) {
set_alert('success', _l('added_successfully', _l('todo')));
}
} else {
$id = $data['todoid'];
unset($data['todoid']);
$success = $this->todo_model->update($id, $data);
if ($success) {
set_alert('success', _l('updated_successfully', _l('todo')));
}
}
redirect(previous_url() ?: $_SERVER['HTTP_REFERER']);
}
}
public function get_by_id($id)
{
$todo = $this->todo_model->get($id);
$todo->description = clear_textarea_breaks($todo->description);
echo json_encode($todo);
}
/* Change todo status */
public function change_todo_status($id, $status)
{
$success = $this->todo_model->change_todo_status($id, $status);
if ($success) {
set_alert('success', _l('todo_status_changed'));
}
redirect(previous_url() ?: $_SERVER['HTTP_REFERER']);
}
/* Update todo order / ajax */
public function update_todo_items_order()
{
if ($this->input->post()) {
$this->todo_model->update_todo_items_order($this->input->post());
}
}
/* Delete todo item from databse */
public function delete_todo_item($id)
{
if ($this->input->is_ajax_request()) {
echo json_encode([
'success' => $this->todo_model->delete_todo_item($id),
]);
}
die();
}
}