<?php
//建立或修改投票
require("config.php");
######///////////////////////////////////////////
     $systemarr=array('帐号','密码','最大的投票选项','饼图长度','饼图宽度','重复投票','两次投票间隔时间','票数锁定','图形背景','图形前景','前景阴影','阴影开关');
     $systemvar=array('adminname','adminpass','max','width','height','pollflag','polltime','pollmodi','bg','fg','fg1','doublecolor');
     $notearr=array('管理员帐号','管理员密码(若不修改请勿动)','允许设置的最大投票选项','饼图实际长度为本长度*2+50','饼图实际长度为本长度*2+50','on为允许重复投票,off为不允许重复投票','若设置了允许重复投票则本设置无效(秒)','是否允许修改投票的票数,on为允许,off为不允许','投票图形的背景色','投票图形的前景色,即百分之多少的颜色','投票图形前景的阴影色,若关闭了阴影功能,则本选项无效','数据是否阴影显示,若为off则关闭此功能,若为on则开启');
#####/////////////////////////////////////////
function head()
 {
?>
<html>
<head>
<title>红帽投票系统管理</title>
<meta http-equiv="Content-type" content="text/html; charset=gb2312">
<link rel="stylesheet" href="style.css">
<script language="JavaScript">
function runhtml(){
if(document.form1.msg.value!=''){
var edit1=window.open('','sttt','');
edit1.document.open();
edit1.document.write(document.form1.msg.value);
edit1.document.write('<br>本页面无法执行投票操作,要运行投票程序请把本页面的源程序保存在投票目录下再运行');
edit1.document.close();}else alert('你没有任何代码，无法运行！')
                  }
</script>
</head>
<body>
<?php
 }
function bottom()
 {
?>
 </body>
 </html>
<?php
 }
function error($msg)
 {
   echo $msg;exit;
 }
###########################################
if($HTTP_GET_VARS["action"]=="logout")
 {
  session_start();
  session_destroy();
  header("Location:".$HTTP_SERVER_VARS["PHP_SELF"]);
 }
if($HTTP_POST_VARS["action"]=="login")
 {
   if(!$HTTP_POST_VARS["name"]||!$HTTP_POST_VARS["pass"]) error("名字或密码不能为空<br><button onClick=\"JavaScript:window.history.back(-1)\">返回</button>");
   if(trim($HTTP_POST_VARS["name"])!=$adminname) error("用户名不正确<br><button onClick=\"JavaScript:window.history.back(-1)\">返回</button>");
   if(trim($HTTP_POST_VARS["pass"])!=$adminpass) error("密码不正确<br><button onClick=\"JavaScript:window.history.back(-1)\">返回</button>");
   session_start();
   session_register("session_name");
   session_register("session_pass");
   $session_name=$adminname;
   $session_pass=$adminpass;
   header("Location:".$HTTP_SERVER_VARS["PHP_SELF"]);
 }
