diff --git a/uvote/api/votes/bars.php b/uvote/api/votes/bars.php index 0557e3e..1838b0e 100644 --- a/uvote/api/votes/bars.php +++ b/uvote/api/votes/bars.php @@ -8,6 +8,24 @@ class bars{ $vars['user_total_ent_percentage'] = round($vars['user_total_ent']/$vars['user_total_total']*100+1); return \SYSTEM\PAGE\replace::replaceFile(SYSTEM\SERVERPATH(new PPAGE(),'user_main_analysis/tpl/user_total.tpl'),$vars); } + public static function get_uvote_choice_overall(){ + $vars = \SQL\UVOTE_DATA_CHOICE_OVERALL::Q1(array()); + $vars['total_total'] = $vars['pro'] + $vars['con'] + $vars['ent']; + $vars['total_pro_percentage'] = round($vars['pro']/$vars['total_total']*100+1); + $vars['total_con_percentage'] = round($vars['con']/$vars['total_total']*100+1); + $vars['total_ent_percentage'] = round($vars['ent']/$vars['total_total']*100+1); + new SYSTEM\LOG\INFO($vars['total_ent_percentage']); + return \SYSTEM\PAGE\replace::replaceFile(SYSTEM\SERVERPATH(new PPAGE(),'user_main_analysis/tpl/uvote_total.tpl'),$vars); + } + public static function get_uvote_choice_overall_to_bt(){ + $result = ''; + $vars = \SQL\UVOTE_DATA_UVOTE_TO_PARTY_OVERALL::QA(array()); + foreach($vars as $bar){ + $bar['match_percentage'] = round($bar['class_MATCH']/($bar['class_MATCH']+$bar['class_MISSMATCH'])*100,2); + $result .= \SYSTEM\PAGE\replace::replaceFile(SYSTEM\SERVERPATH(new PPAGE(),'user_main_analysis/tpl/urvoteparties.tpl'), $bar); + } + return $result; + } public static function user_per_party_overall(){ //$vars = votes::get_user_per_party_overall(array(\SYSTEM\SECURITY\Security::getUser()->id)); @@ -26,7 +44,7 @@ class bars{ $res2 = votes::vote_accord_with_party($row['party']); $row['according_laws'] = self::build_according_law_html($res2, $row['party']); $row['match_percentage'] = round($row['class_MATCH']/($row['class_MATCH']+$row['class_MISSMATCH'])*100,2); - $result .= \SYSTEM\PAGE\replace::replaceFile(SYSTEM\SERVERPATH(new PPAGE(),'user_main_analysis/tpl/urvoteparties.tpl'), $row);; + $result .= \SYSTEM\PAGE\replace::replaceFile(SYSTEM\SERVERPATH(new PPAGE(),'user_main_analysis/tpl/urvoteparties.tpl'), $row); } return $result; } diff --git a/uvote/api/votes/graphs.php b/uvote/api/votes/graphs.php index b883bf8..0bd3b2b 100644 --- a/uvote/api/votes/graphs.php +++ b/uvote/api/votes/graphs.php @@ -16,10 +16,15 @@ class graphs { public static function graph_bt_to_user_overall_by_time ($timespan = 84600,$returnasjson = true){ $result = array(); $res = \SQL\UVOTE_DATA_GRAPH_BT_TO_USER_OVERALL_BY_TIME::QQ(array($timespan, \SYSTEM\SECURITY\Security::getUser()->id, \SYSTEM\SECURITY\Security::getUser()->id)); + $matchhandler = 0; + $missmatchhandler = 0; while ($row = $res->next()){ + $match = $row['class_match']+$matchhandler; + $missmatch = $row['class_mismatch']+$missmatchhandler; $result[] = array( 0 => $row['day'], - 'class_match' => $row['class_match'] / ($row['class_match']+$row['class_mismatch']+1), - 'class_mismatch' => $row['class_mismatch'] / ($row['class_match']+$row['class_mismatch']+1)); + 'class_match' => ($match) / ($match+$missmatch)*100); + $matchhandler = $match; + $missmatchhandler = $missmatch; } return $returnasjson ? SYSTEM\LOG\JsonResult::toString($result) : $result; } diff --git a/uvote/api/votes/votes.php b/uvote/api/votes/votes.php index 60fb001..b9f0ca8 100644 --- a/uvote/api/votes/votes.php +++ b/uvote/api/votes/votes.php @@ -80,8 +80,8 @@ class votes { $v = $vars['voted'] > 1 ? $vars['voted'] : 1; $nv = $vars['not_voted']; return \SYSTEM\PAGE\replace::replaceFile(SYSTEM\SERVERPATH(new PPAGE(),'user_main_analysis/tpl/all_polls.tpl'), - array( 'vote_percent'=> round($v/(($nv+$v)*100+1), 2), - 'no_vote_percent'=> round($nv/(($nv+$v)*100+1), 2), + array( 'vote_percent'=> round($v/($nv+$v)*100, 2), + 'no_vote_percent'=> round($nv/($nv+$v)*100, 2), 'voted'=> $v, 'not_voted'=> $nv));} diff --git a/uvote/page/default_page/tpl/menu.tpl b/uvote/page/default_page/tpl/menu.tpl index 46b460f..e79f1e9 100644 --- a/uvote/page/default_page/tpl/menu.tpl +++ b/uvote/page/default_page/tpl/menu.tpl @@ -1,8 +1,8 @@
-
+
${urvote_body_text}
+
+ ${urvote_info_info_1} + + ${urvote_info_info_2} + + ${urvote_info_info_3} +
@@ -30,7 +37,7 @@
${basic_stats}
-
+

${analysis_help_basic_stats}

@@ -44,7 +51,7 @@
${user_overall_votes}
-
+

${analysis_help_basic_votes}

@@ -70,12 +77,13 @@

Absolute Übereinstimmungsrate

- auf %Angabe clicken für Details +
+ auf ? clicken für Details

${choices_user_ID}
-
+

${analysis_help_user_to_party_overall}

@@ -86,9 +94,10 @@

Relative Übereinstimmung

+
-
+

${analysis_help_party_donut}

@@ -116,41 +125,89 @@
Übereinstimmung der pro Stimmen
${choices_user_ID_per_party_pro}
-
+

${analysis_help_uservera_to_party_pro}

${analysis_math_uservera_to_party_pro}
+
Übereinstimmung der contra Stimmen
${choices_user_ID_per_party_con}
-
+

- ${analysis_help_user_to_party_overall_by_vote_pro} -

- ${analysis_math_user_to_party_overall_by_vote_pro} + ${analysis_help_uservera_to_party_con}
+
Übereinstimmung der Enthaltungen
${choices_user_ID_per_party_ent}
-
- ${analysis_help_user_to_party_overall_by_vote_pro} -

- ${analysis_math_user_to_party_overall_by_vote_pro} +
+

+ ${analysis_help_uservera_to_party_ent}
+
+
+ +
+
+
+
+ +
+
+
+
+ +
+
+
+
+ +
+
+
+
+ +
+
+
+
+ +
+
+
+
+

+ ${analysis_help_overtime_party} +

+ ${analysis_math_overtime_party} +
+
+
+
+
@@ -168,8 +225,11 @@ Bundestag gesamt ${choices_bt_to_user}
-
- +
+

+ ${analysis_help_bt} +

+ ${analysis_math_bt}

@@ -181,7 +241,11 @@ ${choices_user_ID_per_bt_con} ${choices_user_ID_per_bt_ent}
-
+
+

+ ${analysis_help_bt_by_vote} +

+ ${analysis_math_bt_by_vote}
@@ -189,45 +253,7 @@
-
-
- -
-
- -
-
-
-
- -
-
-
-
- -
-
-
-
- -
-
-
-
- -
-
-
-
-
+
@@ -241,43 +267,75 @@
- -
-
+
+
+ +
+
+
+
+

+ ${analysis_help_overtime_bt} +

+ ${analysis_math_overtime_bt} +

+
-
+
-
-
Entscheidungsverhalten der uVote Community
- +
+
+

Entscheidungsverhalten der uVote Community

${votes_all} - - Wie oft die uVote Community -
insgesamt Dafür, Dagegen oder -
Enthaltung gestimmt hat.
-
-
Entscheidungsverhalten des Bundestags
- - ${votes_all_bt} - - Wie oft der Bundestag -
Dafür, Dagegen oder -
Enthaltung gestimmt hat.
-
+
+

+ ${analysis_help_community} +

+ ${analysis_math_community} +
+
+
+
+
+
+
+ +
+
+
+

Übereinstimmung community und Fraktionen

+ ${votes_all_to_bt} +
+
+

+ ${analysis_help_community_to_fr} +

+ ${analysis_math_community_to_fr} +
+
+
diff --git a/uvote/page/user_main_analysis/tpl/user_total.tpl b/uvote/page/user_main_analysis/tpl/user_total.tpl index 1b5c50f..c0c924f 100644 --- a/uvote/page/user_main_analysis/tpl/user_total.tpl +++ b/uvote/page/user_main_analysis/tpl/user_total.tpl @@ -1,6 +1,7 @@

Deine Stimmverteilung

+
@@ -35,7 +36,6 @@
Enthaltungen
-
${user_total_ent}
diff --git a/uvote/page/user_main_analysis/tpl/uvote_total.tpl b/uvote/page/user_main_analysis/tpl/uvote_total.tpl new file mode 100644 index 0000000..542eebb --- /dev/null +++ b/uvote/page/user_main_analysis/tpl/uvote_total.tpl @@ -0,0 +1,52 @@ +
+
+
Absolute Stimmen der Community
+
+
+
+
+
+
+ +
+
+ pro Stimmen +
+
${pro}
+
+
+
+
+
+
+ +
+
+ contra Stimmen +
+
${con}
+
+
+
+
+
+
+ +
+
+ Enthaltungen +
+
${ent}
+
+
+
+
+
+ +
+
+
+
Total: ${total_total}
+
+
+
diff --git a/uvote/page/user_main_analysis/tpl/uvoteparties.tpl b/uvote/page/user_main_analysis/tpl/uvoteparties.tpl new file mode 100644 index 0000000..dc5cec3 --- /dev/null +++ b/uvote/page/user_main_analysis/tpl/uvoteparties.tpl @@ -0,0 +1,26 @@ +
+
+ +
+ + +
+ +
+
+ + diff --git a/uvote/page/user_main_analysis/user_main_analysis.php b/uvote/page/user_main_analysis/user_main_analysis.php index 5382d8f..6622660 100644 --- a/uvote/page/user_main_analysis/user_main_analysis.php +++ b/uvote/page/user_main_analysis/user_main_analysis.php @@ -1,55 +1,5 @@ votes_all(); - $vars['votes_all_bt'] = $this->votes_all_bt(); + $vars['votes_all'] = bars::get_uvote_choice_overall(); + $vars['votes_all_to_bt'] = bars::get_uvote_choice_overall_to_bt(); $vars['frontend_logos'] = './api.php?call=files&cat=frontend_logos&id='; $vars = array_merge($vars, \SYSTEM\PAGE\text::tag('uvote')); $vars = array_merge($vars, \SYSTEM\PAGE\text::tag('help')); diff --git a/uvote/page/user_main_start/tpl/news.tpl b/uvote/page/user_main_start/tpl/news.tpl new file mode 100644 index 0000000..81cb6fb --- /dev/null +++ b/uvote/page/user_main_start/tpl/news.tpl @@ -0,0 +1 @@ +{$text} \ No newline at end of file diff --git a/uvote/page/user_main_start/tpl/newsfeed.tpl b/uvote/page/user_main_start/tpl/newsfeed.tpl new file mode 100644 index 0000000..402e208 --- /dev/null +++ b/uvote/page/user_main_start/tpl/newsfeed.tpl @@ -0,0 +1 @@ +${news} \ No newline at end of file diff --git a/uvote/page/user_main_start/tpl/user_main_start.tpl b/uvote/page/user_main_start/tpl/user_main_start.tpl index e207085..1395b6a 100644 --- a/uvote/page/user_main_start/tpl/user_main_start.tpl +++ b/uvote/page/user_main_start/tpl/user_main_start.tpl @@ -37,8 +37,8 @@ News
-
- +
+ ${news}
diff --git a/uvote/page/user_main_start/user_main_start.php b/uvote/page/user_main_start/user_main_start.php index af8f410..93ba521 100644 --- a/uvote/page/user_main_start/user_main_start.php +++ b/uvote/page/user_main_start/user_main_start.php @@ -4,6 +4,14 @@ class user_main_start extends SYSTEM\PAGE\Page { $vars = votes::get_user_count(); return $vars['count']; } + public function newsfeed(){ + $result = ''; + $vars = \SQL\UVOTE_DATA_NEWSFEED::QA(array()); + foreach($vars as $news){ + $result .= $news['text']; + } + return $result; + } public function html(){ @@ -11,6 +19,7 @@ class user_main_start extends SYSTEM\PAGE\Page { $vars['frontend_logos'] = './api.php?call=files&cat=frontend_logos&id='; $vars['user_count'] = $this->user_count(); $vars['user_temp_votes'] = votes::get_user_temp_votes(); + $vars['news'] = $this->newsfeed(); $vars = array_merge($vars, \SYSTEM\PAGE\text::tag('uvote_register')); $vars = array_merge($vars, \SYSTEM\PAGE\text::tag('uvote')); return SYSTEM\PAGE\replace::replaceFile(SYSTEM\SERVERPATH(new PPAGE(),'user_main_start/tpl/user_main_start.tpl'), $vars); diff --git a/uvote/page/user_main_votelist/tpl/user_main_votelist.tpl b/uvote/page/user_main_votelist/tpl/user_main_votelist.tpl index 19aa0d2..57d96e5 100644 --- a/uvote/page/user_main_votelist/tpl/user_main_votelist.tpl +++ b/uvote/page/user_main_votelist/tpl/user_main_votelist.tpl @@ -3,9 +3,12 @@

 Hier gehts zur Abstimmung + +

+ ${votelist}
diff --git a/uvote/page/user_main_votelist/user_main_votelist.php b/uvote/page/user_main_votelist/user_main_votelist.php index fe4d79e..8ae82b8 100644 --- a/uvote/page/user_main_votelist/user_main_votelist.php +++ b/uvote/page/user_main_votelist/user_main_votelist.php @@ -4,14 +4,14 @@ class user_main_votelist extends SYSTEM\PAGE\Page { $vars = votes::get_user_count(); return $vars['count']; } - - + public function html(){ $vars = array(); $vars['votelist'] = lists::generate_votelist(); $vars['frontend_logos'] = './api.php?call=files&cat=frontend_logos&id='; $vars['user_count'] = $this->user_count(); $vars['user_temp_votes'] = votes::get_user_temp_votes(); + $vars = array_merge($vars, \SYSTEM\PAGE\text::tag('uvote_register')); $vars = array_merge($vars, \SYSTEM\PAGE\text::tag('uvote')); return SYSTEM\PAGE\replace::replaceFile(SYSTEM\SERVERPATH(new PPAGE(),'user_main_votelist/tpl/user_main_votelist.tpl'), $vars); diff --git a/uvote/sql/qq/UVOTE_DATA_CHOICE_OVERALL.php b/uvote/sql/qq/UVOTE_DATA_CHOICE_OVERALL.php index c29bb55..4805563 100644 --- a/uvote/sql/qq/UVOTE_DATA_CHOICE_OVERALL.php +++ b/uvote/sql/qq/UVOTE_DATA_CHOICE_OVERALL.php @@ -4,5 +4,8 @@ namespace SQL; class UVOTE_DATA_CHOICE_OVERALL extends \SYSTEM\DB\QQ { public static function get_class(){return \get_class();} public static function mysql(){return -'SELECT COUNT(*) as "count", choice FROM uvote_data GROUP BY choice;' +'SELECT SUM(IF(choice = "1",1,0)) AS pro, + SUM(IF(choice = "2",1,0)) AS con, + SUM(IF(choice = "3",1,0)) AS ent +FROM `uvote_data`;' ;}} \ No newline at end of file diff --git a/uvote/sql/qq/UVOTE_DATA_GRAPH_BT_TO_USER_OVERALL_BY_TIME.php b/uvote/sql/qq/UVOTE_DATA_GRAPH_BT_TO_USER_OVERALL_BY_TIME.php index b2f4278..96e7524 100644 --- a/uvote/sql/qq/UVOTE_DATA_GRAPH_BT_TO_USER_OVERALL_BY_TIME.php +++ b/uvote/sql/qq/UVOTE_DATA_GRAPH_BT_TO_USER_OVERALL_BY_TIME.php @@ -5,7 +5,7 @@ class UVOTE_DATA_GRAPH_BT_TO_USER_OVERALL_BY_TIME extends \SYSTEM\DB\QP { public static function get_class(){return \get_class();} public static function mysql(){return 'SELECT - DATE_FORMAT(FROM_UNIXTIME(UNIX_TIMESTAMP(a.`timestamp`) - MOD(UNIX_TIMESTAMP(a.`timestamp`),?)),"%Y/%m/%d %H:%i:%s") as day, + DATE_FORMAT(FROM_UNIXTIME(UNIX_TIMESTAMP(c.`time_end`) - MOD(UNIX_TIMESTAMP(c.`time_end`),?)),"%Y/%m/%d") 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 diff --git a/uvote/sql/qq/UVOTE_DATA_GRAPH_PARTY_TO_USER_OVERALL_BY_TIME.php b/uvote/sql/qq/UVOTE_DATA_GRAPH_PARTY_TO_USER_OVERALL_BY_TIME.php index bbfbb03..c5ba91f 100644 --- a/uvote/sql/qq/UVOTE_DATA_GRAPH_PARTY_TO_USER_OVERALL_BY_TIME.php +++ b/uvote/sql/qq/UVOTE_DATA_GRAPH_PARTY_TO_USER_OVERALL_BY_TIME.php @@ -5,12 +5,13 @@ class UVOTE_DATA_GRAPH_PARTY_TO_USER_OVERALL_BY_TIME extends \SYSTEM\DB\QP { public static function get_class(){return \get_class();} public static function mysql(){return 'SELECT - DATE_FORMAT(FROM_UNIXTIME(UNIX_TIMESTAMP(a.`timestamp`) - MOD(UNIX_TIMESTAMP(a.`timestamp`),?)),"%Y/%m/%d %H:%i:%s") as day, + DATE_FORMAT(FROM_UNIXTIME(UNIX_TIMESTAMP(d.`time_end`) - MOD(UNIX_TIMESTAMP(d.`time_end`), ?)),"%Y/%m/%d") as day, SUM(CASE WHEN a.choice = c.choice THEN 1 ELSE 0 END) class_match, SUM(CASE WHEN a.choice = c.choice THEN 0 ELSE 1 END) class_mismatch FROM uvote_data as a LEFT JOIN (Select choice, poll_ID FROM uvote_data WHERE user_ID = ? GROUP BY choice LIMIT 1) b ON a.poll_ID = b.poll_ID LEFT JOIN uvote_votes_per_party as c ON a.poll_ID = c.poll_ID +LEFT JOIN uvote_votes as d ON a.poll_ID = d.ID WHERE c.party = ? AND user_ID = ? GROUP BY day;' ;}} diff --git a/uvote/sql/qq/UVOTE_DATA_NEWSFEED.php b/uvote/sql/qq/UVOTE_DATA_NEWSFEED.php new file mode 100644 index 0000000..d84dd04 --- /dev/null +++ b/uvote/sql/qq/UVOTE_DATA_NEWSFEED.php @@ -0,0 +1,8 @@ +