Пример #1
0
    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;
        ?>
&nbsp;
					</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 
    }
Пример #2
0
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 = '&amp;Itemid=' . $Itemid;
    }
    // dropdown output
    $link = sefRelToAbs('index.php?option=com_poll&amp;task=results&amp;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);
}
Пример #3
0
Файл: poll.php Проект: cwcw/cms
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&amp;task=results&amp;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);
}