protected function _exec() { $data_id = $this->getParam('data_id', 'int'); $heroid = $this->getParam('heroid', 'int'); $clan_mgr = new ClanManager(); $clanInfo = $clan_mgr->getSimClanInfo($data_id); if (empty($clanInfo)) { $this->throwException("there is no this clan {$data_id}"); } if ($clanInfo['adminId'] == $heroid) { $this->throwException("user {$heroid} can not sign out clan {$data_id}"); } $user_mgr = new UserClanManager(); $user_mgr->deleteClanUser($heroid); $memberArr = explode(",", $clanInfo['members']); foreach ($memberArr as $key => $memberId) { if ($memberId == $heroid) { unset($memberArr[$key]); } } $clanInfo['members'] = implode(",", $memberArr); $clan_mgr->updateClanInfo($data_id, $clanInfo); return array('result' => TRUE); }
public function deleteClan($data_id) { $clan_info = $this->getSimClanInfo($data_id); $this->deleteFromDb($data_id, array('data_id' => $data_id)); require_once GAMELIB . '/model/UserClanManager.class.php'; $user_mgr = new UserClanManager(); $members = explode(",", $clan_info['members']); foreach ($members as $memberId) { $user_mgr->deleteClanUser($memberId); } $user_mgr->deleteClanUser($clan_info['adminId']); require_once GAMELIB . '/model/ClanItemManager.class.php'; $itemManager = new ClanItemManager($data_id); $itemManager->deleteClanItems(); return true; }