Rogier Neeleman
9 years ago
8 changed files with 446 additions and 1 deletions
@ -0,0 +1,187 @@ |
|||||||
|
<?php |
||||||
|
defined('BASEPATH') OR exit('No direct script access allowed'); |
||||||
|
|
||||||
|
/** |
||||||
|
* Logout Class |
||||||
|
*/ |
||||||
|
class Beoordelen extends CI_Controller |
||||||
|
{ |
||||||
|
|
||||||
|
public function __construct() |
||||||
|
{ |
||||||
|
parent::__construct(); |
||||||
|
$this->load->library('session'); |
||||||
|
if(! $this->session->userdata('validated')){ |
||||||
|
redirect(base_url('/login')); |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
public function index() |
||||||
|
{ |
||||||
|
redirect(base_url('/beoordelen/lijst')); |
||||||
|
} |
||||||
|
|
||||||
|
public function lijst() |
||||||
|
{ |
||||||
|
$data['title'] = 'JOS'; |
||||||
|
|
||||||
|
// Get data |
||||||
|
$this->load->model('Beoordelen_model'); |
||||||
|
$lijsten = $this->Beoordelen_model->get_lijst(); |
||||||
|
|
||||||
|
// Data prepare |
||||||
|
foreach ($lijsten as $lijst) |
||||||
|
{ |
||||||
|
$data['lijsten'][$lijst['id']] = $lijst['naam']; |
||||||
|
} |
||||||
|
|
||||||
|
// Header |
||||||
|
$this->load->view('header'); |
||||||
|
|
||||||
|
// login page |
||||||
|
$this->load->view('user_lijsten', $data); |
||||||
|
|
||||||
|
// Footer |
||||||
|
$this->load->view('footer'); |
||||||
|
} |
||||||
|
|
||||||
|
public function ronde() |
||||||
|
{ |
||||||
|
// Check input |
||||||
|
$lijstid = $this->security->xss_clean($this->input->post('lijstid')); |
||||||
|
if ($lijstid OR $this->session->userdata('lijstid')) { |
||||||
|
if ($lijstid) { |
||||||
|
$this->session->set_userdata('lijstid', $lijstid); |
||||||
|
} else { |
||||||
|
$lijstid = $this->session->userdata('lijstid'); |
||||||
|
} |
||||||
|
} else { |
||||||
|
redirect(base_url('/beoordelen/lijst')); |
||||||
|
} |
||||||
|
|
||||||
|
// Check is ronde question is possible |
||||||
|
$this->load->model('Beoordelen_model'); |
||||||
|
$rondes = $this->Beoordelen_model->get_rondes($lijstid)->ronde; |
||||||
|
|
||||||
|
if ($rondes == 1) { |
||||||
|
$this->session->set_userdata('ronde', '1'); |
||||||
|
redirect(base_url('/beoordelen/subgroep')); |
||||||
|
} |
||||||
|
|
||||||
|
for ($i=1; $i <= $rondes; $i++) { |
||||||
|
$data['ronde'][$i] = $i; |
||||||
|
} |
||||||
|
// Make page |
||||||
|
|
||||||
|
// Header |
||||||
|
$this->load->view('header'); |
||||||
|
|
||||||
|
// login page |
||||||
|
$this->load->view('user_ronde', $data); |
||||||
|
|
||||||
|
// Footer |
||||||
|
$this->load->view('footer'); |
||||||
|
|
||||||
|
} |
||||||
|
|
||||||
|
public function subgroep() |
||||||
|
{ |
||||||
|
// Check input |
||||||
|
$ronde = $this->security->xss_clean($this->input->post('ronde')); |
||||||
|
if ($ronde OR $this->session->userdata('ronde')) { |
||||||
|
if ($ronde) { |
||||||
|
$this->session->set_userdata('ronde', $ronde); |
||||||
|
} else { |
||||||
|
$ronde = $this->session->userdata('ronde'); |
||||||
|
} |
||||||
|
} else { |
||||||
|
redirect(base_url('/beoordelen/ronde')); |
||||||
|
} |
||||||
|
|
||||||
|
// Get groepdata |
||||||
|
$this->load->model('Beoordelen_model'); |
||||||
|
$subgroepen = $this->Beoordelen_model->get_subgroepen(); |
||||||
|
|
||||||
|
// Prepare data |
||||||
|
$data['subgroepen'] = array(); |
||||||
|
foreach ($subgroepen as $subgroep) |
||||||
|
{ |
||||||
|
if (!$this->Beoordelen_model->check_score($this->session->userdata('ronde'), $this->session->userdata('lijstid'), $subgroep['id'])) { |
||||||
|
$data['subgroepen'][$subgroep['id']] = $subgroep['nummer'].'. '.$subgroep['themanaam']; |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
// Header |
||||||
|
$this->load->view('header'); |
||||||
|
|
||||||
|
// login page |
||||||
|
$this->load->view('user_subgroep', $data); |
||||||
|
|
||||||
|
// Footer |
||||||
|
$this->load->view('footer'); |
||||||
|
} |
||||||
|
|
||||||
|
public function score() |
||||||
|
{ |
||||||
|
// Check input |
||||||
|
$subgroepid = $this->security->xss_clean($this->input->post('subgroepid')); |
||||||
|
if (!$subgroepid) { |
||||||
|
redirect(base_url('/beoordelen/subgroep')); |
||||||
|
} |
||||||
|
|
||||||
|
$data['subgroepid'] = $subgroepid; |
||||||
|
|
||||||
|
// Get questions |
||||||
|
$this->load->model('Beoordelen_model'); |
||||||
|
$data['vragen'] = $this->Beoordelen_model->get_vragen(); |
||||||
|
|
||||||
|
// Header |
||||||
|
$this->load->view('header'); |
||||||
|
|
||||||
|
// login page |
||||||
|
$this->load->view('user_score', $data); |
||||||
|
|
||||||
|
// Footer |
||||||
|
$this->load->view('footer'); |
||||||
|
|
||||||
|
} |
||||||
|
|
||||||
|
public function score_save() |
||||||
|
{ |
||||||
|
// Check input |
||||||
|
$ronde = $this->session->userdata('ronde'); |
||||||
|
$lijstid = $this->session->userdata('lijstid'); |
||||||
|
$subgroepid = $this->security->xss_clean($this->input->post('subgroepid')); |
||||||
|
|
||||||
|
// Score items ophalen |
||||||
|
$this->load->model('Beoordelen_model'); |
||||||
|
$vragen = $this->Beoordelen_model->get_vragen(); |
||||||
|
|
||||||
|
// Op te slaan data klaarzetten |
||||||
|
|
||||||
|
$i = 0; |
||||||
|
foreach ($vragen as $vraag) |
||||||
|
{ |
||||||
|
$score[$i]['vraagid'] = $vraag['id']; |
||||||
|
|
||||||
|
// Check for type of awnser |
||||||
|
if ($vraag['antwoord'] == 0) { |
||||||
|
if ($this->input->post($vraag['id']) == 1) { |
||||||
|
$score[$i]['score'] = $vraag['score']; |
||||||
|
} else { |
||||||
|
$score[$i]['score'] = 0; |
||||||
|
} |
||||||
|
} elseif ($vraag['antwoord'] == 1) { |
||||||
|
$score[$i]['score'] = $this->input->post($vraag['id']); |
||||||
|
} |
||||||
|
$i++; |
||||||
|
|
||||||
|
} |
||||||
|
|
||||||
|
// Data opslaan |
||||||
|
$this->Beoordelen_model->store_score($ronde, $subgroepid, $score); |
||||||
|
|
||||||
|
// Redirecten naar nieuwe ploeg |
||||||
|
redirect(base_url().'beoordelen/subgroep'); |
||||||
|
} |
||||||
|
} |
@ -0,0 +1,106 @@ |
|||||||
|
<?php |
||||||
|
defined('BASEPATH') OR exit('No direct script access allowed'); |
||||||
|
|
||||||
|
/** |
||||||
|
* Regio model |
||||||
|
*/ |
||||||
|
class Beoordelen_model extends CI_Model |
||||||
|
{ |
||||||
|
|
||||||
|
public function __construct() |
||||||
|
{ |
||||||
|
parent::__construct(); |
||||||
|
} |
||||||
|
|
||||||
|
public function get_lijst() |
||||||
|
{ |
||||||
|
$this->db->select('id, naam'); |
||||||
|
$this->db->from('lijst'); |
||||||
|
$this->db->where('jaar', date('Y')); |
||||||
|
$this->db->where('regioid', $this->session->regio); |
||||||
|
$this->db->where('actief', '1'); |
||||||
|
$this->db->order_by('naam', 'ASC'); |
||||||
|
|
||||||
|
$query = $this->db->get(); |
||||||
|
|
||||||
|
return $query->result_array(); |
||||||
|
} |
||||||
|
|
||||||
|
public function get_rondes($lijstid) |
||||||
|
{ |
||||||
|
$this->db->select('ronde'); |
||||||
|
$this->db->from('lijst'); |
||||||
|
$this->db->where('id', $lijstid); |
||||||
|
$this->db->where('regioid', $this->session->regio); |
||||||
|
$this->db->where('jaar', date('Y')); |
||||||
|
$this->db->where('actief', '1'); |
||||||
|
|
||||||
|
$query = $this->db->get(); |
||||||
|
|
||||||
|
return $query->row(); |
||||||
|
} |
||||||
|
|
||||||
|
public function get_subgroepen() |
||||||
|
{ |
||||||
|
$this->db->select('id, naam, themanaam, nummer'); |
||||||
|
$this->db->from('subgroep'); |
||||||
|
$this->db->where('regioid', $this->session->regio); |
||||||
|
$this->db->where('jaar', date('Y')); |
||||||
|
$this->db->order_by('nummer', 'ASC'); |
||||||
|
|
||||||
|
$query = $this->db->get(); |
||||||
|
|
||||||
|
return $query->result_array(); |
||||||
|
} |
||||||
|
|
||||||
|
public function get_vragen() |
||||||
|
{ |
||||||
|
$this->db->select('id, score, vraag, antwoord, score'); |
||||||
|
$this->db->from('vragen'); |
||||||
|
$this->db->where('regioid', $this->session->regio); |
||||||
|
$this->db->where('lijstid', $this->session->lijstid); |
||||||
|
$this->db->where('jaar', date('Y')); |
||||||
|
|
||||||
|
$this->db->order_by('volgorde', 'ASC'); |
||||||
|
|
||||||
|
$query = $this->db->get(); |
||||||
|
|
||||||
|
return $query->result_array(); |
||||||
|
} |
||||||
|
|
||||||
|
public function check_score($ronde, $lijstid, $subgroepid) |
||||||
|
{ |
||||||
|
$this->db->from('resultaat'); |
||||||
|
$this->db->where('resultaat.regioid', $this->session->regio); |
||||||
|
$this->db->where('resultaat.ronde', $ronde); |
||||||
|
$this->db->where('vragen.lijstid', $lijstid); |
||||||
|
$this->db->where('resultaat.subgroepid', $subgroepid); |
||||||
|
$this->db->join('vragen', 'resultaat.vraagid=vragen.id'); |
||||||
|
|
||||||
|
$query = $this->db->get(); |
||||||
|
|
||||||
|
if ($query->num_rows() == 0) |
||||||
|
{ |
||||||
|
return false; |
||||||
|
} else { |
||||||
|
return true; |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
public function store_score($ronde, $subgroepid, $score) |
||||||
|
{ |
||||||
|
foreach ($score as $item) |
||||||
|
{ |
||||||
|
$data = array( |
||||||
|
'regioid' => $this->session->regio, |
||||||
|
'vraagid' => $item['vraagid'], |
||||||
|
'ronde' => $ronde, |
||||||
|
'subgroepid' => $subgroepid, |
||||||
|
'score' => $item['score'], |
||||||
|
'userid' => $this->session->id, |
||||||
|
); |
||||||
|
$this->db->insert('resultaat', $data); |
||||||
|
|
||||||
|
} |
||||||
|
} |
||||||
|
} |
@ -0,0 +1,6 @@ |
|||||||
|
<div class="container"> |
||||||
|
<h1>Invoeren scorelijsten</h1> |
||||||
|
<p> |
||||||
|
<a href='<?php echo base_url();?>beoordelen/'><button type="button" class="btn btn-success btn-lg">Beoordelen</button></a>
|
||||||
|
</p> |
||||||
|
</div> |
@ -0,0 +1,20 @@ |
|||||||
|
<div class="container"> |
||||||
|
<h1>De volgende lijsten zijn beschikbaar:</h1> |
||||||
|
|
||||||
|
<?php echo form_open(base_url().'beoordelen/ronde'); ?> |
||||||
|
|
||||||
|
<div class="row"> |
||||||
|
<div class="col-xs-2 col-sm-2 col-sm-offset-4"> |
||||||
|
<?php echo form_dropdown('lijstid', $lijsten); ?> |
||||||
|
</div> |
||||||
|
</div> |
||||||
|
<p> |
||||||
|
<div class="row"> |
||||||
|
<div class="col-xs-2 col-sm-2 col-xs-offset-4 col-sm-offset-5"> |
||||||
|
<button type="submit" class="btn btn-primary btn-lg">Kies</button> |
||||||
|
</div> |
||||||
|
</div> |
||||||
|
</p> |
||||||
|
<?php echo form_close(); ?> |
||||||
|
|
||||||
|
</div> |
@ -0,0 +1,23 @@ |
|||||||
|
<div class="container"> |
||||||
|
<h1>Kies de ronde</h1> |
||||||
|
|
||||||
|
<?php // $attributes = array('class' => 'form-horizontal', 'role' => 'form');?>
|
||||||
|
<?php echo form_open(base_url().'beoordelen/subgroep')."\n"; ?> |
||||||
|
|
||||||
|
<div class="row"> |
||||||
|
<div class="col-xs-2 col-sm-2 col-xs-offset-3 col-sm-offset-4"> |
||||||
|
<label>Ronde</label> |
||||||
|
</div> |
||||||
|
<div class="col-xs-2 col-sm-2"> |
||||||
|
<?php echo form_dropdown('ronde', $ronde); ?> |
||||||
|
</div> |
||||||
|
</div> |
||||||
|
<p> |
||||||
|
<div class="row"> |
||||||
|
<div class="col-xs-2 col-sm-2 col-xs-offset-4 col-sm-offset-5"> |
||||||
|
<button type="submit" class="btn btn-primary btn-lg">Volgende</button> |
||||||
|
</div> |
||||||
|
</div> |
||||||
|
<?php echo form_close(); ?> |
||||||
|
</p> |
||||||
|
</div> |
@ -0,0 +1,41 @@ |
|||||||
|
<div class="container"> |
||||||
|
|
||||||
|
<div class="starter-template"> |
||||||
|
<h1>Geef de score aan</h1> |
||||||
|
|
||||||
|
<?php echo form_open(base_url().'beoordelen/score_save'); ?> |
||||||
|
<?php echo form_hidden('subgroepid', $subgroepid); ?> |
||||||
|
|
||||||
|
|
||||||
|
<?php |
||||||
|
foreach ($vragen as $vraag) |
||||||
|
{ ?> |
||||||
|
<div class="row"> |
||||||
|
<div class="col-xs-9 col-sm-6 col-sm-offset-3"> |
||||||
|
<?php echo $vraag['vraag']; ?> |
||||||
|
</div> |
||||||
|
<div class="col-xs-3 col-sm-1"> |
||||||
|
<?php if ($vraag['antwoord'] == 0) { |
||||||
|
echo ': '.form_checkbox($vraag['id'], '1'); |
||||||
|
} else { |
||||||
|
for ($i=1; $i <= $vraag['score']; $i++) { |
||||||
|
$score[$i] = $i; |
||||||
|
} |
||||||
|
echo form_dropdown($vraag['id'], $score); |
||||||
|
} ?> |
||||||
|
</div> |
||||||
|
</div> |
||||||
|
<?php } ?> |
||||||
|
|
||||||
|
<p> |
||||||
|
|
||||||
|
<div class="row"> |
||||||
|
<div class="col-xs-2 col-sm-2 col-xs-offset-4 col-sm-offset-5"> |
||||||
|
<button type="submit" class="btn btn-success btn-lg">Opslaan</button> |
||||||
|
</div> |
||||||
|
</div> |
||||||
|
<?php echo form_close(); ?> |
||||||
|
|
||||||
|
|
||||||
|
</div> |
||||||
|
</div> |
@ -0,0 +1,39 @@ |
|||||||
|
<div class="container"> |
||||||
|
|
||||||
|
<div class="starter-template"> |
||||||
|
<h1>Kies de ploeg</h1> |
||||||
|
|
||||||
|
<?php if (count($subgroepen) != 0) { ?> |
||||||
|
|
||||||
|
<?php echo form_open(base_url().'beoordelen/score'); ?> |
||||||
|
|
||||||
|
<div class="row"> |
||||||
|
<div class="col-xs-2 col-sm-2 col-sm-offset-5 col-xs-offset-2"> |
||||||
|
<?php echo form_dropdown('subgroepid', $subgroepen); ?> |
||||||
|
</div> |
||||||
|
</div> |
||||||
|
<p> |
||||||
|
<div class="row"> |
||||||
|
<div class="col-xs-2 col-sm-2 col-xs-offset-4 col-sm-offset-5"> |
||||||
|
<button type="submit" class="btn btn-primary btn-lg">Volgende</button> |
||||||
|
</div> |
||||||
|
</div> |
||||||
|
<?php echo form_close(); ?> |
||||||
|
|
||||||
|
<?php } else { ?> |
||||||
|
<div class="row"> |
||||||
|
<div class="col-xs-10 col-sm-4 col-xs-offset-1 col-sm-offset-4"> |
||||||
|
Er zijn geen groepen meer te beoordelen. |
||||||
|
</div> |
||||||
|
</div> |
||||||
|
<div class="row"> |
||||||
|
<div class="col-xs-2 col-sm-2 col-xs-offset-4 col-sm-offset-5"> |
||||||
|
<button type="button" class="btn btn-success btn-lg" disabled="disabled"> |
||||||
|
<span class="glyphicon glyphicon-ok"></span> |
||||||
|
</button> |
||||||
|
</div> |
||||||
|
</div> |
||||||
|
<?php } ?> |
||||||
|
|
||||||
|
</div> |
||||||
|
</div> |
Loading…
Reference in new issue