diff --git a/uVote/api/votes/votes.php b/uVote/api/votes/votes.php index f57a2d3..463be9a 100644 --- a/uVote/api/votes/votes.php +++ b/uVote/api/votes/votes.php @@ -87,6 +87,9 @@ class votes { return \DBD\UVOTE_DATA_USER_TO_BT::QA(array($user_ID)); } + public static function get_users_choice_per_poll($poll_ID){ + return \DBD\UVOTE_DATA_USERS_CHOICE_PER_POLL::QA(array($poll_ID));} + public static function get_voteinfo($poll_ID){ $con = new \SYSTEM\DB\Connection(new \DBD\uVote()); $res = $con->prepare( 'selVoteByID', @@ -98,6 +101,11 @@ class votes { public static function get_barsperparty($poll_ID){ return \DBD\UVOTE_DATA_PARTY_PER_POLL::QA(array($poll_ID));} + + public static function get_party_choice($poll_ID, $party){ + $res = \DBD\UVOTE_DATA_PARTY_CHOICE_PER_POLL::Q1(array($poll_ID, $party)); + return $res; + } public static function write_vote($poll_ID, $vote){ if(!\SYSTEM\SECURITY\Security::isLoggedIn()){ diff --git a/uVote/dbd/qq/UVOTE_DATA_PARTY_CHOICE_PER_POLL.php b/uVote/dbd/qq/UVOTE_DATA_PARTY_CHOICE_PER_POLL.php new file mode 100644 index 0000000..8998286 --- /dev/null +++ b/uVote/dbd/qq/UVOTE_DATA_PARTY_CHOICE_PER_POLL.php @@ -0,0 +1,11 @@ +tablerow_class(votes::getUserPollData($vote['ID'])); + $vote['vote_class'] = $this->tablerow_class(votes::getUserPollData($vote['ID'])); $vote['bt_vote_class'] = $this->tablerow_class($vote['bt_choice']); $vote['full_vote_btn'] = $time_remain > 0 ? 'Abstimmen' : 'Ansehen'; $vote['time_left'] = round($time_remain/($time_span+1)*100,0); $vote['time_done'] = 100-$vote['time_left']; + $cdu = votes::get_party_choice($vote['ID'], 'cdu'); + $vote['cdu'] = $this->get_party_per_poll($cdu['choice']); + $vote['choice_class_cdu'] = $this->tablerow_class($cdu['choice']); + $csu = votes::get_party_choice($vote['ID'], 'csu'); + $vote['csu'] = $this->get_party_per_poll($csu['choice']); + $vote['choice_class_csu'] = $this->tablerow_class($csu['choice']); + $spd = votes::get_party_choice($vote['ID'], 'spd'); + $vote['spd'] = $this->get_party_per_poll($spd['choice']); + $vote['choice_class_spd'] = $this->tablerow_class($spd['choice']); + $gruene = votes::get_party_choice($vote['ID'], 'gruene'); + $vote['gruene'] = $this->get_party_per_poll($gruene['choice']); + $vote['choice_class_gruene'] = $this->tablerow_class($gruene['choice']); + $linke = votes::get_party_choice($vote['ID'], 'linke'); + $vote['linke'] = $this->get_party_per_poll($linke['choice']); + $vote['choice_class_linke'] = $this->tablerow_class($linke['choice']); - if($time_remain > 0){ - + $uvote = votes::get_users_choice_per_poll($vote['ID']); + $vote['uv_vote_class'] = count($uvote) > 0 ? $this->tablerow_class($uvote[0]['choice']) : ''; + + $vote['uv_pro'] = $vote['uv_con'] = $vote['uv_ent'] = '<2'; + foreach($uvote as $v){ + switch($v['choice']){ + case 1: $vote['uv_pro'] = $v['count'] > 1 ? $v['count'] : '<2'; break; + case 2: $vote['uv_con'] = $v['count'] > 1 ? $v['count'] : '<2'; break; + case 3: $vote['uv_ent'] = $v['count'] > 1 ? $v['count'] : '<2'; break; + default: + } + } + $vote['title'] = utf8_encode($vote['title']); + + if($time_remain > 0){ $result[0] .= SYSTEM\PAGE\replace::replaceFile(SYSTEM\SERVERPATH(new PPAGE(),'default_page/vote.tpl'), $vote); } else { $result[1] .= SYSTEM\PAGE\replace::replaceFile(SYSTEM\SERVERPATH(new PPAGE(),'default_page/vote.tpl'), $vote); @@ -53,6 +81,23 @@ class default_page extends SYSTEM\PAGE\Page { return $result[0].$result[1]; } + private function get_party_per_poll($choice){ + switch($choice){ + case 1: + return 'PRO'; + case 2: + return 'CON'; + case 3: + return 'ENT'; + default: + return 'NONE'; + } + + + + } + + public function get_coverpage(){ return SYSTEM\PAGE\replace::replaceFile(SYSTEM\SERVERPATH(new PPAGE(),'default_page/cover.tpl'), array());} diff --git a/uVote/page/default_page/parties_on_vote.tpl b/uVote/page/default_page/parties_on_vote.tpl new file mode 100644 index 0000000..5a66521 --- /dev/null +++ b/uVote/page/default_page/parties_on_vote.tpl @@ -0,0 +1,4 @@ +