else
 {
  session_start();
  if(($HTTP_SESSION_VARS["session_name"]!=$adminname)||($HTTP_SESSION_VARS["session_pass"]!=$adminpass))
  {
  head();
//  echo $HTTP_SESSION_VARS["session_name"]."===".$HTTP_SESSION_VARS["session_pass"]."<br>";
?>
<br>
<br>
<center>
<span style="font-size:15px;color:#9800cc">登入投票管理系统</span>
<form action="<?PHP echo $HTTP_SERVER_VARS["PHP_SELF"]?>" method="post">
<input type="hidden" name="action" value="login">
用户名:<input type="text" name="name" value="">&nbsp;密码:<input type="password" name="pass" value="">&nbsp;<input type="submit" name="sub" value="登入">
</form>
<hr size=1 color=black align="center">
Copyright(c)[2002-2002] <a href="http://2002.buyionline.net" target="_blank" title="By Redhat">2002.buyionline.net</a> All Rights Reserved
</center>
<?php
  bottom();
   }

  elseif($HTTP_POST_VARS["action"]=="modify")   //修改投票选项
    {
      $checkarr=array();//判断是否有重复的选项
      $polltype=$HTTP_POST_VARS["polltype"];
      $pollcolor=$HTTP_POST_VARS["pollcolor"];
      $pollnum=$HTTP_POST_VARS["pollnum"];
      for($i=0;$i<sizeof($polltype);$i++)
      {
        if(!$polltype[$i]) continue;
        if($i==0) {$data=$polltype[$i]."\n";continue;}
        $i1=$i-1;
        if(!$pollnum[$i]) $pollnum[$i1]=0;
         if(!in_array($polltype[$i],$checkarr))
         {
          $data=$data.$polltype[$i]."^_^".$pollnum[$i1]."^_^".$pollcolor[$i1]."\n";
          $checkarr[]=$polltype[$i];
         }
      }
      $fp=fopen($polldata,"w");
      fwrite($fp,$data);
      fclose($fp);
      header("Location:".$HTTP_SERVER_VARS["PHP_SELF"]);
    }

  elseif($HTTP_GET_VARS["action"]=="del")    //删除一个投票选项
    {
      $pollid=$HTTP_GET_VARS["pollid"];
      $farr=file($polldata);
      unset($farr[$pollid]);
      for($i=0;$i<sizeof($farr);$i++) $data=$data.trim($farr[$i])."\n";
      $fp=fopen($polldata,"w");
      fwrite($fp,$data);
      fclose($fp);
      header("Location:".$HTTP_SERVER_VARS["PHP_SELF"]);
    }

  elseif($HTTP_POST_VARS["action"]=="modify_system") //修改系统设置
    {
      $adminname=$HTTP_POST_VARS["adminname"];
      $adminpass=$HTTP_POST_VARS["adminpass"];
      $max=$HTTP_POST_VARS["max"];
      $width=$HTTP_POST_VARS["width"];
      $height=$HTTP_POST_VARS["height"];
      $pollflag=$HTTP_POST_VARS["pollflag"];
      $polltime=$HTTP_POST_VARS["polltime"];
      $pollmodi=$HTTP_POST_VARS["pollmodi"];
      $out=$HTTP_POST_VARS["out"];
      $bg=$HTTP_POST_VARS["bg"];
      $fg=$HTTP_POST_VARS["fg"];
      $fg1=$HTTP_POST_VARS["fg1"];
      $doublecolor=$HTTP_POST_VARS["doublecolor"];
      $polldata="poll.txt";
      $pollhtml="poll.htm";
      $systemdata="<?php\n";
      $systemdata.="\$polldata=\"".$polldata."\";         //投票数据文件\n";
      $systemdata.="\$pollhtml=\"".$pollhtml."\";        //投票的模板文件,每次修改了投票的设置后程序会自动重建此文件\n";
      for($i=0;$i<sizeof($systemarr);$i++)
        {
            $systemdata.="$".$systemvar[$i]."=\"".${$systemvar[$i]}."\";           //".$notearr[$i]."\n";
        }
      $systemdata.="?>";
      $fp=fopen("config.php","w");
      fwrite($fp,$systemdata);
      fclose($fp);
      header("Location:".$HTTP_SERVER_VARS["PHP_SELF"]);
    }

  else
    {
    $colorarr=array('','ffff00','abcded','339988','33ddcc','cdefab','abcdef','3ff6ff','ddccff','99ffdd');
    head();
#############################################################################
     echo "<table cellspacing=1 cellpadding=2 width=600 align=\"center\" bgcolor=\"black\"><tr bgcolor=\"white\"><td>";
     echo "<ul><b>简单说明:</b><hr size=1 color=black align=\"center\"><li>程序采用PHP+文本的方式:)</li><li>本投票系统需要GD库的支持,若服务器不支持则无法使用本系统</li><li>使用时需设置<font color=red>polldata.txt,poll.htm</font>和<font color=red>config.php</font>两个文件属性为777</li><li>可以选择两种方式查看投票,默认的为饼图</li><li>可以自定义投票图形的背景色,前景色及修改投票数目...</li><li>程序自动过滤重复的投票选项</li><li>修改了管理员帐号或密码之后需要重新登入以使修改生效</li><li>单用户版,不支持多用户</li><li>其它问题请到<a href=\"http://2002.buyionline.net/2002/gbook.php\" title=\"By Redhat\">http://2002.buyionline.net/2002/gbook.php</a>提出,谢谢!</li></ul>";
     echo "</td></tr></table>";
############################################################################
      $farr=file($polldata);
         echo "<form action=\"".$HTTP_SERVER_VARS["PHP_SELF"]."\" method=\"post\">";
         echo "<input type=\"hidden\" name=\"action\" value=\"modify\">";
         echo "<table cellspacing=1 cellpadding=3 bgcolor=\"#b50000\" width=600 align=\"center\">";
         echo "<tr bgcolor=\"#336699\"><td align=\"center\" colspan=5><font color=white>添加/修改/删除投票项目</font></td></tr>";
         echo "<tr bgcolor=\"white\" align=\"center\"><td>选项</td><td>名称</td><td>票数</td><td>颜色</td><td>删除</td></tr>";
      for($i=0;$i<=$max;$i++)
       {
         $farr[$i]=trim($farr[$i]);
         $tmp=explode("^_^",$farr[$i]);
         $numarr[]=$i;
         $tmparr[]=$tmp[0];
         if($i==0)
           {
              echo "<tr bgcolor=\"#ccddee\"><td>投票标题</td><td colspan=4><input type=\"text\" name=polltype[] value=\"".$tmp[0]."\" size=70></td></tr>";
              continue;
           }
         $i1=$i;

         if(!$tmp[0])
                     {
                       $color=$colorarr[$i];
                       $del="<font color=gray>删除</font>";
                     }
         else
              {
                 $color=$tmp[2];
                 $del="<a href=\"".$HTTP_SERVER_VARS["PHP_SELF"]."?action=del&pollid=".$i."\">删除</a>";
              }

         if($pollmodi=="off") $readonly=" disabled";
         if(!$tmp[0])
           {
            ;
            // $readonly1=" disabled";
           //  $alert=" onClick=\"JavaScript:alert('本投票选项为空,无法修改');\"";
           }
         /*
                 $color=$tmp[2];
                 $del="<a href=\"".$HTTP_SERVER_VARS["PHP_SELF"]."?action=del&pollid=".$i."\">删除</a>";
         */
         echo "<tr bgcolor=\"#f9afafa\" align=\"center\"><td>选项".$i1."</td><td><input type=\"text\" name=\"polltype[]\" value=\"".$tmp[0]."\"></td><td><input type=\"text\" name=\"pollnum[]\" value=\"".$tmp[1]."\"".$readonly."></td><td><input type=\"text\" name=\"pollcolor[]\"".$alert." value=\"".$color."\" ".$readonly1."></td><td>".$del."</td></tr>";
       }
         echo "<tr bgcolor=\"gray\"><td align=\"center\" colspan=\"5\"><input type=\"submit\" name=\"sub\" value=\"修改投票\"></td></tr></table></form>";
         echo "<table cellspacing=1 cellpadding=0 width=600 bgcolor=\"black\" align=\"center\"><tr bgcolor=\"cccddd\"><td><font style=\"font-size:14px;color:black\">投票代码(直接复制保存为一个HTML文件即可用,请注意\"action\"路径,默认在poll目录下)</font></td></tr>";
         echo "<tr bgcolor=\"#f9f9aa\"><td><form name=\"form1\"><textarea cols=60 rows=7 name=msg>";
         $msg='
         <html>
         <head><title>投票--'.$tmparr[0].'</title>
         <meta http-equiv="Content-type" content="text/html; charset=gb2312">
         </head>
         <body>
         ';
         $msg.="<form name=\"vote\" action=poll.php method=\"post\" target=\"pollpage\">";
         $msg.="<table cellspacing=1 cellpadding=3 bgcolor=\"#cdefdd\" align=\"center\">\n";
         $msg.="<tr><td align=\"center\">".$tmparr[0]."</td></tr>";
//         $msg.="<br>\n".$tmparr[0]."<br>\n";
          for($i=1;$i<sizeof($tmparr);$i++)
            {
               if(!$tmparr[$i]) continue;
               /*if($i==1) $checked=" checked";
               else $checked="";*/
               $msg.="<tr bgcolor=\"white\"><td><input type=\"radio\" name=\"pollname\" value=\"".$tmparr[$i]."\"".$checked.">".$tmparr[$i]."</td></tr>\n";
            }
         $msg.="<tr><td><input type=\"submit\" name=\"sub\" value=\"投票\" onClick=\"return poll()\">&nbsp;<input type=\"button\" name=\"sub\" value=\"结果\" onClick=\"return viewpoll()\"></td></tr>";
         $msg.="</table></form>";
         $msg.='
<script language="JavaScript">
function poll(){
ifSelect=false;
 for(i=0;i<document.vote.pollname.length;i++){
    if(document.vote.pollname[i].checked == true){
          ifSelect=true;
           break;
          }
 }
  if(ifSelect==false){
  window.alert("请选择投票选项！");
  return false;
  }
  else gopoll();
               }

function gopoll()
 {
  var popupWin = window.open(\'about:blank\', \'pollpage\', \'scrollbars=yes,width=600,height=400\');
 }
 function viewpoll()
  {
    window.open(\'viewpoll.php\', \'pollpage\', \'scrollbars=yes,width=600,height=400\');
  }
 </script>
 </body>
 </html>
 ';
         echo $msg;
         echo "</textarea><br><button onClick=\"JavaScript:window.open('poll.htm','','')\">点击测试投票效果</button>(已经自动生成HTML文件,请根据需要自行更改该HTML文件)</form></td></tr>";
         echo "</table>";
         $fp=fopen($pollhtml,"w");
         fwrite($fp,$msg);
         fclose($fp);
#######################################################################
     echo "<form action=\"".$HTTP_POST_VARS["PHP_SELF"]."\" name=\"form2\" method=\"post\">";
     echo "<input type=\"hidden\" name=\"action\" value=\"modify_system\">";
     echo "<table cellspacing=1 cellpadding=0 width=600 bgcolor=\"#ff99cc\" align=\"center\"><tr bgcolor=\"cdcdff\"><td colspan=2><font style=\"font-size:20px;color:#b50000\">系统设置(注意把config.php文件属性设置为777,否则无法修改)</font></td></tr>";
     for($i=0;$i<sizeof($systemarr);$i++)
      {
          if($systemvar[$i]=="adminpass") $showtype="password";
          else $showtype="text";
          echo "<tr bgcolor=\"white\"><td>".$systemarr[$i]."</td><Td><input type=\"".$showtype."\" name=\"".$systemvar[$i]."\" value=\"".${$systemvar[$i]}."\">&nbsp;<font style=\"font-size:12px;color:#000fff\">".$notearr[$i]."</font></td></tr>";
      }
     echo "<tr bgcolor=\"#3399aa\"><td align=\"center\" colspan=2><input type=\"submit\" name=\"sub\" value=\"修改设置\"></td></tr>";
     echo "</table>";
     echo "</form>";
     echo "<table cellspacing=1 cellpadding=2 width=600 align=\"center\" bgcolor=\"black\"><tr bgcolor=\"white\"><td>小技巧:若设置多个投票的选项为空,则点击\"<font color=\"red\">修改投票</font>\"按钮时可一次删除多个选项为空的投票!<br><font color=blue>注意:在输入每个投票选项的颜色控制时,只能是16进制的颜色,可以在颜色代码前加\"<font color=\"#9900dd\">#</font>\",当然也可不加!</font><br>建议初始投票选项时,把该选项的票数设为<font color=red>1</font>,为了生成图形的美观啦!另外提醒:<font color=black><b>投票选项总数不要超过10项</b></font></td></tr></table>";
######################################################################
         echo "<hr size=1 color=gray align=\"center\"><center><a href=\"".$HTTP_SERVER_VARS["PHP_SELF"]."?action=logout\" title=\"退出管理\"><=退出管理</a></center>";
    bottom();
    }
 }
?>