* All rights reserved.
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see .
*
* --> NOTICE <--
* This file is part of the core development branch, changing its contents will
* make you unable to use the automatic updates manager. Please refer to the
* documentation for further information about customizing Wootook.
*
*/
define('INSTALL' , false);
define('INSIDE' , true);
require_once dirname(__FILE__) .'/application/bootstrap.php';
$user = Wootook_Empire_Model_User::getSingleton();
$db = Wootook_Database::getSingleton();
if(!$user->getId()){
echo '';
}
$request = Wootook::getRequest();
$mode = $request->getQuery('mode');
$yes = $request->getQuery('yes');
$edit = $request->getQuery('edit');
$allyid = intval($request->getQuery('allyid'));
$kick = $request->getQuery('kick');
$show = intval($request->getQuery('show'));
$sort = intval($request->getQuery('sort'));
$sendmail = intval($request->getQuery('sendmail'));
$rank = intval($request->getQuery('rank'));
$t = $request->getQuery('t');
$allianceId = intval($request->getQuery('a'));
$tag = $request->getQuery('tag');
$page = $request->getQuery('page');
$d = $request->getQuery('d');
$id = $request->getQuery('id');
$allianceIds = $request->getPost('id');
$actionType = $request->getPost('t');
$options = $request->getPost('options');
$action = $request->getPost('action');
includeLang('alliance');
/**
*Alliance information display.
*/
if ($mode == 'ainfo') {
$lang['Alliance_information'] = "Information Alliance";
if ($tag) {
$allyrow = doquery("SELECT * FROM {{table}} WHERE ally_tag={$db->quote($tag)}", "alliance", true);
} elseif (is_numeric($allianceId) && $allianceId != 0) {
$allyrow = doquery("SELECT * FROM {{table}} WHERE id='{$allianceId}'", "alliance", true);
} else {
message("Cette alliance n'existe pas !", "Information Alliance (1)");
}
// if not exists
if (!$allyrow) {
message("Cette alliance n'existe pas !", "Information Alliance (1)");
}
extract($allyrow);
if ($ally_image != "") {
$ally_image = "
";
}
if ($ally_description != "") {
$ally_description = "{$ally_description} ";
} else
$ally_description = "Il n'y as aucune descriptions de cette alliance. ";
if ($ally_web != "") {
$ally_web = "
{$lang['Initial_page']}
{$ally_web}
";
}
$lang['ally_member_scount'] = $ally_members;
$lang['ally_name'] = $ally_name;
$lang['ally_tag'] = $ally_tag;
$patterns[] = "#\[fc\]([a-z0-9\#]+)\[/fc\](.*?)\[/f\]#Ssi";
$replacements[] = '\2 ';
$patterns[] = '#\[img\](.*?)\[/img\]#Smi';
$replacements[] = ' ';
$patterns[] = "#\[fc\]([a-z0-9\#\ \[\]]+)\[/fc\]#Ssi";
$replacements[] = '';
$patterns[] = "#\[/f\]#Ssi";
$replacements[] = ' ';
$ally_description = preg_replace($patterns, $replacements, $ally_description);
$lang['ally_description'] = nl2br($ally_description);
$lang['ally_image'] = $ally_image;
$lang['ally_web'] = $ally_web;
if ($user->getData('ally_id') == 0) {
$lang['bewerbung'] = "
Candidature
Cliquer ici pour ecrire votre candidature
";
} else
$lang['bewerbung'] = "Candidature";
$page .= parsetemplate(gettemplate('alliance_ainfo'), $lang);
display($page, str_replace('%s', $ally_name, $lang['Info_of_Alliance']));
}
/**
* Verification of the alliance
*/
if ($user->getData('ally_id') == 0) {
if ($mode == 'make' && $user->getData('ally_request') == 0) { // Make alliance
/*
* Creation of the alliance
*/
if ($yes == 1 && $request->isPost()) {
if ($request->getPost('atag') !== null) {
message($lang['have_not_tag'], $lang['make_alliance']);
}
if ($request->getPost('aname') !== null) {
message($lang['have_not_name'], $lang['make_alliance']);
}
$alliance_name = $db->quote($request->getPost('aname'));
$alliance_tag = $db->quote($request->getPost('atag'));
$tagquery = doquery("SELECT * FROM {{table}} WHERE ally_tag=" .$alliance_tag. ";", 'alliance', true);
if ($tagquery) {
message(str_replace('%s', $alliance_tag, $lang['always_exist']), $lang['make_alliance']);
}
$ranks = '';
$allianz_raenge[] = array('name' => 'Novice',
'mails' => 0,
'delete' => 0,
'kick' => 0,
'bewerbungen' => 0,
'administrieren' => 0,
'bewerbungenbearbeiten' => 0,
'memberlist' => 0,
'onlinestatus' => 0,
'rechtehand' => 0
);
$ranks = serialize($allianz_raenge);
doquery("INSERT INTO {{table}} SET
`ally_name`=" . $alliance_name . ",
`ally_tag`=" . $alliance_tag . " ,
`ally_owner`='" .$user->getId(). "',
`ally_owner_range`='Leader',
`ally_ranks`='" . $ranks . "',
`ally_members`='1',
`ally_register_time`=" . time() , "alliance");
$allyquery = doquery("SELECT * FROM {{table}} WHERE ally_tag=" .$alliance_tag. ";", 'alliance', true);
doquery("UPDATE {{table}} SET
`ally_id`='" .$allyquery['id']. "',
`ally_name`='" .$allyquery['ally_name']. "',
`ally_register_time`='" . time() . "'
WHERE `id`='{$user->getId()}'", "users");
$page = MessageForm(str_replace('%s', $alliance_tag, $lang['ally_maked']), str_replace('%s', $alliance_tag, $lang['alliance_has_been_maked']) . " ", "", $lang['Ok']);
} else {
$page .= parsetemplate(gettemplate('alliance_make'), $lang);
}
display($page, $lang['make_alliance']);
}
/**
* User is searching for an alliance
*/
if ($mode == 'search' && $user->getData('ally_request') == 0) {
$parse = $lang;
$search_text = $request->getPost('searchtext');
$lang['searchtext'] = $search_text;
$page = parsetemplate(gettemplate('alliance_searchform'), $lang);
if ($request->getPost('searchtext') !== null) {
$stmt = $db->prepare("SELECT * FROM {$db->getTable('alliance')} WHERE ally_name LIKE :search_field OR ally_tag LIKE :search_field LIMIT 30");
$stmt->execute(array(':search_field' => '%' .$search_text. '%'));
if ($stmt->rowCount() != 0) {
$template = gettemplate('alliance_searchresult_row');
$parse['result'] = null;
while ($s = $stmt->fetch(PDO::FETCH_BOTH)) {
$entry = array();
$entry['ally_tag'] = "[{$s['ally_tag']} ]";
$entry['ally_name'] = $s['ally_name'];
$entry['ally_members'] = $s['ally_members'];
$parse['result'] .= parsetemplate($template, $entry);
}
$page .= parsetemplate(gettemplate('alliance_searchresult_table'), $parse);
}
}
display($page, $lang['search_alliance']);
}
/**
* request handler.
*/
if ($mode == 'apply' && $user->getData('ally_request') == 0) {
if (!is_numeric($allyid) || empty($allyid) || $user->getData('ally_request') != 0 || $user->getData('ally_id') != 0) {
message($lang['it_is_not_posible_to_apply'], $lang['it_is_not_posible_to_apply']);
}
/**
* ask for the info of the alliance
*/
$allyrow = doquery("SELECT ally_tag,ally_request FROM {{table}} WHERE id='" .$allyid. "'", "alliance", true);
if (!$allyrow) {
message($lang['it_is_not_posible_to_apply'], $lang['it_is_not_posible_to_apply']);
}
extract($allyrow);
if ($request->getPost('further') !== null && $request->getPost('further') == $lang['Send']) {
doquery("UPDATE {{table}} SET `ally_request`='" . $allyid . "', ally_request_text=" . $db->quote($request->getPost('text')) . ", ally_register_time='" . time() . "' WHERE `id`='" . $user->getId(). "'", "users");
message($lang['apply_registered'], $lang['your_apply']);
} else {
$text_apply = ($ally_request) ? $ally_request : $lang['There_is_no_a_text_apply'];
}
$parse = $lang;
$parse['allyid'] = $allyid;
$parse['chars_count'] = strlen($text_apply);
$parse['text_apply'] = $text_apply;
$parse['Write_to_alliance'] = str_replace('%s', $ally_tag, $lang['Write_to_alliance']);
$page = parsetemplate(gettemplate('alliance_applyform'), $parse);
display($page, $lang['Write_to_alliance']);
}
/**
* accept request
*/
if ($user['ally_request'] != 0) {
$allyquery = doquery("SELECT ally_tag FROM {{table}} WHERE id='" . $user->getData('ally_request') . "' ORDER BY `id`", "alliance", true);
extract($allyquery);
if ($request->getPost('bcancel') !== null) {
doquery("UPDATE {{table}} SET `ally_request`=0 WHERE `id`=" . $user->getId('id'), "users");
$lang['request_text'] = str_replace('%s', $ally_tag, $lang['Canceled_a_request_text']);
$lang['button_text'] = $lang['Ok'];
$page = parsetemplate(gettemplate('alliance_apply_waitform'), $lang);
} else {
$lang['request_text'] = str_replace('%s', $ally_tag, $lang['Waiting_a_request_text']);
$lang['button_text'] = $lang['Delete_apply'];
$page = parsetemplate(gettemplate('alliance_apply_waitform'), $lang);
}
display($page, "You don't have any requests");
} else {
$page .= parsetemplate(gettemplate('alliance_defaultmenu'), $lang);
display($page, $lang['alliance']);
}
}
/**
*Inside the alliance
*/
elseif ($user->getData('ally_id') != 0 && $user->getData('ally_request') == 0) { // player with alliance only
$ally = doquery("SELECT * FROM {{table}} WHERE id='" .$user->getData('ally_id'). "'", "alliance", true);
$ally_ranks = unserialize($ally['ally_ranks']);
$allianz_raenge = unserialize($ally['ally_ranks']);
if (!empty($ally_ranks)){
if ($allianz_raenge[$user->GetData('ally_rank_id')]['onlinestatus'] == 1 || $ally['ally_owner'] == $user->getId()) {
$user_can_watch_memberlist_status = true;
} else
$user_can_watch_memberlist_status = false;
if ($allianz_raenge[$user->GetData('ally_rank_id')]['memberlist'] == 1 || $ally['ally_owner'] == $user->getId()) {
$user_can_watch_memberlist = true;
} else
$user_can_watch_memberlist = false;
if ($allianz_raenge[$user->GetData('ally_rank_id')]['mails'] == 1 || $ally['ally_owner'] == $user->getId()) {
$user_can_send_mails = true;
} else
$user_can_send_mails = false;
if ($allianz_raenge[$user->GetData('ally_rank_id')]['kick'] == 1 || $ally['ally_owner'] == $user->getId()) {
$user_can_kick = true;
} else
$user_can_kick = false;
if ($allianz_raenge[$user->GetData('ally_rank_id')]['rechtehand'] == 1 || $ally['ally_owner'] == $user->getId()){
$user_can_edit_rights = true;
} else
$user_can_edit_rights = false;
if ($allianz_raenge[$user->GetData('ally_rank_id')]['delete'] == 1 || $ally['ally_owner'] == $user->getId())
$user_can_exit_alliance = true;
else
$user_can_exit_alliance = false;
if ($allianz_raenge[$user->GetData('ally_rank_id')]['bewerbungen'] == 1 || $ally['ally_owner'] == $user->getId())
$user_bewerbungen_einsehen = true;
else
$user_bewerbungen_einsehen = false;
if ($allianz_raenge[$user->GetData('ally_rank_id')]['bewerbungenbearbeiten'] == 1 || $ally['ally_owner'] == $user->getId())
$user_bewerbungen_bearbeiten = true;
else
$user_bewerbungen_bearbeiten = false;
if ($allianz_raenge[$user->GetData('ally_rank_id')]['administrieren'] == 1 || $ally['ally_owner'] == $user->getId())
$user_admin = true;
else
$user_admin = false;
if ($allianz_raenge[$user->GetData('ally_rank_id')]['onlinestatus'] == 1 || $ally['ally_owner'] == $user->getId())
$user_onlinestatus = true;
else
$user_onlinestatus = false;
} elseif ($ally['ally_owner'] == $user->getId()) {
$user_can_watch_memberlist_status = true;
$user_can_watch_memberlist = true;
$user_can_send_mails = true;
$user_can_kick = true;
$user_can_edit_rights = true;
$user_can_exit_alliance = true;
$user_bewerbungen_einsehen = true;
$user_bewerbungen_bearbeiten = true;
$user_admin = true;
}
if (!$ally) {
doquery("UPDATE {{table}} SET `ally_name`='',`ally_id`=0 WHERE `id`='" .$user->getId(). "'", "users");
message($lang['ally_notexist'], $lang['your_alliance'], 'alliance.php');
}
if ($mode == 'exit') {
if ($ally['ally_owner'] == $user->getId()) {
message($lang['Owner_cant_go_out'], $lang['Alliance']);
}
// want to go out the alliance
if ($yes == 1) {
doquery("UPDATE {{table}} SET `ally_id`=0, `ally_name` = '' WHERE `id`='" .$user->getId(). "'", "users");
$lang['Go_out_welldone'] = str_replace("%s", $ally_name, $lang['Go_out_welldone']);
$page = MessageForm($lang['Go_out_welldone'], " ", $PHP_SELF, $lang['Ok']);
} else {
// ask if you want to leave the alliance
$lang['Want_go_out'] = str_replace("%s", $ally_name, $lang['Want_go_out']);
$page = MessageForm($lang['Want_go_out'], " ", "?mode=exit&yes=1", "Oui");
}
display($page);
}
if ($mode == 'memberslist') { // List of all members.
/**
*List of members.
*Apparently only one query is used for searching the users with the same ally_id.
*followed by the query of the primary planet of each to get the position.
*/
$allianz_raenge = unserialize($ally['ally_ranks']);
// permission check if user can watch memberlist
if ($ally['ally_owner'] != $user->getId() && !$user_can_watch_memberlist) {
message($lang['Denied_access'], $lang['Members_list']);
}
// Order of displaying the different users
$sort2 = intval($request->getQuery('sort2'));
if ($sort2) {
$sort1 = intval($request->getQuery('sort1'));
switch($sort1){
case 1:
$sort = " ORDER BY `username`";
break;
case 2:
$sort = " ORDER BY `username`";
break;
case 4:
$sort = " ORDER BY `ally_register_time`";
break;
case 5:
$sort = " ORDER BY `onlinetime`";
break;
default:
$sort = " ORDER BY `id`";
break;
}
switch($sort2){
case 1:
$sort .= " DESC;";
break;
case 2:
$sort .= " ASC;";
break;
default:
$sort .= " DESC;";
break;
}
$listuser = doquery("SELECT * FROM {{table}} WHERE ally_id='{$user['ally_id']}'{$sort}", 'users');
} else {
$listuser = doquery("SELECT * FROM {{table}} WHERE ally_id='{$user['ally_id']}'", 'users');
}
/**
*count the points of users
*/
$i = 0;
$template = gettemplate('alliance_memberslist_row');
$page_list = '';
while ($u = $listuser->fetch(PDO::FETCH_BOTH)) {
$UserPoints = doquery("SELECT * FROM {{table}} WHERE `stat_type` = '1' AND `stat_code` = '1' AND `id_owner` = '" . $u['id'] . "';", 'statpoints', true);
$i++;
$u['i'] = $i;
if ($u["onlinetime"] + 60 * 10 >= time() && $user_can_watch_memberlist_status) {
$u["onlinetime"] = "lime>{$lang['On']}<";
} elseif ($u["onlinetime"] + 60 * 20 >= time() && $user_can_watch_memberlist_status) {
$u["onlinetime"] = "yellow>{$lang['15_min']}<";
} elseif ($user_can_watch_memberlist_status) {
$u["onlinetime"] = "red>{$lang['Off']}<";
} else $u["onlinetime"] = "orange>-<";
// Number of the rang
if ($ally['ally_owner'] == $u['id']) {
$u["ally_range"] = ($ally['ally_owner_range'] == '')?"Leader":$ally['ally_owner_range'];
} elseif (isset($allianz_raenge[$u['ally_rank_id']]['name'])) {
$u["ally_range"] = $allianz_raenge[$u['ally_rank_id']]['name'];
} else {
$u["ally_range"] = $lang['Novate'];
}
$u['points'] = "" . pretty_number($UserPoints['total_points']) . "";
if ($u['ally_register_time'] > 0)
$u['ally_register_time'] = date("Y-m-d h:i:s", $u['ally_register_time']);
else
$u['ally_register_time'] = "-";
$page_list .= parsetemplate($template, $u);
}
// Change the link for order by
switch($sort2){
case 1:
$s = 2;
break;
case 2:
$s = 1;
break;
default:
$s = 1;
break;
}
if ($i != $ally['ally_members']) {
doquery("UPDATE {{table}} SET `ally_members`='{$i}' WHERE `id`='{$ally['id']}'", 'alliance');
}
$parse = $lang;
$parse['i'] = $i;
$parse['s'] = $s;
$parse['list'] = $page_list;
$page .= parsetemplate(gettemplate('alliance_memberslist_table'), $parse);
display($page, $lang['Members_list']);
}
if ($mode == 'circular') {
/**
*Create a circular message
*I think here they would have to see how to create the messaging system
*/
$allianz_raenge = unserialize($ally['ally_ranks']);
// check permissions
if ($ally['ally_owner'] != $user->getId() && !$user_can_send_mails) {
message($lang['Denied_access'], $lang['Send_circular_mail']);
}
if ($sendmail == 1) {
if ($request->getPost('r') !== null && is_numeric($request->getPost('r'))){
$group_rank = intval($request->getPost('r'));
$message_text = $db->quote($request->getPost('text'));
if ($group_rang == 0) {
$sq = doquery("SELECT id,username FROM {{table}} WHERE ally_id='{$user['ally_id']}'", "users");
} else {
$sq = doquery("SELECT id,username FROM {{table}} WHERE ally_id='{$user['ally_id']}' AND ally_rank_id='{$group_rank}'", "users");
}
// for each user founded, we send a message. Perhaps there is a better way to do this.
$list = '';
while ($u = $sq->fetch(PDO::FETCH_BOTH)) {
doquery("INSERT INTO {{table}} SET
`message_owner`='{$u['id']}',
`message_sender`='{$user->getId()}' ,
`message_time`='" . time() . "',
`message_type`='2',
`message_from`='{$ally['ally_tag']}',
`message_subject`='{$user['username']}',
`message_text`={$message_text} ", "messages");
$list .= " {$u['username']} ";
}
doquery("UPDATE {{table}} SET `new_message`=new_message+1 WHERE ally_id='{$user['ally_id']}' AND ally_rank_id='{$group_rank}'", "users");
doquery("UPDATE {{table}} SET `mnl_alliance`=mnl_alliance+1 WHERE ally_id='{$user['ally_id']}' AND ally_rank_id='{$group_rank}'", "users");
/*
*Messages were sended successfully
*/
$page = MessageForm($lang['Circular_sended'], "The followed members have recieved the message:" . $list, "alliance.php", $lang['Ok'], true);
display($page, $lang['Send_circular_mail']);
} else {
message($lang['Denied_access'], $lang['Members_list']);
}
}
$lang['r_list'] = "{$lang['All_players']} ";
if ($allianz_raenge) {
foreach($allianz_raenge as $id => $array) {
$lang['r_list'] .= "" . $array['name'] . " ";
}
}
$page .= parsetemplate(gettemplate('alliance_circular'), $lang);
display($page, $lang['Send_circular_mail']);
}
/**
*Manage the rights
*/
if ($mode == 'admin' && $edit == 'rights') {
$allianz_raenge = unserialize($ally['ally_ranks']);
if ($ally['ally_owner'] != $user->getId() && !$user_can_edit_rights) {
message($lang['Denied_access'], $lang['Members_list']);
} else if ($request->getPost('newrangname') != '') {
$name = strip_tags($request->getPost('newrangname'));
$allianz_raenge[] = array('name' => $name,
'mails' => 0,
'delete' => 0,
'kick' => 0,
'bewerbungen' => 0,
'administrieren' => 0,
'bewerbungenbearbeiten' => 0,
'memberlist' => 0,
'onlinestatus' => 0,
'rechtehand' => 0
);
$ranks = serialize($allianz_raenge);
doquery("UPDATE {{table}} SET `ally_ranks`=" . $db->quote($ranks) . " WHERE `id`=" . $ally['id'], "alliance");
$goto = $_SERVER['PHP_SELF'] . "?" . $_SERVER['QUERY_STRING'];
header("Location: " . $goto);
exit();
} elseif (is_array($allianceIds) && !empty($allianceIds)) {
$ally_ranks_new = array();
foreach ($allianceIds as $id) {
$name = $allianz_raenge[$id]['name'];
$ally_ranks_new[$id]['name'] = $name;
if ($request->getPost('u' . $id . 'r0') !== null) {
$ally_ranks_new[$id]['delete'] = 1;
} else {
$ally_ranks_new[$id]['delete'] = 0;
}
if ($request->getPost('u' . $id . 'r1') !== null && $ally['ally_owner'] == $user->getId()) {
$ally_ranks_new[$id]['kick'] = 1;
} else {
$ally_ranks_new[$id]['kick'] = 0;
}
if ($request->getPost('u' . $id . 'r2') !== null) {
$ally_ranks_new[$id]['bewerbungen'] = 1;
} else {
$ally_ranks_new[$id]['bewerbungen'] = 0;
}
if ($request->getPost('u' . $id . 'r3') !== null) {
$ally_ranks_new[$id]['memberlist'] = 1;
} else {
$ally_ranks_new[$id]['memberlist'] = 0;
}
if ($request->getPost('u' . $id . 'r4') !== null) {
$ally_ranks_new[$id]['bewerbungenbearbeiten'] = 1;
} else {
$ally_ranks_new[$id]['bewerbungenbearbeiten'] = 0;
}
if ($request->getPost('u' . $id . 'r5') !== null) {
$ally_ranks_new[$id]['administrieren'] = 1;
} else {
$ally_ranks_new[$id]['administrieren'] = 0;
}
if ($request->getPost('u' . $id . 'r6') !== null) {
$ally_ranks_new[$id]['onlinestatus'] = 1;
} else {
$ally_ranks_new[$id]['onlinestatus'] = 0;
}
if ($request->getPost('u' . $id . 'r7') !== null) {
$ally_ranks_new[$id]['mails'] = 1;
} else {
$ally_ranks_new[$id]['mails'] = 0;
}
if ($request->getPost('u' . $id . 'r8') !== null) {
$ally_ranks_new[$id]['rechtehand'] = 1;
} else {
$ally_ranks_new[$id]['rechtehand'] = 0;
}
}
$ranks = serialize($ally_ranks_new);
doquery("UPDATE {{table}} SET `ally_ranks`=" . $db->quote($ranks) . " WHERE `id`=" . $ally['id'], "alliance");
$goto = $_SERVER['PHP_SELF'] . "?" . $_SERVER['QUERY_STRING'];
header("Location: " . $goto);
exit();
}
// Delete a rank
elseif (isset($d) && isset($ally_ranks[$d])) {
unset($ally_ranks[$d]);
$ally['ally_rank'] = serialize($ally_ranks);
doquery("UPDATE {{table}} SET `ally_ranks`='{$ally['ally_rank']}' WHERE `id`={$ally['id']}", "alliance");
}
if (count($ally_ranks) == 0 || $ally_ranks == '') { // If there is no rank
$list = "{$lang['There_is_not_range']} ";
} else { // If there is a rank
$list = parsetemplate(gettemplate('alliance_admin_laws_head'), $lang);
$template = gettemplate('alliance_admin_laws_row');
// Create the list of ranks
foreach($ally_ranks as $a => $b) {
if ($ally['ally_owner'] == $user->getId()) {
$lang['id'] = $a;
$lang['r0'] = $b['name'];
$lang['a'] = $a;
$lang['r1'] = " "; //{$b[1]}
$lang['r2'] = " ";
$lang['r3'] = " ";
$lang['r4'] = " ";
$lang['r5'] = " ";
$lang['r6'] = " ";
$lang['r7'] = " ";
$lang['r8'] = " ";
$lang['r9'] = " ";
$list .= parsetemplate($template, $lang);
} else {
$lang['id'] = $a;
$lang['r0'] = $b['name'];
$lang['a'] = $a;
$lang['r1'] = "- ";
$lang['r2'] = " ";
$lang['r3'] = " ";
$lang['r4'] = " ";
$lang['r5'] = " ";
$lang['r6'] = " ";
$lang['r7'] = " ";
$lang['r8'] = " ";
$lang['r9'] = " ";
$list .= parsetemplate($template, $lang);
}
}
if (count($ally_ranks) != 0) {
$list .= parsetemplate(gettemplate('alliance_admin_laws_feet'), $lang);
}
}
$lang['list'] = $list;
$page .= parsetemplate(gettemplate('alliance_admin_laws'), $lang);
display($page, $lang['Law_settings']);
}
/**
* Manage alliance
*/
if ($mode == 'admin' && $edit == 'ally') {
if ($t != 1 && $t != 2 && $t != 3) {
$t = 1;
}
if ($options) {
$ally['ally_owner_range'] = htmlspecialchars(strip_tags($request->getPost('owner_range')));
$ally['ally_web'] = htmlspecialchars(strip_tags($request->getPost('web')));
$ally['ally_image'] = htmlspecialchars(strip_tags($request->getPost('image')));
$ally['ally_request_notallow'] = intval($request->getPost('request_notallow'));
if ($ally['ally_request_notallow'] != 0 && $ally['ally_request_notallow'] != 1) {
message("Aller � \"Candidature\" et sur une option dans le formulaire!", "Erreur");
exit;
}
doquery("UPDATE {{table}} SET
`ally_owner_range`={$db->quote($ally['ally_owner_range'])},
`ally_image`={$db->quote($ally['ally_image'])},
`ally_web`={$db->quote($ally['ally_web'])},
`ally_request_notallow`='{$ally['ally_request_notallow']}'
WHERE `id`='{$ally['id']}'", "alliance");
} elseif ($actionType) {
if ($t == 3) {
$ally['ally_request'] = strip_tags($request->getPost('text'));
doquery("UPDATE {{table}} SET
`ally_request`={$db->quote($ally['ally_request'])}
WHERE `id`='{$ally['id']}'", "alliance");
} elseif ($t == 2) {
$ally['ally_text'] = strip_tags($request->getPost('text'));
doquery("UPDATE {{table}} SET
`ally_text`={$db->quote($ally['ally_text'])}
WHERE `id`='{$ally['id']}'", "alliance");
} else {
$ally['ally_description'] = strip_tags($request->getPost('text'));
doquery("UPDATE {{table}} SET
`ally_description`=" . $db->quote($ally['ally_description']) . "
WHERE `id`='{$ally['id']}'", "alliance");
}
}
/**
* Show form for each type of $t
* This one works fine. In the preview version, the request was not handled.
*/
if ($t == 3) {
$lang['Show_of_request_text'] = 'Request text';
$lang['request_type'] = $lang['Show_of_request_text'];
} elseif ($t == 2) {
$lang['Internal_text_of_alliance'] = 'Internal text';
$lang['request_type'] = $lang['Internal_text_of_alliance'];
} else {
$lang['Public_text_of_alliance'] = 'Public text';
$lang['request_type'] = $lang['Public_text_of_alliance'];
}
if ($t == 2) {
$lang['text'] = $ally['ally_text'];
$lang['Texts'] = $lang['Texts'];
$lang['Show_of_request_text'] = "Texte Interne d'ALliance";
} elseif ($t == 1) {
$lang['text'] = stripslashes($ally['ally_description']);
$lang['Show_of_request_text'] = "Texte Externe d'ALliance";
} else {
$lang['text'] = $ally['ally_request'];
$lang['Show_of_request_text'] = "Texte de candidature";
}
$lang['t'] = $t;
$lang['ally_web'] = $ally['ally_web'];
$lang['ally_image'] = $ally['ally_image'];
$lang['ally_request_notallow_0'] = (($ally['ally_request_notallow'] == 1) ? ' SELECTED' : '');
$lang['ally_request_notallow_1'] = (($ally['ally_request_notallow'] == 0) ? ' SELECTED' : '');
$lang['ally_owner_range'] = $ally['ally_owner_range'];
$lang['Transfer_alliance'] = MessageForm("Abandonner / Transférer L'alliance", "", "?mode=admin&edit=give", $lang['Continue']);
$lang['Disolve_alliance'] = MessageForm("Dissoudre L'alliance", "", "?mode=admin&edit=exit", $lang['Continue']);
$page .= parsetemplate(gettemplate('alliance_admin'), $lang);
display($page, $lang['Alliance_admin']);
}
if ($mode == 'admin' && $edit == 'give') {
if ($request->getPost('id')) {
doquery("update {{table}} set `ally_owner`=".$db->quote($request->getPost('id'))." where `id`='".$user['ally_id']."'",'alliance');
} else {
$selection=doquery("SELECT * FROM {{table}} where ally_id='".$user['ally_id']."'",'users');
$select='';
while ($data = $selection->fetch(PDO::FETCH_BOTH)){
$select.=''.$data['username'];
}
$page .= '