Merge branch 'master' of mojotrollz.eu:hosting

Conflicts:
	uVote/uVote/dbd/qq/UVOTE_DATA_TEMP_VOTES.php
	uVote/uVote/dbd/qq/UVOTE_DATA_USERS_CHOICE_PER_POLL.php
	uVote/uVote/page/default_bulletin/bulletin.tpl
	uVote/uVote/page/default_page/full_vote.tpl
	uVote/uVote/page/default_page/js/loadtexts.js
	uVote/uVote/page/default_page/page.tpl
	uVote/uVote/page/default_page/vote.tpl
	uVote/uVote/page/default_register/register.tpl
	uVote/uVote/page/user_list_active/user_list_active.php
	uVote/uVote/page/user_list_ended/user_list_ended.php
	uVote/uVote/page/user_main_urVote/all_polls.tpl
This commit is contained in:
messerbill 2014-03-11 01:18:53 +01:00
commit a79bc90933
54 changed files with 1099 additions and 257 deletions

View File

@ -4,6 +4,20 @@ class api_uvote extends \SYSTEM\API\api_login {
public static function call_vote_action_vote($poll_ID, $vote) {
return votes::write_vote($poll_ID, $vote);
}
public static function call_vote_action_data($location, $birthyear, $gender, $children) {
return votes::write_data($location, $birthyear, $gender, $children);
}
public static function call_vote_action_comment($poll_ID, $c_choice, $c_txt, $c_src) {
return votes::write_comment($poll_ID, $c_choice, $c_txt, $c_src);
}
public static function call_vote_action_commentrate($c_ID, $val) {
return votes::write_commentrate($c_ID, $val);
}
public static function call_vote_action_new_vote($ID, $title, $iframe_link) {
@ -33,4 +47,7 @@ class api_uvote extends \SYSTEM\API\api_login {
return votes::vote_submit($poll_ID);
}
public static function call_graph_bt_to_uvote_overall_by_time($timespan = 84600){
return votes::get_graph_bt_to_uvote_overall_by_time($timespan);}
}

View File

@ -1,23 +1,58 @@
<?php
class votes {
public static function get_graph_bt_to_uvote_overall_by_time ($timespan = 84600,$returnasjson = true){
$result = array();
$res = \DBD\UVOTE_DATA_GRAPH_BT_TO_UVOTE_OVERALL_BY_TIME::QQ(array($timespan));
while ($row = $res->next()){
$result[] = array( 0 => $row['day'],
'match' => $row['class_match'] > 0 ? round($row['class_match'] / ($row['class_match']+$row['class_mismatch']),2) : 0,
'mismatch' => $row['class_match'] > 0 ? round($row['class_mismatch'] / ($row['class_match']+$row['class_mismatch']),2) : 0);
}
return $returnasjson ? SYSTEM\LOG\JsonResult::toString($result) : $result;
}
public static function get_graph_bt_to_user_overall_by_time ($timespan = 84600,$returnasjson = true){
$result = array();
$res = \DBD\UVOTE_DATA_GRAPH_BT_TO_USER_OVERALL_BY_TIME::QQ(array($timespan, \SYSTEM\SECURITY\Security::getUser()->id));
while ($row = $res->next()){
$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));
}
return $returnasjson ? SYSTEM\LOG\JsonResult::toString($result) : $result;
}
public static function getAllVotesOfGroup($groupid){
return \DBD\UVOTE_GENERATE_VOTELIST::QA(array($groupid));}
public static function getAllExpVotesOfGroup($groupid){
return \DBD\UVOTE_GENERATE_VOTELIST_EXP::QA(array($groupid));}
public static function getUserComments($poll_ID, $c_choice){
return \DBD\UVOTE_GENERATE_COMMENTS_PER_POLL::QA(array($poll_ID, $c_choice));}
public static function countAllPolls(){
$res = \DBD\UVOTE_DATA_COUNT_VOTES::QQ();
return $res;}
public static function insertPartyChoice($poll_ID, $party, $votes_pro, $votes_contra, $nr_attending, $total, $choice){
return \DBD\UVOTE_GENERATE_VOTELIST::QI(array($poll_ID, $party, $votes_pro, $votes_contra, $nr_attending, $total, $choice));}
public static function getVoteOfGroup($poll_ID){
public static function insertUserComment($c_choice, $poll_ID, $user_ID, $c_txt, $c_src, $timestamp){
return \DBD\UVOTE_DATA_USER_COMMENT_INSERT::QI(array($c_choice, $poll_ID, $user_ID, $c_txt, $c_src, $timestamp));}
/*public static function getVoteOfGroup($poll_ID){
$con = new \SYSTEM\DB\Connection(new \DBD\uVote());
$res = $con->prepare( 'selVoteByGrp',
'SELECT * FROM `uvote_votes` WHERE `ID` = ? LIMIT 1;',
array($poll_ID));
$result = $res->next();
return $result;
}*/
public static function get_user_choice_per_poll($poll_ID, $user_ID){
return \DBD\UVOTE_DATA_USER_CHOICE_PER_POLL::Q1(array($poll_ID, $user_ID));
}
public static function getUserPollData($poll_ID){
@ -80,12 +115,18 @@ class votes {
public static function get_user_temp_votes($user_ID){
return \DBD\UVOTE_DATA_TEMP_VOTES::Q1(array($user_ID, $user_ID, $user_ID));}
public static function get_user_overall_votes($user_ID, $creationDate){
return \DBD\UVOTE_DATA_OVERALL_VOTES::Q1(array($user_ID, $user_ID, $user_ID, $creationDate));}
public static function get_bar_bt_per_poll($poll_ID){
return \DBD\UVOTE_DATA_BT_PER_POLL::Q1(array($poll_ID));}
public static function get_user_count(){
return \DBD\UVOTE_DATA_USER_COUNT_USERS::Q1(array());}
public static function get_commentrate($c_ID, $val){
return \DBD\UVOTE_DATA_USER_COMMENTRATE_PER_COMMENT::Q1(array($c_ID, $val));}
public static function get_count_user_votes_per_poll($poll_ID){
return \DBD\UVOTE_DATA_USER_COUNT_CHOICE_PER_POLL::Q1(array($poll_ID));}
@ -112,6 +153,7 @@ class votes {
'SELECT * FROM `uvote_votes` WHERE `ID` = ?;',
array($poll_ID));
$res = $res->next();
$res['title'] = utf8_encode($res['title']);
return $res;
}
@ -136,11 +178,30 @@ class votes {
$res = $con->prepare( 'insertVote',
'REPLACE uvote_data
VALUES (?, ?, ?, 0, NOW());',
VALUES (?, ?, ?, 0, NOW());',
array($poll_ID, \SYSTEM\SECURITY\Security::getUser()->id, $vote));
return JsonResult::ok();
}
public static function write_data($location, $birthyear, $gender, $children){
if(!\SYSTEM\SECURITY\Security::isLoggedIn()){
throw new ERROR("You need to be logged in.");}
return \DBD\UVOTE_DATA_USER_ADD_DATA_INSERT::Q1(array(\SYSTEM\SECURITY\Security::getUser()->id, $location, $birthyear, $gender, $children, \SYSTEM\SECURITY\Security::getUser()->id, $location, $birthyear, $gender, $children));}
public static function write_comment($poll_ID, $c_choice, $c_txt, $c_src){
if(!\SYSTEM\SECURITY\Security::isLoggedIn()){
throw new ERROR("You need to be logged in.");}
return \DBD\UVOTE_DATA_USER_COMMENT_INSERT::Q1(array($c_choice, $poll_ID, \SYSTEM\SECURITY\Security::getUser()->id, $c_txt, $c_src));}
public static function write_commentrate($c_ID, $val){
if(!\SYSTEM\SECURITY\Security::isLoggedIn()){
throw new ERROR("You need to be logged in.");}
return \DBD\UVOTE_DATA_USER_COMMENTRATE_INSERT::Q1(array($c_ID, \SYSTEM\SECURITY\Security::getUser()->id, $val));}
public static function get_add_data(){
return \DBD\UVOTE_DATA_USER_ADD_DATA::Q1(array(\SYSTEM\SECURITY\Security::getUser()->id));
}
public static function write_poll($ID, $title, $iframe_link ){
$con = new \SYSTEM\DB\Connection(new \DBD\uVote());
$res = $con->prepare( 'insertPoll',
@ -163,7 +224,7 @@ class votes {
}
public static function open_vote($poll_ID){
$vote = votes::getVoteOfGroup($poll_ID);
$vote = self::get_voteinfo($poll_ID); //votes::getVoteOfGroup($poll_ID);
$result = SYSTEM\PAGE\replace::replaceFile(SYSTEM\SERVERPATH(new PPAGE(),'default_page/full_vote.tpl'), $vote);
return $result;
}

View File

@ -0,0 +1,19 @@
<?php
namespace DBD;
class UVOTE_DATA_GRAPH_BT_TO_USER_OVERALL_BY_TIME extends \SYSTEM\DB\QP {
protected static function query(){
return new \SYSTEM\DB\QQuery(get_class(),
//pg
'',
//mys
'SELECT
DATE_FORMAT(FROM_UNIXTIME(UNIX_TIMESTAMP(a.`timestamp`) - MOD(UNIX_TIMESTAMP(a.`timestamp`),?)),"%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 WHERE user_ID = ? 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;'
);}}

View File

@ -0,0 +1,19 @@
<?php
namespace DBD;
class UVOTE_DATA_GRAPH_BT_TO_UVOTE_OVERALL_BY_TIME extends \SYSTEM\DB\QP {
protected static function query(){
return new \SYSTEM\DB\QQuery(get_class(),
//pg
'',
//mys
'SELECT
DATE_FORMAT(FROM_UNIXTIME(UNIX_TIMESTAMP(a.`timestamp`) - MOD(UNIX_TIMESTAMP(a.`timestamp`),?)),"%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;'
);}}

View File

@ -0,0 +1,14 @@
<?php
namespace DBD;
class UVOTE_DATA_OVERALL_VOTES extends \SYSTEM\DB\QP {
protected static function query(){
return new \SYSTEM\DB\QQuery(get_class(),
//pg
'',
//mys
'SELECT SUM(CASE WHEN uvote_data.user_ID = ? THEN 1 ELSE 0 END) as voted,
SUM(CASE WHEN uvote_data.user_ID = ? THEN 0 ELSE 1 END) AS not_voted
FROM uvote_data RIGHT JOIN uvote_votes ON ( uvote_data.poll_ID = uvote_votes.ID AND uvote_data.user_ID = ?)
WHERE time_start > FROM_UNIXTIME(?);'
);}}

View File

@ -7,5 +7,5 @@ class UVOTE_DATA_PARTY_PER_POLL extends \SYSTEM\DB\QP {
//pg
'',
//mys
'SELECT * FROM `uvote_votes_per_party` WHERE `poll_ID` = ?;'
'SELECT * FROM `uvote_votes_per_party` WHERE `poll_ID` = ? ORDER BY party;'
);}}

View File

@ -0,0 +1,14 @@
<?php
namespace DBD;
class UVOTE_DATA_TEMP_VOTES extends \SYSTEM\DB\QP {
protected static function query(){
return new \SYSTEM\DB\QQuery(get_class(),
//pg
'',
//mys
'SELECT SUM(CASE WHEN uvote_data.user_ID = ? THEN 1 ELSE 0 END) as voted,
SUM(CASE WHEN uvote_data.user_ID = ? THEN 0 ELSE 1 END) AS not_voted
FROM uvote_data RIGHT JOIN uvote_votes ON ( uvote_data.poll_ID = uvote_votes.ID AND uvote_data.user_ID = ?)
WHERE time_end > NOW();'
);}}

View File

@ -0,0 +1,11 @@
<?php
namespace DBD;
class UVOTE_DATA_USERS_CHOICE_PER_POLL extends \SYSTEM\DB\QP {
protected static function query(){
return new \SYSTEM\DB\QQuery(get_class(),
//pg
'',
//mys
'SELECT COUNT(*) as count, choice FROM uvote_data WHERE `poll_ID` = ? GROUP BY choice ORDER BY count DESC, choice;'
);}}

View File

@ -0,0 +1,11 @@
<?php
namespace DBD;
class UVOTE_DATA_USER_ADD_DATA extends \SYSTEM\DB\QP {
protected static function query(){
return new \SYSTEM\DB\QQuery(get_class(),
//pg
'',
//mys
'SELECT * FROM uvote_user_additional WHERE `user_ID` = ?;'
);}}

View File

@ -0,0 +1,12 @@
<?php
namespace DBD;
class UVOTE_DATA_USER_ADD_DATA_INSERT extends \SYSTEM\DB\QP {
protected static function query(){
return new \SYSTEM\DB\QQuery(get_class(),
//pg
'',
//mys
'INSERT INTO `uvote_user_additional` (`user_ID`, `location`, `birthyear`, `gender`, `children`) VALUES (?, ?, ?, ?, ?)
ON DUPLICATE KEY UPDATE user_ID = ?, location = ?, birthyear = ?, gender = ?, children = ?;'
);}}

View File

@ -0,0 +1,11 @@
<?php
namespace DBD;
class UVOTE_DATA_USER_CHOICE_PER_POLL extends \SYSTEM\DB\QP {
protected static function query(){
return new \SYSTEM\DB\QQuery(get_class(),
//pg
'',
//mys
'SELECT * FROM `uvote_data` WHERE poll_ID = ? AND `user_ID` = ?;'
);}}

View File

@ -0,0 +1,12 @@
<?php
namespace DBD;
class UVOTE_DATA_USER_COMMENTRATE_INSERT extends \SYSTEM\DB\QP {
protected static function query(){
return new \SYSTEM\DB\QQuery(get_class(),
//pg
'',
//mys
'INSERT INTO `uvote_user_comments_additional` (`c_ID`, `user_ID`, `val`, `timestamp`)
VALUES (?, ?, ?, NOW());'
);}}

View File

@ -0,0 +1,11 @@
<?php
namespace DBD;
class UVOTE_DATA_USER_COMMENTRATE_PER_COMMENT extends \SYSTEM\DB\QP {
protected static function query(){
return new \SYSTEM\DB\QQuery(get_class(),
//pg
'',
//mys
'SELECT COUNT(*) as count FROM uvote_user_comments_additional where c_ID = ? AND val = ?;'
);}}

View File

@ -0,0 +1,12 @@
<?php
namespace DBD;
class UVOTE_DATA_USER_COMMENT_INSERT extends \SYSTEM\DB\QP {
protected static function query(){
return new \SYSTEM\DB\QQuery(get_class(),
//pg
'',
//mys
'INSERT INTO `uvote_user_comments` (`c_choice`, `poll_ID`, `user_ID`, `c_txt`, `c_src`, `timestamp`)
VALUES (?, ?, ?, ?, ?, NOW());'
);}}

View File

@ -8,8 +8,7 @@ class UVOTE_DATA_UVOTE_TO_PARTY_OVERALL extends \SYSTEM\DB\QQ {
'',
//mys
'SELECT party, sum(case when uvote_data.choice = uvote_votes_per_party.choice then 1 else 0 end) class_MATCH,
sum(case when uvote_data.choice != uvote_votes_per_party.choice then 1 else 0 end) class_MISSMATCH
FROM uvote_data INNER JOIN uvote_votes_per_party
ON uvote_data.poll_ID = uvote_votes_per_party.poll_ID
GROUP BY party;'
sum(case when uvote_data.choice != uvote_votes_per_party.choice then 1 else 0 end) class_MISSMATCH
FROM uvote_data INNER JOIN uvote_votes_per_party
ON uvote_data.poll_ID = uvote_votes_per_party.poll_ID GROUP BY party;'
);}}

View File

@ -0,0 +1,11 @@
<?php
namespace DBD;
class UVOTE_GENERATE_COMMENTS_PER_POLL extends \SYSTEM\DB\QP {
protected static function query(){
return new \SYSTEM\DB\QQuery(get_class(),
//pg
'',
//mys
'SELECT * FROM `uvote_user_comments` WHERE `poll_ID` = ? AND c_choice = ? ORDER BY (txt_up-txt_down) ASC;'
);}}

View File

@ -7,5 +7,5 @@ class UVOTE_GENERATE_VOTELIST extends \SYSTEM\DB\QP {
//pg
'',
//mys
'SELECT * FROM `uvote_votes` WHERE `group` = ? ORDER BY (time_end-time_start) ASC;'
'SELECT * FROM `uvote_votes` WHERE `group` = ? AND time_end > NOW() ORDER BY (time_end-time_start) ASC;'
);}}

