neue methoden in die clan.inc.php gebracht. Z.b. werden gibt es eine getClan funktion die cached. Ansonsten ist es nun moeglich bbcode in der claninfo zu nutzen. A propos bbcode. Die decodebb methode unterstuetzt nun auch das erstellen des albhed tags.

main
hecht 13 years ago
parent c7853f8678
commit 344645c29f

@ -9,6 +9,7 @@ include_once ($_SERVER['DOCUMENT_ROOT'] . 'ag/include/config.inc.php');
include_once ($_SERVER['DOCUMENT_ROOT'] . 'ag/include/fehlerausgabe.inc.php');
include_once ($_SERVER['DOCUMENT_ROOT'] . 'ag/include/designfunctions.inc.php');
include_once ($_SERVER['DOCUMENT_ROOT'] . 'ag/include/parse.inc.php');
include_once ($_SERVER['DOCUMENT_ROOT'] . 'ag/include/clan.inc.php');
// GET-Section
// Kritisch (SQL-Injections)
@ -26,10 +27,11 @@ function joinClan($user, $clanid){
$clan_user = mysql_fetch_assoc(mysql_query($sql));
if($clan_user){
$sql = 'Select *, (Select member - count(*) from user u where clan = c.id and ((c.leader is null || c.leader != u.id) and (c.co_leader is null || c.co_leader != u.id))) as freeslots from clan c where id = '.$clanid;
// echo $sql . '<br>';
$clan = mysql_fetch_assoc(mysql_query($sql));
if($clan['freeslots'] <= 0){
$clan = getClan($clanid);
$members = getClanMembersCount($clanid);
$members_max = getMaximumMembers($clan['id']);
if($members >= $members_max){
displayErrorMessage(NULL,'Konnte die Einladung des Clans nicht annehmen (Clan voll)!',displayHistoryBackLink());
return;
} else{

@ -40,17 +40,24 @@ if($clan_id == NULL){
}
}
if(isset($_GET['value1'])) {
if($what == 'Banner'){
$value1 = validateURL($_GET['value1']);
} else if($what == 'Homepage' || $what == 'Info' || $what == 'Clan Passwort'){
$value1 = validateString($_GET['value1']);
} else if($what == 'Clanzeichen'){
$value1 = validateString($_GET['value1']);
$value2 = validateString($_GET['value2']);
} else if($what == 'Leadership') {
$value1 = validateUnsignedInteger($_GET['value1'], NULL);
$value2 = validateUnsignedInteger($_GET['value2'], NULL);
switch($what) {
case 'Banner':
case 'Homepage':
$value1 = validateURL($_GET['value1']);
break;
case 'Info':
$value1 = encodeNoHTMLWithBB($_GET['value1']);
break;
case 'Clanzeichen':
$value1 = validateString($_GET['value1']);
$value2 = validateString($_GET['value2']);
break;
case 'Leadership':
$value1 = validateUnsignedInteger($_GET['value1'], NULL);
$value2 = validateUnsignedInteger($_GET['value2'], NULL);
break;
}
}
@ -100,7 +107,7 @@ function displayClanProfileReadOnly($clan, $ownclan, $userid){
}
?>
<tr>
<th width="20%" align="Left">Leader:</th>
<th width="20%" align="Left" height="25">Leader:</th>
<?php
if($leader == null && $coleader == null){
if($ownclan) {
@ -114,7 +121,7 @@ function displayClanProfileReadOnly($clan, $ownclan, $userid){
?>
</tr>
<tr>
<th align="Left">Co-Leader:</th>
<th align="Left" height="25">Co-Leader:</th>
<?php
if($leader != null && $coleader != null){
echo '<td>'.$coleader.'</td>';
@ -122,11 +129,11 @@ function displayClanProfileReadOnly($clan, $ownclan, $userid){
?>
</tr>
<tr>
<th align="Left">Clanzeichen:</th>
<th align="Left" height="25">Clanzeichen:</th>
<td><?php echo $clan['clanz_pre'].' '.$clan['clanz_suff']; ?></td>
</tr>
<tr>
<th align="Left">Member (<?php echo $count; ?>):</th>
<th align="Left">Member (<?php echo $count.'/'.getMaximumMembers($clan['id']); ?>):</th>
<td><?php echo join('<br>',$member); ?></td>
</tr>
<?php
@ -134,22 +141,26 @@ function displayClanProfileReadOnly($clan, $ownclan, $userid){
?>
<tr>
<th align="Left">Eingeladen</th>
<td><?php echo join('<br', $invited); ?></td>
<td><?php echo join('<br>', $invited); ?></td>
</tr>
<?php
}
?>
<tr>
<th align="Left">Level:</th>
<th align="Left" height="25">Level:</th>
<td><?php echo $clan['level']; ?></td>
</tr>
<tr>
<th align="Left" height="25">Erfahrung: </th>
<td><?php echo $clan['min_exp'].' / '.getRequiredClanExp($clan['level']); ?></td>
</tr>
<tr>
<th width="96" height="25" align="Left">Homepage:</th>
<?php
if($clan['homepage'] != 'Keine'){
echo '<td width="852" height="25"><a href="'.$clan['homepage'].'" target=_blank>'.$clan['homepage'].'</a></td>';
echo '<td height="25"><a href="'.$clan['homepage'].'" target=_blank>'.$clan['homepage'].'</a></td>';
} else{
echo '<td width="852" height="25">Keine</td>';
echo '<td height="25">Keine</td>';
}
?>
</tr>
@ -186,6 +197,8 @@ function displayClanProfileReadOnly($clan, $ownclan, $userid){
<?php
}
?>
<tr><th colspan="2">Debug Daten (Kein Bug, dass die naechste Zeile etwas komisch aussieht)</th></tr>
<tr><th colspan="2"><?php print_r($clan); ?></th></tr>
</table>
</div>
@ -241,37 +254,41 @@ function displayClanProfileEditable($clan, $userid){
</td>
</tr>
<tr>
<th width="25%" align="Left">Leader:<a
<th width="25%" align="Left" height="25">Leader:<a
href="index.php?as=clan/clan_info&action=edit&what=Leadership">(edit)</a>
</th>
<td><?php echo $leader; ?></td>
</tr>
<tr>
<th align="Left">Co-Leader:<a
<th align="Left" height="25">Co-Leader:<a
href="index.php?as=clan/clan_info&action=edit&what=Leadership">(edit)</a>
</th>
<td><?php echo $coleader; ?></td>
</tr>
<tr>
<th align="Left">Clanzeichen:<a
<th align="Left" height="25">Clanzeichen:<a
href="index.php?as=clan/clan_info&action=edit&what=Clanzeichen">(edit)</a>
</th>
<td><?php echo $clan['clanz_pre'].' '.$clan['clanz_suff']; ?></td>
</tr>
<tr>
<th align="Left">Member (<?php echo $count; ?>):</th>
<td><?php echo join('<br>',$member); ?></td>
</tr>
<th align="Left">Member (<?php echo $count.'/'.getMaximumMembers($clan['id']); ?>):</th>
<td><?php echo join('<br>',$member); ?></td>
</tr>
<tr>
<th align="Left">Eingeladen</th>
<td><?php echo join('<br', $invited); ?></td>
<td><?php echo join('<br>', $invited); ?></td>
</tr>
<tr>
<th align="Left">Level:</th>
<th align="Left" height="25">Level:</th>
<td><?php echo $clan['level']; ?></td>
</tr>
<tr>
<th align="Left" height="25">Erfahrung: </th>
<td><?php echo $clan['min_exp'].' / '.getRequiredClanExp($clan['level']); ?></td>
</tr>
<tr>
<th align="Left">Homepage:<a
<th align="Left" height="25">Homepage:<a
href="index.php?as=clan/clan_info&action=edit&what=Homepage">(edit)</a>
</th>
<?php
@ -355,42 +372,58 @@ function sendClanNewsletter($user, $text){
}
}
function setProfile($what, $value1, $value2, $clanid, $root){
function setProfile($what, $value1, $value2, $clanid, $rootlvl){
if($rootlvl < 1) {
return 'Du hast keine Rechte um diese Aktion auszuf&uuml;hren!';
}
switch($what){
case 'Homepage':
mysql_query('UPDATE clan SET homepage = \''.$value1.'\' where id = '.$clanid);
return;
return NULL;
case 'Clanzeichen':
mysql_query('UPDATE clan SET clanz_pre = \''.$value1.'\', clanz_suff = \''.$value2.'\' where id = '.$clanid);
return;
return NULL;
case 'Banner':
mysql_query('UPDATE clan SET banner = \''.$value1.'\' where id = '.$clanid);
return;
return NULL;
case 'Info':
mysql_query('UPDATE clan SET Info = \''.$value1.'\' where id = '.$clanid);
return;
return NULL;
case 'Leadership':
if($value1 == 0){$value1 = 'null';}
if($value2 == 0){$value2 = 'null';}
if(!$root){
// okay, are we allowed to change?? If we have max members, it is not allowed to remove the co_leader
$clan = getClan($clanid);
$members = getClanMembersCount($clanid);
$members_max = getMaximumMembers($clan['id']);
if($members_max == $members && $clan['leader'] != $clan['co_leader'] && $value1 == $value2) {
// Okay, actually there are the max amount of users in the clan
// it is now not possible to change to a leader only clan!!
return 'Es ist nicht m&oouml;glich den co_leader zu feuern, da der clan die maximale Anzahl Member besitzt!';
}
if($rootlvl == 1){ // the co leader may only set the co leader XD
$sql = 'UPDATE clan SET co_leader = '.$value2.' where id = '.$clanid;
mysql_query($sql);
} else{
} else if($rootlvl == 2) { // the leader may set the leader and the co leader
$sql = 'UPDATE clan SET leader = '.$value1.', co_leader = '.$value2.' where id = '.$clanid;
// echo $sql.'<br>';
mysql_query($sql);
}
return;
return NULL;
default:
echo 'Error!';
return;
return 'Error!';
}
}
function displayEdit($what, $clanid, $root){
$clan_qry = mysql_query('Select * from clan where id = '.$clanid);
$clan = mysql_fetch_assoc($clan_qry);
function displayEdit($what, $clanid, $rootlvl){
if($rootlvl < 1) {
$content = '<tr><td colspan="2">Du hast keine Rechte um diese Aktion auszuf&uuml;hren!</td></tr>';
$what = 'ERROR';
}
$clan = getCLan($clanid);
$content = '';
switch($what){
@ -427,10 +460,9 @@ function displayEdit($what, $clanid, $root){
$content .= '<tr><td>Co-Leader:</td><td><select class="input" name="value2" />'.join('',$member2).'</select></td></tr>';
break;
case 'Info':
$content = '<tr><td colspan="2"><textarea class="input" name="value1"></textarea></td></tr>';
$content = '<tr><td colspan="2"><textarea class="input" name="value1" rows="8" cols="40">'.debbcode($clan['info']).'</textarea></td></tr>';
break;
case 'Clan Passwort':
$content = '<tr><td colspan="2"><input class="input" name="value1" /></td></tr>';
case 'ERROR':
break;
default:
$content = '<tr><td colspan="2">Error '.$what.' unknown!</td></tr>';
@ -491,47 +523,26 @@ function deleteClan($user){
if($action !== NULL) { // this is done to not require to reprogramm the whole stuff!
//if($edit == 1){
// $row = mysql_fetch_assoc(mysql_query('SELECT leader, co_leader from clan where id = '.$user_ida['clan']));
// if($row['leader'] != $user_ida['id'] && $row['co_leader'] != $user_ida['id']){
// displayErrorMessage(NULL, 'Du bist weder Leader noch Co-Leader des Clans!', displayHistoryBackLink());
// } else if(isset($value1)){
// setProfile($what, $value1, $value2, $user_ida['clan'], $row['leader'] == $user_ida['id'] || $row['leader'] === null);
// } else{
// displayEdit($what, $user_ida['clan'],$row['leader'] == $user_ida['id'] || $row['leader'] === null);
// $displayMore = false;
// }
//} else if($putsch == 1){
// setMeAsLeader($user_ida);
//} else if($fire == 1){
// fireMember($user_ida, $member);
//} else if($kill == 1){
// deleteClan($user_ida);
//} else if($reject == 1) {
// $errorMsg = revokeInvitation($user_ida, $member);
// if($errorMsg !== NULL) {
// echo displayErrorMessage(NULL, $errorMsg, displayHistoryBackLink());
// $displayMore = false;
// } else {
// displayErrorMessage('','Du hast die Einladung erfolgreich zur&uuml;ckgezogen!', '<a href="index.php?as=clan/clan_info">weiter</a>');
// $displayMore = false;
// }
//}
$rootlvl = 0;
if($row['leader'] == $user_ida['id'] || ($row['leader'] === null && ($row['co_leader'] === null || $row['co_leader'] = $user_ida['id']))) {
$rootlvl = 2; // leader or putsch!!
} else if($row['co_leader'] = $user_ida['id']) {
$rootlvl = 1; // co_leader
}
if($action !== NULL) { // this is done to not require to reprogramm the whole stuff!
switch ($action) {
case 'edit':
$row = mysql_fetch_assoc(mysql_query('SELECT leader, co_leader from clan where id = '.$user_ida['clan']));
if($row['leader'] != $user_ida['id'] && $row['co_leader'] != $user_ida['id']){
displayErrorMessage(NULL, 'Du bist weder Leader noch Co-Leader des Clans!', displayHistoryBackLink());
} else if(isset($value1)){
setProfile($what, $value1, $value2, $user_ida['clan'], $row['leader'] == $user_ida['id'] || $row['leader'] === null);
setProfile($what, $value1, $value2, $user_ida['clan'], $rootlvl);
} else{
displayEdit($what, $user_ida['clan'],$row['leader'] == $user_ida['id'] || $row['leader'] === null);
displayEdit($what, $user_ida['clan'], $rootlvl);
$displayMore = false;
}
break;
@ -570,4 +581,4 @@ if($action !== NULL) { // this is done to not require to reprogramm the whole st
if($displayMore){
displayClanProfile($clan_id, $user_ida);
}
?>
?>

@ -1,285 +1,285 @@
<?php
/*
*
* @copyright (c) 2009 animegame.eu
* @license http://www.gnu.org/licenses/gpl-3.0.html GNU General Public Licence
*
*/
include_once($_SERVER['DOCUMENT_ROOT'].'ag/include/config.inc.php');
include_once($_SERVER['DOCUMENT_ROOT'].'ag/include/designfunctions.inc.php');
include_once($_SERVER['DOCUMENT_ROOT'].'ag/include/fehlerausgabe.inc.php');
include_once ($_SERVER['DOCUMENT_ROOT'] . 'ag/include/parse.inc.php');
// GET-Section
// Kritisch (SQL-Injections)
$clan_geld=validateUnsignedInteger($_GET['clan_geld'], null);
// Unkritisch
$charm=$_GET['charm'];
$mindestchar = 12;
$clan = mysql_fetch_array(mysql_query("SELECT geld FROM clan WHERE id='$user_ida[clan]' LIMIT 1"));
$user = mysql_fetch_array(mysql_Query("SELECT nickname, clan_geld, geld FROM user WHERE id='$user_ida[id]' LIMIT 1"));
if ($charm == 1) {
if($clan_geld <= 0) {
mysql_query("INSERT INTO cheater values('$user_ida[id]','Versuchte mehr weniger als 0 zu Spenden! (Eingabe:".$clan_geld.")',now())");
displayErrorMessage(NULL,'Geld darf nicht unter 0 sein!', '<a href="index.php?as=clan/spende">weiter...</a>');
exit;
}
displayErrorMessage(NULL,'<p>Willst du wirklich "<strong>'.$clan_geld.'</strong> &#165;" an deinen Clan spenden ?</p><p><a href="index.php?as=clan/spende&charm=2&clan_geld='.$clan_geld.'">Ja</a>&nbsp;|&nbsp;<a href="index.php?as=clan/spende">Nein</a></p>','');
exit;
} elseif($charm == 2) {
<?php
/*
*
* @copyright (c) 2009 animegame.eu
* @license http://www.gnu.org/licenses/gpl-3.0.html GNU General Public Licence
*
*/
include_once($_SERVER['DOCUMENT_ROOT'].'ag/include/config.inc.php');
include_once($_SERVER['DOCUMENT_ROOT'].'ag/include/designfunctions.inc.php');
include_once($_SERVER['DOCUMENT_ROOT'].'ag/include/fehlerausgabe.inc.php');
include_once ($_SERVER['DOCUMENT_ROOT'] . 'ag/include/parse.inc.php');
// GET-Section
// Kritisch (SQL-Injections)
$clan_geld=validateUnsignedInteger($_GET['clan_geld'], null);
// Unkritisch
$charm=$_GET['charm'];
$mindestchar = 12;
$clan = mysql_fetch_array(mysql_query("SELECT geld FROM clan WHERE id='$user_ida[clan]' LIMIT 1"));
$user = mysql_fetch_array(mysql_Query("SELECT nickname, clan_geld, geld FROM user WHERE id='$user_ida[id]' LIMIT 1"));
if ($charm == 1) {
if($clan_geld <= 0) {
mysql_query("INSERT INTO cheater values('$user_ida[id]','Versuchte mehr weniger als 0 zu Spenden! (Eingabe:".$clan_geld.")',now())");
displayErrorMessage(NULL,'Geld darf nicht unter 0 sein!', '<a href="index.php?as=clan/spende">weiter...</a>');
exit;
}
displayErrorMessage(NULL,'<p>Willst du wirklich "<strong>'.$clan_geld.'</strong> &#165;" an deinen Clan spenden ?</p><p><a href="index.php?as=clan/spende&charm=2&clan_geld='.$clan_geld.'">Ja</a>&nbsp;|&nbsp;<a href="index.php?as=clan/spende">Nein</a></p>','');
exit;
} elseif($charm == 2) {
// Um Pufferueberlaeufe zu vermeiden, einfach die Laenge der Zeichenkette abfragen, ab der 8ten stelle also uerbe 99 Mio geht nicht aufeinmal!
if(strlen($clan_geld)>8) {
mysql_query("INSERT INTO cheater values('$user_ida[id]','Versuchte mehr als 99.999.999 aufeinmal zu Spenden! (Eingabe:".$clan_geld.")',now())");
displayErrorMessage(NULL,'Es kann nicht mehr als 99.999.999 aufeinmal gespendet werden!', '<a href="index.php?as=clan/spende">weiter...</a>');
displayErrorMessage(NULL,'Es kann nicht mehr als 99.999.999 aufeinmal gespendet werden!', '<a href="index.php?as=clan/spende">weiter...</a>');
exit;
}
if($clan_geld <= 0) {
if($clan_geld <= 0) {
mysql_query("INSERT INTO cheater values('$user_ida[id]','Versuchte mehr weniger als 0 zu Spenden! (Eingabe:".$clan_geld.")',now())");
displayErrorMessage(NULL,'Geld darf nicht unter 0 sein!', '<a href="index.php?as=clan/spende">weiter...</a>');
exit;
displayErrorMessage(NULL,'Geld darf nicht unter 0 sein!', '<a href="index.php?as=clan/spende">weiter...</a>');
exit;
}
// Damit das minus nicht ausgenutzt wird!!
$auktionensumme = mysql_fetch_assoc(mysql_query('SELECT SUM(aktuellesgebot) as summe FROM auktion WHERE bieter = '.$user_ida[id].' GROUP BY bieter'));
$auktionensumme = $auktionensumme['summe'];
if($clan_geld+$auktionensumme>$user['geld']) {
displayErrorMessage(NULL,'Sie haben nicht genug Geld.', '<a href="index.php?as=clan/spende">weiter...</a>');
exit;
if($clan_geld+$auktionensumme>$user['geld']) {
displayErrorMessage(NULL,'Sie haben nicht genug Geld.', '<a href="index.php?as=clan/spende">weiter...</a>');
exit;
}
mysql_query("UPDATE clan SET geld=geld+'$clan_geld' WHERE id='$user_ida[clan]'");
mysql_query('Update user SET geld=geld-'.$clan_geld.' WHERE id='.$user_ida['id']);
mysql_query('UPDATE user_clan SET spende = spende + '.$clan_geld.' WHERE clanid = '.$user_ida['clan'].' and userid = '.$user_ida['id']);
if(mysql_affected_rows() == 0){
mysql_query('INSERT INTO user_clan(spende,clanid,userid) values('.$clan_geld.','.$user_ida['clan'].','.$user_ida['id'].')');
}
//mysql_query("UPDATE user SET geld=geld-'$_GET[clan_geld]', clan_geld=clan_geld+'$_GET[clan_geld]' WHERE id='$user_ida[id]'");
displayErrorMessage(NULL,'An Clan Erfolgreich Gespendet', '<a href="index.php?as=clan/spende">weiter...</a>');
exit;
}
?>
<head>
<script type="text/javascript">
<!--
function show_me () {
summe = (parseInt(document.forms[0].elements["clan_geld"].value));
}
var aktiv;
function button_plus(feld,schritt)
{
nummer=parseInt(document.forms[0].elements[feld].value)+schritt;
document.forms[0].elements[feld].value=nummer;
document.forms[0].elements["ges_lern"].value = parseInt(document.forms[0].elements["clan_geld"].value);
}
function button_minus(feld,min,schritt)
{
if(document.forms[0].elements[feld].value>min)
{
nummer=parseInt(document.forms[0].elements[feld].value)-schritt;
document.forms[0].elements[feld].value=nummer;
document.forms[0].elements["ges_lern"].value = parseInt(document.forms[0].elements["clan_geld"].value);
}
}
function start_plus(feld,schritt)
{
aktiv = setInterval("button_plus('"+feld+"',"+schritt+")",50);
}
function start_minus(feld,min,schritt)
{
aktiv = setInterval("button_minus('"+feld+"',"+min+","+schritt+")",50);
}
mysql_query("UPDATE clan SET geld=geld+'$clan_geld' WHERE id='$user_ida[clan]'");
mysql_query('Update user SET geld=geld-'.$clan_geld.' WHERE id='.$user_ida['id']);
mysql_query('UPDATE user_clan SET spende = spende + '.$clan_geld.' WHERE clanid = '.$user_ida['clan'].' and userid = '.$user_ida['id']);
if(mysql_affected_rows() == 0){
mysql_query('INSERT INTO user_clan(spende,clanid,userid) values('.$clan_geld.','.$user_ida['clan'].','.$user_ida['id'].')');
}
//mysql_query("UPDATE user SET geld=geld-'$_GET[clan_geld]', clan_geld=clan_geld+'$_GET[clan_geld]' WHERE id='$user_ida[id]'");
displayErrorMessage(NULL,'An Clan Erfolgreich Gespendet', '<a href="index.php?as=clan/spende">weiter...</a>');
exit;
}
?>
<head>
<script type="text/javascript">
<!--
function show_me () {
summe = (parseInt(document.forms[0].elements["clan_geld"].value));
}
var aktiv;
function button_plus(feld,schritt)
{
nummer=parseInt(document.forms[0].elements[feld].value)+schritt;
document.forms[0].elements[feld].value=nummer;
document.forms[0].elements["ges_lern"].value = parseInt(document.forms[0].elements["clan_geld"].value);
}
function button_minus(feld,min,schritt)
{
if(document.forms[0].elements[feld].value>min)
{
nummer=parseInt(document.forms[0].elements[feld].value)-schritt;
document.forms[0].elements[feld].value=nummer;
document.forms[0].elements["ges_lern"].value = parseInt(document.forms[0].elements["clan_geld"].value);
}
}
function start_plus(feld,schritt)
{
aktiv = setInterval("button_plus('"+feld+"',"+schritt+")",50);
}
function start_minus(feld,min,schritt)
{
aktiv = setInterval("button_minus('"+feld+"',"+min+","+schritt+")",50);
}
function stopp()
{
clearInterval(aktiv);
}
-->
</script>
</head>
<?php
//$sql = 'select u.id, item_id, count(c.id) from clan_ware cw inner join user u on cw.clan = u.clan inner join chars c on u.id = c.besitzer where u.clan = '.$user_ida['clan'].' group by u.id, item_id';
//$sql = 'SELECT miete as mietkosten, item_id from clan_ware inner join clan_item on clan_item.id = clan_ware.item_id where clan = '.$user_ida['clan'].' group by clan';
$sql ='SELECT miete, item_id, name, clan_ware.id from clan_ware inner join clan_item on clan_item.id = clan_ware.item_id where clan = '.$user_ida['clan'].' order by item_id asc';
//echo $sql.'<br>';
$qry = mysql_query($sql);
$clanraum = array();
$clanraum_a = array();
while($row = mysql_fetch_assoc($qry)){
$clanraum[$row['id']] = $row;
// print_r($row);
$clanraum_a[] = $row;
}
$raumanzahl = count($clanraum_a);
//echo 'Raumanzahl = '.$raumanzahl.'<br>';
$sql = 'SELECT chars.clan_train, count(chars.id) as anzahl from chars inner join user on chars.besitzer = user.id where user.clan = '.$user_ida['clan'].' and chars.clan_train != 0 group by chars.clan_train';
//echo $sql.'<br>';
$qry = mysql_query($sql);
$clanrauminfo = array();
while($row = mysql_fetch_assoc($qry)){
$clanrauminfo[$row['clan_train']] = $row;
}
//print_r($clanrauminfo);
$sql = 'select clan_ware.id as clan_warenid, user.id as userid, count(chars.id) as anzahl, clan.id as clanid from clan inner join clan_ware on clan.id = clan_ware.clan inner join clan_item on clan_item.id = clan_ware.item_id inner join user on clan.id = user.clan left join chars on user.id = chars.besitzer and clan_ware.id = chars.clan_train where clan.id = '.$user_ida['clan'].' group by userid, clan_warenid order by userid, clan_warenid';
//echo $sql.'<br>';
$qry = mysql_query($sql);
$user_raum = array();
// Anzahl der Chars pro Raum pro User
while($row = mysql_fetch_assoc($qry)){
$user_raum[$row['userid']][$row['clan_warenid']] = $row;
}
//print_r($user_raum);
$clans_spend = mysql_query('SELECT spende, nickname, user.id as userid FROM user left join user_clan on user.id = user_clan.userid and user.clan = user_clan.clanid WHERE user.clan = '.$user_ida['clan'].' ORDER BY spende DESC');
$member = mysql_num_rows($clans_spend);
$sql = 'select besitzer, round(sum(1/(1+exp(3-level/12)) * nutzung)) as nutzkosten from user inner join chars on chars.besitzer = user.id inner join clan_ware on chars.clan_train = clan_ware.id inner join clan_item on clan_ware.item_id = clan_item.id where user.clan = clan_ware.clan and user.clan = '.$user_ida['clan'].' group by besitzer order by besitzer';
//echo $sql.'<br>';
$qry = mysql_query($sql);
$user_nutz = array();
while($row = mysql_fetch_assoc($qry)){
$user_nutz[$row['besitzer']] = $row;
}
//print_r($user_nutz);
$clan_kosten = 0;
$clan_untersch = 0;
for($i=0;$i<$raumanzahl;$i++){
$clan_kosten += $clanraum_a[$i]['miete']*max($mindestchar, $clanrauminfo[$clanraum_a[$i]['id']]['anzahl']);
if($clanrauminfo[$clanraum_a[$i]['id']]['anzahl'] < $mindestchar){
$clan_untersch += ($mindestchar - $clanrauminfo[$clanraum_a[$i]['id']]['anzahl']) * $clanraum_a[$i]['miete'];
}
}
//echo 'Unterschuss: '.$clan_untersch.'<br>';
$cols = 4;
?>
<table width="100%" border="0">
<tr>
<th colspan="<?php echo $cols+$raumanzahl; ?>" align="center">Spender Liste</th>
</tr>
<tr>
<th>Member</th>
<th>Spenden</th>
<?php
for($i=0;$i<$raumanzahl;$i++){
echo '<th>'.$clanraum_a[$i]['name'].'</th>';
}
?>
<th>Mietgeb&uuml;hren</th>
<th>Nutzungsgeb&uuml;hren</th>
</tr>
<tr>
<th colspan="<?php echo $cols+$raumanzahl; ?>"><hr></th>
</tr>
<?php
$summe = 0;
while($row = mysql_fetch_assoc($clans_spend)) {
?>
<tr>
<th align="center"><?php echo $row['nickname']; ?></th>
<td align="center"><?php echo displayMoney($row['spende']); ?></td>
<?php
$summe += $row['spende'];
$costs = 0;
for($i=0;$i<$raumanzahl;$i++){
echo '<td align="center">'.$user_raum[$row['userid']][$clanraum_a[$i]['id']]['anzahl'].'</td>';
$costs += $user_raum[$row['userid']][$clanraum_a[$i]['id']]['anzahl']*$clanraum_a[$i]['miete'];
}
if($clan_untersch != 0){
echo '<td align="center">'.displayMoney($costs + ($clan_untersch/$member)).' (incl. '.displayMoney($clan_untersch/$member).')</td>';
} else{
echo '<td align="center">'.displayMoney($costs).'</td>';
}
// $checksumme += $costs + ($clan_untersch/$member);
?>
<td align="center"><?php echo displayMoney($user_nutz[$row['userid']]['nutzkosten']); ?></td>
</tr>
<?php
}
?>
<tr>
<th colspan="<?php echo $cols+$raumanzahl; ?>"><hr></th>
</tr>
<tr>
<th><?php echo $member; ?> Member</th>
<th><?php
$sql = 'SELECT sum(spende) as summe FROM user_clan WHERE clanid ='.$user_ida['clan'];
$qry = mysql_query($sql);
$row_s = mysql_fetch_assoc($qry);
echo displayMoney($row_s['summe']);
?></th>
<?php
for($i=0;$i<$raumanzahl;$i++){
if($clanrauminfo[$clanraum_a[$i]['id']]['anzahl'] < $mindestchar){
echo '<th>'.$mindestchar.' ('.$clanrauminfo[$clanraum_a[$i]['id']]['anzahl'].')</th>';
}else{
echo '<th>'.$clanrauminfo[$clanraum_a[$i]['id']]['anzahl'].'</th>';
}
}
?>
<th><?php echo displayMoney($clan_kosten); ?> </th>
</tr>
</table>
<br><br>
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="GET">
<input type="hidden" name="as" value="clan/spende">
<input type="hidden" name="charm" value="1">
<table width="75%" border="0" align="center">
<tr>
<td colspan="2" align="center">Clan Geld Spenden (<?php echo displayMoney($clan['geld']); ?>)</td>
</tr>
<tr>
<td align="center">Dein Geld -</td>
<td align="center"><input id="input" name="ges_lern" type="text" value="0" size="15" readonly></td>
</tr>
<tr>
<td align="center">Clan Geld +</td>
<td align="center">
<input id="input" name="clan_geld" type="text" value="0" size="7">
<input id="input" type="button" name="+2" value=" + " onMouseDown="start_plus('clan_geld',100);" onMouseUp="stopp();">
<input id="input" type="button" name="-2" value="-" onMouseDown="start_minus('clan_geld','0',100);" onMouseUp="stopp();">
</td>
</tr>
<tr>
<td>&nbsp;</td>
<td align="center"><input id="input" type=submit value="Geld Spenden"></form></td>
</tr>
</table>
function stopp()
{
clearInterval(aktiv);
}
-->
</script>
</head>
<?php
//$sql = 'select u.id, item_id, count(c.id) from clan_ware cw inner join user u on cw.clan = u.clan inner join chars c on u.id = c.besitzer where u.clan = '.$user_ida['clan'].' group by u.id, item_id';
//$sql = 'SELECT miete as mietkosten, item_id from clan_ware inner join clan_item on clan_item.id = clan_ware.item_id where clan = '.$user_ida['clan'].' group by clan';
$sql ='SELECT miete, item_id, name, clan_ware.id from clan_ware inner join clan_item on clan_item.id = clan_ware.item_id where clan = '.$user_ida['clan'].' order by item_id asc';
//echo $sql.'<br>';
$qry = mysql_query($sql);
$clanraum = array();
$clanraum_a = array();
while($row = mysql_fetch_assoc($qry)){
$clanraum[$row['id']] = $row;
// print_r($row);
$clanraum_a[] = $row;
}
$raumanzahl = count($clanraum_a);
//echo 'Raumanzahl = '.$raumanzahl.'<br>';
$sql = 'SELECT chars.clan_train, count(chars.id) as anzahl from chars inner join user on chars.besitzer = user.id where user.clan = '.$user_ida['clan'].' and chars.clan_train != 0 group by chars.clan_train';
//echo $sql.'<br>';
$qry = mysql_query($sql);
$clanrauminfo = array();
while($row = mysql_fetch_assoc($qry)){
$clanrauminfo[$row['clan_train']] = $row;
}
//print_r($clanrauminfo);
$sql = 'select clan_ware.id as clan_warenid, user.id as userid, count(chars.id) as anzahl, clan.id as clanid from clan inner join clan_ware on clan.id = clan_ware.clan inner join clan_item on clan_item.id = clan_ware.item_id inner join user on clan.id = user.clan left join chars on user.id = chars.besitzer and clan_ware.id = chars.clan_train where clan.id = '.$user_ida['clan'].' group by userid, clan_warenid order by userid, clan_warenid';
//echo $sql.'<br>';
$qry = mysql_query($sql);
$user_raum = array();
// Anzahl der Chars pro Raum pro User
while($row = mysql_fetch_assoc($qry)){
$user_raum[$row['userid']][$row['clan_warenid']] = $row;
}
//print_r($user_raum);
$clans_spend = mysql_query('SELECT spende, nickname, user.id as userid FROM user left join user_clan on user.id = user_clan.userid and user.clan = user_clan.clanid WHERE user.clan = '.$user_ida['clan'].' ORDER BY spende DESC');
$member = mysql_num_rows($clans_spend);
$sql = 'select besitzer, round(sum(1/(1+exp(3-level/12)) * nutzung)) as nutzkosten from user inner join chars on chars.besitzer = user.id inner join clan_ware on chars.clan_train = clan_ware.id inner join clan_item on clan_ware.item_id = clan_item.id where user.clan = clan_ware.clan and user.clan = '.$user_ida['clan'].' group by besitzer order by besitzer';
//echo $sql.'<br>';
$qry = mysql_query($sql);
$user_nutz = array();
while($row = mysql_fetch_assoc($qry)){
$user_nutz[$row['besitzer']] = $row;
}
//print_r($user_nutz);
$clan_kosten = 0;
$clan_untersch = 0;
for($i=0;$i<$raumanzahl;$i++){
$clan_kosten += $clanraum_a[$i]['miete']*max($mindestchar, $clanrauminfo[$clanraum_a[$i]['id']]['anzahl']);
if($clanrauminfo[$clanraum_a[$i]['id']]['anzahl'] < $mindestchar){
$clan_untersch += ($mindestchar - $clanrauminfo[$clanraum_a[$i]['id']]['anzahl']) * $clanraum_a[$i]['miete'];
}
}
//echo 'Unterschuss: '.$clan_untersch.'<br>';
$cols = 4;
?>
<table width="100%" border="0">
<tr>
<th colspan="<?php echo $cols+$raumanzahl; ?>" align="center">Spender Liste</th>
</tr>
<tr>
<th>Member</th>
<th>Spenden</th>
<?php
for($i=0;$i<$raumanzahl;$i++){
echo '<th>'.$clanraum_a[$i]['name'].'</th>';
}
?>
<th>Mietgeb&uuml;hren</th>
<th>Nutzungsgeb&uuml;hren</th>
</tr>
<tr>
<th colspan="<?php echo $cols+$raumanzahl; ?>"><hr></th>
</tr>
<?php
$summe = 0;
while($row = mysql_fetch_assoc($clans_spend)) {
?>
<tr>
<th align="center"><?php echo $row['nickname']; ?></th>
<td align="center"><?php echo displayMoney($row['spende']); ?></td>
<?php
$summe += $row['spende'];
$costs = 0;
for($i=0;$i<$raumanzahl;$i++){
echo '<td align="center">'.$user_raum[$row['userid']][$clanraum_a[$i]['id']]['anzahl'].'</td>';
$costs += $user_raum[$row['userid']][$clanraum_a[$i]['id']]['anzahl']*$clanraum_a[$i]['miete'];
}
if($clan_untersch != 0){
echo '<td align="center">'.displayMoney($costs + ($clan_untersch/$member)).' (incl. '.displayMoney($clan_untersch/$member).')</td>';
} else{
echo '<td align="center">'.displayMoney($costs).'</td>';
}
// $checksumme += $costs + ($clan_untersch/$member);
?>
<td align="center"><?php echo displayMoney($user_nutz[$row['userid']]['nutzkosten']); ?></td>
</tr>
<?php
}
?>
<tr>
<th colspan="<?php echo $cols+$raumanzahl; ?>"><hr></th>
</tr>
<tr>
<th><?php echo $member; ?> Member</th>
<th><?php
$sql = 'SELECT sum(spende) as summe FROM user_clan WHERE clanid ='.$user_ida['clan'];
$qry = mysql_query($sql);
$row_s = mysql_fetch_assoc($qry);
echo displayMoney($row_s['summe']);
?></th>
<?php
for($i=0;$i<$raumanzahl;$i++){
if($clanrauminfo[$clanraum_a[$i]['id']]['anzahl'] < $mindestchar){
echo '<th>'.$mindestchar.' ('.$clanrauminfo[$clanraum_a[$i]['id']]['anzahl'].')</th>';
}else{
echo '<th>'.$clanrauminfo[$clanraum_a[$i]['id']]['anzahl'].'</th>';
}
}
?>
<th><?php echo displayMoney($clan_kosten); ?> </th>
</tr>
</table>
<br><br>
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="GET">
<input type="hidden" name="as" value="clan/spende">
<input type="hidden" name="charm" value="1">
<table width="75%" border="0" align="center">
<tr>
<td colspan="2" align="center">Clan Geld Spenden (<?php echo displayMoney($clan['geld']); ?>)</td>
</tr>
<tr>
<td align="center">Dein Geld -</td>
<td align="center"><input id="input" name="ges_lern" type="text" value="0" size="15" readonly></td>
</tr>
<tr>
<td align="center">Clan Geld +</td>
<td align="center">
<input id="input" name="clan_geld" type="text" value="0" size="7">
<input id="input" type="button" name="+2" value=" + " onMouseDown="start_plus('clan_geld',100);" onMouseUp="stopp();">
<input id="input" type="button" name="-2" value="-" onMouseDown="start_minus('clan_geld','0',100);" onMouseUp="stopp();">
</td>
</tr>
<tr>
<td>&nbsp;</td>
<td align="center"><input id="input" type=submit value="Geld Spenden"></form></td>
</tr>
</table>

@ -6,6 +6,90 @@
*
*/
$GLOBALS['clan_buffered_instances'] = array ();
function getClan($clanid, $buffer = TRUE) {
if(!is_numeric($clanid)) { return NULL; }
if(buffer && isset($GLOBALS['clan_buffered_instances'][$clanid])) {
return $GLOBALS['clan_buffered_instances'][$clanid]; // okay, we already buffered the clan :)
}
$clan = mysql_fetch_assoc(mysql_query('SELECT * FROM clan WHERE id = '. $clanid));
// now calculate the member, max_exp fields :D
if($clan) {
$GLOBALS['clan_buffered_instances'][$clanid] = $clan;
return $clan;
} else {
return NULL;
}
}
function getClanMembersCount($clanid) {
if(!is_numeric($clanid)) { return NULL; }
$row = mysql_fetch_assoc(mysql_query('SELECT count(id) as amount FROM user WHERE clan = '. $clanid));
return $row['amount'];
}
function getClanMemberBonusByLevel($level) {
switch($level) {
case 1:
case 2:
case 3:
return 0;
case 4:
case 5:
return 1;
case 6:
case 7:
return 2;
case 8:
case 9:
return 3;
case 10:
case 11:
return 4;
case 12:
case 13:
return 5;
case 14:
return 6;
case 15:
return 7;
case 16:
return 8;
case 17:
return 9;
default:
return 10;
}
}
function getMaximumMembers($clanid) {
// okay, this is a more tricky calculation as this requires the information (are leader and co_leader the same person??)
// the second parameter is the clan level. Each 2 levels (where the maximum clan level is about 20) one more member can
// be invited :)
$clan = getClan($clanid);
if($clan === NULL){ return 0; }
$base = 10;
$members_by_level = getClanMemberBonusByLevel($clan['level']);
$malus = 0;
if($clan['co_leader'] == NULL || $clan['co_leader'] == $clan['leader']) {
$malus = 1;
}
return $base + $members_by_level - $malus;
}
function getRequiredClanExp($level) {
return pow(2, $level) * 10;
}
function revokeInvitation($user, $userid, $clan = NULL){
if($user['clan'] === NULL) {
return 'Du bist in keinem Clan!';
@ -107,4 +191,4 @@ function acceptChallenge(array $user, array $charids) {
}
?>
?>

@ -51,6 +51,7 @@ function encodeNoHTMLnoBBAlBhed($msg){
return '[text='.$msg.']'.$result.'[/text]';
}
function decodeNoHTMLNoBBAlBhed($msg){
// Al Bhed: A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
// Deutsch: E P S T I W K N U V G C L R Y B X H M D O F Z Q A J
@ -231,7 +232,8 @@ function debbcode($messagetext){
'#\<sup\>(.*?)\</sup\>#',
'#\<span style="color:\#?([0-9a-fA-F]{6})"\>(.*?)</span\>#',
'#\<span style="color:([a-zA-Z]+?)"\>(.*?)</span\>#',
'#<br>#'
'#<br>#',
'#\<span title="([^"]*?)"\>[^\<]*\</span\>#'
//'<img src="\1\2">',
//'<img src="\1\2" />'
) ;
@ -248,7 +250,8 @@ function debbcode($messagetext){
'[sup]\1[/sup]',
'[color=#\1]\2[/color]',
'[color=\1]\2[/color]',
"\n"
"\n",
'[albhed]\1[/albhed]'
//'#\[img]([a-z]+?://){1}(.*?)\[/img]#',
//'#\[img](.*?)\[/img\]#'
) ;

Loading…
Cancel
Save