@@ -22,13 +22,19 @@ class Home extends CI_Controller
22
22
* @see https://codeigniter.com/user_guide/general/urls.html
23
23
*/
24
24
25
+ /**
26
+ * Constructor
27
+ *
28
+ * @return void
29
+ */
25
30
public function __construct ()
26
31
{
27
32
parent ::__construct ();
28
33
$ this ->load ->database ();
29
34
$ this ->load ->library ('ion_auth ' , 'form_validation ' , 'session ' );
30
35
$ this ->load ->helper ('url ' , 'language ' , 'my_helper ' );
31
36
$ this ->load ->model ('Home_model ' );
37
+ $ this ->load ->model ('Setting_model ' );
32
38
}
33
39
34
40
public function index ()
@@ -54,24 +60,28 @@ public function vote()
54
60
// Get All Kandidat
55
61
$ kandidat_data = $ this ->Home_model ->get_all ('nourut ' , 'kandidat ' , 'ASC ' );
56
62
57
- $ data = array (
63
+ // Get Settings
64
+ $ setting_q = $ this ->Setting_model ->get_all ('id ' , 'settings ' , 'ASC ' );
65
+ $ settings = $ setting_q [0 ];
66
+ $ selesai = $ selesai = DateTime::createFromFormat ('Y-m-d H:i:s ' , $ settings ->selesai )->format ('Y/m/d H:i:s ' );
58
67
68
+ $ data = [
59
69
// Data kandidat diambil dari database
60
70
'kandidat_data ' => $ kandidat_data ,
71
+ 'waktu_selesai ' => $ selesai ,
72
+ ];
61
73
62
- );
74
+ $ idpemilih = $ this -> session -> userdata ( ' userid ' );
63
75
64
76
// Check status sudah memilih atau belum
65
- $ status = $ this ->session ->userdata ('status ' );
66
- if ($ status === 'Belum Memilih ' ) {
67
- $ this ->load ->view ('front/vote ' , $ data );
68
- } elseif ($ status === 'Sudah Memilih ' ) {
69
-
77
+ if ($ this ->home_model ->is_voted ($ idpemilih )) {
70
78
$ data = array (
71
79
'nama ' => $ this ->session ->userdata ('nama ' ),
72
80
);
73
81
74
- $ this ->load ->view ('front/terimakasih ' , $ data );
82
+ return $ this ->load ->view ('front/terimakasih ' , $ data );
83
+ } else {
84
+ return $ this ->load ->view ('front/vote ' , $ data );
75
85
}
76
86
}
77
87
@@ -86,55 +96,55 @@ public function doVote($idkandidat)
86
96
$ idpemilih = $ this ->session ->userdata ('userid ' );
87
97
// Tipe pemilih apakah guru atau siswa
88
98
$ tipe = $ this ->session ->userdata ('level ' );
89
-
99
+
90
100
// Check status sudah memilih atau belum
91
- $ status = $ this ->session ->userdata ('status ' );
92
- if ($ status === 'Belum Memilih ' ) {
93
-
94
- // insertData
95
- $ insertData = array (
96
- 'tipe ' => $ tipe ,
97
- 'idpemilih ' => $ idpemilih ,
98
- 'idkandidat ' => $ idkandidat ,
99
- );
100
-
101
- // Insert data
102
- $ this ->Home_model ->insert ('data_pemilihan ' , $ insertData );
103
-
104
- // Update Session data
105
- $ userData = array (
106
- 'status ' => 'Sudah Memilih '
107
- );
108
- $ this ->session ->set_userdata ($ userData );
109
-
110
- // Update Database data
111
- $ updateData = array (
112
- 'status ' => 'Sudah Memilih '
113
- );
114
- $ this ->Home_model ->update ('id ' , $ idpemilih , 'data_pemilih ' , $ updateData );
115
-
116
- // Menghitung jumlah perolehan suara
117
- $ kandidatData = $ this ->Home_model ->get_all ('nourut ' , 'kandidat ' , 'DESC ' );
118
- foreach ($ kandidatData as $ row ) {
119
- // Berdasarkan idkandidat yang ada
120
- $ jumlahSuara = $ this ->Home_model ->tampil_data ('idkandidat ' , $ row ->idkandidat , 'data_pemilihan ' );
121
- $ suaraData = array (
122
- 'jumlahsuara ' => $ jumlahSuara ,
123
- );
124
- // Update jumlah suara counter ke database
125
- $ this ->Home_model ->update ('idkandidat ' , $ row ->idkandidat , 'kandidat ' , $ suaraData );
126
- };
127
-
128
- redirect ('vote ' , 'refresh ' );
129
- } else {
130
- redirect ('home ' , 'refresh ' );
101
+ if ($ this ->home_model ->is_voted ($ idpemilih )) {
131
102
$ this ->session ->set_flashdata (
132
103
'message ' ,
133
104
'<div class="alert alert-warning alert-dismissible">
134
105
<button type="button" class="close" data-dismiss="alert" aria-hidden="true">×</button>
135
106
Anda sudah memilih </div> '
136
107
);
108
+ return redirect ('home ' , 'refresh ' );
137
109
}
110
+
111
+ // insertData
112
+ $ insertData = array (
113
+ 'tipe ' => $ tipe ,
114
+ 'idpemilih ' => $ idpemilih ,
115
+ 'idkandidat ' => $ idkandidat ,
116
+ );
117
+
118
+ // Insert data
119
+ $ this ->Home_model ->insert ('data_pemilihan ' , $ insertData );
120
+
121
+ // Update Session data
122
+ $ userData = array (
123
+ 'status ' => 'Sudah Memilih '
124
+ );
125
+
126
+ $ this ->session ->set_userdata ($ userData );
127
+
128
+ // Update Database data
129
+ $ updateData = array (
130
+ 'status ' => 'Sudah Memilih '
131
+ );
132
+ $ this ->Home_model ->update ('id ' , $ idpemilih , 'data_pemilih ' , $ updateData );
133
+
134
+ // Menghitung jumlah perolehan suara
135
+ $ kandidatData = $ this ->Home_model ->get_all ('nourut ' , 'kandidat ' , 'DESC ' );
136
+ foreach ($ kandidatData as $ row ) {
137
+ // Berdasarkan idkandidat yang ada
138
+ $ jumlahSuara = $ this ->Home_model ->tampil_data ('idkandidat ' , $ row ->idkandidat , 'data_pemilihan ' );
139
+ $ suaraData = array (
140
+ 'jumlahsuara ' => $ jumlahSuara ,
141
+ );
142
+ // Update jumlah suara counter ke database
143
+ $ this ->Home_model ->update ('idkandidat ' , $ row ->idkandidat , 'kandidat ' , $ suaraData );
144
+ };
145
+
146
+ return redirect ('vote ' , 'refresh ' );
147
+
138
148
}
139
149
}
140
150
0 commit comments