mirror of
https://github.com/Shadowss/TravianZ.git
synced 2026-07-13 16:16:07 +00:00
Merge branch 'master' of https://github.com/Shadowss/TravianZ
This commit is contained in:
+45
-3
@@ -80,7 +80,7 @@ class Alliance {
|
||||
/**
|
||||
* Determines if a player can act with the forum (edit/delete/create things, etc.)
|
||||
*
|
||||
* @param array $datas The array which contains: [aid, alliance, forum_perm, admin, owner]
|
||||
* @param array $datas The array which contains: [aid, alliance, forum_perm, admin, owner, forum_owner]
|
||||
* @return bool Returns true if you are able to act, false otherwise
|
||||
*/
|
||||
|
||||
@@ -88,9 +88,51 @@ class Alliance {
|
||||
global $database, $session;
|
||||
|
||||
return (/*$database->CheckEditRes($datas['aid']) == 1 && */((($database->isAllianceOwner($session->uid) == $datas['alliance'] ||
|
||||
($datas['forum_perm'] == 1 && $session->alliance == $datas['alliance'])) &&
|
||||
($datas['forum_perm'] == 1 && $session->alliance == $datas['alliance'])) && $session->alliance > 0 &&
|
||||
($mode || (isset($datas['admin']) && !empty($datas['admin']) && $datas['admin'] == "switch_admin"))) ||
|
||||
$datas['owner'] == $session->uid));
|
||||
$datas['owner'] == $session->uid) || ($datas['forum_owner'] == $session->uid && $datas['alliance'] == 0));
|
||||
}
|
||||
|
||||
/**
|
||||
* Create two string, representing alliances ID and users ID which can see a specific forum
|
||||
*
|
||||
* @param int $alliancesID A list of alliances ID
|
||||
* @param int $alliancesName A list of alliances Name
|
||||
* @param int $usersID A list of users ID
|
||||
* @param int $usersName A list of users name
|
||||
* @return array Returns the two string, composed by alliances ID and users ID
|
||||
*/
|
||||
|
||||
public function createForumVisiblity($alliancesID, $alliancesName, $usersID, $usersName){
|
||||
global $database, $session;
|
||||
|
||||
$alliances = $users = [];
|
||||
|
||||
//Deduplicate alliances
|
||||
if(!empty($alliancesID)){
|
||||
foreach($alliancesID as $alliance){
|
||||
if(!empty($alliance) && is_numeric($alliance) && $database->aExist($alliance, 'id') && $alliance != $session->alliance) $alliances[$alliance] = true;
|
||||
}
|
||||
}
|
||||
if(!empty($alliancesName)){
|
||||
foreach($alliancesName as $alliance){
|
||||
if(!empty($alliance) && !empty($allianceID = $database->getAllianceID($alliance)) && $allianceID != $session->alliance) $alliances[$allianceID] = true;
|
||||
}
|
||||
}
|
||||
|
||||
//Deduplicate users
|
||||
if(!empty($usersID)){
|
||||
foreach($usersID as $user) {
|
||||
if(!empty($user) && is_numeric($user) && ($userAlly = $database->getUserAllianceID($user)) > 0 && $userAlly != $session->alliance && $database->getUserField($user, 'username', 0) != "[?]" && $user != $session->uid) $users[$user] = true;
|
||||
}
|
||||
}
|
||||
if(!empty($usersName)){
|
||||
foreach($usersName as $user){
|
||||
if(!empty($user) && !empty($userID = $database->getUserField($user, 'id', 1)) && $userID != $session->uid && ($userAlly = $database->getUserAllianceID($userID)) > 0 && $userAlly != $session->alliance) $users[$userID] = true;
|
||||
}
|
||||
}
|
||||
|
||||
return ['alliances' => implode(',', array_keys($alliances)), 'users' => implode(',', array_keys($users))];
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
+7
-11
@@ -2517,10 +2517,10 @@ class MYSQLi_DB implements IDbConnection {
|
||||
return mysqli_query($this->dblink,$q);
|
||||
}
|
||||
|
||||
function UpdateEditForum($id, $name, $des, $ally) {
|
||||
list($id, $name, $des, $ally) = $this->escape_input((int) $id, $name, $des, (int) $ally);
|
||||
function UpdateEditForum($id, $name, $des, $ally, $alliances, $users) {
|
||||
list($id, $name, $des, $ally, $alliances, $users) = $this->escape_input((int) $id, $name, $des, (int) $ally, $alliances, $users);
|
||||
|
||||
$q = "UPDATE " . TB_PREFIX . "forum_cat SET forum_name = '$name', forum_des = '$des' WHERE id = $id AND alliance = $ally";
|
||||
$q = "UPDATE " . TB_PREFIX . "forum_cat SET forum_name = '$name', forum_des = '$des', display_to_alliances = '$alliances', display_to_users = '$users' WHERE id = $id AND alliance = $ally";
|
||||
return mysqli_query($this->dblink,$q);
|
||||
}
|
||||
|
||||
@@ -2576,10 +2576,10 @@ class MYSQLi_DB implements IDbConnection {
|
||||
return $this->mysqli_fetch_all($result);
|
||||
}
|
||||
|
||||
function CreatForum($owner, $alli, $name, $des, $area) {
|
||||
list($owner, $alli, $name, $des, $area) = $this->escape_input($owner, $alli, $name, $des, $area);
|
||||
function CreatForum($owner, $alli, $name, $des, $area, $alliances, $users) {
|
||||
list($owner, $alli, $name, $des, $area, $alliances, $users) = $this->escape_input($owner, $alli, $name, $des, $area, $alliances, $users);
|
||||
|
||||
$q = "INSERT into " . TB_PREFIX . "forum_cat values (0, 0,'$owner','$alli','$name','$des','$area')";
|
||||
$q = "INSERT into " . TB_PREFIX . "forum_cat values (0, 0,'$owner','$alli','$name','$des','$area','$alliances','$users')";
|
||||
mysqli_query($this->dblink,$q);
|
||||
return mysqli_insert_id($this->dblink);
|
||||
}
|
||||
@@ -2870,11 +2870,7 @@ class MYSQLi_DB implements IDbConnection {
|
||||
|
||||
$q = "SELECT $type FROM " . TB_PREFIX . "alidata where $type = '$ref'";
|
||||
$result = mysqli_query($this->dblink,$q);
|
||||
if(mysqli_num_rows($result)) {
|
||||
return true;
|
||||
} else {
|
||||
return false;
|
||||
}
|
||||
return mysqli_num_rows($result);
|
||||
}
|
||||
|
||||
function modifyPoints($aid, $points, $amt) {
|
||||
|
||||
Reference in New Issue
Block a user