google_forms/application/controllers/Form_controller.php

130 lines
4.4 KiB
PHP
Raw Normal View History

2024-07-10 12:37:36 +00:00
<?php
2024-08-09 12:04:48 +00:00
2024-07-24 13:12:00 +00:00
defined('BASEPATH') or exit('No direct script access allowed');
2024-07-10 12:37:36 +00:00
2024-07-24 13:12:00 +00:00
class Form_controller extends CI_Controller
{
public function index_forms($form_id = null)
2024-07-19 10:46:18 +00:00
{
2024-07-24 13:12:00 +00:00
$this->load->model('Frontend_model');
2024-07-29 09:17:16 +00:00
$this->load->model('Form_model');
$this->load->model('Response_model');
2024-08-09 12:04:48 +00:00
2024-07-19 10:46:18 +00:00
// Check if the user is logged in
if (!$this->session->userdata('logged_in')) {
// If not logged in, redirect to login page
redirect('users/login');
}
2024-07-29 09:17:16 +00:00
$user_id = $this->session->userdata('user_id');
2024-07-16 12:29:59 +00:00
2024-07-19 10:46:18 +00:00
// Retrieve form title from the forms table using form_id
$form_title = 'Untitled Form'; // Default title
if ($form_id) {
$form = $this->Frontend_model->getFormById($form_id);
if ($form) {
$form_title = $form['title'];
}
}
2024-07-29 09:17:16 +00:00
// Fetch data from models
$data['total_forms'] = $this->Form_model->get_total_forms($user_id);
$data['published_forms'] = $this->Form_model->get_published_forms($user_id);
$data['total_responses'] = $this->Response_model->get_total_responses($user_id);
$data['forms'] = $this->Form_model->get_all_forms($user_id);
$data['form_title'] = $form_title;
2024-08-09 12:04:48 +00:00
2024-07-19 10:46:18 +00:00
// Load views and data if user is logged in
$this->load->view('templates/header');
2024-07-29 09:17:16 +00:00
$this->load->view('Tables/list_forms', $data);
2024-07-19 10:46:18 +00:00
$this->load->view('templates/footer');
}
2024-08-09 12:04:48 +00:00
2024-07-16 12:29:59 +00:00
2024-07-24 13:12:00 +00:00
public function delete($id)
{
if (!$this->session->userdata('logged_in')) {
2024-07-19 10:46:18 +00:00
// If not logged in, redirect to login page
redirect('users/login');
}
2024-07-24 13:12:00 +00:00
$this->load->model('Frontend_model');
$this->Frontend_model->deleteForm($id);
$this->session->set_flashdata('status', 'Form data deleted successfully');
2024-08-09 12:04:48 +00:00
redirect('home');
2024-07-24 13:12:00 +00:00
}
public function __construct()
{
2024-07-19 10:46:18 +00:00
parent::__construct();
$this->load->model('Updation_model');
2024-08-09 12:04:48 +00:00
$this->load->model('Form_model');
2024-07-19 10:46:18 +00:00
}
// Load the form for editing
2024-07-24 13:12:00 +00:00
public function edit_form($form_id)
{
2024-07-19 10:46:18 +00:00
$data['form'] = $this->Updation_model->get_form($form_id);
$data['questions'] = $this->Updation_model->get_questions($form_id);
$data['options'] = $this->Updation_model->get_options();
2024-08-09 12:04:48 +00:00
$data['is_published'] = $this->Form_model->get_published_value($form_id);
2024-07-19 10:46:18 +00:00
2024-07-24 13:12:00 +00:00
// $this->load->view('templates/header');
2024-07-19 10:46:18 +00:00
$this->load->view('edit_form_view', $data);
2024-07-24 13:12:00 +00:00
// $this->load->view('templates/footer');
2024-07-19 10:46:18 +00:00
}
// Save the edited form
2024-07-24 13:12:00 +00:00
public function update_form()
{
2024-07-22 09:49:37 +00:00
$formData = $this->input->post('formData');
2024-07-24 13:12:00 +00:00
2024-07-22 09:49:37 +00:00
if (!$formData) {
echo json_encode(['status' => 'error', 'message' => 'Form data is missing']);
return;
}
2024-07-24 13:12:00 +00:00
2024-07-22 09:49:37 +00:00
$form_id = $formData['form_id'];
$title = $formData['title'];
$description = $formData['description'];
$questions = $formData['questions'];
2024-07-24 13:12:00 +00:00
2024-07-22 09:49:37 +00:00
$this->load->model('Updation_model');
$updateStatus = $this->Updation_model->update_form_data($form_id, $title, $description, $questions);
2024-07-24 13:12:00 +00:00
2024-07-22 09:49:37 +00:00
if ($updateStatus) {
echo json_encode(['status' => 'success', 'message' => 'Form updated successfully']);
} else {
echo json_encode(['status' => 'error', 'message' => 'Failed to update form data']);
}
2024-07-19 10:46:18 +00:00
}
2024-07-24 13:12:00 +00:00
public function index_forms_draft($form_id = null)
{
$this->load->model('Frontend_model');
// Check if the user is logged in
if (!$this->session->userdata('logged_in')) {
// If not logged in, redirect to login page
redirect('users/login');
}
// Retrieve form title from the forms table using form_id
$form_title = 'Untitled Form'; // Default title
if ($form_id) {
$form = $this->Frontend_model->getFormById($form_id);
if ($form) {
$form_title = $form['title'];
}
}
// Get the user_id from session
$user_id = $this->session->userdata('user_id');
// Load views and data if user is logged in
$this->load->view('templates/header');
// Get the forms created by the user
$data = $this->Frontend_model->getforms_draft($user_id);
$this->load->view('Tables/draft', ['forms' => $data, 'form_title' => $form_title]);
$this->load->view('templates/footer');
}
2024-08-09 12:04:48 +00:00
}