mirror of
https://github.com/Shadowss/TravianZ.git
synced 2026-09-02 16:37:15 +00:00
Fixed a bug while sorting
This commit is contained in:
@@ -290,7 +290,7 @@ class Market
|
|||||||
array_push($holderarray,$value);
|
array_push($holderarray,$value);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
$this->onsale = $multisort->sorte($holderarray, "'duration'", true, 2);
|
$this->onsale = $multisort->sorte($holderarray, "duration", true, 2);
|
||||||
}
|
}
|
||||||
|
|
||||||
private function filterNeed($get)
|
private function filterNeed($get)
|
||||||
|
|||||||
+22
-20
@@ -25,28 +25,30 @@ class multiSort {
|
|||||||
if($i + 2 < func_num_args())
|
if($i + 2 < func_num_args())
|
||||||
$type = func_get_arg($i + 2);
|
$type = func_get_arg($i + 2);
|
||||||
|
|
||||||
switch($type)
|
$t = function($a, $b) use ($key)
|
||||||
{
|
{
|
||||||
case 1: // Case insensitive natural.
|
switch($type)
|
||||||
$t = 'strcasenatcmp($a[' . $key . '], $b[' . $key . '])';
|
{
|
||||||
break;
|
case 1: // Case insensitive natural.
|
||||||
case 2: // Numeric.
|
$result = strcasenatcmp($a[$key], $b[$key]);
|
||||||
$t = '$a[' . $key . '] - $b[' . $key . ']';
|
break;
|
||||||
break;
|
case 2: // Numeric.
|
||||||
case 3: // Case sensitive string.
|
$result = $a[$key] - $b[$key];
|
||||||
$t = 'strcmp($a[' . $key . '], $b[' . $key . '])';
|
break;
|
||||||
break;
|
case 3: // Case sensitive string.
|
||||||
case 4: // Case insensitive string.
|
$result = strcmp($a[$key], $b[$key]);
|
||||||
$t = 'strcasecmp($a[' . $key . '], $b[' . $key . '])';
|
break;
|
||||||
break;
|
case 4: // Case insensitive string.
|
||||||
default: // Case sensitive natural.
|
$result = strcasecmp($a[$key], $b[$key]);
|
||||||
$t = 'strnatcmp($a[' . $key . '], $b[' . $key . '])';
|
break;
|
||||||
break;
|
default: // Case sensitive natural.
|
||||||
}
|
$result = strnatcmp($a[$key], $b[ $key]);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
return $result*($order ? 1 : -1);
|
||||||
|
};
|
||||||
|
|
||||||
usort($array, function($a, $b) use ($order, $t) {
|
usort($array, $t);
|
||||||
return ($order ? '' : '-') . ($t);
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
return $array;
|
return $array;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -467,7 +467,7 @@
|
|||||||
|
|
||||||
array_push($holder, $value);
|
array_push($holder, $value);
|
||||||
}
|
}
|
||||||
$holder = $multisort->sorte($holder, "'x'", true, 2, "'y'", true, 2, "'pop'", false, 2);
|
$holder = $multisort->sorte($holder, "x", true, 2, "y", true, 2, "pop", false, 2);
|
||||||
$newholder = array("pad");
|
$newholder = array("pad");
|
||||||
foreach($holder as $key) {
|
foreach($holder as $key) {
|
||||||
array_push($newholder, $key);
|
array_push($newholder, $key);
|
||||||
@@ -506,7 +506,7 @@
|
|||||||
|
|
||||||
array_push($holder, $value);
|
array_push($holder, $value);
|
||||||
}
|
}
|
||||||
$holder = $multisort->sorte($holder, "'totalpop'", false, 2);
|
$holder = $multisort->sorte($holder, "totalpop", false, 2);
|
||||||
$newholder = array("pad");
|
$newholder = array("pad");
|
||||||
foreach($holder as $key) {
|
foreach($holder as $key) {
|
||||||
array_push($newholder, $key);
|
array_push($newholder, $key);
|
||||||
@@ -526,7 +526,7 @@
|
|||||||
|
|
||||||
array_push($holder, $value);
|
array_push($holder, $value);
|
||||||
}
|
}
|
||||||
$holder = $multisort->sorte($holder, "'experience'", false, 2);
|
$holder = $multisort->sorte($holder, "experience", false, 2);
|
||||||
$newholder = array("pad");
|
$newholder = array("pad");
|
||||||
foreach($holder as $key) {
|
foreach($holder as $key) {
|
||||||
array_push($newholder, $key);
|
array_push($newholder, $key);
|
||||||
@@ -554,7 +554,7 @@
|
|||||||
|
|
||||||
array_push($holder, $value);
|
array_push($holder, $value);
|
||||||
}
|
}
|
||||||
$holder = $multisort->sorte($holder, "'Aap'", false, 2);
|
$holder = $multisort->sorte($holder, "Aap", false, 2);
|
||||||
$newholder = array("pad");
|
$newholder = array("pad");
|
||||||
foreach($holder as $key) {
|
foreach($holder as $key) {
|
||||||
array_push($newholder, $key);
|
array_push($newholder, $key);
|
||||||
@@ -582,7 +582,7 @@
|
|||||||
|
|
||||||
array_push($holder, $value);
|
array_push($holder, $value);
|
||||||
}
|
}
|
||||||
$holder = $multisort->sorte($holder, "'Adp'", false, 2);
|
$holder = $multisort->sorte($holder, "Adp", false, 2);
|
||||||
$newholder = array("pad");
|
$newholder = array("pad");
|
||||||
foreach($holder as $key) {
|
foreach($holder as $key) {
|
||||||
array_push($newholder, $key);
|
array_push($newholder, $key);
|
||||||
|
|||||||
Reference in New Issue
Block a user