| Server IP : 103.161.17.216 / Your IP : 216.73.216.1 Web Server : nginx/1.18.0 System : Linux tipsysaigoncharming 5.4.0-216-generic #236-Ubuntu SMP Fri Apr 11 19:53:21 UTC 2025 x86_64 User : www-data ( 33) PHP Version : 7.4.3-4ubuntu2.29 Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare, MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : ON Directory : /var/www/app.houseland.info/application/controllers/admin/ |
Upload File : |
<?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();
}
}