Initial commit
This commit is contained in:
56
lotgd-web/lotgd/lib/clan/clan_withdraw.php
Executable file
56
lotgd-web/lotgd/lib/clan/clan_withdraw.php
Executable file
@ -0,0 +1,56 @@
|
||||
<?php
|
||||
modulehook("clan-withdraw", array('clanid'=>$session['user']['clanid'], 'clanrank'=>$session['user']['clanrank'], 'acctid'=>$session['user']['acctid']));
|
||||
if ($session['user']['clanrank']>=CLAN_LEADER){
|
||||
//first test to see if we were the leader.
|
||||
$sql = "SELECT count(*) AS c FROM " . db_prefix("accounts") . " WHERE clanid={$session['user']['clanid']} AND clanrank>=".CLAN_LEADER." AND acctid<>{$session['user']['acctid']}";
|
||||
$result = db_query($sql);
|
||||
$row = db_fetch_assoc($result);
|
||||
if ($row['c']==0){
|
||||
//we were the solitary leader.
|
||||
$sql = "SELECT name,acctid,clanrank FROM " . db_prefix("accounts") . " WHERE clanid={$session['user']['clanid']} AND clanrank > " . CLAN_APPLICANT . " AND acctid<>{$session['user']['acctid']} ORDER BY clanrank DESC, clanjoindate LIMIT 1";
|
||||
$result = db_query($sql);
|
||||
if ($row = db_fetch_assoc($result)){
|
||||
//there is no alternate leader, let's promote the
|
||||
//highest ranking member (or oldest member in the
|
||||
//event of a tie). This will capture even people
|
||||
//who applied for membership.
|
||||
$sql = "UPDATE " . db_prefix("accounts") . " SET clanrank=".CLAN_LEADER." WHERE acctid={$row['acctid']}";
|
||||
db_query($sql);
|
||||
output("`^Promoting %s`^ to leader as they are the highest ranking member (or oldest member in the event of a tie).`n`n",$row['name']);
|
||||
}else{
|
||||
//There are no other members, we need to delete the clan.
|
||||
modulehook("clan-delete", array("clanid"=>$session['user']['clanid']));
|
||||
$sql = "DELETE FROM " . db_prefix("clans") . " WHERE clanid={$session['user']['clanid']}";
|
||||
db_query($sql);
|
||||
//just in case we goofed, we don't want to have to worry
|
||||
//about people being associated with a deleted clan.
|
||||
$sql = "UPDATE " . db_prefix("accounts") . " SET clanid=0,clanrank=".CLAN_APPLICANT.",clanjoindate='0000-00-00 00:00:00' WHERE clanid={$session['user']['clanid']}";
|
||||
db_query($sql);
|
||||
output("`^As you were the last member of this clan, it has been deleted.");
|
||||
}
|
||||
}else{
|
||||
//we don't have to do anything special with this clan as
|
||||
//although we were leader, there is another leader already
|
||||
//to take our place.
|
||||
}
|
||||
}else{
|
||||
//we don't have to do anything special with this clan as we were
|
||||
//not the leader, and so there should still be other members.
|
||||
}
|
||||
$sql = "SELECT acctid FROM " . db_prefix("accounts") . " WHERE clanid='{$session['user']['clanid']}' AND clanrank>=".CLAN_OFFICER." AND acctid<>'{$session['user']['acctid']}'";
|
||||
$result = db_query($sql);
|
||||
$withdraw_subj = array("`\$Clan Withdraw: `&%s`0",$session['user']['name']);
|
||||
$msg = array("`^One of your clan members has resigned their membership. `&%s`^ has surrendered their position within your clan!",$session['user']['name']);
|
||||
$sql = "DELETE FROM " . db_prefix("mail") . " WHERE msgfrom=0 AND seen=0 AND subject='".serialize($withdraw_subj)."'";
|
||||
db_query($sql);
|
||||
while ($row = db_fetch_assoc($result)){
|
||||
systemmail($row['acctid'],$withdraw_subj,$msg);
|
||||
}
|
||||
|
||||
$session['user']['clanid']=0;
|
||||
$session['user']['clanrank']=CLAN_APPLICANT;
|
||||
$session['user']['clanjoindate']="0000-00-00 00:00:00";
|
||||
output("`&You have withdrawn from your clan.");
|
||||
addnav("Clan Options");
|
||||
addnav("Return to the Lobby","clan.php");
|
||||
?>
|
Reference in New Issue
Block a user