From 98b57e0af4a5eaabe07b3f642914dee66335b567 Mon Sep 17 00:00:00 2001 From: Nael Date: Wed, 5 Mar 2014 20:28:48 +0100 Subject: [PATCH] new fancy statistics --- ...ct_bt_vs_uvote_overall_match_missmatch.sql | 7 ++++ ...e_overall_match_missmatch_group_by_day.sql | 9 +++++ uVote/page/default_bulletin/bulletin.tpl | 40 ++++++++++++++++--- .../default_bulletin/default_bulletin.php | 35 +++++++++++++--- uVote/page/default_bulletin/vote_bt.tpl | 1 + uVote/page/default_page/full_vote.tpl | 14 ++++--- uVote/page/default_page/js/loadtexts.js | 10 ++++- uVote/page/user_main_urVote/all_polls.tpl | 4 +- uVote/page/user_main_urVote/urVote.tpl | 4 +- 9 files changed, 103 insertions(+), 21 deletions(-) create mode 100644 uVote/dbd/qq/select_bt_vs_uvote_overall_match_missmatch.sql create mode 100644 uVote/dbd/qq/select_bt_vs_uvote_overall_match_missmatch_group_by_day.sql create mode 100644 uVote/page/default_bulletin/vote_bt.tpl diff --git a/uVote/dbd/qq/select_bt_vs_uvote_overall_match_missmatch.sql b/uVote/dbd/qq/select_bt_vs_uvote_overall_match_missmatch.sql new file mode 100644 index 0000000..451a5f6 --- /dev/null +++ b/uVote/dbd/qq/select_bt_vs_uvote_overall_match_missmatch.sql @@ -0,0 +1,7 @@ +SELECT + SUM(CASE WHEN a.choice = c.bt_choice THEN 1 ELSE 0 END) class_match, + SUM(CASE WHEN a.choice = c.bt_choice THEN 0 ELSE 1 END) class_mismatch +FROM uvote_data as a +LEFT JOIN (Select choice, poll_ID FROM uvote_data GROUP BY choice LIMIT 1) b ON a.poll_ID = b.poll_ID +LEFT JOIN uvote_votes as c ON a.poll_ID = c.ID +WHERE bt_choice \ No newline at end of file diff --git a/uVote/dbd/qq/select_bt_vs_uvote_overall_match_missmatch_group_by_day.sql b/uVote/dbd/qq/select_bt_vs_uvote_overall_match_missmatch_group_by_day.sql new file mode 100644 index 0000000..b54fa5d --- /dev/null +++ b/uVote/dbd/qq/select_bt_vs_uvote_overall_match_missmatch_group_by_day.sql @@ -0,0 +1,9 @@ +SELECT + DATE_FORMAT(FROM_UNIXTIME(UNIX_TIMESTAMP(a.`timestamp`) - MOD(UNIX_TIMESTAMP(a.`timestamp`),86400)),"%Y/%m/%d %H:%i:%s") as day, + SUM(CASE WHEN a.choice = c.bt_choice THEN 1 ELSE 0 END) class_match, + SUM(CASE WHEN a.choice = c.bt_choice THEN 0 ELSE 1 END) class_mismatch +FROM uvote_data as a +LEFT JOIN (Select choice, poll_ID FROM uvote_data GROUP BY choice LIMIT 1) b ON a.poll_ID = b.poll_ID +LEFT JOIN uvote_votes as c ON a.poll_ID = c.ID +WHERE bt_choice +GROUP BY day \ No newline at end of file diff --git a/uVote/page/default_bulletin/bulletin.tpl b/uVote/page/default_bulletin/bulletin.tpl index 3d50288..fc2f245 100644 --- a/uVote/page/default_bulletin/bulletin.tpl +++ b/uVote/page/default_bulletin/bulletin.tpl @@ -2,27 +2,57 @@