View File

@ -0,0 +1,11 @@
<?php
namespace DBD;
class UVOTE_GENERATE_VOTELIST_EXP extends \SYSTEM\DB\QP {
protected static function query(){
return new \SYSTEM\DB\QQuery(get_class(),
//pg
'',
//mys
'SELECT * FROM `uvote_votes` WHERE `group` = ? AND time_end < NOW() ORDER BY (time_end-time_start) ASC;'
);}}

View File

@ -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

View File

@ -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

Binary file not shown.

Before

Width:  |  Height:  |  Size: 386 KiB

After

Width:  |  Height:  |  Size: 60 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 386 KiB

View File

@ -1,6 +1,6 @@
<h4>${title}</h4>
<div class="progress" style="height: 30px;">
<div class="bar bar-success" style="width: ${vote_yes_perc}%;">${vote_yes_perc}%</div>
<div class="bar bar-danger" style="width: ${vote_no_perc}%;">${vote_no_perc}%</div>
<div class="bar bar-info" style="width: ${vote_ent_perc}%;">${vote_ent_perc}%</div>
</div>
<h5>${bulletin_bars_title}</h5>
${urvote_bars_user}
<div class="progress" style="height: 20px; width: 350px;">
<div class="bar bar-success" style="width: ${vote_yes_perc}%;">${vote_yes_perc}%</div>
<div class="bar bar-danger" style="width: ${vote_no_perc}%;">${vote_no_perc}%</div>
<div class="bar bar-info" style="width: ${vote_ent_perc}%;">${vote_ent_perc}%</div>

