function tribe_getContent($playerID, $tribe) { global $config, $params, $db, $no_resource_flag, $governmentList; $no_resource_flag = 1; // messages $messageText = array(-12 => _('Der Stamm befindet sich gerade im Krieg und darf daher im Moment keine neuen Mitglieder aufnehmen.'), -11 => _('Die Stammeszugehörigkeit hat sich erst vor kurzem geändert. Warten Sie, bis die Stammeszugehörigkeit geändert werden darf.'), -10 => _('Ihr Stamm befindet sich im Krieg. Sie dürfen derzeit nicht austreten.'), -9 => _('Die Nachricht konnte nicht eingetragen werden.'), -8 => _('Sie sind der Stammesanführer und konnten nicht entfernt werden.'), -7 => _('Das Passwort konnte nicht gesetzt werden!'), -6 => _('Der Stamm konnte nicht angelegt werden.'), -5 => _('Es gibt schon einen Stamm mit diesem Kürzel;'), -4 => _('Sie konnten nicht austreten. Vermutlich gehören Sie gar keinem Stamm an.'), -3 => _('Sie konnten dem Stamm nicht beitreten. Vermutlich sind Sie schon bei einem anderen Stamm Mitglied.'), -2 => _('Passwort und Stammeskürzel stimmen nicht überein.'), -1 => _('Bei der Aktion ist ein unerwarteter Datenbankfehler aufgetreten!'), 01 => _('Sie sind dem Stamm beigetreten.'), 02 => _('Sie haben den Stamm verlassen.'), 03 => _('Der Stamm wurde erfolgreich angelegt.'), 04 => _('Sie waren das letzte Mitglied, der Stamm wurde aufgelöst'), 05 => _('Die Nachricht wurde eingetragen'), 10 => _('Dieser Stammesname ist nicht erlaubt!')); // process form data if ($params->POST->tribeAction) { switch ($params->POST->tribeAction) { case TRIBE_ACTION_JOIN: if (tribe_validatePassword($params->POST->password) && tribe_validateTag($params->POST->tag)) { $messageID = tribe_processJoin($playerID, $params->POST->tag, $params->POST->password, $db); } break; case TRIBE_ACTION_CREATE: if (tribe_validatePassword($params->POST->password) && tribe_validateTag($params->POST->tag)) { $messageID = tribe_processCreate($playerID, $params->POST->tag, $params->POST->password, $db, $params->POST->restore_rank == 'yes'); } break; case TRIBE_ACTION_LEAVE: $messageID = tribe_processLeave($playerID, $tribe, $db); break; case TRIBE_ACTION_MESSAGE: if ($params->POST->messageText && $params->POST->ingame) { $messageID = tribe_processSendTribeIngameMessage($playerID, $tribe, $params->POST->messageText, $db); } else { if ($params->POST->messageText && !$params->POST->ingame) { $messageID = tribe_processSendTribeMessage($playerID, $tribe, $params->POST->messageText, $db); } } break; } if ($params->POST->tribeAction == TRIBE_ACTION_JOIN || $params->POST->tribeAction == TRIBE_ACTION_LEAVE || $params->POST->tribeAction == TRIBE_ACTION_CREATE) { // the tribe might have changed page_refreshUserData(); $tribe = $params->SESSION->player->tribe; } } // ---------------------------------------------------------------------------- // ------- SECTION FOR PLAYERS WITHOUT MEMBERSHIP ----------------------------- if (!$tribe) { // not a tribe member $template = tmpl_open($params->SESSION->player->getTemplatePath() . 'tribe.ihtml'); if ($messageID) { tmpl_set($template, "MESSAGE/message", $messageText[$messageID]); } // ------------------------------------------------------------------------ // ----------- Join existing tribe ---------------------------------------- tmpl_iterate($template, "FORM"); $form = array("heading" => _('Einem Stamm beitreten'), "modus_name" => "modus", "modus_value" => TRIBE, "action_name" => "tribeAction", "action_value" => TRIBE_ACTION_JOIN, "TAG/fieldname" => "tag", "TAG/tag_regexp" => _("Buchstaben, Zahlen, Bindestriche; keine Zahlen oder Bindestrich am Anfang"), "TAG/value" => $tribe ? $tribe : $params->POST->tag, "TAG/size" => 8, "TAG/maxlength" => 8, "TAG/form_prefix" => "join_", "PASSWORD/fieldname" => "password", "PASSWORD/pw_regexp" => _("mind. 6 Buchstaben oder Zahlen"), "PASSWORD/value" => $params->POST->password, "PASSWORD/size" => 8, "PASSWORD/maxlength" => 15, "PASSWORD/form_prefix" => "join_", "BUTTON/caption" => _('Beitreten')); tmpl_set($template, "FORM", $form); // ------------------------------------------------------------------------ // ----------- Create new tribe ------------------------------------------- tmpl_iterate($template, "FORM"); // only change the different values for creation $form["heading"] = _('Einen neuen Stamm gründen'); $form["TAG/form_prefix"] = "create_"; $form["PASSWORD/form_prefix"] = "create_"; $form["action_value"] = TRIBE_ACTION_CREATE; $form["BUTTON/caption"] = _('Neu gründen'); $form["RESTORERANKING/fieldName"] = "restore_rank"; tmpl_set($template, "FORM", $form); } else { if (!($tribeData = tribe_getTribeByTag($tribe, $db))) { return _('Fehler'); } $template = tmpl_open($params->SESSION->player->getTemplatePath() . 'tribeMember.ihtml'); if ($messageID) { tmpl_set($template, "MESSAGE/message", $messageText[$messageID]); } if (tribe_isLeaderOrJuniorLeader($playerID, $tribe, $db)) { $adminData = array("modus_name" => "modus", "modus_value" => TRIBE_ADMIN, "TRIBEMESSAGEFORM" => array("message_name" => "messageText", "modus_name" => "modus", "modus_value" => TRIBE, "action_name" => "tribeAction", "action_value" => TRIBE_ACTION_MESSAGE)); tmpl_set($template, "ADMIN", $adminData); } $data = array("tag" => $tribe, "name" => $tribeData['name'], "link_tribe" => "modus=" . TRIBE_DETAIL . "&tribe=" . urlencode(unhtmlentities($tribeData['tag'])), "MEMBERS/tag_name" => "tag", "MEMBERS/tag_value" => $tribe, "MEMBERS/modus_name" => "modus", "MEMBERS/modus_value" => TRIBE_PLAYER_LIST, "LEAVE/modus_name" => "modus", "LEAVE/modus_value" => TRIBE, "LEAVE/action_name" => "tribeAction", "LEAVE/action_value" => TRIBE_ACTION_LEAVE); if ($tribeData['leaderID']) { $JuniorAdmin = $targetPlayer = new Player(getPlayerByID($tribeData['juniorLeaderID'])); $leaderData = array("LEADER/name" => $tribeData['leaderName'], "LEADER/leaderID_name" => "detailID", "LEADER/leaderID_value" => $tribeData['leaderID'], "LEADER/juniorLeaderName" => $JuniorAdmin->name, "LEADER/juniorLeaderID_name" => "detailID", "LEADER/juniorLeaderID_value" => $JuniorAdmin->playerID, "LEADER/modus_name" => "modus", "LEADER/modus_value" => PLAYER_DETAIL); } else { $leaderData = array("NOLEADER/message" => _('Ihr Stamm hat zur Zeit keinen Anführer.')); } $leaderDeterminationData = array("LEADERDETERMINATION/modus_name" => "modus", "LEADERDETERMINATION/modus_value" => TRIBE_LEADER_DETERMINATION); $governmentData = array("GOVERNMENT/name" => $governmentList[$governmentData['governmentID']]); if ($warTargets = relation_getWarTargetsAndFame($tribe, $db)) { tmpl_set($template, "NORMAL/WAR", array()); foreach ($warTargets as $target) { $target_facts = array("target" => $target["target"], "fame_own" => $target["fame_own"], "fame_target" => $target["fame_target"], "percent_actual" => $target["percent_actual"]); if ($target["isForcedSurrenderTheoreticallyPossible"]) { $target_facts["FORCEDSURRENDER/percent_estimated"] = $target["percent_estimated"]; if ($target["isForcedSurrenderPracticallyPossible"]) { $target_facts["FORCEDSURRENDER/class"] = "enough"; } else { if ($target["isForcedSurrenderPracticallyPossibleForTarget"]) { $target_facts["FORCEDSURRENDER/class"] = "less"; } else { $target_facts["FORCEDSURRENDER/class"] = ""; } } } tmpl_iterate($template, "NORMAL/WAR/TARGET"); tmpl_set($template, "NORMAL/WAR/TARGET", $target_facts); } } if ($messages = tribe_getTribeMessages($tribe, $db)) { foreach ($messages as $messageID => $messageData) { $message = array("time" => $messageData['date'], "subject" => $messageData['messageSubject'], "message" => $messageData['messageText']); tmpl_iterate($template, "NORMAL/TRIBEMESSAGE"); tmpl_set($template, "NORMAL/TRIBEMESSAGE", $message); } } $data = array_merge($data, $leaderData, $leaderDeterminationData, $governmentData); tmpl_set($template, "NORMAL", $data); } return tmpl_parse($template); }
function tribe_getContentNoTribe($caveID, &$details) { global $template; $messageText = array(-10 => array('type' => 'error', 'message' => _('Die Stammeszugehörigkeit hat sich erst vor kurzem geändert. Warten Sie, bis die Stammeszugehörigkeit geändert werden darf.')), -9 => array('type' => 'error', 'message' => _('Du kannst keinen Stamm gründen während du in einem Stamm bist.')), -8 => array('type' => 'error', 'message' => _('Nicht zulässiges Stammeskürzel oder Passwort.')), -7 => array('type' => 'error', 'message' => _('Der Stamm hat schon die maximale Anzahl an Mitgliedern.')), -6 => array('type' => 'error', 'message' => _('Der Stamm befindet sich gerade im Krieg und darf daher im Moment keine neuen Mitglieder aufnehmen.')), -5 => array('type' => 'error', 'message' => _('Der Stamm konnte nicht angelegt werden.')), -4 => array('type' => 'error', 'message' => _('Es gibt schon einen Stamm mit diesem Kürzel.')), -3 => array('type' => 'error', 'message' => _('Du konntest dem Stamm nicht beitreten. Vermutlich bist du schon bei einem anderen Stamm Mitglied.')), -2 => array('type' => 'error', 'message' => _('Dieser Stammesname ist nicht erlaubt!')), -1 => array('type' => 'error', 'message' => _('Stammeskürzel und Passwort stimmen nicht überein.')), 1 => array('type' => 'success', 'message' => _('Du bist dem Stamm beigetreten.')), 2 => array('type' => 'success', 'message' => _('Der Stamm wurde erfolgreich angelegt.'))); if (!empty($_SESSION['player']->tribe)) { tribe_getContent($caveID, $details); return; } // open template $template->setFile('tribe.tmpl'); $template->setShowRresource(false); // process form data $messageID = 0; $tribeAction = Request::getVar('action', 0); switch ($tribeAction) { case TRIBE_ACTION_JOIN: if (tribe_validatePassword(Request::getVar('password', '')) && tribe_validateTag(Request::getVar('tag', ''))) { $messageID = tribe_processJoin($_SESSION['player']->playerID, Request::getVar('tag', ''), Request::getVar('password', '')); if ($messageID == 1) { $auth = new auth(); $auth->setPermission('tribe', 0, $_SESSION['player']->playerID); page_refreshUserData(); $template->addVar('status_msg', $messageText[$messageID]); tribe_getContent($caveID, $details); return; } } else { $messageID = -8; } break; case TRIBE_ACTION_CREATE: if (tribe_validatePassword(Request::getVar('password', '')) && tribe_validateTag(Request::getVar('tag', ''))) { $messageID = tribe_processCreate($_SESSION['player']->playerID, Request::getVar('tag', ''), Request::getVar('password', ''), Request::getVar('restore_rank', 'no') == 'yes'); } else { $messageID = -8; } if ($messageID == 2) { $auth = new auth(); $auth->setPermission('tribe', 0, $_SESSION['player']->playerID); page_refreshUserData(); $template->addVar('status_msg', $messageText[$messageID]); tribe_getContent($caveID, $details); return; } break; } /**************************************************************************************************** * * Übergabe ans Template * ****************************************************************************************************/ if ($messageID && isset($messageText[$messageID])) { $template->addVar('status_msg', $messageText[$messageID]); } $template->addVars(array('tribe_action_create' => TRIBE_ACTION_CREATE, 'tribe_action_join' => TRIBE_ACTION_JOIN)); }
function tribe_getContent($playerID, $tribe) { global $config, $params, $db, $no_resource_flag, $governmentList; $no_resource_flag = 1; // messages $messageText = array(-12 => "Der Clan befindet sich gerade im Krieg und darf daher im Moment" . "keine neuen Mitglieder aufnehmen.", -11 => "Ihre Clanzugehörigkeit hat sich erst vor kurzem " . "geändert. Sie müssen noch warten, bis Sie wieder " . "etwas an Ihrer Clanzugehörigkeit ändern dürfen.", -10 => "Ihr Clan befindet sich im Krieg. Sie dürfen derzeit nicht " . "austreten.", -9 => "Die Nachricht konnte nicht eingetragen werden.", -8 => "Sie sind der Clananführer und konnten nicht entfernt " . "werden.", -7 => "Das Passwort konnte nicht gesetzt werden!", -6 => "Der Clan konnte nicht angelegt werden.", -5 => "Es gibt schon einen Clan mit diesem Kürzel;", -4 => "Sie konnten nicht austreten. Vermutlich gehören Sie gar " . "keinem Clan an.", -3 => "Sie konnten dem Clan nicht beitreten. Vermutlich sind Sie schon " . "bei einem anderen Clan Mitglied.", -2 => "Passwort und Clankürzel stimmen nicht überein.", -1 => "Bei der Aktion ist ein unerwarteter Datenbankfehler aufgetreten!", 01 => "Sie sind dem Clan beigetreten.", 02 => "Sie haben den Clan verlassen.", 03 => "Der Clan wurde erfolgreich angelegt.", 04 => "Sie waren das letzte Mitglied, der Clan wurde aufgelöst", 05 => "Die Nachricht wurde eingetragen", 10 => "Dieser Clanname ist nicht erlaubt!"); // proccess form data if ($params->POST->tribeAction) { switch ($params->POST->tribeAction) { case TRIBE_ACTION_JOIN: if ($params->POST->password && $params->POST->tag) { $messageID = tribe_processJoin($playerID, $params->POST->tag, $params->POST->password, $db); } break; case TRIBE_ACTION_CREATE: if ($params->POST->password && $params->POST->tag) { $messageID = tribe_processCreate($playerID, $params->POST->tag, $params->POST->password, $db); } break; case TRIBE_ACTION_LEAVE: $messageID = tribe_processLeave($playerID, $tribe, $db); break; case TRIBE_ACTION_MESSAGE: if ($params->POST->messageText) { $messageID = tribe_processSendTribeMessage($playerID, $tribe, $params->POST->messageText, $db); } break; } if ($params->POST->tribeAction == TRIBE_ACTION_JOIN || $params->POST->tribeAction == TRIBE_ACTION_LEAVE || $params->POST->tribeAction == TRIBE_ACTION_CREATE) { // the tribe might have changed if (!page_refreshUserData()) { return "ERROR"; } $tribe = $params->SESSION->user['tribe']; } } // ---------------------------------------------------------------------------- // ------- SECTION FOR PLAYERS WITHOUT MEMBERSHIP ----------------------------- if (!$tribe) { // not a tribe member $template = @tmpl_open("./templates/" . $config->template_paths[$params->SESSION->user['template']] . "/tribe.ihtml"); if ($messageID) { tmpl_set($template, "MESSAGE/message", $messageText[$messageID]); } // ------------------------------------------------------------------------ // ----------- Join existing tribe ---------------------------------------- tmpl_iterate($template, "FORM"); $form = array("heading" => "Einem Clan beitreten", "modus_name" => "modus", "modus_value" => TRIBE, "action_name" => "tribeAction", "action_value" => TRIBE_ACTION_JOIN, "TAG/fieldname" => "tag", "TAG/value" => $tribe ? $tribe : $params->POST->tag, "TAG/size" => 8, "TAG/maxlength" => 8, "PASSWORD/fieldname" => "password", "PASSWORD/value" => $params->POST->password, "PASSWORD/size" => 8, "PASSWORD/maxlength" => 15, "BUTTON/caption" => "Beitreten"); tmpl_set($template, "FORM", $form); // ------------------------------------------------------------------------ // ----------- Create new tribe ------------------------------------------- tmpl_iterate($template, "FORM"); // only change the different values for creation $form["heading"] = "Einen neuen Clan gründen"; $form["action_value"] = TRIBE_ACTION_CREATE; $form["BUTTON/caption"] = "Neu gründen"; tmpl_set($template, "FORM", $form); } else { if (!($tribeData = tribe_getTribeByTag($tribe, $db))) { return "ERROR"; } $template = @tmpl_open("./templates/" . $config->template_paths[$params->SESSION->user['template']] . "/tribeMember.ihtml"); if ($messageID) { tmpl_set($template, "MESSAGE/message", $messageText[$messageID]); } if (tribe_isLeader($playerID, $tribe, $db)) { $adminData = array("modus_name" => "modus", "modus_value" => TRIBE_ADMIN, "TRIBEMESSAGEFORM" => array("message_name" => "messageText", "modus_name" => "modus", "modus_value" => TRIBE, "action_name" => "tribeAction", "action_value" => TRIBE_ACTION_MESSAGE)); tmpl_set($template, "ADMIN", $adminData); } $data = array("tag" => $tribe, "name" => $tribeData['name'], "link_tribe" => "modus=" . TRIBE_DETAIL . "&tribe=" . urlencode(unhtmlentities($tribeData['tag'])), "MEMBERS/tag_name" => "tag", "MEMBERS/tag_value" => $tribe, "MEMBERS/modus_name" => "modus", "MEMBERS/modus_value" => TRIBE_PLAYER_LIST, "LEAVE/modus_name" => "modus", "LEAVE/modus_value" => TRIBE, "LEAVE/action_name" => "tribeAction", "LEAVE/action_value" => TRIBE_ACTION_LEAVE); if ($tribeData[leaderID]) { $leaderData = array("LEADER/name" => $tribeData[leaderName], "LEADER/leaderID_name" => "detailID", "LEADER/leaderID_value" => $tribeData[leaderID], "LEADER/modus_name" => "modus", "LEADER/modus_value" => PLAYER_DETAIL); } else { $leaderData = array("NOLEADER/message" => "Ihr Clan hat zur Zeit keinen Anführer."); } $leaderDeterminationData = array("LEADERDETERMINATION/modus_name" => "modus", "LEADERDETERMINATION/modus_value" => TRIBE_LEADER_DETERMINATION); $governementData = array("GOVERNMENT/name" => $governmentList[$governmentData[governmentID]]); if ($messages = tribe_getTribeMessages($tribe, $db)) { foreach ($messages as $messageID => $messageData) { $message = array("time" => $messageData[date], "subject" => $messageData[messageSubject], "message" => $messageData[messageText]); tmpl_iterate($template, "NORMAL/TRIBEMESSAGE"); tmpl_set($template, "NORMAL/TRIBEMESSAGE", $message); } } $data = array_merge($data, $leaderData, $leaderDeterminationData, $governmentData); tmpl_set($template, "NORMAL", $data); } return tmpl_parse($template); }