[分享](V3)加入工會成員申請驗證方式與工會成員上限設定
發表於 : 2007-03-16 10:34 pm
藉由這個追加的功能可以在會長許可的情況下讓提出申請加入工會的玩家直接加入,省去會長驗證的步驟
而工會成員上限則可以讓會長控制目前工會的最大規模,並加上限制最大規模讓系統管理員能控制工會的最大規模
此外,為了系統的統一性而將工會會戰設定移入新增的[工會設定]按鈕內,範例圖示如下
[hr]
修改開始
在您的資料庫中輸入下列sql語法
儲存、關閉所有檔案
完畢,有問題請指教^^
而工會成員上限則可以讓會長控制目前工會的最大規模,並加上限制最大規模讓系統管理員能控制工會的最大規模
此外,為了系統的統一性而將工會會戰設定移入新增的[工會設定]按鈕內,範例圖示如下
[hr]
修改開始
在您的資料庫中輸入下列sql語法
- 代碼: 選擇全部
ALTER TABLE `wog_group_main` ADD `g_join_type` TINYINT( 1 ) DEFAULT '0' NOT NULL ,
ADD `g_peo_max` SMALLINT( 3 ) DEFAULT '0' NOT NULL ;
開啟檔案wog/class/wog_act_group.php 寫:尋找
- 代碼: 選擇全部
function group_fire_set($user_id)
{
global $DB_site,$_POST,$lang;
$group_main=$DB_site->query_first("select a.g_id,a.g_adm_id1,a.g_adm_id2,a.g_fire_time from wog_group_main a,wog_player b where a.g_id=b.p_g_id and b.p_id=".$user_id);
if(!$group_main)
{
alertWindowMsg($lang['wog_act_group_nogroup']);
}
if($user_id!=$group_main["g_adm_id1"])
{
alertWindowMsg($lang['wog_act_group_nolyadmin']);
}
if($group_main["g_fire_time"]+(60*60*2)>time())
{
alertWindowMsg($lang['wog_act_group_nochang']);
}
$DB_site->query("update wog_group_main set g_fire=".$_POST["temp_id2"].",g_fire_time=".time()." where g_id=".$group_main["g_id"]);
$this->group_center($user_id);
unset($group_main);
}
覆蓋成
- 代碼: 選擇全部
function group_set($user_id)
{
global $DB_site,$_POST,$lang,$wog_arry;
$group=$DB_site->query_first("select a.g_id,a.g_adm_id1,a.g_adm_id2,a.g_peo,a.g_fire_time from wog_group_main a,wog_player b where a.g_id=b.p_g_id and b.p_id=".$user_id);
if(!$group)
{
alertWindowMsg($lang['wog_act_group_nogroup']);
}
if($user_id!=$group['g_adm_id1'])
{
alertWindowMsg($lang['wog_act_group_nolyadmin']);
}
switch($_POST['pay_id'])
{
case 'fire':
if($group['g_fire_time']+(60*60*2)>time())
{
alertWindowMsg($lang['wog_act_group_nochang']);
}
$DB_site->query("update wog_group_main set g_fire=".$_POST['temp_id2'].",g_fire_time=".time()." where g_id=".$group['g_id']);
break;
default:
$field='';
$value='';
switch($_POST['pay_id'])
{
case 'join_type':
$field='g_join_type';
$value=$_POST['temp_id2'];
break;
case 'peo_max':
$value=$_POST['temp_id'];
if($value > $wog_arry['g_peo_max'])
{
alertWindowMsg('工會成員無法高於'.$wog_arry['g_peo_max'].'人');
}
if($value < $group['g_peo'] && $value > 0)
{
alertWindowMsg('工會人數上限需高於目前工會人數');
}
$field='g_peo_max';
break;
default:
alertWindowMsg('未知的的錯誤');
break;
}
$DB_site->query("update wog_group_main set ".$field."=".$value." where g_id=".$group['g_id']);
break;
}
unset($group);
showscript("parent.job_end(3);");
}
In group_get_save_member()
尋找
- 代碼: 選擇全部
global $DB_site,$_POST,$lang;
覆蓋成
- 代碼: 選擇全部
global $DB_site,$_POST,$lang,$wog_arry;
尋找
- 代碼: 選擇全部
$p_count=$DB_site->query_first("select g_peo from wog_group_main where g_id=".$group["g_id"]."");
if($p_count[0]>=20)
{
alertWindowMsg($lang['wog_act_group_ful']);
}
覆蓋成
- 代碼: 選擇全部
$p_count=$DB_site->query_first("select g_peo,g_peo_max from wog_group_main where g_id=".$group["g_id"]."");
if(($p_count[0]>=$p_count['g_peo_max'] && $p_count['g_peo_max'] > 0) || $p_count['g_peo'] >= $wog_arry['g_peo_max'])
{
alertWindowMsg($lang['wog_act_group_ful']);
}
In group_add()
尋找
- 代碼: 選擇全部
global $DB_site,$_POST,$lang;
覆蓋成
- 代碼: 選擇全部
global $DB_site,$_POST,$lang,$wog_arry;
尋找
- 代碼: 選擇全部
$group=$DB_site->query_first("select g_peo from wog_group_main where g_id=".$_POST["g_id"]."");
if($group[0]>=20)
{
alertWindowMsg($lang['wog_act_group_ful']);
}
$group=$DB_site->query_first("select g_j_id from wog_group_join where p_id=".$user_id." and g_id=".$_POST["g_id"]."");
if($group)
{
alertWindowMsg($lang['wog_act_group_post']);
}
$DB_site->query("insert into wog_group_join(g_id,p_id,g_j_dateline)values(".$_POST["g_id"].",".$user_id.",".time().")");
showscript("parent.job_end(14)");
覆蓋成
- 代碼: 選擇全部
$group=$DB_site->query_first("select g_id,g_peo,g_join_type,g_peo_max from wog_group_main where g_id=".$_POST["g_id"]."");
if(($group['g_peo']>=$group['g_peo_max'] && $group['g_peo_max'] > 0) || $group['g_peo'] >= $wog_arry['g_peo_max'])
{
alertWindowMsg($lang['wog_act_group_ful']);
}
switch($group['g_join_type']) //招生方式 0=會長驗證 1=自動加入
{
default:
case 0:
$group=$DB_site->query_first("select g_j_id from wog_group_join where p_id=".$user_id." and g_id=".$_POST["g_id"]."");
if($group)
{
alertWindowMsg($lang['wog_act_group_post']);
}
$DB_site->query("insert into wog_group_join(g_id,p_id,g_j_dateline)values(".$_POST["g_id"].",".$user_id.",".time().")");
showscript("parent.job_end(14)");
break;
case 1:
$DB_site->query("update wog_player set p_g_id=".$group['g_id'].",p_g_number=1000,p_g_morale=100 where p_id=".$user_id."");
$DB_site->query("update wog_group_main set g_peo=g_peo+1 where g_id=".$group["g_id"]."");
$DB_site->query("delete from wog_group_join where p_id=".$user_id);
showscript("parent.job_end(15)");
break;
}
尋找
- 代碼: 選擇全部
}
?>
上面,加上
- 代碼: 選擇全部
function group_set_view($user_id)
{
global $DB_site;
$group=$DB_site->query_first("Select g_id,g_fire,g_join_type,g_peo_max From wog_group_main Where g_adm_id1=".$user_id);
if(!$group)
{
alertWindowMsg('只有會長具有管理工會的權限');
}
showscript("parent.group_set_view(".$group['g_id'].",".$group['g_fire'].",".$group['g_join_type'].",".$group['g_peo_max'].");");
}
開啟檔案wog/wog.js 寫:尋找
- 代碼: 選擇全部
f.write('<tr><td colspan="4"><input type="button" value="開戰設定" onClick="parent.foot_trun(\'group\',\'fire_set\',\'\',\'\',document.forms[0].f_set)"> <input type="radio" name="f_set" value="0" '+no+'>關 <input type="radio" name="f_set" value="1" '+yes+'>開 只有會長才能設定</td></tr>');
刪除
尋找
- 代碼: 選擇全部
f.write('<tr><td><input type="button" value="認領會員" onClick="parent.act_click(\'group\',\'get_member\')"></td><td class=b1><--核准入會申請<會長專用></td></tr>');
下面,加上
- 代碼: 選擇全部
f.write('<tr><td><input type="button" value="工會設定" onclick="parent.act_click(\'group\',\'set_view\')"></td><td class=b1><會長專用></td></tr>');
尋找
- 代碼: 選擇全部
function group_book_view(temp)
上面,加上
- 代碼: 選擇全部
function group_set_view(g_id,fire,join_type,peo_max)
{
var f=parent.wog_view.document;
message_cls();
f.write('<form action="wog_act.php" method="POST" target="mission" name="f1">');
f.write(temp_table1);
f.write('<tr><td colspan="3" bgcolor="#3B588E">工會設定</td></tr>');
f.write('<tr><td width="20%" bgcolor="#4B689E">會戰設定</td><td width="65%"><input type="radio" name="fire_set" value="0">關 <input type="radio" name="fire_set" value="1">開</td><td width="15%"><input type="button" value="設定" onclick="parent.foot_trun(\'group\',\'set\',\'fire\',\'\',document.f1.fire_set)"></td></tr>');
f.write('<tr><td colspan="3">'+hr+'</td></tr>');
f.write('<tr><td width="20%" bgcolor="#4B689E">招生方式</td><td width="65%"><input type="radio" name="jointype_set" value="0">會長驗證 <input type="radio" name="jointype_set" value="1">自動加入</td><td width="15%"><input type="button" value="設定" onclick="parent.foot_trun(\'group\',\'set\',\'join_type\',\'\',document.f1.jointype_set)"></td></tr>');
f.write('<tr><td colspan="3">'+hr+'</td></tr>');
f.write('<tr><td width="20%" bgcolor="#4B689E">工會人數上限</td><td width="65%"><input type="text" name="peo_max" value="'+peo_max+'" size="6">人 (不限人數請設置為0人)</td><td width="15%"><input type="button" value="設定" onclick="parent.foot_trun(\'group\',\'set\',\'peo_max\',document.f1.peo_max.value)"></td></tr>');
f.write(temp_table2);
f.write('</form>');
f.f1.fire_set[fire].checked=true;
f.f1.jointype_set[join_type].checked=true;
}
開啟檔案wog/wog_act.php 寫:尋找
- 代碼: 選擇全部
case "fire_set":
$wog_act_class->group_fire_set($HTTP_COOKIE_VARS["wog_cookie"]);
break;
覆蓋成
- 代碼: 選擇全部
case "set":
$wog_act_class->group_set($HTTP_COOKIE_VARS["wog_cookie"]);
break;
尋找
- 代碼: 選擇全部
case "save_book":
$wog_act_class->group_book_save($HTTP_COOKIE_VARS["wog_cookie"]);
break;
下面,加上
- 代碼: 選擇全部
case 'set_view':
$wog_act_class->group_set_view($HTTP_COOKIE_VARS["wog_cookie"]);
break;
儲存、關閉所有檔案
完畢,有問題請指教^^