function showResults(&$poll, &$votes, $first_vote, $last_vote, $pollist, $params) { global $mosConfig_live_site; ?> <script type = "text/javascript"> <!-- var link = document.createElement('link'); link.setAttribute('href', 'components/com_poll/poll_bars.css'); link.setAttribute('rel', 'stylesheet'); link.setAttribute('type', 'text/css'); var head = document.getElementsByTagName('head').item(0); head.appendChild(link); //--> </script> <form action="index.php" method="post" name="poll" id="poll"> <?php if ($params->get('page_title')) { ?> <div class="componentheading<?php echo $params->get('pageclass_sfx'); ?> "> <?php echo _POLL_TITLE; ?> </div> <?php } ?> <table width="100%" class="contentpane<?php echo $params->get('pageclass_sfx'); ?> "> <tr> <td align="center"> <table class="contentpane<?php echo $params->get('pageclass_sfx'); ?> "> <tr> <td align="left"> <?php echo _SEL_POLL; ?> </td> <td align="left"> <?php echo $pollist; ?> </td> </tr> </table> <table cellpadding="0" cellspacing="0" border="0" class="contentpane<?php echo $params->get('pageclass_sfx'); ?> "> <?php if ($votes) { $j = 0; $data_arr["text"] = null; $data_arr["hits"] = null; foreach ($votes as $vote) { $data_arr["text"][$j] = trim($vote->text); $data_arr["hits"][$j] = $vote->hits; $j++; } ?> <tr> <td> <?php poll_html::graphit($data_arr, $poll->title, $first_vote, $last_vote); ?> </td> </tr> <?php } else { ?> <tr> <td valign="bottom"> <?php echo _NO_RESULTS; ?> </td> </tr> <?php } ?> </table> </td> </tr> </table> <?php // displays back button mosHTML::BackButton($params); ?> </form> <?php }
function pollresult($uid) { global $database, $Itemid; global $mainframe; $poll = new mosPoll($database); $poll->load((int) $uid); // if id value is passed and poll not published then exit if ($poll->id != '' && !$poll->published) { mosNotAuth(); return; } $first_vote = ''; $last_vote = ''; $votes = ''; /* Check if there is a poll corresponding to id and if poll is published */ if (isset($poll->id) && $poll->id != '' && $poll->published == 1) { if (empty($poll->title)) { $poll->id = ''; $poll->title = _SELECT_POLL; } $query = "SELECT MIN( date ) AS mindate, MAX( date ) AS maxdate" . "\n FROM #__poll_date" . "\n WHERE poll_id = " . (int) $poll->id; $database->setQuery($query); $dates = $database->loadObjectList(); if (isset($dates[0]->mindate)) { $first_vote = mosFormatDate($dates[0]->mindate, _DATE_FORMAT_LC2); $last_vote = mosFormatDate($dates[0]->maxdate, _DATE_FORMAT_LC2); } $query = "SELECT a.id, a.text, a.hits, b.voters" . "\n FROM #__poll_data AS a" . "\n INNER JOIN #__polls AS b ON b.id = a.pollid" . "\n WHERE a.pollid = " . (int) $poll->id . "\n AND a.text != ''" . "\n AND b.published = 1"; $database->setQuery($query); $votes = $database->loadObjectList(); } // list of polls for dropdown selection $query = "SELECT id, title" . "\n FROM #__polls" . "\n WHERE published = 1" . "\n ORDER BY id"; $database->setQuery($query); $polls = $database->loadObjectList(); // Itemid for dropdown $_Itemid = ''; if ($Itemid && $Itemid != 99999999) { $_Itemid = '&Itemid=' . $Itemid; } // dropdown output $link = sefRelToAbs('index.php?option=com_poll&task=results&id=\' + this.options[selectedIndex].value + \'' . $_Itemid . '\' + \''); $pollist = '<select name="id" class="inputbox" size="1" style="width:200px" onchange="if (this.options[selectedIndex].value != \'\') {document.location.href=\'' . $link . '\'}">'; $pollist .= '<option value="">' . _SELECT_POLL . '</option>'; for ($i = 0, $n = count($polls); $i < $n; $i++) { $k = $polls[$i]->id; $t = $polls[$i]->title; $sel = $k == intval($poll->id) ? " selected=\"selected\"" : ''; $pollist .= "\n\t<option value=\"" . $k . "\"{$sel}>" . $t . "</option>"; } $pollist .= '</select>'; // Adds parameter handling $menu = $mainframe->get('menu'); $params = new mosParameters($menu->params); $params->def('page_title', 1); $params->def('pageclass_sfx', ''); $params->def('back_button', $mainframe->getCfg('back_button')); $params->def('header', $menu->name); $mainframe->SetPageTitle($poll->title); poll_html::showResults($poll, $votes, $first_vote, $last_vote, $pollist, $params); }
function pollresult($uid) { global $database, $mosConfig_offset, $mosConfig_live_site, $Itemid; global $mainframe; $poll = new mosPoll($database); $poll->load($uid); if (empty($poll->title)) { $poll->id = ''; $poll->title = _SELECT_POLL; } $first_vote = ''; $last_vote = ''; if (isset($poll->id) && $poll->id != "") { $query = "SELECT MIN(date) AS mindate, MAX(date) AS maxdate" . "\n FROM #__poll_date" . "\n WHERE poll_id='{$poll->id}'"; $database->setQuery($query); $dates = $database->loadObjectList(); if (isset($dates[0]->mindate)) { $first_vote = mosFormatDate($dates[0]->mindate, _DATE_FORMAT_LC2); $last_vote = mosFormatDate($dates[0]->maxdate, _DATE_FORMAT_LC2); } } $query = "SELECT a.text, count( DISTINCT b.id ) AS hits, count( DISTINCT b.id )/COUNT( DISTINCT c.id )*100.0 AS percent" . "\n FROM #__poll_data AS a" . "\n LEFT JOIN #__poll_date AS b ON b.vote_id = a.id" . "\n LEFT JOIN #__poll_date AS c ON c.poll_id = a.pollid" . "\n WHERE a.pollid='{$poll->id}' AND a.text <> ''" . "\n GROUP BY a.id" . "\n ORDER BY a.id"; $database->setQuery($query); $votes = $database->loadObjectList(); $query = "SELECT id, title" . "\n FROM #__polls" . "\n WHERE published=1" . "\n ORDER BY id"; $database->setQuery($query); $polls = $database->loadObjectList(); reset($polls); $link = sefRelToAbs('index.php?option=com_poll&task=results&id=\' + this.options[selectedIndex].value + \''); $pollist = '<select name="id" class="inputbox" size="1" style="width:200px" onchange="if (this.options[selectedIndex].value != \'\') {document.location.href=\'' . $link . '\'}">'; $pollist .= '<option value="">' . _SELECT_POLL . '</option>'; for ($i = 0, $n = count($polls); $i < $n; $i++) { $k = $polls[$i]->id; $t = $polls[$i]->title; $sel = $k == intval($poll->id) ? " selected=\"selected\"" : ''; $pollist .= "\n\t<option value=\"" . $k . "\"{$sel}>" . $t . "</option>"; } $pollist .= '</select>'; // Adds parameter handling $menu =& new mosMenu($database); $menu->load($Itemid); $params =& new mosParameters($menu->params); $params->def('page_title', 1); $params->def('pageclass_sfx', ''); $params->def('back_button', $mainframe->getCfg('back_button')); $mainframe->SetPageTitle($poll->title); poll_html::showResults($poll, $votes, $first_vote, $last_vote, $pollist, $params); }