С 9:00 до 21:00 Без выходных

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));
    }
}
?>

Объяснение кода:

  1. Метод index() — загружает все задачи и пользователей, а затем передает данные в шаблон для отображения.

  2. Метод add() — создает новую задачу, получает данные через POST и вызывает модель для сохранения задачи в базе данных.

  3. Метод edit() — редактирует существующую задачу, получая данные через POST и обновляет запись в базе данных.

  4. Метод delete() — удаляет задачу, идентифицированную по task_id, переданному через GET-запрос.

Если нужно что-то еще изменить или добавить, дайте знать!