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;
 }