google_forms/application/controllers/Forms.php

103 lines
3.2 KiB
PHP

<?php
defined('BASEPATH') or exit('No direct script access allowed');
class Forms extends CI_Controller
{
public function preview($form_id)
{
if (!$this->session->userdata('logged_in')) {
// If not logged in, redirect to login page
redirect('users/login');
}
// Load the model that handles the form data
$this->load->model('preview_model');
// Fetch the form details
$form = $this->preview_model->get_form($form_id);
// Fetch the questions for the form
$questions = $this->preview_model->get_questions($form_id);
// Fetch the options for each question
foreach ($questions as &$question) {
$question->options = $this->preview_model->get_options($question->id);
}
// Pass the data to the view
$data['form'] = $form;
$data['questions'] = $questions;
$this->load->view('templates/header');
$this->load->view('form_preview', $data);
$this->load->view('templates/footer');
}
public function response_preview($form_id)
{
if (!$this->session->userdata('logged_in')) {
// If not logged in, redirect to login page with form_id as a parameter
redirect('users/login/' . $form_id);
}
// Load the model that handles the form data
$this->load->model('preview_model');
// Fetch the form details
$form = $this->preview_model->get_form($form_id);
// Check if the form is responsive
if ($form->is_responsive == 0) {
// Pass a message to the view
$data['message'] = "This form is not accepting responses.";
$this->load->view('response_submit', $data);
return;
}
// Fetch the questions for the form
$questions = $this->preview_model->get_questions($form_id);
// Fetch the options for each question
foreach ($questions as &$question) {
$question->options = $this->preview_model->get_options($question->id);
}
// Pass the data to the view
$data['form'] = $form;
$data['questions'] = $questions;
$this->load->view('response_submit', $data);
}
public function preview_back($form_id) {
if (!$this->session->userdata('logged_in')) {
// If not logged in, redirect to login page
redirect('users/login');
}
// Load the model that handles the form data
$this->load->model('preview_model');
// Fetch the form details
$form = $this->preview_model->get_form($form_id);
// Fetch the questions for the form including 'is_required'
$questions = $this->preview_model->get_questions($form_id);
// Fetch the options for each question
foreach ($questions as &$question) {
$question->options = $this->preview_model->get_options($question->id);
}
// Pass the data to the view
$data['form'] = $form;
$data['questions'] = $questions;
$this->load->view('templates/header');
$this->load->view('form_preview_back', $data);
$this->load->view('templates/footer');
}
}