📄 xoopspollrenderer.php
字号:
<?php// $Id: xoopspollrenderer.php,v 1.11 2004/12/26 19:12:12 onokazu Exp $// ------------------------------------------------------------------------ //// XOOPS - PHP Content Management System //// Copyright (c) 2000 XOOPS.org //// <http://www.xoops.org/> //// ------------------------------------------------------------------------ //// This program is free software; you can redistribute it and/or modify //// it under the terms of the GNU General Public License as published by //// the Free Software Foundation; either version 2 of the License, or //// (at your option) any later version. //// //// You may not change or alter any portion of this comment or credits //// of supporting developers from this source code or any supporting //// source code which is considered copyrighted (c) material of the //// original comment or credit authors. //// //// This program is distributed in the hope that it will be useful, //// but WITHOUT ANY WARRANTY; without even the implied warranty of //// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the //// GNU General Public License for more details. //// //// You should have received a copy of the GNU General Public License //// along with this program; if not, write to the Free Software //// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA //// ------------------------------------------------------------------------ //// Author: Kazumi Ono (AKA onokazu) //// URL: http://www.myweb.ne.jp/, http://www.xoops.org/, http://jp.xoops.org/ //// Project: The XOOPS Project //// ------------------------------------------------------------------------- //include_once XOOPS_ROOT_PATH."/modules/xoopspoll/language/".$xoopsConfig['language']."/main.php";class XoopsPollRenderer{ // private // XoopsPoll class object var $poll; // constructor function XoopsPollRenderer(&$poll) { $this->poll =& $poll; } // public function renderForm() { $content = "<form action='".XOOPS_URL."/modules/xoopspoll/index.php' method='post'>"; $content .= "<table width='100%' border='0' cellpadding='4' cellspacing='1'>\n"; $content .= "<tr class='bg3'><td align='center' colspan='2'><input type='hidden' name='poll_id' value='".$this->poll->getVar("poll_id")."' />\n"; $content .= "<b>".$this->poll->getVar("question")."</b></td></tr>\n"; $options_arr =& XoopsPollOption::getAllByPollId($this->poll->getVar("poll_id")); $option_type = "radio"; $option_name = "option_id"; if ( $this->poll->getVar("multiple") == 1 ) { $option_type = "checkbox"; $option_name .= "[]"; } foreach ( $options_arr as $option ) { $content .= "<tr class='bg1'><td align='center'><input type='$option_type' name='$option_name' value='".$option->getVar("option_id")."' /></td><td align='left'>".$option->getVar("option_text"). "</td></tr>\n"; } $content .= "<tr class='bg3'><td align='center' colspan='2'><input type='submit' value='"._PL_VOTE."' /> "; $content .= "<input type='button' value='"._PL_RESULTS."' class='button' onclick='location=\"".XOOPS_URL."/modules/xoopspoll/pollresults.php?poll_id=".$this->poll->getVar("poll_id")."\"' />"; $content .= "</td></tr></table></form>\n"; return $content; } function assignForm(&$tpl) { $options_arr =& XoopsPollOption::getAllByPollId($this->poll->getVar("poll_id")); $option_type = "radio"; $option_name = "option_id"; if ( $this->poll->getVar("multiple") == 1 ) { $option_type = "checkbox"; $option_name .= "[]"; } $i = 0; foreach ( $options_arr as $option ) { $options[$i]['input'] = "<input type='$option_type' name='$option_name' value='".$option->getVar("option_id")."' />"; $options[$i]['text'] = $option->getVar("option_text"); $i++; } $tpl->assign('poll', array('question' => $this->poll->getVar("question"), 'pollId' => $this->poll->getVar("poll_id"), 'viewresults' => XOOPS_URL."/modules/xoopspoll/pollresults.php?poll_id=".$this->poll->getVar("poll_id"), 'action' => XOOPS_URL."/modules/xoopspoll/index.php", 'options' => $options)); } // public function renderResults() { if ( !$this->poll->hasExpired() ) { $end_text = sprintf(_PL_ENDSAT, formatTimestamp($this->poll->getVar("end_time"), "m")); } else { $end_text = sprintf(_PL_ENDEDAT, formatTimestamp($this->poll->getVar("end_time"), "m")); } echo "<div style='text-align:center'><table width='60%' border='0' cellpadding='4' cellspacing='0'><tr class='bg3'><td><span style='font-weight:bold;'>".$this->poll->getVar("question")."</span></td></tr><tr class='bg1'><td align='right'>$end_text</td></tr></table>"; echo "<table width='60%' border='0' cellpadding='4' cellspacing='0'>"; $options_arr =& XoopsPollOption::getAllByPollId($this->poll->getVar("poll_id")); $total = $this->poll->getVar("votes"); foreach ( $options_arr as $option ) { if ( $total > 0 ) { $percent = 100 * $option->getVar("option_count") / $total; } else { $percent = 0; } echo "<tr class='bg1'><td width='30%' align='left'>".$option->getVar("option_text")."</td><td width='70%' align='left'>"; if ( $percent > 0 ) { $width = intval($percent)*2; echo "<img src='".XOOPS_URL."/modules/xoopspoll/images/colorbars/".$option->getVar("option_color", "E")."' height='14' width='".$width."' align='middle' alt='".intval($percent)." %' />"; } printf(" %d %% (%d)", $percent, $option->getVar("option_count")); echo "</td></tr>"; } echo "<tr class='bg1'><td colspan='2' align='center'><br /><b>".sprintf(_PL_TOTALVOTES, $total)."<br />".sprintf(_PL_TOTALVOTERS, $this->poll->getVar("voters"))."</b>"; if ( !$this->poll->hasExpired() ) { echo "<br />[<a href='".XOOPS_URL."/modules/xoopspoll/index.php?poll_id=".$this->poll->getVar("poll_id")."'>"._PL_VOTE."</a>]"; } echo "</td></tr></table></div><br />"; } function assignResults(&$tpl) { if ( !$this->poll->hasExpired() ) { $end_text = sprintf(_PL_ENDSAT, formatTimestamp($this->poll->getVar("end_time"), "m")); } else { $end_text = sprintf(_PL_ENDEDAT, formatTimestamp($this->poll->getVar("end_time"), "m")); } $options_arr =& XoopsPollOption::getAllByPollId($this->poll->getVar("poll_id")); $total = $this->poll->getVar("votes"); $i = 0; foreach ( $options_arr as $option ) { if ( $total > 0 ) { $percent = 100 * $option->getVar("option_count") / $total; } else { $percent = 0; } $options[$i]['text'] = $option->getVar("option_text"); if ( $percent > 0 ) { $width = intval($percent)*2; $options[$i]['image'] = "<img src='".XOOPS_URL."/modules/xoopspoll/images/colorbars/".$option->getVar("option_color", "E")."' height='14' width='".$width."' align='middle' alt='".intval($percent)." %' />"; } $options[$i]['percent'] = sprintf(" %d %% (%d)", $percent, $option->getVar("option_count")); $options[$i]['total'] = $option->getVar("option_count"); $i++; } if ( !$this->poll->hasExpired() ) { $vote = "<a href='".XOOPS_URL."/modules/xoopspoll/index.php?poll_id=".$this->poll->getVar("poll_id")."'>"._PL_VOTE."</a>"; } $tpl->assign('poll', array('question' => $this->poll->getVar("question"),'end_text' => $end_text,'totalVotes' => sprintf(_PL_TOTALVOTES, $total), 'totalVoters' => sprintf(_PL_TOTALVOTERS, $this->poll->getVar("voters")),'vote' => $vote, 'options' => $options)); }}?>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -