[外掛](ALL)工會投票系統

版主: 涅魂, 簫哥


涅魂
 
文章: 4463
註冊時間: 2004-01-04 11:17 am
來自: Taiwan
性別: 男生

[外掛](ALL)工會投票系統

文章涅魂 » 2006-03-12 12:55 am

代碼: 選擇全部
//=====================================================
// 外掛名稱:工會投票系統
// 作者: 涅魂
// 創作時間:2006.02.03
// 最後修改時間:2006.03.03
//=====================================================


※v3版本工會投票系統請至此處安裝

雖然提名為公會投票功能,但其實不只有自己的工會成員才能投票喔~

另外,因為程式中有用到mbstring模組中的函式,所以請確認您的伺服器中有載入mbstring.dll模組

這看似簡單,其實非常重要,否則程式在處理字元時中文字體會變成亂碼...

範例圖片1(投票列表)
範例圖片2(投票內容)
範例圖片3(投票統計)

新增資料表簡介 寫:wog_vote:

v_id 流水號
g_id 投票主辦工會
v_title 投票標題
v_name 投票發起人
v_text 發起原因
v_num 可投票數
v_lv 投票權限,1=工會內部成員,2=全體工會
v_date 投票舉辦日期
v_enddate 投票結束日期
v_record 投票玩家紀錄


wog_vote_list:

vl_id 流水號
v_id 投票主數據編號
vl_title 項目標題
vl_count 項目投票數


當投票過期30天以上時程式會自動將該筆投票以及相關項目自動刪除~

##########開始安裝##########
在您的資料庫中執行下列SQL語法 寫:CREATE TABLE `wog_vote` (
`v_id` int(10) unsigned NOT NULL auto_increment,
`g_id` int(10) unsigned NOT NULL default '0',
`v_title` varchar(30) NOT NULL default '',
`v_name` varchar(30) NOT NULL default 'N/A',
`v_text` text NOT NULL,
`v_num` tinyint(2) unsigned NOT NULL default '1',
`v_lv` tinyint(1) unsigned NOT NULL default '1',
`v_date` int(10) unsigned NOT NULL default '0',
`v_enddate` int(10) unsigned NOT NULL default '0',
`v_record` text NOT NULL,
PRIMARY KEY (`v_id`)
) TYPE=MyISAM AUTO_INCREMENT=1 ;

CREATE TABLE `wog_vote_list` (
`vl_id` int(10) unsigned NOT NULL auto_increment,
`v_id` int(10) unsigned NOT NULL default '0',
`vl_title` varchar(30) NOT NULL default '',
`vl_count` int(10) unsigned NOT NULL default '0',
PRIMARY KEY (`vl_id`)
) TYPE=MyISAM AUTO_INCREMENT=1 ;


開啟檔案wog/wog.js 寫:Find
代碼: 選擇全部
view_name.write('<tr><td><input type="button" value="佈告欄" onClick="parent.act_click(\'group\',\'book\')"> </td><td class=b1><--公會佈告欄<會員專用></td></tr>');

After Add
代碼: 選擇全部
[color=red]view_name.write('<tr><td><input type="button" value="投票所" onClick="parent.vote()"></td><td class=b1><--觀看由工會所舉辦的投票活動</td></tr>');[/color]

Find
代碼: 選擇全部
function group_book_view(temp)

Before Add
代碼: 選擇全部
[color=red]function vote()
{
   var view_name=parent.wog_view.document;
   message_cls();
   view_name.write(temp_table1);
   view_name.write('<tr><td bgcolor=#4B689E colspan=2>工會投票所</td></tr>');
   view_name.write('<tr><td><input type="button" value="顯示投票" onclick="parent.act_click(\'vote\',\'list\')"></td><td><input type="button" value="建立投票" onclick="parent.vote_create()"></td></tr>');
   view_name.write(temp_table2);
}

function vote_list(temp)
{
   var view_name=parent.wog_view.document;
   message_cls();
   view_name.write('<form action="wog_act.php" method="POST" target="mission">');
   view_name.write(temp_table1);
   view_name.write('<tr bgcolor=#4B689E><td width=4%>選擇</td><td width=24%>投票主題</td><td width=10%>發起人</td><td width=10%>發起工會</td><td width=12%>投票量</td><td width=20%>開始時間</td><td width=20%>結束時間</td></tr>');
   if(temp)
   {
      var s1=temp.split(";");
      for(var li=0;li<s1.length;li++)
      {
         var s=s1[li].split(",");
         view_name.write('<tr><td><input type="radio" name="v_id" value="'+s[0]+'"></td><td>'+s[1]+'</td><td>'+s[2]+'</td><td>'+s[3]+'</td><td>'+s[6]+'</td><td>'+s[4]+'</td><td>'+s[5]+'</td></tr>');
      }
      view_name.write('<tr><td colspan=7><input type="submit" value="閱讀"> <input type="button" value="刪除" onclick="parent.foot_trun(\'vote\',\'delete\',\'\',\'\',document.forms[0].v_id);"></td></tr>');
      
   }else
   {
      view_name.write('<tr><td colspan=7>目前沒有任投票</td></tr>');
   }
   view_name.write(temp_table2);
   view_name.write('<input type="hidden" name="f" value="vote">');
   view_name.write('<input type="hidden" name="act" value="view">');
   view_name.write('</form>');
}

function vote_view(temp,id,title,name,cause,num,begindate,enddate)
{
   var view_name=parent.wog_view.document;
   message_cls();
   view_name.write('<form action="wog_act.php" method="POST" target="mission">');
   view_name.write(temp_table1);
   view_name.write('<tr><td colspan=3 bgcolor=#3B588E>'+title+'</td></tr>');
   view_name.write('<tr><td bgcolor=#4B689E>發起人</td><td bgcolor=#4B689E>開始時間</td><td bgcolor=#4B689E>結束時間</td></tr>');
   view_name.write('<tr><td width=30% height=32>'+name+'</td><td width=35%>'+begindate+'</td><td width=35%>'+enddate+'</td></tr>');
   view_name.write('<tr><td colspan=3 bgcolor=#4B689E>投票原因</td></tr>');
   view_name.write('<tr><td colspan=3><br>'+cause+'<br><br></td></tr>');
   view_name.write('<tr><td colspan=3 bgcolor=#4B689E>投票項目</td></tr>');
   view_name.write('<tr><td colspan=3>每人最多可投 <font color=yellow>'+num+'</font> 票<br><br>');
   view_name.write('<table border=0 width=50% align=center>');
   var s1=temp.split(";");
   for(var li=0;li<s1.length;li++)
   {
      var s=s1[li].split(",");
      var button_type=(parseInt(num)>1)?"<input type=checkbox name=list[] value="+s[0]+">":"<input type=radio name=list value="+s[0]+">";
      view_name.write('<tr><td width=5%>'+button_type+'</td><td style="text-align:left">'+s[1]+'</td></tr>');
   }
   view_name.write('</table><br><br></td></tr>');
   view_name.write('<tr><td colspan=3><input type=submit value="投票"> <input type="button" value="結果" onclick="parent.act_click(\'vote\',\'end_view\','+id+')"></td></tr>');
   view_name.write(temp_table2);
   view_name.write('<input type="hidden" name="f" value="vote">');
   view_name.write('<input type="hidden" name="act" value="add">');
   view_name.write('<input type="hidden" name="v_id" value="'+id+'">');
   view_name.write('</form>');
}

function vote_end_view(temp,title,tatal)
{
   var view_name=parent.wog_view.document;
   message_cls();
   view_name.write('<tr><td></td><td></td><td></td><td></td></tr>');
   view_name.write(temp_table1);
   view_name.write('<tr><td colspan=4 bgcolor="#4B689E">投票結果</td></tr>');
   view_name.write('<tr><td colspan=2 bgcolor="#3B588E">'+title+'</td><td colspan=2 bgcolor="#3B588E">總票數: '+tatal+' 票</td></tr>');
   var s1=temp.split(";");
   for(var li=0;li<s1.length;li++)
   {
      var s=s1[li].split(",");
      var per=(parseInt(s[1]) > 0)?Math.round((parseInt(s[1])/parseInt(tatal))*1000)/10:0;
      view_name.write('<tr><td width=45%>'+s[0]+'</td><td width=15% style="text-align:left"><img src='+img+'bar/bxg.gif border=0 width='+per+'% height=12></td><td width=20%>'+s[1]+' 人</td><td width=20%>'+per+'%</td></tr>');
   }
   view_name.write(temp_table2);
}

function vote_create()
{
   var view_name=parent.wog_view.document;
   message_cls();
   view_name.write('<form action="wog_act.php" method="POST" target="mission">');
   view_name.write(temp_table1);
   view_name.write('<tr><td bgcolor=#4B689E colspan=2>建立新投票</td></tr>');
   view_name.write('<tr><td>投票主題</td><td><input type="text" name="title" size=30 maxlength=30></td></tr>');
   view_name.write('<tr><td valign="top">投票原因</td><td><textarea name="cause" cols=24 rows=6></textarea></td></tr>');
   view_name.write('<tr><td valign="top">投票項目<br><非必要項目請留空></td><td>');
   for(var a=1;a<=10;a++)
   {
      view_name.write('<input type="text" name="list'+a+'" size=30 maxlength=30><br>');
   }
   view_name.write('</td></tr>');
   view_name.write('<tr><td>投票數量</td><td>');
   for(var a=1;a<=5;a++)
   {
      var check=(a==1)?"checked":"";
      view_name.write('<input type="radio" name="num" value="'+a+'" '+check+'>'+a+' 票 ');
   }
   view_name.write('</td></tr>');
   view_name.write('<tr><td>投票權限</td><td><input type="radio" name="lv" value="1" checked>工會內部 <input type="radio" name="lv" value="2">全體工會</td></tr>');
   view_name.write('<tr><td>投票時間</td><td><select name=date>');
   for(var a=1;a<=30;a++)
   {
      view_name.write('<option value="'+a+'">'+a+' 天 ');
   }
   view_name.write('</select></td></tr>');
   view_name.write('<tr><td colspan=2><input type="submit" value="建立"> <input type="reset" value="重寫"></td></tr>');
   view_name.write(temp_table2);
   view_name.write('<input type="hidden" name="f" value="vote">');
   view_name.write('<input type="hidden" name="act" value="create">');
   view_name.write('</form>');
}[/color]


開啟檔案wog/wog_act.php 寫:Find
代碼: 選擇全部
case "pet":

Before Add
代碼: 選擇全部
[color=red]   case "vote":
      include("./class/wog_act_vote.php");
      $wog_act_class= new wog_act_vote;
      switch($_POST["act"])
      {
         case "create":
            $wog_act_class->vote_create($HTTP_COOKIE_VARS["wog_cookie"]);
         break;
         case "list":
            $wog_act_class->vote_list($HTTP_COOKIE_VARS["wog_cookie"]);
         break;
         case "view":
            $wog_act_class->vote_view($HTTP_COOKIE_VARS["wog_cookie"]);
         break;
         case "end_view":
            $wog_act_class->vote_end_view($HTTP_COOKIE_VARS["wog_cookie"]);
         break;
         case "add":
            $wog_act_class->vote_add($HTTP_COOKIE_VARS["wog_cookie"]);
         break;
         case "delete":
            $wog_act_class->vote_delete($HTTP_COOKIE_VARS["wog_cookie"]);
         break;
      }
   break;[/color]

建立檔案wog/class/wog_act_vote.php 寫:
代碼: 選擇全部
[color=red]<?
class wog_act_vote{
function vote_create($user_id)
{
   global $DB_site,$_POST;
   $p=$DB_site->query_first("SELECT a.p_name,a.p_g_id,b.g_adm_id1 FROM wog_player a,wog_group_main b WHERE a.p_id=$user_id AND b.g_id=a.p_g_id");
   if($p["p_g_id"]==0)
   {
      alertWindowMsg("沒有所屬工會");
   }
   if($p["g_adm_id1"] != $user_id)
   {
      alertWindowMsg("你沒有發起投票的權限");
   }
   while(list($key,$value) = each($_POST))
   {
      $_POST[$key]=mb_convert_encoding($_POST[$key],"BIG-5","auto");
   }
   if(empty($_POST["title"]))
   {
      alertWindowMsg("沒有填入投票主題");
   }
   if(empty($_POST["list1"]) || empty($_POST["list2"]))
   {
      alertWindowMsg("前兩項目必須填寫");
   }
   $vote=$DB_site->query_first("SELECT v_id FROM wog_vote WHERE v_name='$p[p_name]' AND v_title='$_POST[title]'");
   if($vote["v_id"])
   {
      alertWindowMsg("無法建立相同的投票主題");
   }
   if(empty($_POST["cause"]))
   {
      $_POST["cause"]="無";
   }
   $enddate=time()+($_POST["date"]*60*60*24);
   $DB_site->query("INSERT INTO wog_vote(v_id,g_id,v_title,v_name,v_text,v_num,v_lv,v_date,v_enddate,v_record)VALUES('','$p[p_g_id]','".strip_tags($_POST[title])."','$p[p_name]','".strip_tags($_POST[cause])."','$_POST[num]','$_POST[lv]','".time()."','$enddate','')");
   $vote=$DB_site->query_first("SELECT v_id FROM wog_vote WHERE v_title='$_POST[title]' AND v_name='$p[p_name]'");
   for($li=1;$li<=10;$li++)
   {
      if(!empty($_POST["list".$li]))
      {
         $DB_site->query("INSERT wog_vote_list(vl_id,v_id,vl_title,vl_count)VALUES('','$vote[v_id]','".strip_tags($_POST["list".$li])."','0')");
      }
   }
   showscript("parent.job_end(10);");
}

function vote_list($user_id)
{
   global $DB_site;
   $result=$DB_site->query("SELECT v_id FROM wog_vote WHERE v_enddate<".time()."-60*60*24*30");
   if($vote=$DB_site->fetch_array($result))
   {
      $DB_site->query("DELETE FROM wog_vote WHERE v_id=$vote[v_id]");
      $DB_site->query("DELETE FROM wog_vote_list WHERE v_id=$vote[v_id]");
   }
   $DB_site->free_result($result);
   $p=$DB_site->query_first("SELECT p_g_id FROM wog_player WHERE p_id=$user_id");
   $s="";
   $result=$DB_site->query("SELECT a.v_id,a.v_title,a.v_name,a.v_date,a.v_enddate,b.g_name FROM wog_vote a,wog_group_main b WHERE (a.g_id=$p[p_g_id] OR v_lv=2) AND b.g_id=a.g_id ORDER BY a.v_enddate DESC");
   while($vote=$DB_site->fetch_array($result))
   {
      $count=$DB_site->query_first("SELECT sum(vl_count) AS sum FROM wog_vote_list WHERE v_id=$vote[v_id]");
      $enddate=(time()>$vote["v_enddate"])?"<font color=red>".date("y-m-d h:i:s",$vote["v_enddate"])."</font>":"<font color=yellow>".date("y-m-d h:i:s",$vote["v_enddate"])."</font>";
      $s.=";".$vote["v_id"].",".$vote["v_title"].",".$vote["v_name"].",".$vote["g_name"].",".date("y-m-d h:i:s",$vote["v_date"]).",".$enddate.",".$count["sum"];
   }
   $s=substr($s,1);
   showscript("parent.vote_list('$s');");
}

function vote_view($user_id)
{
   global $DB_site,$_POST;
   if(empty($_POST["v_id"]) || !is_numeric($_POST["v_id"]))
   {
      alertWindowMsg("沒有選擇投票主題");
   }
   $p=$DB_site->query_first("SELECT a.p_g_id,b.v_id,b.g_id,b.v_title,b.v_name,b.v_text,b.v_num,b.v_lv,b.v_date,b.v_enddate FROM wog_player a,wog_vote b WHERE p_id=$user_id AND b.v_id='$_POST[v_id]'");
   if($p["p_g_id"] != $p["g_id"] && $p["v_lv"] != 2)
   {
      alertWindowMsg("你沒有參與這個投票的權限");
   }
   $s="";
   $result=$DB_site->query("SELECT vl_id,vl_title FROM wog_vote_list WHERE v_id=$p[v_id] ORDER BY vl_id ASC");
   while($list=$DB_site->fetch_array($result))
   {
      $s.=";".$list["vl_id"].",".$list["vl_title"];
   }
   $s=substr($s,1);
   $vote["v_text"]=str_replace("\r\n","<br>",$p["v_text"]);
   showscript("parent.vote_view('$s','$p[v_id]','$p[v_title]','$p[v_name]','$p[v_text]','$p[v_num]','".date("Y-m-d h:i:s",$p["v_date"])."','".date("Y-m-d h:i:s",$p["v_enddate"])."');");
}

function vote_end_view($user_id)
{
   global $DB_site,$_POST;
   $vote=$DB_site->query_first("SELECT v_title FROM wog_vote WHERE v_id=$_POST[temp_id]");
   $countall=0;
   $s="";
   $result=$DB_site->query("SELECT vl_title,vl_count FROM wog_vote_list WHERE v_id=".$_POST["temp_id"]." ORDER BY vl_id ASC");
   while($list=$DB_site->fetch_array($result))
   {
      $countall+=Intval($list["vl_count"]);
      $s.=";".$list["vl_title"].",".$list["vl_count"];
   }
   $s=substr($s,1);
   showscript("parent.vote_end_view('$s','$vote[v_title]',$countall);");
}

function vote_add($user_id)
{
   global $DB_site,$_POST;
   if(empty($_POST["list"]))
   {
      alertWindowMsg("沒有選擇投票項目");
   }
   $p=$DB_site->query_first("SELECT a.p_g_id,b.g_id as v_g_id,b.v_num,b.v_lv,b.v_record,b.v_enddate FROM wog_player a,wog_vote b WHERE a.p_id=$user_id AND b.v_id=$_POST[v_id]");
      if($p["v_enddate"] < time())
   {
      alertWindowMsg("投票已過期");
   }
   if($p["p_g_id"] != $p["v_g_id"] && $p["v_lv"] ==1)
   {
      alertWindowMsg("你沒有參與這個投票的權限");
   }
   if($p["v_record"] != "")
   {
      $record=@explode(",",$p["v_record"]);
      if(array_search($user_id,$record) !== false)
      {
         alertWindowMsg("您已投過此篇投票");
      }
   }
   if($p["v_num"] < count($_POST["list"]))
   {
      alertWindowMsg("超過限定可投票數");
   }
   $p["v_record"]=(empty($p["v_record"]))?$user_id:$p["v_record"].",".$user_id;
   $DB_site->query("UPDATE wog_vote SET v_record='$p[v_record]' WHERE v_id=$_POST[v_id]");
   if($p["v_num"] > 1)
   {
      for($li=0;$li < count($_POST["list"]);$li++)
      {
         $DB_site->query("UPDATE wog_vote_list SET vl_count=vl_count+1 WHERE vl_id='".$_POST["list"][$li]."'");
      }
   }else
   {
      $DB_site->query("UPDATE wog_vote_list SET vl_count=vl_count+1 WHERE vl_id='".$_POST["list"]."'");
   }
   showscript("parent.job_end(15);");
}

function vote_delete($user_id)
{
   global $DB_site,$_POST;
   $p=$DB_site->query_first("SELECT a.p_g_id,b.g_id,b.g_adm_id1 FROM wog_player a,wog_group_main b,wog_vote c WHERE a.p_id=$user_id AND c.v_id='$_POST[temp_id2]' AND b.g_id=c.g_id");
   if(!isset($p) || empty($p))
   {
      alertWindowMsg("沒有所屬工會");
   }
   if($p["g_adm_id1"] != $user_id || $p["p_g_id"] != $p["g_id"])
   {
      alertWindowMsg("非該工會會長無法刪除投票");
   }
   $DB_site->query("DELETE FROM wog_vote WHERE v_id=$_POST[temp_id2]");
   $DB_site->query("DELETE FROM wog_vote_list WHERE v_id=$_POST[temp_id2]");
   showscript("parent.job_end(1);");
}
}
?>[/color]

完畢~有問題請提出。 :o


最後由 涅魂 於 2007-04-08 3:02 pm 編輯,總共編輯了 2 次。

想不通
 
文章: 185
註冊時間: 2005-11-06 2:37 pm

文章想不通 » 2006-03-12 1:39 pm

請問這個有什麼用途???


我的wog有空就玩玩吧

lts
 
文章: 126
註冊時間: 2005-04-23 9:51 am
來自: 緣份

文章lts » 2006-03-12 2:04 pm

想不通 寫:請問這個有什麼用途???


投票=.= :D :D :D


http://lts.sytes.net

失敗的我..................


涅魂
 
文章: 4463
註冊時間: 2004-01-04 11:17 am
來自: Taiwan
性別: 男生

文章涅魂 » 2007-04-08 3:01 pm

代碼: 選擇全部
//=====================================================
// 外掛名稱:工會投票系統 For WOGV3
// 作者: 涅魂
// 創作時間:2006.02.03
// 最後修改時間:2006.04.08
//=====================================================

更新至v3,更新內容如下
  • 不需要搭配mb_string.dll模組及可使用
  • 建立新投票的表單配置更新,並加入[新增項目]按鈕以達到動態新增項目的效果
  • 顯示投票內容的配置更新
  • 顯示投票頁面追加[投票結果]按鈕,並將[閱讀]、[刪除]按鈕改成[閱讀投票]、[刪除投票]
  • 顯示投票結果頁面追加[顯示投票]按鈕以顯示其他投票

安裝前請先安裝下列文章內的form_send()函式至wog.js

[分享]解決表單亂碼問題

[hr]
舊版升至新版
因為這次的改版內容較細微,若列出詳細修改方式可能會讓修改變得較為複雜

因此僅列出wog.js的修改,wog_act_vote.php請使用下方提供的下載點下載後覆蓋,若有不便之處請見諒
開啟檔案wog.js 寫:尋找
代碼: 選擇全部
function vote()
{
..........
}

改為
代碼: 選擇全部
function vote()
{
   var view_name=parent.wog_view.document;
   message_cls();
   view_name.write(temp_table1);
   view_name.write('<tr><td bgcolor=#4B689E colspan=2>工會投票所</td></tr>');
   view_name.write('<tr><td><input type="button" value="[color=red]顯示投票[/color]" onclick="parent.act_click(\'vote\',\'list\')"></td><td><input type="button" value="[color=red]建立投票[/color]" onclick="parent.vote_create()"></td></tr>');
   view_name.write(temp_table2);
}

尋找
代碼: 選擇全部
function vote_list(temp)
{
..........
}

改為
代碼: 選擇全部
function vote_list(temp)
{
   var view_name=parent.wog_view.document;
   message_cls();
   view_name.write('<form action="wog_act.php" method="POST" target="mission">');
   view_name.write(temp_table1);
   view_name.write('<tr bgcolor=#4B689E><td width=4%>選擇</td><td width=24%>投票主題</td><td width=10%>發起人</td><td width=10%>發起工會</td><td width=12%>投票量</td><td width=20%>開始時間</td><td width=20%>結束時間</td></tr>');
   if(temp)
   {
      var s1=temp.split(";");
      for(var li=0;li<s1.length;li++)
      {
         var s=s1[li].split(",");
         view_name.write('<tr><td><input type="radio" name="v_id" value="'+s[0]+'"></td><td>'+s[1]+'</td><td>'+s[2]+'</td><td>'+s[3]+'</td><td>'+s[6]+'</td><td>'+s[4]+'</td><td>'+s[5]+'</td></tr>');
      }
      view_name.write('<tr><td colspan=7><input type="submit" value="[color=red]閱讀內容[/color]"> [color=red]<input type="button" value="投票結果" onclick="parent.foot_trun(\'vote\',\'end_view\',\'\',\'\',document.forms[0].v_id);">[/color] <input type="button" value="[color=red]刪除投票[/color]" onclick="parent.foot_trun(\'vote\',\'delete\',\'\',\'\',document.forms[0].v_id);"></td></tr>');
      
   }else
   {
      view_name.write('<tr><td colspan=7>目前沒有任投票</td></tr>');
   }
   view_name.write(temp_table2);
   view_name.write('<input type="hidden" name="f" value="vote">');
   view_name.write('<input type="hidden" name="act" value="view">');
   view_name.write('</form>');
}

尋找
代碼: 選擇全部
function vote_view(temp,id,title,name,cause,num,begindate,enddate)
{
..........
}

改為
代碼: 選擇全部
function vote_view(temp,id,title,name,cause,num,begindate,enddate)
{
   var view_name=parent.wog_view.document;
   message_cls();
   view_name.write('<form action="wog_act.php" method="POST" target="mission">');
   view_name.write(temp_table1);
   [color=red]view_name.write('<tr><td colspan="2" bgcolor="#3B588E">'+title+'</td></tr>');
   view_name.write('<tr><td width="25%" bgcolor="#4B689E">發起人</td><td width="75%" bgcolor="#4B689E">投票原因</td>');
   view_name.write('<tr><td height="32">'+name+'</td><td valign="top" rowspan="5">'+cause+'</td>');
   view_name.write('<tr><td bgcolor="#4B689E">開始時間</td></tr>');
   view_name.write('<tr><td height="32">'+begindate+'</td></tr>');
   view_name.write('<tr><td  bgcolor="#4B689E">結束時間</td></tr>');
   view_name.write('<tr><td height="32">'+enddate+'</td></tr>');
   view_name.write('<tr><td colspan="2" bgcolor="#4B689E">投票項目</td></tr>');
   view_name.write('<tr><td colspan="2">每人最多可投 <font color="yellow">'+num+'</font> 票<br><br>');
   view_name.write('<table border="0" width="50%" align=center>');
   var s1=temp.split(";");
   for(var li=0;li<s1.length;li++)
   {
      var s=s1[li].split(",");
      var button_type=(parseInt(num)>1)?'<input type="checkbox" name="list[]" value='+s[0]+'>':'<input type="radio" name="list" value='+s[0]+'>';
      view_name.write('<tr><td width="5%">'+button_type+'</td><td style="text-align:left">'+s[1]+'</td></tr>');
   }
   view_name.write('</table><br><br></td></tr>');
   view_name.write('<tr><td colspan="3"><input type="submit" value="完成投票"> <input type="button" value="投票結果" onclick="parent.act_click(\'vote\',\'end_view\','+id+')"></td></tr>'); [/color]
   view_name.write(temp_table2);
   view_name.write('<input type="hidden" name="f" value="vote">');
   view_name.write('<input type="hidden" name="act" value="add">');
   view_name.write('<input type="hidden" name="v_id" value="'+id+'">');
   view_name.write('</form>');
}

尋找
代碼: 選擇全部
function vote_end_view(temp,title,tatal)
{
..........
}

改為
代碼: 選擇全部
function vote_end_view(temp,title,tatal)
{
   var view_name=parent.wog_view.document;
   message_cls();
   view_name.write('<tr><td></td><td></td><td></td><td></td></tr>');
   view_name.write(temp_table1);
   view_name.write('<tr><td colspan=4 bgcolor="#4B689E">投票結果</td></tr>');
   view_name.write('<tr><td colspan=2 bgcolor="#3B588E">'+title+'</td><td colspan=2 bgcolor="#3B588E">總票數: '+tatal+' 票</td></tr>');
   var s1=temp.split(";");
   for(var li=0;li<s1.length;li++)
   {
      var s=s1[li].split(",");
      var per=(parseInt(s[1]) > 0)?Math.round((parseInt(s[1])/parseInt(tatal))*1000)/10:0;
      view_name.write('<tr><td width=45%>'+s[0]+'</td><td width=15% style="text-align:left"><img src='+img+'bar/bxg.gif border=0 width='+per+'% height=12></td><td width=20%>'+s[1]+' 人</td><td width=20%>'+per+'%</td></tr>');
   }
   [color=red]view_name.write('<tr><td colspan=4 bgcolor="#4B689E"><input type="button" value="顯示投票" onclick="parent.act_click(\'vote\',\'list\')"></td></tr>'); [/color]
   view_name.write(temp_table2);
}

尋找
代碼: 選擇全部
function vote_create()
{
..........
}

改為
代碼: 選擇全部
[color=red]function vote_create()
{
   var view_name=parent.wog_view.document;
   message_cls();
   view_name.write('<form action="wog_act.php" method="POST" target="mission" name="f1">');
   view_name.write(temp_table1);
   view_name.write('<tr><td bgcolor="#4B689E" colspan="4">建立新投票</td></tr>');
   view_name.write('<tr><td valign="top" width="15%">投票主題</td><td valign="top" width="35%"><input type="text" name="title" size=30 maxlength=30></td><td width="15%" valign="top" rowspan="2">投票項目</td><td width="35%" rowspan="2"><div id="list_span">');
   for(var a=1;a<=5;a++)
   {
      view_name.write('<input type="text" name="list['+a+']" size=30 maxlength=30><br>');
   }
   view_name.write('</div><input type="button" name="list_add" value="追加項目" onclick="parent.vote_list_add(document.f1)"></td></tr>');
   view_name.write('<tr><td valign="top">投票原因</td><td valign="top"><textarea name="cause" cols=24 rows=6></textarea></td>'); 
   view_name.write('<tr><td valign="top" rowspan="2">可投票數</td><td rowspan="2">');
   for(var a=1;a<=5;a++)
   {
      var check=(a==1)?"checked":"";
      view_name.write('<input type="radio" name="num" value="'+a+'" '+check+'>'+a+' 票<br> ');
   }
   view_name.write('</td><td valign="top">投票權限</td><td><input type="radio" name="lv" value="1" checked>工會內部 <br><input type="radio" name="lv" value="2">全體工會</td></tr>');
   view_name.write('<tr><td valign="top">投票時間</td><td><select name=date>');
   for(var a=1;a<=30;a++)
   {
      view_name.write('<option value="'+a+'">'+a+' 天 ');
   }
   view_name.write('</select></td></tr>');
   view_name.write('<tr><td colspan="4"><input type="button" value="建立" onclick="parent.form_send(document.f1)"> <input type="reset" value="重寫"></td></tr>');
   view_name.write(temp_table2);
   view_name.write('<input type="hidden" name="f" value="vote">');
   view_name.write('<input type="hidden" name="act" value="create">');
   view_name.write('</form>');
}
function vote_list_add(frm)
{
   var f=parent.wog_view.document;
   var getInput=frm.getElementsByTagName('input');
   var list=new Array();
   for(var i=0;i < getInput.length;i++)
   {
      if((getInput[i].name).substr(0,4) == "list")
      {
         list.push(getInput[i]);
      }
   }
   if(list.length > 10)
   {
      f.f1.list_add.disabled=true;
      return false;
   }
   f.getElementById('list_span').innerHTML+='<input type="text" name="list['+list.length+']" size=30 maxlength=30><br>';
}[/color]

[hr]
初次安裝

請下載wog_act_vote.php並解壓縮後將檔案放至於[wog]資料夾內的[class]資料夾之下
wog_act_vote.php 寫:檔案名稱:wog_act_vote.php
壓縮格式:zip , rar
壓縮大小:1.52KB , 1.87KB
原始大小:6.22KB
下載:ZIP格式 RAR格式