+
+ ${voice_weight} +
Ergebnis uVote ${bars_user} + + Ergebnis Bundestag ${bars_bt}
- - ${voice_weight} - + ${bars_party} + + ${choice_party} +
+
- ${vote_buttons} +
+
+ ${vote_buttons} +
- \ No newline at end of file + + \ No newline at end of file diff --git a/uVote/page/default_bulletin/default_bulletin.php b/uVote/page/default_bulletin/default_bulletin.php index 461fdc2..a3cd803 100644 --- a/uVote/page/default_bulletin/default_bulletin.php +++ b/uVote/page/default_bulletin/default_bulletin.php @@ -6,10 +6,8 @@ class default_bulletin extends SYSTEM\PAGE\Page { $this->poll_ID=$poll_ID;} public function vote_choice(){ - $result = ''; - $vars = votes::get_user_choice_per_poll($this->poll_ID, \SYSTEM\SECURITY\Security::getUser()->id); - $vars['vote_class'] = $this->tablerow_class($vars); - return $vars['vote_class']; + $vars = votes::getUserPollData($this->poll_ID); + return $this->tablerow_class($vars); } private static function tablerow_class($choice){ @@ -24,7 +22,33 @@ class default_bulletin extends SYSTEM\PAGE\Page { return 'open'; } } - + + private function get_party_per_poll($choice){ + switch($choice){ + case 1: + return 'PRO'; + case 2: + return 'CON'; + case 3: + return 'ENT'; + default: + return 'NONE'; + } + } + + private function choice_party (){ + $result = ''; + $party_votes = votes::get_barsperparty($this->poll_ID); +// $vote['bt_vote_class'] = $this->tablerow_class($vote['bt_choice']); + foreach($party_votes as $pv){ + $result .= \SYSTEM\PAGE\replace::replaceFile(SYSTEM\SERVERPATH(new PPAGE(),'default_bulletin/vote_bt.tpl'), + array( 'party' => $pv['party'], + 'choice' => $this->get_party_per_poll($pv['choice']), + 'choice_class' => $this->tablerow_class($pv['choice']))); + } + return $result; + } + private function bars_user(){ $bars = votes::get_barsperusers($this->poll_ID,false); $bars['vote_yes_perc'] = round($bars['yes_perc']*100,0); @@ -135,6 +159,7 @@ class default_bulletin extends SYSTEM\PAGE\Page { $user_vote = votes::getUserPollData($this->poll_ID); $vars = array(); + $vars['choice_party'] = $this->choice_party(); $vars['voice_weight'] = $vars['bars_user'] = $vars['bars_bt'] = ''; $vars['bars_party'] = 'Erst nach der Abgabe deiner Stimme werden dir die daten angezeigt'; $vars['vote_class'] = $this->vote_choice(); diff --git a/uVote/page/default_bulletin/vote_bt.tpl b/uVote/page/default_bulletin/vote_bt.tpl new file mode 100644 index 0000000..31b3f5e --- /dev/null +++ b/uVote/page/default_bulletin/vote_bt.tpl @@ -0,0 +1 @@ +${choice}
\ No newline at end of file diff --git a/uVote/page/default_page/full_vote.tpl b/uVote/page/default_page/full_vote.tpl index 77a95af..af2c299 100644 --- a/uVote/page/default_page/full_vote.tpl +++ b/uVote/page/default_page/full_vote.tpl @@ -1,8 +1,10 @@ - -
-
- -
- +
+
+

${title}

+ Quelle: ${iframe_link}
+
+ +
+
diff --git a/uVote/page/default_page/js/loadtexts.js b/uVote/page/default_page/js/loadtexts.js index d9f8d1e..dcd7f0a 100644 --- a/uVote/page/default_page/js/loadtexts.js +++ b/uVote/page/default_page/js/loadtexts.js @@ -138,10 +138,12 @@ function get_barsperparty (poll_ID) { function vote_click (poll_ID, vote) { $.getJSON('./api.php?call=vote&action=vote&poll_ID=' + poll_ID + '&vote=' + vote, function(data) { - var items = []; + var items = []; if(data.status == true){ alert("success"); - $('#user_main').load('./?action=open_bulletin&poll_ID=' + $(this).attr('poll_ID')); + $('#user_main').load('./?action=open_bulletin&poll_ID=' + poll_ID, function(){ + open_vote(poll_ID); + }); } else { alert(data.result.message); } @@ -187,6 +189,10 @@ function open_vote (poll_ID) { $('.btnvote_off').click(function () { vote_click($(this).attr('poll_ID'),3); }); + $('#test').click(function(){ + $('#myModal').modal(); + }); + }); } diff --git a/uVote/page/user_main_urVote/all_polls.tpl b/uVote/page/user_main_urVote/all_polls.tpl index 87d3d65..3de753d 100644 --- a/uVote/page/user_main_urVote/all_polls.tpl +++ b/uVote/page/user_main_urVote/all_polls.tpl @@ -1,4 +1,6 @@ -
Aktueller Status
+
+Aktueller Status +
Teilnahme an aktuellen Abstimmungen
diff --git a/uVote/page/user_main_urVote/urVote.tpl b/uVote/page/user_main_urVote/urVote.tpl index 7456a69..ce0c8a8 100644 --- a/uVote/page/user_main_urVote/urVote.tpl +++ b/uVote/page/user_main_urVote/urVote.tpl @@ -1,10 +1,10 @@
-

${urVote_title}

+
${urVote_title}
-
${urVote_user_party_compare}
+ ${urVote_user_party_compare} ${choices_user_ID}