View File

@ -1,22 +1,61 @@
<div>
${bars_user}
<div style="float: left; width: 100%;">
<h4>${title}</h4>
${vote_buttons}
<div style="float: left;">
<img src="${frontend_logos}icon_urn_${vote_class}.png"/>
</div>
<div style="margin-top: 30px;">
${openvote_help_text}
${title}
${openvote_help_text1}
</div>
<div>
${voice_weight}
</div>
<div style="float: left; width: 50%">
<div>
${bars_user}
</div>
<div>
${bars_bt}
</div>
</div>
<div style="width: 50%;">
${icons_party}
${choice_party}
</div>
<div style="clear: both"></div>
<div style="padding-top: 30px; width: 100%;">
<div style="width: 50%; float: left">
<h5>Pro</h5>
${comments_pro}
</div>
<div style="width: 50%; float: right">
<h5>Contra</h5>
${comments_con}
</div>
</div>
<div style="clear: both"></div>
<div>
<font size="2">Kommentar</font><br>
<textarea id="c_txt_pro"></textarea><br>
<font size="2">Quelle</font><br>
<input type="text" id="c_src_pro" placeholder="optional"/><br>
<select id="side_select" name="side_select">
<option>Seite</option>
<option value="1">Argument Pro</option>
<option value="2">Argument Con</option>
</select><br>
<div class="btn btn-primary submit_pro" id="submit_pro" poll_ID="${poll_ID}">${submit}</div>
</div>
<!--<div class="btn" id="test">
test
</div>
-->
<div>
<h4>Ergebnis Bundestag</h4>
${bars_bt}
</div>
<div style="margin-right: 10px;">
<img src="${frontend_logos}logo2.png" style="float: left; margin-right: 70px;" width="200px"/>
${vote_buttons}
</div>
<br><br>
<div>
${bars_party}
</div>
<div style="clear: both"></div>
</div><!-- /.modal -->

View File

@ -0,0 +1,15 @@
<div style="float: left">
<div><font size="1">${timestamp}</font></div>
<div>${c_txt}</div>
<br>
<div style="">
<font size="2">${nr_up}</font>
<a class="btn btn-success btn-mini c_up" c_ID="${c_ID}"><i class="icon-white icon-thumbs-up"></i></a>
<font size="2">${nr_down}</font>
<a class="btn btn-danger btn-mini c_down" c_ID="${c_ID}"><i class="icon-white icon-thumbs-down"></i></a>
<a class="btn btn-warning btn-mini c_spam" c_ID="${c_ID}"><i class="icon-white icon-exclamation-sign"></i></a>
</div>
<div><font size="1">Quelle:</font><font size="2">${c_src}</font></div>
</div>
<br>

View File

