getAlliance($aid); $aliusers = $database->getAllMember($aid); if($alidata && $aliusers) { $memberIDs = array_column($aliusers, 'id'); $data = $database->getVSumField($memberIDs,"pop"); $totalpop = 0; if(count($data)) { foreach($data as $row) { $totalpop += $row['Total']; } } $founder = $database->getUserField($alidata['leader'],"username",0); // --- FIX 1: calculeaza max membri dupa Ambasada (lvl 20 = 60) --- $embassyLevel = 0; $leaderId = (int)$alidata['leader']; // 1. ia toate satele liderului din vdata $villages = []; $vq = mysqli_query($GLOBALS["link"], "SELECT wref FROM ".TB_PREFIX."vdata WHERE owner = $leaderId"); while($v = mysqli_fetch_assoc($vq)) { $villages[] = (int)$v['wref']; } if(!empty($villages)) { $in = implode(',', $villages); // 2. cauta in fdata, in TOATE coloanele *t, unde tipul = 18 // MODIFICARE: punem MAX in jurul GREATEST ca sa luam cel mai mare nivel din TOATE orasele $sql = "SELECT MAX( GREATEST( IF(f1t=18,IFNULL(f1,0),0), IF(f2t=18,IFNULL(f2,0),0), IF(f3t=18,IFNULL(f3,0),0), IF(f4t=18,IFNULL(f4,0),0), IF(f5t=18,IFNULL(f5,0),0), IF(f6t=18,IFNULL(f6,0),0), IF(f7t=18,IFNULL(f7,0),0), IF(f8t=18,IFNULL(f8,0),0), IF(f9t=18,IFNULL(f9,0),0), IF(f10t=18,IFNULL(f10,0),0), IF(f11t=18,IFNULL(f11,0),0), IF(f12t=18,IFNULL(f12,0),0), IF(f13t=18,IFNULL(f13,0),0), IF(f14t=18,IFNULL(f14,0),0), IF(f15t=18,IFNULL(f15,0),0), IF(f16t=18,IFNULL(f16,0),0), IF(f17t=18,IFNULL(f17,0),0), IF(f18t=18,IFNULL(f18,0),0), IF(f19t=18,IFNULL(f19,0),0), IF(f20t=18,IFNULL(f20,0),0), IF(f21t=18,IFNULL(f21,0),0), IF(f22t=18,IFNULL(f22,0),0), IF(f23t=18,IFNULL(f23,0),0), IF(f24t=18,IFNULL(f24,0),0), IF(f25t=18,IFNULL(f25,0),0), IF(f26t=18,IFNULL(f26,0),0), IF(f27t=18,IFNULL(f27,0),0), IF(f28t=18,IFNULL(f28,0),0), IF(f29t=18,IFNULL(f29,0),0), IF(f30t=18,IFNULL(f30,0),0), IF(f31t=18,IFNULL(f31,0),0), IF(f32t=18,IFNULL(f32,0),0), IF(f33t=18,IFNULL(f33,0),0), IF(f34t=18,IFNULL(f34,0),0), IF(f35t=18,IFNULL(f35,0),0), IF(f36t=18,IFNULL(f36,0),0), IF(f37t=18,IFNULL(f37,0),0), IF(f38t=18,IFNULL(f38,0),0), IF(f39t=18,IFNULL(f39,0),0), IF(f40t=18,IFNULL(f40,0),0), IF(f99t=18,IFNULL(f99,0),0) ) ) as emb_lvl FROM ".TB_PREFIX."fdata WHERE vref IN ($in)"; $embQ = mysqli_query($GLOBALS["link"], $sql); if($er = mysqli_fetch_assoc($embQ)) { $embassyLevel = (int)$er['emb_lvl']; } } $maxMembers = $embassyLevel * 3; if($maxMembers < 3) $maxMembers = 3; // --- FIX 3: calculeaza rank real dupa puncte --- $allianceRank = 1; $rankSql = "SELECT a.id, COALESCE(SUM(v.pop),0) as pts FROM ".TB_PREFIX."alidata a LEFT JOIN ".TB_PREFIX."users u ON u.alliance=a.id LEFT JOIN ".TB_PREFIX."vdata v ON v.owner=u.id GROUP BY a.id ORDER BY pts DESC"; $rankRes = mysqli_query($GLOBALS["link"], $rankSql); while($rr = mysqli_fetch_assoc($rankRes)){ if((int)$rr['id'] == $aid) break; $allianceRank++; } ?>

👑 Founder:
👥 Members: /
🏆 Points:

📋 Alliance Details

Tag
Name
Rank#
Points
Capacity =$maxMembers?'full':'ok'; ?>
🛡 Alliance Positions
'.htmlspecialchars($player['username']).' '.htmlspecialchars($row['rank']).'
'.implode(' • ', $perms).'
'; } ?>

📖 Alliance Description

📢 Alliance Notice

👥 Members ()

getProfileVillages($memberIDs); foreach($aliusers as $user){ $rank++; $TotalUserPop = $database->getVSumField($user['id'],"pop"); $TotalVillages = $database->getProfileVillages($user['id']); echo ""; echo ""; echo ""; echo ""; echo ""; echo ""; } ?>
#PlayerPopulationVillages
$rank.".htmlspecialchars($user['username'])."".(int)$TotalUserPop."".count($TotalVillages).""; if((time()-600) < $user['timestamp']) echo ""; elseif((time()-86400) < $user['timestamp']) echo ""; elseif((time()-259200) < $user['timestamp']) echo ""; elseif((time()-604800) < $user['timestamp']) echo ""; else echo ""; echo "

📰 Alliance News

([^<]+)<\/a>/i', '$2', $comment); $comment = strip_tags($comment, ''); echo ''; } ?>
EventTime
'.$comment.''.date('d.m.Y H:i', $row['date']).'

🤝 Diplomacy

' : ''; echo ''.$type.''; } ?>
AllianceTypeStatus
'.htmlspecialchars($ally['tag']).''.$acc.'
Alliance not found...
Back"; } } ?>