77 lines
2.0 KiB
PHP
77 lines
2.0 KiB
PHP
<?php
|
|
defined('BASEPATH') or exit('No direct script access allowed');
|
|
|
|
class Form_model extends CI_Model
|
|
{
|
|
|
|
// Get the total number of forms
|
|
public function get_total_forms()
|
|
{
|
|
$this->load->database();
|
|
|
|
return $this->db->count_all('forms');
|
|
}
|
|
|
|
// Get the number of published forms
|
|
public function get_published_forms()
|
|
{
|
|
$this->load->database();
|
|
|
|
$this->db->where('is_published', 1);
|
|
return $this->db->count_all_results('forms');
|
|
}
|
|
public function save_form($form_data)
|
|
{
|
|
$this->db->trans_start();
|
|
|
|
foreach ($form_data as $section) {
|
|
$question_data = array(
|
|
'form_id' => $section['form_id'],
|
|
'text' => $section['text'],
|
|
'type' => $section['type'],
|
|
'required' => $section['required'],
|
|
'created_at' => date('Y-m-d H:i:s')
|
|
);
|
|
|
|
$this->db->insert('questions', $question_data);
|
|
$question_id = $this->db->insert_id();
|
|
|
|
foreach ($section['options'] as $option_text) {
|
|
$option_data = array(
|
|
'question_id' => $question_id,
|
|
'option_text' => $option_text,
|
|
'created_at' => date('Y-m-d H:i:s')
|
|
);
|
|
|
|
$this->db->insert('options', $option_data);
|
|
}
|
|
}
|
|
|
|
$this->db->trans_complete();
|
|
|
|
if ($this->db->trans_status() === FALSE) {
|
|
return false;
|
|
} else {
|
|
return true;
|
|
}
|
|
}
|
|
public function __construct()
|
|
{
|
|
$this->load->database();
|
|
}
|
|
|
|
public function get_form_title($form_id)
|
|
{
|
|
$this->db->select('title'); // Assuming the title column in the forms table is called 'title'
|
|
$this->db->from('forms');
|
|
$this->db->where('id', $form_id);
|
|
$query = $this->db->get();
|
|
|
|
if ($query->num_rows() > 0) {
|
|
return $query->row()->title;
|
|
} else {
|
|
return null;
|
|
}
|
|
}
|
|
}
|