@ -4,7 +4,82 @@ class default_bulletin extends SYSTEM\PAGE\Page {
public function __construct($poll_ID) {
$this->poll_ID=$poll_ID;}
public function vote_choice(){
$vars = votes::getUserPollData($this->poll_ID);
return $this->tablerow_class($vars);
}
private static function tablerow_class($choice){
switch($choice){
case 1:
return 'pro';
case 2:
return 'con';
case 3:
return 'ent';
default:
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']),
'party_yes' => $pv['votes_pro'] > 0 ? round($pv['votes_pro']/$pv['total']*100,0) : 'votes_pro',
'party_no' => $pv['votes_contra'] > 0 ? round($pv['votes_contra']/$pv['total']*100,0) : $pv['votes_contra'],
'party_off' => $pv['total'] > 0 ? round(($pv['total'] - $pv['nr_attending'])/$pv['total']*100,0) : $pv['total'],
'party_ent' => $pv['nr_attending'] > 0 ? round(($pv['nr_attending'] - $pv['votes_pro'] - $pv['votes_contra'])/$pv['nr_attending']*100,0) : $pv['nr_attending']));
}
return $result;
}
private function get_pro_comments (){
$result = '';
$vars = votes::getUserComments($this->poll_ID, 1);
foreach($vars as $com){
$com['count'] = votes::get_commentrate($com['c_ID'], 1);
$com['c_txt'] = utf8_encode($com['c_txt']);
$result .= SYSTEM\PAGE\replace::replaceFile(SYSTEM\SERVERPATH(new PPAGE(),'default_bulletin/comment.tpl'), $com);
}
return $result;
}
private function get_con_comments (){
$result = '';
$vars = votes::getUserComments($this->poll_ID, 2);
foreach($vars as $com){
$com['count'] = votes::get_commentrate($com['c_ID'], 2);
$com['nr_down'] = $c['count'];
$com['c_txt'] = utf8_encode($com['c_txt']);
$result .= SYSTEM\PAGE\replace::replaceFile(SYSTEM\SERVERPATH(new PPAGE(),'default_bulletin/comment.tpl'), $com);
}
return $result;
}
private function bars_user(){
$bars = votes::get_barsperusers($this->poll_ID,false);
$bars['vote_yes_perc'] = round($bars['yes_perc']*100,0);
@ -19,15 +94,20 @@ class default_bulletin extends SYSTEM\PAGE\Page {
$result = "";
foreach($partyvotes as $vote){
$vote['party_yes'] = round($vote['votes_pro']/$vote['total']*100,0);
$vote['party_no'] = round($vote['votes_contra']/$vote['total']*100,0);
$vote['party_ent'] = round(($vote['nr_attending'] - $vote['votes_pro'] - $vote['votes_contra'])/$vote['total']*100,0);
$vote['party_yes'] = $vote['votes_pro'] > 0 ? round($vote['votes_pro']/$vote['total']*100,0) : $vote['votes_pro'];
$vote['party_no'] = $vote['votes_contra'] > 0 ? round($vote['votes_contra']/$vote['total']*100,0) : $vote['votes_contra'];
$vote['party_ent'] = $vote['nr_attending'] > 0 ? round(($vote['nr_attending'] - $vote['votes_pro'] - $vote['votes_contra'])/$vote['total']*100,0) : $vote['nr_attending'];
$result .= SYSTEM\PAGE\replace::replaceFile(SYSTEM\SERVERPATH(new PPAGE(),'default_bulletin/table_parties.tpl'), $vote);
}
return $result;
}
private function icons_party(){
$vars = array();
return SYSTEM\PAGE\replace::replaceFile(SYSTEM\SERVERPATH(new PPAGE(),'default_bulletin/icons_table_parties.tpl'), $vars);
}
private function bars_bt(){
$vars = votes::get_bar_bt_per_poll($this->poll_ID);
if (!$vars['bt_total']){
@ -40,7 +120,7 @@ class default_bulletin extends SYSTEM\PAGE\Page {
private function voice_weight(){
$vars = votes::get_count_user_votes_per_poll($this->poll_ID);
$vars['voteweight'] = 1/$vars['count']*100;
$vars['voteweight'] = round(1/$vars['count']*100);
return SYSTEM\PAGE\replace::replaceFile(SYSTEM\SERVERPATH(new PPAGE(),'default_bulletin/voteweight.tpl'), $vars);
}
@ -60,7 +140,7 @@ class default_bulletin extends SYSTEM\PAGE\Page {
private function vote_buttons($poll_expired,$user_poll){
if($poll_expired){
if(!$user_poll){
return '<h4>Stimme hier ab</h4>
return '<h5>Stimme hier ab</h5>
<a class="btn btn-success btn-default btnvote_yes"
style="width: 70px"
poll_ID="${poll_ID}"><font
@ -77,13 +157,13 @@ class default_bulletin extends SYSTEM\PAGE\Page {
size="3">Enthaltung</font></a>';}
$classes = array('','','');
switch($user_poll){
case 1: $classes = array('btn-success','',''); break;
case 2: $classes = array('','btn-danger',''); break;
case 3: $classes = array('','','btn-info'); break;
case 1: $classes = array('btn-success disabled','btn-danger','btn-info'); break;
case 2: $classes = array('btn-success','btn-danger disabled','btn-info'); break;
case 3: $classes = array('btn-success','btn-danger','btn-info disabled'); break;
default: array('','','');
}
return '<h4>Ändere deine bereits abgegebene Stimme hier ab</h4>
return ' <h5>Ändere deine Stimme hier ab</h5>
<a class="btn '.$classes[0].' btn-default btnvote_yes"
style="width: 70px"
poll_ID="${poll_ID}"><font
@ -97,7 +177,8 @@ class default_bulletin extends SYSTEM\PAGE\Page {
style="width: 70px"
href="#"
poll_ID="${poll_ID}"><font
size="3">Enthaltung</font></a>';
size="3">Enthaltung</font></a>
';
} else {
return 'ye soon to come infos';
}
@ -108,26 +189,41 @@ class default_bulletin extends SYSTEM\PAGE\Page {
private function css(){
return '<link href="'.SYSTEM\WEBPATH(new PPAGE(),'default_page\css\default_page.css').'" rel="stylesheet">';}
public function html(){
$poll_expired = \DBD\UVOTE_POLL_EXPIRED::Q1(array($this->poll_ID));
$user_vote = votes::getUserPollData($this->poll_ID);
$vars = array();
$vars['bars_party'] = $vars['bars_user'] = $vars['bars_bt'] = $vars['voice_weight'] = 'Vote to see results!';
$vars['choice_party'] = '';
$vars['voice_weight'] = $vars['bars_user'] = $vars['bars_bt'] = '';
$vars['bars_party'] = '';
$vars['icons_party'] = '';
$vars['vote_class'] = $this->vote_choice();
$vars['comments_pro'] = '';
$vars['comments_con'] = '';
$vars['js'] = $this->js();
$vars['css'] = $this->css();
$vars['vote_buttons'] = $this->vote_buttons($poll_expired,$user_vote);
// $vars['p_fields'] = $this->p_fields();
if($user_vote){
$vars['bars_party'] = $poll_expired ? '' : $this->bars_party();
$vars['comments_pro'] = $this->get_pro_comments();
$vars['comments_con'] = $this->get_con_comments();
$vars['icons_party'] = $this->icons_party();
$vars['choice_party'] = $this->choice_party();
$vars['bars_party'] = $this->bars_party();
$vars['bars_user'] = $this->bars_user();
$vars['bars_bt'] = $this->bars_bt();
$vars['voice_weight'] = $this->voice_weight();
}
$vars['poll_ID'] = $this->poll_ID; //put it here - so its filled in!
$vars['frontend_logos'] = \SYSTEM\CONFIG\config::get(\SYSTEM\CONFIG\config_ids::SYS_CONFIG_PATH_BASEURL).'api.php?call=img&cat=frontend_logos&id=';
$vars['frontend_logos'] = \SYSTEM\CONFIG\config::get(\SYSTEM\CONFIG\config_ids::SYS_CONFIG_PATH_BASEURL).'api.php?call=img&cat=frontend_logos&id=';
$vars = array_merge($vars, \SYSTEM\locale::getStrings(DBD\locale_string::VALUE_CATEGORY_MAINPAGE));
$vars = array_merge($vars, \SYSTEM\locale::getStrings(150));
$vars = array_merge($vars, \SYSTEM\locale::getStrings(100));
$vars = array_merge($vars,votes::get_voteinfo($this->poll_ID));
return SYSTEM\PAGE\replace::replaceFile(SYSTEM\SERVERPATH(new PPAGE(),'default_bulletin/bulletin.tpl'),$vars);

View File

@ -0,0 +1,8 @@
<h5>${urvote_party_table_desc}</h5>
<div style="width: 500px;">
<div style="float: left"><img src="${frontend_logos}icon_urn.png" width="30"/></div>
<div style="float: left"></div>
<div style="margin-left: 50px; float: left"><img src="${frontend_logos}icon_urn_pro.png" width="30"/></div>
<div style="margin-left: 15px; float: left"><img src="${frontend_logos}icon_urn_con.png" width="30"/></div>
<div style="margin-left: 15px; float: left"><img src="${frontend_logos}icon_urn_ent.png" width="30"/></div>
</div>

View File

@ -1,7 +1,6 @@
<div style="">
<div class="progress" style="height: 20px;">
<div class="bar bar-success" style="width: ${bt_pro}%;">${bt_pro}%</div>
<div class="bar bar-danger" style="width: ${bt_con}%;">${bt_con}%</div>
<div class="bar bar-info" style="width: ${bt_ent}%;"><p>${bt_ent}%</p></div>
</div>
</div>
Ergebnis Bundestag
<div class="progress" style="height: 20px; width: 350px;">
<div class="bar bar-success" style="width: ${bt_pro}%;">${bt_pro}%</div>
<div class="bar bar-danger" style="width: ${bt_con}%;">${bt_con}%</div>
<div class="bar bar-info" style="width: ${bt_ent}%;"><p>${bt_ent}%</p></div>

View File

@ -1,9 +1,7 @@
<div style="float: left; margin-right: 10px;">
<img src="${frontend_logos}icon_${party}.png"/>
<div class="progress" style="width: 50px; height: 20px;">
<div class="bar bar-success" style="width: ${party_yes}%;"></div>
<div class="bar bar-danger" style="width: ${party_no}%;"></div>
<div class="bar bar-info" style="width: ${party_ent}%;"><p></p></div>
<div style="float: right; margin-right: 10px;">
<div style="width: 50px; height: 20px;">
<div class="badge badge-success" style="">${party_yes}%</div>
<div class="badge badge-danger" style="">${party_no}%</div>
<div class="badge badge-info" style="">${party_ent}%</div>
</div>
${choice}
</div>

View File

@ -0,0 +1,8 @@
<div style="width: 500px; float: left">
<div style="float: left"><img src="${frontend_logos}icon_${party}.png" width="30"/></div>
<div style="margin-left: 5px; width: 20px; float: left"class="badge ${choice_class}">${choice}</div>
<div style="margin-left: 5px; width: 20px; float: left"class="badge badge-success">${party_yes}%</div>
<div style="margin-left: 5px; width: 20px; float: left"class="badge badge-important">${party_no}%</div>
<div style="margin-left: 5px; width: 20px; float: left"class="badge badge-info">${party_ent}%</div>
<div style="margin-left: 5px; width: 20px; float: left"class="badge ">${party_off}%</div>
</div>

View File

@ -0,0 +1,4 @@
<div><font size="1">${timestamp}</font></div>
<div>${c_txt}</div>
<div><font size="2">${c_src}</font></div>
<br>

View File

@ -0,0 +1,87 @@
<?php
class default_comment extends SYSTEM\PAGE\Page {
private $poll_ID = NULL;
public function __construct($poll_ID) {
$this->poll_ID=$poll_ID;}
public function vote_choice(){
$vars = votes::getUserPollData($this->poll_ID);
return $this->tablerow_class($vars);
}
private static function tablerow_class($choice){
switch($choice){
case 1:
return 'pro';
case 2:
return 'con';
case 3:
return 'ent';
default:
return 'open';
}
}
private function get_pro_comments (){
$result = '';
$vars = votes::getUserComments($this->poll_ID, 1);
foreach($vars as $com){
$com['c_txt'] = utf8_encode($com['c_txt']);
$result .= SYSTEM\PAGE\replace::replaceFile(SYSTEM\SERVERPATH(new PPAGE(),'default_bulletin/comment.tpl'), $com);
}
return $result;
}
private function get_con_comments (){
$result = '';
$vars = votes::getUserComments($this->poll_ID, 2);
foreach($vars as $com){
$com['c_txt'] = utf8_encode($com['c_txt']);
$result .= SYSTEM\PAGE\replace::replaceFile(SYSTEM\SERVERPATH(new PPAGE(),'default_bulletin/comment.tpl'), $com);
}
return $result;
}
private function js(){
return '<script src="'.SYSTEM\WEBPATH(new PPAGE(),'default_bulletin/js/vote.js').'"></script>';}
private function css(){
return '<link href="'.SYSTEM\WEBPATH(new PPAGE(),'default_page\css\default_page.css').'" rel="stylesheet">';}
public function html(){
$poll_expired = \DBD\UVOTE_POLL_EXPIRED::Q1(array($this->poll_ID));
$user_vote = votes::getUserPollData($this->poll_ID);
$vars = array();
$vars['comments_pro'] = '';
$vars['comments_con'] = '';
$vars['js'] = $this->js();
$vars['css'] = $this->css();
$vars['vote_buttons'] = $this->vote_buttons($poll_expired,$user_vote);
// $vars['p_fields'] = $this->p_fields();
if($user_vote){
$vars['comments_pro'] = $this->get_pro_comments();
$vars['comments_con'] = $this->get_con_comments();
}
$vars['poll_ID'] = $this->poll_ID; //put it here - so its filled in!
$vars['frontend_logos'] = \SYSTEM\CONFIG\config::get(\SYSTEM\CONFIG\config_ids::SYS_CONFIG_PATH_BASEURL).'api.php?call=img&cat=frontend_logos&id=';
$vars = array_merge($vars, \SYSTEM\locale::getStrings(DBD\locale_string::VALUE_CATEGORY_MAINPAGE));
$vars = array_merge($vars, \SYSTEM\locale::getStrings(150));
$vars = array_merge($vars, \SYSTEM\locale::getStrings(100));
$vars = array_merge($vars,votes::get_voteinfo($this->poll_ID));
return SYSTEM\PAGE\replace::replaceFile(SYSTEM\SERVERPATH(new PPAGE(),'default_comment/comment.tpl'),$vars);
}
}

View File

@ -1,7 +1,6 @@
<?php
class default_page extends SYSTEM\PAGE\Page {
class default_page extends SYSTEM\PAGE\Page {
private function js(){
return '<script type="text/javascript" language="JavaScript" src="'.SYSTEM\WEBPATH(new PJQUERY(),'jquery-1.9.1.min.js').'"></script>'.
'<script type="text/javascript" language="JavaScript" src="'.SYSTEM\WEBPATH(new PBOOTSTRAP(),'js/bootstrap.min.js').'"></script>'.

View File

@ -3,7 +3,7 @@
Quelle: <a href="${iframe_link}">${iframe_link} </a>
</div>
<div class="span6" style="width: 50%;">
<iframe src="${iframe_link}" width="730" height="650"></iframe>
<iframe src="${iframe_link}" width="730" height="4000"></iframe>
</div>
</div>

View File

@ -1,74 +1,90 @@
/* jQuery on document ready */
$(document).ready(function() {
// handle navigation link click
/*$('.navbar ul li a').not('#menu_uvote').click(function () {
loadAjaxContent($(this).attr('url'));
//loadUrlPic($(this).attr('url'));
});*/
/*$('.btn_openvoteinfo').click(function () {
if($("#openvoteinfo"+$(this).attr('poll_ID')).is(':visible')){
$('#openvoteinfo'+$(this).attr('poll_ID')).slideUp('slow');
}else{
load_openvoteinfo($(this).attr('poll_ID'));
}
});*/
$(document).ready(function() {
load_user_main();
load_user_list();
register_login();
register_logout();
});
//jqBootstrapValidation
function load_user_list(){
$('#user_list').load('./?action=user_list', function(){
register_user_list();});
}
function load_user_main(){
$('#user_main').load('./?action=user_main', function(){
register_registerform();
$('#feedback_submit').click(function (data){
var test = $('textarea#feedback_text').val();
send_feedback(test);
});
$('#tabs_user_main a').click(function (e) {
e.preventDefault();
$(this).tab('show');
load_user_main_tab($(this).attr('action'));
});
register_user_main();
});
}
function register_user_list(){
$('#tabs_user_list a').click(function (e) {
e.preventDefault();
load_user_list_tab($(this).attr('action'));
$(this).tab('show');
});
$('.btn_vote').click(function () {
//vote_click($(this).attr('poll_ID'));
$('#user_main').load('./?action=open_bulletin&poll_ID=' + $(this).attr('poll_ID'));
open_vote($(this).attr('poll_ID'));
register_registerform();
});
$('.btn_fade').click(function () {
$('#vote_data_panel' + $(this).attr('poll_ID')).toggle();
});
}
function register_user_main(){
register_registerform();
$('#feedback_submit').click(function (data){
var test = $('textarea#feedback_text').val();
send_feedback(test);
});
$('#tabs_user_main a').click(function (e) {
e.preventDefault();
load_user_main_tab($(this).attr('action'));
$(this).tab('show');
});
}
function register_login(){
$("#form_login input").not("[type=submit]").jqBootstrapValidation({
//load_user_main_tab('user_main_uVote');
});
$('#user_list').load('./?action=user_list', function(){
$('.btn_vote').click(function () {
//vote_click($(this).attr('poll_ID'));
$('#user_main').load('./?action=open_bulletin&poll_ID=' + $(this).attr('poll_ID'));
open_vote($(this).attr('poll_ID'));
register_registerform();
});
$('#user_list').load('./?action=user_list', function(){
$('#tabs_user_list a').click(function (e) {
e.preventDefault();
$(this).tab('show');
load_user_list_tab($(this).attr('action'));
});
$('.btn_vote').click(function () {
//vote_click($(this).attr('poll_ID'));
$('#user_main').load('./?action=open_bulletin&poll_ID=' + $(this).attr('poll_ID'));
open_vote($(this).attr('poll_ID'));
register_registerform();
});
$('.btn_fade').click(function () {
$('#vote_data_panel' + $(this).attr('poll_ID')).show();
});
//load_user_main_tab('user_main_uVote');
});
});
$("#form_login input").not("[type=submit]").jqBootstrapValidation({
$("#form_login input").not("[type=submit]").jqBootstrapValidation({
preventSubmit: true,
submitError: function($form, event, errors) {},
submitSuccess: function($form, event){
$.get('./api.php?call=account&action=login&username=' + $('#bt_login_user').val()+'&password_sha='+$.sha1($('#bt_login_password').val())+'&password_md5='+$.md5($('#bt_login_password').val()), function (data) {
if(data == 1){
window.location.reload();
} else {
$('#help-block-user-password-combi-wrong').attr('style', 'display: block;');
}
});
event.preventDefault();
}
if(data == 1){
window.location.reload();
} else {
$('#help-block-user-password-combi-wrong').attr('style', 'display: block;');
}
});
event.preventDefault();
}
});
}
function register_logout(){
$("#form_logout input").not("[type=submit]").jqBootstrapValidation(
{
preventSubmit: true,
@ -80,7 +96,8 @@ $("#form_login input").not("[type=submit]").jqBootstrapValidation({
event.preventDefault();
}
});
}
function register_registerform(){
console.log("wegwegwegwegwegweg");
$("#register_user_form input").not("[type=submit]").jqBootstrapValidation(
@ -100,40 +117,51 @@ function register_registerform(){
});
}
function drawChart(){
//load_visualisation('#graph_bt_uv_overall',84600);
}
function load_user_main_tab(action){
switch(action){
function load_user_main_tab(action){
switch(action){
case 'user_main_uVote':
$('#tab_uVote').load('./?action='+ action);
//$('#tab_uVote').load('./?action='+ action); //causes error
return;
case 'user_main_urVote':
$('#tab_urVote').load('./?action='+ action);
return;
case 'user_main_myVote':
$('#tab_myVote').load('./?action='+ action, function(){
$('.add_data_submit').click(function () {
submit_add_data();
alert('success');
});
$('.add_data_submit').click(function () {
submit_add_data();
alert('success');
});
});
return;
default:
}
}
function load_user_list_tab(action){
switch(action){
function load_user_list_tab(action){
switch(action){
case 'user_list_active':
$('#tab_active').load('./?action='+ action);
$('#tab_active').load('./?action='+ action, function(){
$('.btn_fade').click(function () {
$('#vote_data_panel' + $(this).attr('poll_ID')).show();
});
$('.btn_vote').click(function () {
//vote_click($(this).attr('poll_ID'));
$('#user_main').load('./?action=open_bulletin&poll_ID=' + $(this).attr('poll_ID'));
open_vote($(this).attr('poll_ID'));
register_registerform();
})});
return;
case 'user_list_ended':
$('#tab_ended').load('./?action='+ action);
$('#tab_ended').load('./?action='+ action, function(){
$('.btn_fade').click(function () {
$('#vote_data_panel' + $(this).attr('poll_ID')).show();
});
$('.btn_vote').click(function () {
//vote_click($(this).attr('poll_ID'));
$('#user_main').load('./?action=open_bulletin&poll_ID=' + $(this).attr('poll_ID'));
open_vote($(this).attr('poll_ID'));
register_registerform();
})});
return;
default:
}
@ -186,6 +214,36 @@ function vote_click (poll_ID, vote) {
});
}
function submit_commentrate (c_ID, val) {
$.getJSON('./api.php?call=vote&action=commentrate&c_ID=' + c_ID + '&val=' + val, function(data) {
var items = [];
if(data.status == true){
alert("success");
} else {
alert(data.result.message);
}
});
}
function submit_c_data (poll_ID) {
var c_txt = $("#c_txt_pro").val();
var c_src = $("#c_src_pro").val();
var a = document.getElementById("side_select");
var c_choice = a.options[a.selectedIndex].value;
alert(c_choice);
$.getJSON('./api.php?call=vote&action=comment&poll_ID=' + poll_ID + '&c_choice=' + c_choice + '&c_txt=' + c_txt + '&c_src=' + c_src, function(data) {
var items = [];
if(data.status == true){
alert("success");
$('#user_main').load('./?action=open_bulletin&poll_ID=' + poll_ID, function(){
open_vote(poll_ID);
});
} else {
alert(data.result.message);
}
});
}
function submit_add_data () {
var a = document.getElementById("location");
var location = a.options[a.selectedIndex].text;
@ -206,19 +264,7 @@ function submit_add_data () {
}
function send_feedback (feedback) {
// $.getJSON('./api.php?call=vote&action=feedback&feedback=' + feedback, function(data) {
// console.log("hallo3672rt2ziuzir");
// var items = [];
// alert(feedback);
// if(data.status == true){
// alert("success");
// } else {
// alert(data.result.message);
// }
// });
$.ajax({
$.ajax({
url: 'http://mojotrollz.eu/web/uVote/api.php',
// contentType : "application/json; charset=utf-8",
data : {
@ -230,7 +276,8 @@ $.ajax({
type : 'POST' ,
success: function(data) {
alert("success");
}});
}
});
}
function open_vote (poll_ID) {
@ -244,9 +291,23 @@ function open_vote (poll_ID) {
$('.btnvote_off').click(function () {
vote_click($(this).attr('poll_ID'),3);
});
$('.submit_pro').click(function () {
submit_c_data($(this).attr('poll_ID'));
alert('success');
});
$('.c_up').click(function () {
submit_commentrate($(this).attr('c_ID'), 1);
});
$('.c_down').click(function () {
submit_commentrate($(this).attr('c_ID'), 2);
});
$('.c_spam').click(function () {
submit_commentrate($(this).attr('c_ID'), 3);
});
$('#test').click(function(){
$('#myModal').modal();
});
register_registerform();
});
}

View File

@ -68,9 +68,9 @@
</div>
</div>
<div id="site-content" style="padding: 0; margin: 0; margin-left: 40px;">
<div id="site-content" style="padding: 0; margin: 0; margin-left: 35px;">
<div id="user_main" style="position: absolute; padding: 0; padding-top: 0px; width: 50%;"></div>
<div id="user_main" style="position: absolute; padding: 0; padding-top: 0px; width: 49%;"></div>
<div id="user_list" style="padding: 0px; width: 50%; float: right;">

View File

@ -1,4 +1,4 @@
<td class="${bt_vote_class}" style="width: 80px; margin-top: 10px; border-left: 1px solid lightgray;">
<img src="${frontend_logos}icon_${party}.png" width="30"/><span class="badge badge-success" style="float:right;">${choice}</span><br/>
<div class="${bt_vote_class}" style="width: 80px; margin-top: 10px; border-left: 1px solid lightgray;">
<img src="${frontend_logos}icon_${party}.png" width="30"><span class="badge badge-success" style="float:right;">${choice}</span><br>
</td>
</div>

View File

@ -1,27 +1,37 @@
<table style="margin-bottom: 5px; width: 95%; height: 100px; border: solid lightgray 1px; background: beige;">
<tr>
<td style="padding: 5px; padding-top: 0;">
<h5>${title}</h5>
<img src="${frontend_logos}icon_urn_${vote_class}.png"/>
<a class="btn btn-primary btn-small btn_vote" style="" poll_ID="${ID}">${full_vote_btn}</a>
</td>
<td class="${bt_vote_class}" style="width: 80px; margin-top: 5px; border-left: 1px solid lightgray; padding: 2px;">
<img src="${frontend_logos}icon_bt.png" width="80"/>
<div style="margin-bottom: 5px; width: 92%; min-height: 125px; border: solid lightgray 1px; background: beige;">
<div style="float: left; width: 75%; padding: 5px; padding-top: 0;">
<h5>${title}</h5>
<img src="${frontend_logos}icon_urn_${vote_class}.png">
<a class="btn btn-primary btn-small btn_vote" poll_ID="${ID}">${full_vote_btn}</a>
<a class="btn btn-primary btn-small btn_fade" poll_ID="${ID}">${fade}</a>
</div>
<div id="vote_data_panel${ID}" poll_ID="${ID}" style="display: none; float: left;">
<div class="${bt_vote_class}" style="float: left; width: 80px; border-left: 1px solid lightgray; padding-right: 2px; padding-left: 2px;">
<img src="${frontend_logos}icon_bt.png" width="80">
${bt}
</td>
<td class="${uv_vote_class}" style="width: 60px; height: 100%; border-left: 1px solid lightgray; padding: 2px;">
<img src="${frontend_logos}icon_urn.png" width="20"/>
<span style="float: right"><font size="2">uVote</font></span>
<br/>
</div>
<div class="${uv_vote_class}" style="float: left; height: 125px; width: 60px; border-left: 1px solid lightgray; padding-right: 2px; padding-left: 2px;">
<img src="${frontend_logos}icon_urn.png" width="20">
<span style="">
<font size="2">uVote</font>
</span>
${uv}
<span class="badge" style="">${uv_count}</span>
</td>
<td style="margin: 0; padding: 0; width: 3px;" >
<table class="poll_time" time="${time_end}" style="width: 100%; height: 100%; margin: 0; padding: 0;">
<tr id="time_done" style="height: ${time_done}%; background: white; margin: 0; padding: 0;"><td style="width: 1px; margin: 0; padding: 0;"></td></tr>
<tr id="time_left" style="height: ${time_left}%; background: blue; margin: 0; padding: 0;"><td style="width: 1px; margin: 0; padding: 0;"></td></tr>
</table>
</td>
</tr>
</table>
<span class="badge" style="">
${uv_count}
</span>
</div>
</div>
<div style="margin: 0; padding: 0; float: right;" >
<div class="poll_time" time="${time_end}" style="width: 100%; height: 125px; margin: 0; padding: 0;">
<div id="time_done" style="height: ${time_done}%; background: white; margin: 0; padding: 0;">
<div style="width: 5px; margin: 0; padding: 0;">
</div>
</div>
<div id="time_left" style="height: ${time_left}%; background: blue; margin: 0; padding: 0;">
<div style="width: 5px; margin: 0; padding: 0;">
</div>
</div>
</div>
</div>
</div>

View File

@ -1 +1 @@
<img src="${frontend_logos}icon_${party}.png" width="30"/><span class="badge ${choice_class}" style="float:right;">${choice}</span><br/>
<img src="${frontend_logos}icon_${party}.png" width="30"><span class="badge ${choice_class}" style="float:right;">${choice}</span><br>

View File

@ -1,5 +1,6 @@
<div style="width: 50%; padding: 60px;">
<img src="${frontend_logos}logo2.png"/>
<img src="${frontend_logos}logo2.png"/>
<img src="${frontend_logos}cover.png"/>
<br />
<br />
<form class="textbox" id="register_user_form">

View File

@ -3,7 +3,11 @@ SYSTEM\autoload::registerFolder(dirname(__FILE__),'');
SYSTEM\autoload::registerFolder(dirname(__FILE__).'/default_page','');
SYSTEM\autoload::registerFolder(dirname(__FILE__).'/default_register','');
SYSTEM\autoload::registerFolder(dirname(__FILE__).'/default_bulletin','');
SYSTEM\autoload::registerFolder(dirname(__FILE__).'/default_comment','');
SYSTEM\autoload::registerFolder(dirname(__FILE__).'/user_main','');
SYSTEM\autoload::registerFolder(dirname(__FILE__).'/user_main_uVote','');
SYSTEM\autoload::registerFolder(dirname(__FILE__).'/user_main_urVote','');
SYSTEM\autoload::registerFolder(dirname(__FILE__).'/user_main_myVote','');
SYSTEM\autoload::registerFolder(dirname(__FILE__).'/user_main_myVote','');
SYSTEM\autoload::registerFolder(dirname(__FILE__).'/user_list','');
SYSTEM\autoload::registerFolder(dirname(__FILE__).'/user_list_active','');
SYSTEM\autoload::registerFolder(dirname(__FILE__).'/user_list_ended','');

View File

@ -98,6 +98,7 @@ class user_list_active extends SYSTEM\PAGE\Page {
$vars = array_merge($vars, \SYSTEM\locale::getStrings(DBD\locale_string::VALUE_CATEGORY_MAINPAGE));
$vars = array_merge($vars, \SYSTEM\locale::getStrings(150));
$vars = array_merge($vars, \SYSTEM\locale::getStrings(110));
$vars = array_merge($vars, \SYSTEM\locale::getStrings(100));
return SYSTEM\PAGE\replace::replaceFile(SYSTEM\SERVERPATH(new PPAGE(),'user_list_active/active.tpl'), $vars);
}

View File

@ -41,7 +41,7 @@ class user_list_ended extends SYSTEM\PAGE\Page {
public function generate_votelist(){
$result = array('','');
$votes = votes::getAllVotesOfGroup(1);
$votes = votes::getAllExpVotesOfGroup(1);
foreach($votes as $vote){
$time_remain = strtotime($vote['time_end'])- microtime(true);
$time_span = strtotime($vote['time_end']) - strtotime($vote['time_start']);

View File

@ -10,10 +10,11 @@
<div class="tab-pane" id="tab_myVote"></div>
</div>
</div>
<form>
<br /><img src="${frontend_logos}logo2.png" width="180"/>
<h4>uVote BETA Feedback</h4>
<textarea id="feedback_text">Sag uns was dich stört!</textarea>
<br />
<input type="submit" id="feedback_submit" />
</form>
<form>
<br /><img src="${frontend_logos}logo2.png" width="180"/>
<h4>uVote BETA Feedback</h4>
<textarea id="feedback_text">Sag uns was dich stört!</textarea>
<br />
<input type="submit" id="feedback_submit" />
</form>

View File

@ -1,14 +1,163 @@
Geburtsjahr
<br>
<input type="text" id="feedback_text"/>
<br>
<ul class="dropdown-menu" style="display: block;">
<li><a tabindex="-1" href="#">männlich</a></li>
<li><a tabindex="-1" href="#">weiblich</a></li>
<li><a tabindex="-1" href="#">weder noch</a></li>
<li class="divider"></li>
<li><a tabindex="-1" href="#">keine Angabe</a></li>
</ul>
<input type="submit" id="feedback_submit" />
<h4>Einstellungen</h4>
<div style="float: left; margin-top: 30px;">
${myvote_bodytext}
</div>
<div style="float: right">
<form action="" name="someform">
${location}<br>
<select id="location" name="location">
<option value="0">${keineangaben_location}</option>
<option value="1">Baden-Württemberg</option>
<option value="2">Bayern</option>
<option value="3">Berlin</option>
<option value="4">Brandenburg</option>
<option value="5">Bremen</option>
<option value="6">Hamburg</option>
<option value="7">Hessen</option>
<option value="8">Mecklenburg-Vorpommern</option>
<option value="9">Niedersachsen</option>
<option value="10">Nordrhein-Westfalen</option>
<option value="11">Rheinland-Pfalz</option>
<option value="12">Saarland</option>
<option value="13">Sachsen</option>
<option value="14">Sachsen-Anhalt</option>
<option value="15">Schleswig-Holstein</option>
<option value="16">Thüringen</option>
</select>
<br>
${birthyear}<br>
<select id="birthyear" name="birthyear">
<option value="0">${keineangaben_age}</option>
<option value="2007">2007</option>
<option value="2006">2006</option>
<option value="2005">2005</option>
<option value="2004">2004</option>
<option value="2003">2003</option>
<option value="2002">2002</option>
<option value="2001">2001</option>
<option value="2000">2000</option>
<option value="1999">1999</option>
<option value="1998">1998</option>
<option value="1997">1997</option>
<option value="1996">1996</option>
<option value="1995">1995</option>
<option value="1994">1994</option>
<option value="1993">1993</option>
<option value="1992">1992</option>
<option value="1991">1991</option>
<option value="1990">1990</option>
<option value="1989">1989</option>
<option value="1988">1988</option>
<option value="1987">1987</option>
<option value="1986">1986</option>
<option value="1985">1985</option>
<option value="1984">1984</option>
<option value="1983">1983</option>
<option value="1982">1982</option>
<option value="1981">1981</option>
<option value="1980">1980</option>
<option value="1979">1979</option>
<option value="1978">1978</option>
<option value="1977">1977</option>
<option value="1976">1976</option>
<option value="1975">1975</option>
<option value="1974">1974</option>
<option value="1973">1973</option>
<option value="1972">1972</option>
<option value="1971">1971</option>
<option value="1970">1970</option>
<option value="1969">1969</option>
<option value="1968">1968</option>
<option value="1967">1967</option>
<option value="1966">1966</option>
<option value="1965">1965</option>
<option value="1964">1964</option>
<option value="1963">1963</option>
<option value="1962">1962</option>
<option value="1961">1961</option>
<option value="1960">1960</option>
<option value="1959">1959</option>
<option value="1958">1958</option>
<option value="1957">1957</option>
<option value="1956">1956</option>
<option value="1955">1955</option>
<option value="1954">1954</option>
<option value="1953">1953</option>
<option value="1952">1952</option>
<option value="1951">1951</option>
<option value="1950">1950</option>
<option value="1949">1949</option>
<option value="1948">1948</option>
<option value="1947">1947</option>
<option value="1946">1946</option>
<option value="1945">1945</option>
<option value="1944">1944</option>
<option value="1943">1943</option>
<option value="1942">1942</option>
<option value="1941">1941</option>
<option value="1940">1940</option>
<option value="1939">1939</option>
<option value="1938">1938</option>
<option value="1937">1937</option>
<option value="1936">1936</option>
<option value="1935">1935</option>
<option value="1934">1934</option>
<option value="1933">1933</option>
<option value="1932">1932</option>
<option value="1931">1931</option>
<option value="1930">1930</option>
<option value="1929">1929</option>
<option value="1928">1928</option>
<option value="1927">1927</option>
<option value="1926">1926</option>
<option value="1925">1925</option>
<option value="1924">1924</option>
<option value="1923">1923</option>
<option value="1922">1922</option>
<option value="1921">1921</option>
<option value="1920">1920</option>
<option value="1919">1919</option>
<option value="1918">1918</option>
<option value="1917">1917</option>
<option value="1916">1916</option>
<option value="1915">1915</option>
<option value="1914">1914</option>
<option value="1913">1913</option>
<option value="1912">1912</option>
<option value="1911">1911</option>
<option value="1910">1910</option>
<option value="1909">1909</option>
<option value="1908">1908</option>
<option value="1907">1907</option>
<option value="1906">1906</option>
<option value="1905">1905</option>
<option value="1904">1904</option>
<option value="1903">1903</option>
<option value="1902">1902</option>
<option value="1901">1901</option>
<option value="1900">1900</option>
</select>
<br>
${gender} <br>
<select id="gender" name="gender">
<option value="0">${keineangaben_gender}</option>
<option value="1">${male}</option>
<option value="2">${female}</option>
<option value="3">${none}</option>
<option value="0">${no_data}</option>
</select>
<br>
${children} <br>
<select id="children" name="children">
<option value="1">${keineangaben_children}</option>
<option value="1">${yes}</option>
<option value="2">${no}</option>
<option value="0">${no_data}</option>
</select>
</form>
<div class="btn btn-primary add_data_submit" id="add_data_submit">Absenden</div>
</div>

View File

@ -1,7 +1,26 @@
<?php
class user_main_myVote extends SYSTEM\PAGE\Page {
public function html(){
return SYSTEM\PAGE\replace::replaceFile(SYSTEM\SERVERPATH(new PPAGE(),'user_main_myVote/myVote.tpl'),array());
class user_main_myVote extends SYSTEM\PAGE\Page {
public function get_add_data (){
$qqresult = votes::get_add_data();
$vars['keineangaben_location'] = $qqresult['location'] ? $qqresult['location'] : 'Keine Angaben';
$vars['keineangaben_age'] = $qqresult['birthyear'] ? $qqresult['birthyear'] : 'Keine Angaben';
$vars['keineangaben_gender'] = $qqresult['gender'] ? $qqresult['gender'] : 'Keine Angaben';
$vars['keineangaben_children'] = $qqresult['children'] ? $qqresult['children'] : 'Keine Angaben';
return $vars;
}
public function html(){
$vars = array();
$vars = $this->get_add_data();
$vars['frontend_logos'] = \SYSTEM\CONFIG\config::get(\SYSTEM\CONFIG\config_ids::SYS_CONFIG_PATH_BASEURL).'api.php?call=img&cat=frontend_logos&id=';
$vars = array_merge($vars, \SYSTEM\locale::getStrings(DBD\locale_string::VALUE_CATEGORY_MAINPAGE));
$vars = array_merge($vars, \SYSTEM\locale::getStrings(150));
$vars = array_merge($vars, \SYSTEM\locale::getStrings(110));
return SYSTEM\PAGE\replace::replaceFile(SYSTEM\SERVERPATH(new PPAGE(),'user_main_myVote/myVote.tpl'), $vars);
}
}

View File

@ -1,24 +1,38 @@
<div style="width: 50%; float: left; margin-bottom: 30px;">
<div style="width: 100%;">
${welcome_text}
<div style="float: left;">
<table style="border-collapse: separate; border-spacing: 10px 5px; width: 350px;">
<tr>
<h5>Übereinstimmung von uVote & Politik</h5>
${uvote_to_bt}
</tr>
</table>
</div>
<div id="graph_bt_uv_overall" style="float: left; width: 300px;"></div>
<script type="text/javascript" language="JavaScript">load_visualisation('graph_bt_uv_overall',84600);</script>
</div>
<div style="clear: both"></div>
<div style="width: 50%; margin-bottom: 30px; float: left;">
<h5>Entscheidungsverhalten der uVote Community</h5>
<span style="float: left;">
<span style="">
${votes_all}
</span>
<span style=""> Wie oft die uVote Community
<br> insgesamt Dafür, Dagegen oder
<br> Enthaltung gestimmt hat.</span>
</div>
<div style="width: 50%;">
<div style="width: 50%; float: right;">
<h5>Entscheidungsverhalten des Bundestags</h5>
<span style="">
${votes_all_bt}
</span>
<span style="float: left;"> Wie oft der Bundestag
<span style=""> Wie oft der Bundestag
<br> Dafür, Dagegen oder
<br> Enthaltung gestimmt hat.</span>
</div>
<div style="clear: both; height: 50px;">
</div>
<div>
<span class="badge badge-info">${user_count}</span> Nutzer auf uVote
</div>
<div style="clear: both; height: 50px;"></div>
<div>
<span class="badge badge-info">${user_count}</span> Nutzer auf uVote
</div>

View File

@ -1,7 +1,17 @@
<?php
class user_main_uVote extends SYSTEM\PAGE\Page {
private function uvote_to_parties (){
$votes = votes::get_uvote_to_bt_overall();
$result = '';
foreach($votes as $vote){
$vote['match_percentage'] = round($vote['class_MATCH']/($vote['class_MATCH']+$vote['class_MISSMATCH'])*100,2);
$result .= \SYSTEM\PAGE\replace::replaceFile(SYSTEM\SERVERPATH(new PPAGE(),'user_main_uVote/uvoteparties.tpl'), $vote);
}
print_r($votes, TRUE);
return $result;
}
private function votes_all(){
@ -64,11 +74,14 @@ class user_main_uVote extends SYSTEM\PAGE\Page {
public function html(){
$vars = array();
$vars['uvote_to_bt'] = $this->uvote_to_parties();
$vars['votes_all'] = $this->votes_all();
$vars['votes_all_bt'] = $this->votes_all_bt();
$vars['user_count'] = $this->user_count();
$vars['frontend_logos'] = \SYSTEM\CONFIG\config::get(\SYSTEM\CONFIG\config_ids::SYS_CONFIG_PATH_BASEURL).'api.php?call=img&cat=frontend_logos&id=';
$vars = array_merge($vars, \SYSTEM\locale::getStrings(DBD\locale_string::VALUE_CATEGORY_MAINPAGE));
$vars = array_merge($vars, \SYSTEM\locale::getStrings(150));
$vars = array_merge($vars, \SYSTEM\locale::getStrings(100));
return \SYSTEM\PAGE\replace::replaceFile(SYSTEM\SERVERPATH(new PPAGE(),'user_main_uVote/uVote.tpl'),$vars);
}

View File

@ -0,0 +1,8 @@
<tr>
<td>
<img src="${frontend_logos}icon_${party}.png"/>
</td>
<td><span class="badge badge-success">${class_MATCH}</span></td>
<td><span class="badge badge-important">${class_MISSMATCH}</span></td>
<td><span class="badge">${match_percentage}%</span></td>
</tr>

View File

@ -0,0 +1,15 @@
<div style="padding-bot: 20px;">
<h5>Aktueller Status</h5>
</div>
<div style="width: 280px; border-style: solid; border-width: 1px; padding: 5px;">
<font size="2">Teilnahme an aktuellen Abstimmungen</font>
<div class="progress" style="height: 20px;">
<div class="bar" style="width: ${vote_perc}%;">${vote_perc}%</div>
<div class="bar bar-info" style="width: 100%;"></div>
</div>
<div style="">
<font size="1">Teilgenommen: ${voted},
nicht Teilgenommen: ${not_voted}</font>
</div>
</div>
<br>

View File

@ -0,0 +1,11 @@
<div style="width: 280px; border-style: solid; border-width: 1px; padding: 5px;">
<font size="2">Abstimmungsquote seit Accounterstellung</font>
<div class="progress" style="height: 20px;">
<div class="bar" style="width: ${vote_perc}%;">${vote_perc}%</div>
<div class="bar bar-info" style=""></div>
</div>
<div style="">
<font size="1">Teilgenommen: ${voted},
nicht Teilgenommen: ${not_voted}</font>
</div>
</div>

View File

@ -1,10 +1,12 @@
<div id="statistics_uvote_users">
<h4>${urVote_title}</h4>
<h5>${urVote_title}</h5>
${urvote_body_text}
<div style="float: left;">
<table style="border-collapse: separate;
border-spacing: 10px 5px; width: 350px;">
<tr>
<h5>${urVote_user_party_compare}</h5>
${urvote_user_party_compare_sub}
${choices_user_ID}
</tr>
@ -16,6 +18,12 @@
<div style="margin-left: 40px; float: left;">
${user_temp_votes}
</div>
<br>
<div style="margin-left: 40px; float: right;">
${user_overall_votes}
</div>
<div id="graph_bt_user_overall" style=""></div>
<script type="text/javascript" language="JavaScript">load_visualisation_urvote('graph_bt_user_overall',84600);</script>
</div>

View File

@ -3,56 +3,68 @@ class user_main_urVote extends SYSTEM\PAGE\Page {
private function user_overall_votes (){
$vars = votes::get_user_overall_votes(\SYSTEM\SECURITY\Security::getUser()->id, \SYSTEM\SECURITY\Security::getUser()->creationDate);
$v = $vars['voted'] > 1 ? $vars['voted'] : 1;
$nv = $vars['not_voted'];
return \SYSTEM\PAGE\replace::replaceFile(SYSTEM\SERVERPATH(new PPAGE(),'user_main_urVote/overall_all_polls.tpl'),
array( 'vote_perc'=> round($v/($nv+$v)*100, 2),
'no_vote_perc'=> round($nv/($nv+$v)*100, 2),
'voted'=> $v,
'not_voted'=> $nv));
}
private function user_temp_votes (){
$vars = votes::get_user_temp_votes(\SYSTEM\SECURITY\Security::getUser()->id);
$v = $vars['voted'];
$nv = $vars['not_voted'];
print_r($vars, true);
return \SYSTEM\PAGE\replace::replaceFile(SYSTEM\SERVERPATH(new PPAGE(),'user_main_urVote/all_polls.tpl'),
array( 'vote_perc'=> round($v/($nv+$v)*100,0),
'no_vote_perc'=> round($nv/($nv+$v)*100,0),
array( 'vote_perc'=> round($v/($nv+$v)*100, 2),
'no_vote_perc'=> round($nv/($nv+$v)*100, 2),
'voted'=> $v,
'not_voted'=> $nv));
}
private function user_to_bt(){
//$vars = votes::get_user_per_party_overall($user_ID);
$result = '';
$con = new \SYSTEM\DB\Connection();
$res = $con->prepare( 'bt_to_user',
'SELECT sum(case when uvote_data.choice = uvote_votes.bt_choice then 1 else 0 end) class_MATCH,
sum(case when uvote_data.choice != uvote_votes.bt_choice then 1 else 0 end) class_MISSMATCH
FROM uvote_data LEFT JOIN uvote_votes
ON uvote_data.poll_ID = uvote_votes.ID
WHERE user_ID = ?;',
array(\SYSTEM\SECURITY\Security::getUser()->id));
while($row = $res->next()){
$row['match_percentage'] = round($row['class_MATCH']/($row['class_MATCH']+$row['class_MISSMATCH']+1)*100,2);
$result .= \SYSTEM\PAGE\replace::replaceFile(SYSTEM\SERVERPATH(new PPAGE(),'user_main_urVote/bt_to_user_overall.tpl'), $row);
}
return $result;
$row['votes_cast'] = round(($row['class_MATCH']+$row['class_MISSMATCH']),2);
private function user_to_bt(){
//$vars = votes::get_user_per_party_overall($user_ID);
$result = '';
$con = new \SYSTEM\DB\Connection();
$res = $con->prepare( 'bt_to_user',
'SELECT sum(case when uvote_data.choice = uvote_votes.bt_choice then 1 else 0 end) class_MATCH,
sum(case when uvote_data.choice != uvote_votes.bt_choice then 1 else 0 end) class_MISSMATCH
FROM uvote_data LEFT JOIN uvote_votes
ON uvote_data.poll_ID = uvote_votes.ID
WHERE user_ID = ?;',
array(\SYSTEM\SECURITY\Security::getUser()->id));
while($row = $res->next()){
$row['match_percentage'] = round($row['class_MATCH']/($row['class_MATCH']+$row['class_MISSMATCH']+1)*100,2);
$result .= \SYSTEM\PAGE\replace::replaceFile(SYSTEM\SERVERPATH(new PPAGE(),'user_main_urVote/bt_to_user_overall.tpl'), $row);
}
return $result;
$row['votes_cast'] = round(($row['class_MATCH']+$row['class_MISSMATCH']),2);
}
private function user_per_party_overall(){
//$vars = votes::get_user_per_party_overall(array(\SYSTEM\SECURITY\Security::getUser()->id));
$result = '';
$con = new \SYSTEM\DB\Connection();
$res = $con->prepare( 'test',
'SELECT party, sum(case when uvote_data.choice = uvote_votes_per_party.choice then 1 else 0 end) class_MATCH,
sum(case when uvote_data.choice != uvote_votes_per_party.choice then 1 else 0 end) class_MISSMATCH
FROM uvote_data INNER JOIN uvote_votes_per_party
ON uvote_data.poll_ID = uvote_votes_per_party.poll_ID
WHERE user_ID = ? GROUP BY party;',
array(\SYSTEM\SECURITY\Security::getUser()->id));
while($row = $res->next()){
$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_urVote/urvoteparties.tpl'), $row);;
}
return $result;
private function user_per_party_overall(){
//$vars = votes::get_user_per_party_overall(array(\SYSTEM\SECURITY\Security::getUser()->id));
$result = '';
$con = new \SYSTEM\DB\Connection();
$res = $con->prepare( 'test',
'SELECT party, sum(case when uvote_data.choice = uvote_votes_per_party.choice then 1 else 0 end) class_MATCH,
sum(case when uvote_data.choice != uvote_votes_per_party.choice then 1 else 0 end) class_MISSMATCH
FROM uvote_data INNER JOIN uvote_votes_per_party
ON uvote_data.poll_ID = uvote_votes_per_party.poll_ID
WHERE user_ID = ? GROUP BY party;',
array(\SYSTEM\SECURITY\Security::getUser()->id));
while($row = $res->next()){
$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_urVote/urvoteparties.tpl'), $row);;
}
return $result;
}
public function html(){
$vars = array();
@ -61,6 +73,7 @@ class user_main_urVote extends SYSTEM\PAGE\Page {
$vars['choices_bt_to_user'] = $this->user_to_bt();
$vars['frontend_logos'] = \SYSTEM\CONFIG\config::get(\SYSTEM\CONFIG\config_ids::SYS_CONFIG_PATH_BASEURL).'api.php?call=img&cat=frontend_logos&id=';
$vars['user_temp_votes'] = $this->user_temp_votes();
$vars['user_overall_votes'] = $this->user_overall_votes();
$vars = array_merge($vars, \SYSTEM\locale::getStrings(DBD\locale_string::VALUE_CATEGORY_MAINPAGE));
$vars = array_merge($vars, \SYSTEM\locale::getStrings(150));
return SYSTEM\PAGE\replace::replaceFile(SYSTEM\SERVERPATH(new PPAGE(),'user_main_urVote/urVote.tpl'),$vars);