diff --git a/index.php b/index.php index 0557072..9fbaff6 100644 --- a/index.php +++ b/index.php @@ -4,6 +4,7 @@ require_once '../system/autoload.inc.php'; require_once 'uVote/autoload.inc.php'; //Project Classes require_once '../system/log/register_exception_shortcut.php'; //allow ERROR() instead of \SYSTEM\LOG\ERROR() require_once '../system/log/register_errorhandler_jsonoutput.php'; //print errors as json to caller +require_once '../system/log/register_result_shortcut.php'; require_once 'config.php'; SYSTEM\system::start($uvote_config); diff --git a/uVote/api/ApiClass.php b/uVote/api/ApiClass.php index 00b847c..5ba6588 100644 --- a/uVote/api/ApiClass.php +++ b/uVote/api/ApiClass.php @@ -2,9 +2,7 @@ class ApiClass extends \SYSTEM\API\apiloginclass { public static function call_vote_action_vote($poll_ID, $vote) { - return votes::write_vote($poll_ID, $vote); - } - public static function call_vote_action_openinfo($poll_ID) { - return votes::get_openinfo($poll_ID); - } + return votes::write_vote($poll_ID, $vote);} + public static function call_vote_action_barsperusers($poll_ID){ + return votes::get_barsperusers($poll_ID);} } \ No newline at end of file diff --git a/uVote/api/votes/votes.php b/uVote/api/votes/votes.php index 1486e48..6e14295 100644 --- a/uVote/api/votes/votes.php +++ b/uVote/api/votes/votes.php @@ -12,33 +12,61 @@ class votes { return $result; } - private static function getProgessbar($percentage){ - $vars = array('percentage' => $percentage); - return SYSTEM\PAGE\replace::replaceFile(SYSTEM\SERVERPATH(new PPAGE(),'default_page/closedvoteinfo.tpl'), $vars); + + public static function get_barsperusers($poll_ID,$return_as_json = true){ + $con = new \SYSTEM\DB\Connection(new \DBD\uVote()); + //count + $res = $con->prepare( 'selVoteBy_count', + 'SELECT COUNT(*) as "count" FROM `uvote_data` WHERE `poll_ID` = ?;', + array($poll_ID)); + $res = $res->next(); + $result = array(); + $result['poll_ID'] = $poll_ID; + $result['count'] = $res['count']; + //yes + $res = $con->prepare( 'selVoteBy_count', + 'SELECT COUNT(*) as "count" FROM `uvote_data` WHERE `poll_ID` = ? AND choice = 1;', + array($poll_ID)); + $res = $res->next(); + $result['yes'] = $res['count']; + $result['yes_perc'] = $res['count'] / $result['count']; + //no + $res = $con->prepare( 'selVoteBy_count', + 'SELECT COUNT(*) as "count" FROM `uvote_data` WHERE `poll_ID` = ? AND choice = 2;', + array($poll_ID)); + $res = $res->next(); + $result['no'] = $res['count']; + $result['no_perc'] = $res['count'] / $result['count']; + //ent + $res = $con->prepare( 'selVoteBy_count', + 'SELECT COUNT(*) as "count" FROM `uvote_data` WHERE `poll_ID` = ? AND choice = 3;', + array($poll_ID)); + $res = $res->next(); + $result['ent'] = $res['count']; + $result['ent_perc'] = $res['count'] / $result['count']; + + return $return_as_json ? JsonResult::toString($result) : $result; } - public static function get_barsperparty($poll_ID){ - $con = new \SYSTEM\DB\Connection(new \DBD\uVote()); - $pbpp = ""; - $part = $con->prepare( 'selVoteByPoll_ID', - 'SELECT * FROM `uvote_votes_per_party` WHERE `poll_ID` = ?;', - array($poll_ID)); - - while ($result = $part->next()){ - $pbpp .= self::getProgessbar($result['votes_pro']);} - return $result; -} - - public static function get_openinfo($poll_ID){ + public static function get_voteinfo($poll_ID){ $con = new \SYSTEM\DB\Connection(new \DBD\uVote()); $res = $con->prepare( 'selVoteByID', 'SELECT * FROM `uvote_votes` WHERE `ID` = ?;', array($poll_ID)); $res = $res->next(); - $result = array(); - $result['graph_right'] = get_barsperparty($pbpp); - $result = array_merge($result,$res); - return SYSTEM\PAGE\replace::replaceFile(SYSTEM\SERVERPATH(new PPAGE(),'default_page/openvoteinfo.tpl'),$result); + return $res; + } + + public static function get_barsperparty($poll_ID){ + $con = new \SYSTEM\DB\Connection(new \DBD\uVote()); + $pbpp = array(); + $part = $con->prepare( 'selVoteByPoll_ID', + 'SELECT * FROM `uvote_votes_per_party` WHERE `poll_ID` = ?;', + array($poll_ID)); + + while ($result = $part->next()){ + $pbpp[] = $result;} + return $pbpp; } public static function write_vote($poll_ID, $vote){ diff --git a/uVote/page/PageApi.php b/uVote/page/PageApi.php index 7901c4a..f64529e 100644 --- a/uVote/page/PageApi.php +++ b/uVote/page/PageApi.php @@ -42,5 +42,8 @@ class PageApi extends \SYSTEM\PAGE\PageClass { //require_once 'dasense/sai/autoload.inc.php'; //require_once 'dasense/sai/register_modules.php'; return new \SYSTEM\SAI\saigui();} + + public static function action_openinfo($poll_ID){ + return new default_openinfo($poll_ID);} } \ No newline at end of file diff --git a/uVote/page/default_openinfo/bars_user.tpl b/uVote/page/default_openinfo/bars_user.tpl new file mode 100644 index 0000000..00a6cad --- /dev/null +++ b/uVote/page/default_openinfo/bars_user.tpl @@ -0,0 +1,5 @@ +
${text}
diff --git a/uVote/page/default_page/closedvoteinfo.tpl b/uVote/page/default_page/closedvoteinfo.tpl deleted file mode 100644 index 370b765..0000000 --- a/uVote/page/default_page/closedvoteinfo.tpl +++ /dev/null @@ -1,3 +0,0 @@ -