catalog/controller/extension/task_manager.php
Вот полный код для файла catalog/controller/extension/task_manager.php
:
<?php
class ControllerExtensionTaskManager extends Controller {
// Загружаем необходимые языковые файлы
public function index() {
$this->load->language('extension/task_manager');
// Загружаем модели
$this->load->model('extension/task_manager');
// Получаем все задачи
$data['tasks'] = $this->model_extension_task_manager->getTasks();
// Получаем пользователей
$this->load->model('user/user');
$data['users'] = $this->model_user_user->getUsers();
// Передаем данные в шаблон
$this->response->setOutput($this->load->view('extension/task_manager', $data));
}
// Метод для добавления новой задачи
public function add() {
$this->load->language('extension/task_manager');
$this->load->model('extension/task_manager');
if ($this->request->server['REQUEST_METHOD'] == 'POST') {
$task_data = array(
'task_title' => $this->request->post['task_title'],
'description' => $this->request->post['description'],
'user_id' => $this->request->post['user_id']
);
$this->model_extension_task_manager->saveTask($task_data);
$this->session->data['success'] = $this->language->get('text_task_added');
$this->response->redirect($this->url->link('extension/task_manager', '', true));
}
$this->response->setOutput($this->load->view('extension/task_manager_form', $data));
}
// Метод для редактирования задачи
public function edit() {
$this->load->language('extension/task_manager');
$this->load->model('extension/task_manager');
if ($this->request->server['REQUEST_METHOD'] == 'POST') {
$task_data = array(
'task_id' => $this->request->post['task_id'],
'task_title' => $this->request->post['task_title'],
'description' => $this->request->post['description'],
'user_id' => $this->request->post['user_id']
);
$this->model_extension_task_manager->updateTask($task_data);
$this->session->data['success'] = $this->language->get('text_task_updated');
$this->response->redirect($this->url->link('extension/task_manager', '', true));
}
$data['task'] = $this->model_extension_task_manager->getTask($this->request->get['task_id']);
$this->response->setOutput($this->load->view('extension/task_manager_form', $data));
}
// Метод для удаления задачи
public function delete() {
$this->load->language('extension/task_manager');
$this->load->model('extension/task_manager');
if (isset($this->request->get['task_id'])) {
$this->model_extension_task_manager->deleteTask($this->request->get['task_id']);
$this->session->data['success'] = $this->language->get('text_task_deleted');
}
$this->response->redirect($this->url->link('extension/task_manager', '', true));
}
}
?>
Объяснение кода:
-
Метод
index()
— загружает все задачи и пользователей, а затем передает данные в шаблон для отображения. -
Метод
add()
— создает новую задачу, получает данные черезPOST
и вызывает модель для сохранения задачи в базе данных. -
Метод
edit()
— редактирует существующую задачу, получая данные черезPOST
и обновляет запись в базе данных. -
Метод
delete()
— удаляет задачу, идентифицированную поtask_id
, переданному через GET-запрос.
Если нужно что-то еще изменить или добавить, дайте знать!