mirror of
https://gitlab.com/hashborgir/d2tools.git
synced 2025-10-13 08:24:24 -05:00
DescFunc 14 done
This commit is contained in:
@@ -1,6 +1,7 @@
|
||||
<?php
|
||||
|
||||
include "./config.php";
|
||||
$idesc = new D2ItemDesc();
|
||||
/*
|
||||
|
||||
Copyright (C) 2021 Hash Borgir
|
||||
@@ -20,7 +21,7 @@ include "./config.php";
|
||||
following disclaimer in the documentation and/or other
|
||||
materials provided with the distribution.
|
||||
|
||||
* This software must not be used for commercial purposes
|
||||
* This software must not be used for commercial purposes
|
||||
* without my consent. Any sales or commercial use are prohibited
|
||||
* without my express knowledge and consent.
|
||||
|
||||
@@ -51,8 +52,8 @@ if (!empty($_GET['view']))
|
||||
$view = $_GET['view'];
|
||||
/*
|
||||
* @cmd = getUniqueItem
|
||||
*
|
||||
*
|
||||
*
|
||||
*
|
||||
* */
|
||||
|
||||
// first search code in all 3 tables. Grab from where it exists.
|
||||
@@ -61,12 +62,11 @@ if ($cmd == "getUniqueItem") {
|
||||
$sql = "SELECT * FROM `uniqueitems` WHERE `enabled`='1' AND `index`=\"{$_GET['index']}\"";
|
||||
$res = PDO_FetchRow($sql);
|
||||
|
||||
if (empty($res['invfile'])) {
|
||||
|
||||
if (empty($res['invfile'])) {
|
||||
|
||||
// if no invfile, get from other tables
|
||||
// try to get from armor, weapons, misc
|
||||
|
||||
|
||||
$sql = "SELECT invfile FROM armor WHERE code='{$res['code']}'";
|
||||
$invfile[] = PDO_FetchRow($sql);
|
||||
|
||||
@@ -74,30 +74,114 @@ if ($cmd == "getUniqueItem") {
|
||||
$invfile[] = PDO_FetchRow($sql);
|
||||
|
||||
$sql = "SELECT invfile FROM misc WHERE code='{$res['code']}'";
|
||||
$invfile[] = PDO_FetchRow($sql);
|
||||
|
||||
$invfile[] = PDO_FetchRow($sql);
|
||||
|
||||
$invfile = array_filter($invfile);
|
||||
|
||||
foreach ($invfile as $i){
|
||||
|
||||
foreach ($invfile as $i) {
|
||||
$x[] = $i;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
$invClean = array_filter($x[0]);
|
||||
|
||||
$return = array_merge($res,$invClean);
|
||||
|
||||
$return = array_merge($res, $invClean);
|
||||
} else {
|
||||
$return = $res;
|
||||
}
|
||||
|
||||
// var_dump($return);
|
||||
// for all props for this unique item, get ISC strings
|
||||
|
||||
$props = array_filter([
|
||||
"Prop1" => array_filter(
|
||||
["prop1" => $return['prop1'], "par1" => $return['par1'], "min1" => $return['min1'], "max1" => $return['max1']]
|
||||
),
|
||||
"Prop2" => array_filter(
|
||||
["prop2" => $return['prop2'], "par1" => $return['par2'], "min1" => $return['min2'], "max1" => $return['max2']]
|
||||
),
|
||||
"Prop3" => array_filter(
|
||||
["prop3" => $return['prop3'], "par1" => $return['par3'], "min1" => $return['min3'], "max1" => $return['max3']]
|
||||
),
|
||||
"Prop4" => array_filter(
|
||||
["prop4" => $return['prop4'], "par1" => $return['par4'], "min1" => $return['min4'], "max1" => $return['max4']]
|
||||
),
|
||||
"Prop5" => array_filter(
|
||||
["prop5" => $return['prop5'], "par1" => $return['par5'], "min1" => $return['min5'], "max1" => $return['max5']]
|
||||
),
|
||||
"Prop6" => array_filter(
|
||||
["prop6" => $return['prop6'], "par1" => $return['par6'], "min1" => $return['min6'], "max1" => $return['max6']]
|
||||
),
|
||||
"Prop7" => array_filter(
|
||||
["prop7" => $return['prop7'], "par1" => $return['par7'], "min1" => $return['min7'], "max1" => $return['max7']]
|
||||
),
|
||||
"Prop8" => array_filter(
|
||||
["prop8" => $return['prop8'], "par1" => $return['par8'], "min1" => $return['min8'], "max1" => $return['max8']]
|
||||
),
|
||||
"Prop9" => array_filter(
|
||||
["prop9" => $return['prop9'], "par1" => $return['par9'], "min1" => $return['min9'], "max1" => $return['max9']]
|
||||
),
|
||||
"Prop10" => array_filter(
|
||||
["prop10" => $return['prop10'], "par1" => $return['par10'], "min1" => $return['min10'], "max1" => $return['max10']]
|
||||
)
|
||||
]);
|
||||
|
||||
// need par, min, max value for each prop
|
||||
// for each prop, get stat
|
||||
$counter = 1;
|
||||
foreach ($props as $key => $val) {
|
||||
// val = Prop1,Prop2 etc.
|
||||
// for each propr, get all 7 stats in ISC
|
||||
$sql = "SELECT stat1,stat2,stat3,stat4,stat5,stat6,stat7 FROM `properties` WHERE `code` = '{$val['prop' . $counter]}'";
|
||||
$props[$key]['stat'] = array_filter(PDO_FetchRow($sql));
|
||||
|
||||
$counter++;
|
||||
}
|
||||
|
||||
|
||||
|
||||
//each stat now goes into getIscStrings
|
||||
foreach ($props as $k => $v) {
|
||||
$props[$k]['desc'] = array_filter(getIscStrings($v['stat']['stat1']));
|
||||
}
|
||||
|
||||
|
||||
//var_dump($return);
|
||||
|
||||
// todo: put values in params, so I can get generated string for that prop
|
||||
|
||||
$counter = 1;
|
||||
foreach ($props as $k => $v) { // for each property Prop1 Prop2
|
||||
$value = $v['par1'] ?? $v['min1'];
|
||||
|
||||
$params = [
|
||||
'string1' => $v['desc']['string1'],
|
||||
'string2' => $v['desc']['string2'],
|
||||
'descfunc' => $v['desc']['descfunc'],
|
||||
'descval' => $v['desc']['descval'],
|
||||
"par" => $return['par'.$counter],
|
||||
"min" => $return['min'.$counter],
|
||||
"max" => $return['max'.$counter]
|
||||
];
|
||||
|
||||
if (!empty($v['desc'])) {
|
||||
$props[$k]['string'][] = $idesc->getDesc($value, $params);
|
||||
}
|
||||
$counter++;
|
||||
}
|
||||
|
||||
$return['props'] = $props;
|
||||
|
||||
//ddump($return);
|
||||
|
||||
|
||||
header('Content-Type: application/json');
|
||||
echo json_encode($return, JSON_INVALID_UTF8_IGNORE);
|
||||
}
|
||||
/*
|
||||
* @cmd = sortBy
|
||||
*
|
||||
*
|
||||
* @cmd = sortBy
|
||||
*
|
||||
*
|
||||
* */
|
||||
if ($cmd == "sortBy") {
|
||||
$sql = "SELECT `index`,`$sort` FROM `uniqueitems` WHERE `enabled`='1' ORDER BY `$sort`";
|
||||
@@ -114,9 +198,9 @@ if ($cmd == "sortBy") {
|
||||
echo $html;
|
||||
}
|
||||
/*
|
||||
* @cmd = viewOnly
|
||||
*
|
||||
*
|
||||
* @cmd = viewOnly
|
||||
*
|
||||
*
|
||||
* */
|
||||
if ($cmd == "viewOnly") {
|
||||
|
||||
@@ -156,8 +240,8 @@ WHERE `type` IS NOT NULL AND uniqueitems.`code`= $table.`code` AND $table.`code`
|
||||
|
||||
/*
|
||||
* @cmd = search
|
||||
*
|
||||
*
|
||||
*
|
||||
*
|
||||
*
|
||||
*
|
||||
*/
|
||||
|
Reference in New Issue
Block a user