Cloudlog/application/controllers/Qso.php

199 wiersze
5.6 KiB
PHP
Czysty Zwykły widok Historia

2011-04-25 15:24:01 +00:00
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
/*
TODO
- Update Edit
- Store Radio Information
- Upload to clublog (request api key)
*/
2011-04-25 15:24:01 +00:00
class QSO extends CI_Controller {
public function index()
{
$this->load->model('cat');
2011-07-22 00:08:47 +00:00
$this->load->model('logbook_model');
2011-08-19 16:12:13 +00:00
$this->load->model('user_model');
if(!$this->user_model->authorize(2)) { $this->session->set_flashdata('notice', 'You\'re not allowed to do that!'); redirect('dashboard'); }
2011-07-22 00:08:47 +00:00
$data['notice'] = false;
$data['radios'] = $this->cat->radios();
2012-04-23 13:58:04 +00:00
$data['query'] = $this->logbook_model->last_custom('16');
$this->load->library('form_validation');
$this->form_validation->set_rules('start_date', 'Date', 'required');
$this->form_validation->set_rules('start_time', 'Time', 'required');
$this->form_validation->set_rules('callsign', 'Callsign', 'required');
if ($this->form_validation->run() == FALSE)
{
2011-11-04 17:32:03 +00:00
$data['page_title'] = "Add QSO";
$this->load->view('layout/header', $data);
$this->load->view('qso/index');
$this->load->view('layout/footer');
}
else
{
2011-07-22 00:08:47 +00:00
// Add QSO
2016-02-12 16:31:29 +00:00
// $this->logbook_model->add();
//change to create_qso function as add and create_qso duplicate functionality
$this->logbook_model->create_qso();
2011-07-22 00:08:47 +00:00
// Store Basic QSO Info for reuse
// Put data in an array first, then call set_userdata once.
// This solves the problem of CI dumping out the session
// cookie each time set_userdata is called.
// For more info, see http://bizhole.com/codeigniter-nginx-error-502-bad-gateway/
// $qso_data = [
// 18-Jan-2016 - make php v5.3 friendly!
2016-02-12 16:31:29 +00:00
$qso_data = array(
'band' => $this->input->post('band'),
'freq' => $this->input->post('freq'),
'mode' => $this->input->post('mode'),
'sat_name' => $this->input->post('sat_name'),
'sat_mode' => $this->input->post('sat_mode'),
'radio' => $this->input->post('radio')
);
// ];
$this->session->set_userdata($qso_data);
2011-07-22 00:08:47 +00:00
// Get last Ten QSOs
$data['query'] = $this->logbook_model->last_ten();
2011-07-22 00:08:47 +00:00
// Set Any Notice Messages
$data['notice'] = "QSO Added";
2011-07-22 00:08:47 +00:00
// Load view to create another contact
2011-11-04 17:32:03 +00:00
$data['page_title'] = "Add QSO";
$this->load->view('layout/header', $data);
$this->load->view('qso/index');
$this->load->view('layout/footer');
}
}
/*
Function: manual
Usage: Post QSO Logging
*/
public function manual()
{
$this->load->model('cat');
$this->load->model('logbook_model');
$this->load->model('user_model');
if(!$this->user_model->authorize(2)) { $this->session->set_flashdata('notice', 'You\'re not allowed to do that!'); redirect('dashboard'); }
$data['notice'] = false;
$data['radios'] = $this->cat->radios();
$data['query'] = $this->logbook_model->last_custom('16');
$this->load->library('form_validation');
$this->form_validation->set_rules('start_date', 'Date', 'required');
$this->form_validation->set_rules('start_time', 'Time', 'required');
$this->form_validation->set_rules('callsign', 'Callsign', 'required');
if ($this->form_validation->run() == FALSE)
{
$data['page_title'] = "Add QSO";
$this->load->view('layout/header', $data);
$this->load->view('qso/manual');
$this->load->view('layout/footer');
}
else
{
// Add QSO
$this->logbook_model->create_qso();
// Store Basic QSO Info for reuse
//$qso_data = [
// 18-Jan-2016 - make php v5.3 friendly!
$qso_data = array(
'band' => $this->input->post('band'),
'freq' => $this->input->post('freq'),
'mode' => $this->input->post('mode'),
'sat_name' => $this->input->post('sat_name'),
'sat_mode' => $this->input->post('sat_mode'),
'radio' => $this->input->post('radio')
);
//];
$this->session->set_userdata($qso_data);
// Get last Ten QSOs
$data['query'] = $this->logbook_model->last_ten();
// Set Any Notice Messages
$data['notice'] = "QSO Added";
// Load view to create another contact
$data['page_title'] = "Manual QSO";
$this->load->view('layout/header', $data);
$this->load->view('qso/manual');
$this->load->view('layout/footer');
}
}
function edit() {
2011-07-22 00:08:47 +00:00
$this->load->model('logbook_model');
2011-08-19 16:12:13 +00:00
$this->load->model('user_model');
if(!$this->user_model->authorize(2)) { $this->session->set_flashdata('notice', 'You\'re not allowed to do that!'); redirect('dashboard'); }
2011-07-22 00:08:47 +00:00
$query = $this->logbook_model->qso_info($this->uri->segment(3));
$this->load->library('form_validation');
$this->form_validation->set_rules('time_on', 'Start Date', 'required');
$this->form_validation->set_rules('time_off', 'End Date', 'required');
$this->form_validation->set_rules('callsign', 'Callsign', 'required');
$data = $query->row();
2011-07-22 00:08:47 +00:00
if ($this->form_validation->run() == FALSE)
{
2011-11-04 17:32:03 +00:00
$this->load->view('layout/mini_header', $data);
$this->load->view('qso/edit');
2011-10-18 22:06:34 +00:00
$this->load->view('layout/mini_footer');
}
else
{
2011-07-22 00:08:47 +00:00
$this->logbook_model->edit();
$this->session->set_flashdata('notice', 'Record Updated');
$this->load->view('qso/edit_done');
}
}
/* Delete QSO */
function delete($id) {
$this->load->model('logbook_model');
$this->logbook_model->delete($id);
$this->session->set_flashdata('notice', 'QSO Deleted Successfully');
2011-10-18 22:06:34 +00:00
$data['message_title'] = "Deleted";
$data['message_contents'] = "QSO Deleted Successfully";
$this->load->view('messages/message', $data);
2011-04-25 15:24:01 +00:00
}
function band_to_freq($band, $mode) {
$this->load->library('frequency');
echo $this->frequency->convent_band($band, $mode);
}
2011-08-19 16:12:13 +00:00
}