DescFunc 14 done

This commit is contained in:
color.diff=auto
2021-05-02 20:52:31 -06:00
parent efa7f8f28e
commit 3a08d8c16c
9 changed files with 686 additions and 329 deletions

View File

@@ -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
*
*
*
*
*
*
*/