在您的資料庫中執行下列SQL語法 寫:
代碼: 選擇全部
CREATE TABLE `wog_vote` (
`v_id` int(10) unsigned NOT NULL auto_increment,
`g_id` int(10) unsigned NOT NULL default '0',
`v_title` varchar(30) NOT NULL default '',
`v_name` varchar(30) NOT NULL default 'N/A',
`v_text` text NOT NULL,
`v_num` tinyint(2) unsigned NOT NULL default '1',
`v_lv` tinyint(1) unsigned NOT NULL default '1',
`v_date` int(10) unsigned NOT NULL default '0',
`v_enddate` int(10) unsigned NOT NULL default '0',
`v_record` text NOT NULL,
PRIMARY KEY (`v_id`)
) TYPE=MyISAM AUTO_INCREMENT=1 ;

CREATE TABLE `wog_vote_list` (
`vl_id` int(10) unsigned NOT NULL auto_increment,
`v_id` int(10) unsigned NOT NULL default '0',
`vl_title` varchar(30) NOT NULL default '',
`vl_count` int(10) unsigned NOT NULL default '0',
PRIMARY KEY (`vl_id`)
) TYPE=MyISAM AUTO_INCREMENT=1 ;

開啟檔案wog/wog.js 寫:尋找
代碼: 選擇全部
function group_book_view(temp)

上方,加上
代碼: 選擇全部
function vote()
{
   var view_name=parent.wog_view.document;
   message_cls();
   view_name.write(temp_table1);
   view_name.write('<tr><td bgcolor=#4B689E colspan=2>工會投票所</td></tr>');
   view_name.write('<tr><td><input type="button" value="顯示投票" onclick="parent.act_click(\'vote\',\'list\')"></td><td><input type="button" value="建立投票" onclick="parent.vote_create()"></td></tr>');
   view_name.write(temp_table2);
}

function vote_list(temp)
{
   var view_name=parent.wog_view.document;
   message_cls();
   view_name.write('<form action="wog_act.php" method="POST" target="mission">');
   view_name.write(temp_table1);
   view_name.write('<tr bgcolor=#4B689E><td width=4%>選擇</td><td width=24%>投票主題</td><td width=10%>發起人</td><td width=10%>發起工會</td><td width=12%>投票量</td><td width=20%>開始時間</td><td width=20%>結束時間</td></tr>');
   if(temp)
   {
      var s1=temp.split(";");
      for(var li=0;li<s1.length;li++)
      {
         var s=s1[li].split(",");
         view_name.write('<tr><td><input type="radio" name="v_id" value="'+s[0]+'"></td><td>'+s[1]+'</td><td>'+s[2]+'</td><td>'+s[3]+'</td><td>'+s[6]+'</td><td>'+s[4]+'</td><td>'+s[5]+'</td></tr>');
      }
      view_name.write('<tr><td colspan=7><input type="submit" value="閱讀內容"> <input type="button" value="投票結果" onclick="parent.foot_trun(\'vote\',\'end_view\',\'\',\'\',document.forms[0].v_id);"> <input type="button" value="刪除投票" onclick="parent.foot_trun(\'vote\',\'delete\',\'\',\'\',document.forms[0].v_id);"></td></tr>');
      
   }else
   {
      view_name.write('<tr><td colspan=7>目前沒有任投票</td></tr>');
   }
   view_name.write(temp_table2);
   view_name.write('<input type="hidden" name="f" value="vote">');
   view_name.write('<input type="hidden" name="act" value="view">');
   view_name.write('</form>');
}

function vote_view(temp,id,title,name,cause,num,begindate,enddate)
{
   var view_name=parent.wog_view.document;
   message_cls();
   view_name.write('<form action="wog_act.php" method="POST" target="mission">');
   view_name.write(temp_table1);
   view_name.write('<tr><td colspan="2" bgcolor="#3B588E">'+title+'</td></tr>');
   view_name.write('<tr><td width="25%" bgcolor="#4B689E">發起人</td><td width="75%" bgcolor="#4B689E">投票原因</td>');
   view_name.write('<tr><td height="32">'+name+'</td><td valign="top" rowspan="5">'+cause+'</td>');
   view_name.write('<tr><td bgcolor="#4B689E">開始時間</td></tr>');
   view_name.write('<tr><td height="32">'+begindate+'</td></tr>');
   view_name.write('<tr><td  bgcolor="#4B689E">結束時間</td></tr>');
   view_name.write('<tr><td height="32">'+enddate+'</td></tr>');
   view_name.write('<tr><td colspan="2" bgcolor="#4B689E">投票項目</td></tr>');
   view_name.write('<tr><td colspan="2">每人最多可投 <font color="yellow">'+num+'</font> 票<br><br>');
   view_name.write('<table border="0" width="50%" align=center>');
   var s1=temp.split(";");
   for(var li=0;li<s1.length;li++)
   {
      var s=s1[li].split(",");
      var button_type=(parseInt(num)>1)?'<input type="checkbox" name="list[]" value='+s[0]+'>':'<input type="radio" name="list" value='+s[0]+'>';
      view_name.write('<tr><td width="5%">'+button_type+'</td><td style="text-align:left">'+s[1]+'</td></tr>');
   }
   view_name.write('</table><br><br></td></tr>');
   view_name.write('<tr><td colspan="3"><input type="submit" value="完成投票"> <input type="button" value="投票結果" onclick="parent.act_click(\'vote\',\'end_view\','+id+')"></td></tr>');
   view_name.write(temp_table2);
   view_name.write('<input type="hidden" name="f" value="vote">');
   view_name.write('<input type="hidden" name="act" value="add">');
   view_name.write('<input type="hidden" name="v_id" value="'+id+'">');
   view_name.write('</form>');
}

function vote_end_view(temp,title,tatal)
{
   var view_name=parent.wog_view.document;
   message_cls();
   view_name.write('<tr><td></td><td></td><td></td><td></td></tr>');
   view_name.write(temp_table1);
   view_name.write('<tr><td colspan=4 bgcolor="#4B689E">投票結果</td></tr>');
   view_name.write('<tr><td colspan=2 bgcolor="#3B588E">'+title+'</td><td colspan=2 bgcolor="#3B588E">總票數: '+tatal+' 票</td></tr>');
   var s1=temp.split(";");
   for(var li=0;li<s1.length;li++)
   {
      var s=s1[li].split(",");
      var per=(parseInt(s[1]) > 0)?Math.round((parseInt(s[1])/parseInt(tatal))*1000)/10:0;
      view_name.write('<tr><td width=45%>'+s[0]+'</td><td width=15% style="text-align:left"><img src='+img+'bar/bxg.gif border=0 width='+per+'% height=12></td><td width=20%>'+s[1]+' 人</td><td width=20%>'+per+'%</td></tr>');
   }
   view_name.write('<tr><td colspan=4 bgcolor="#4B689E"><input type="button" value="顯示投票" onclick="parent.act_click(\'vote\',\'list\')"></td></tr>');
   view_name.write(temp_table2);
}

function vote_create()
{
   var view_name=parent.wog_view.document;
   message_cls();
   view_name.write('<form action="wog_act.php" method="POST" target="mission" name="f1">');
   view_name.write(temp_table1);
   view_name.write('<tr><td bgcolor="#4B689E" colspan="4">建立新投票</td></tr>');
   view_name.write('<tr><td valign="top" width="15%">投票主題</td><td valign="top" width="35%"><input type="text" name="title" size=30 maxlength=30></td><td width="15%" valign="top" rowspan="2">投票項目</td><td width="35%" rowspan="2"><div id="list_span">');
   for(var a=1;a<=5;a++)
   {
      view_name.write('<input type="text" name="list['+a+']" size=30 maxlength=30><br>');
   }
   view_name.write('</div><input type="button" name="list_add" value="追加項目" onclick="parent.vote_list_add(document.f1)"></td></tr>');
   view_name.write('<tr><td valign="top">投票原因</td><td valign="top"><textarea name="cause" cols=24 rows=6></textarea></td>'); 
   view_name.write('<tr><td valign="top" rowspan="2">可投票數</td><td rowspan="2">');
   for(var a=1;a<=5;a++)
   {
      var check=(a==1)?"checked":"";
      view_name.write('<input type="radio" name="num" value="'+a+'" '+check+'>'+a+' 票<br> ');
   }
   view_name.write('</td><td valign="top">投票權限</td><td><input type="radio" name="lv" value="1" checked>工會內部 <br><input type="radio" name="lv" value="2">全體工會</td></tr>');
   view_name.write('<tr><td valign="top">投票時間</td><td><select name=date>');
   for(var a=1;a<=30;a++)
   {
      view_name.write('<option value="'+a+'">'+a+' 天 ');
   }
   view_name.write('</select></td></tr>');
   view_name.write('<tr><td colspan="4"><input type="button" value="建立" onclick="parent.form_send(document.f1)"> <input type="reset" value="重寫"></td></tr>');
   view_name.write(temp_table2);
   view_name.write('<input type="hidden" name="f" value="vote">');
   view_name.write('<input type="hidden" name="act" value="create">');
   view_name.write('</form>');
}
function vote_list_add(frm)
{
   var f=parent.wog_view.document;
   var getInput=frm.getElementsByTagName('input');
   var list=new Array();
   for(var i=0;i < getInput.length;i++)
   {
      if((getInput[i].name).substr(0,4) == "list")
      {
         list.push(getInput[i]);
      }
   }
   if(list.length > 10)
   {
      f.f1.list_add.disabled=true;
      return false;
   }
   f.getElementById('list_span').innerHTML+='<input type="text" name="list['+list.length+']" size=30 maxlength=30><br>';
}

開啟檔案wog/wog_act.php 寫:尋找
代碼: 選擇全部
case "pet":

下方,加上
代碼: 選擇全部
   case "vote":
      include("./class/wog_act_vote.php");
      $wog_act_class= new wog_act_vote;
      switch($_POST["act"])
      {
         case "create":
            $wog_act_class->vote_create($HTTP_COOKIE_VARS["wog_cookie"]);
         break;
         case "list":
            $wog_act_class->vote_list($HTTP_COOKIE_VARS["wog_cookie"]);
         break;
         case "view":
            $wog_act_class->vote_view($HTTP_COOKIE_VARS["wog_cookie"]);
         break;
         case "end_view":
            $wog_act_class->vote_end_view($HTTP_COOKIE_VARS["wog_cookie"]);
         break;
         case "add":
            $wog_act_class->vote_add($HTTP_COOKIE_VARS["wog_cookie"]);
         break;
         case "delete":
            $wog_act_class->vote_delete($HTTP_COOKIE_VARS["wog_cookie"]);
         break;
      }
   break;

儲存、關閉所有檔案

完畢,有任何問題歡迎指教 :wink:




回到 外掛區

誰在線上

正在瀏覽這個版面的使用者:沒有註冊會員 和 2 位訪客

cron