first draft html file works. todo: optimize speed

This commit is contained in:
color.diff=auto 2021-05-06 04:12:03 -06:00
parent 5c6a657820
commit 10a2db46ad
3 changed files with 17560 additions and 69380 deletions

File diff suppressed because it is too large Load Diff

View File

@ -1,4 +1,5 @@
<?php
error_reporting(E_ERROR | E_PARSE);
set_time_limit(-1);
ini_set('max_input_time', '-1');
@ -72,172 +73,176 @@ if ($cmd == "genDocUniqueItems") {
//ddump($uIndex);
// $htmltop = <<<EOT
//<!doctype html>
//<html lang="en">
//<head>
// <!-- Required meta tags -->
// <meta charset="utf-8">
// <meta name="viewport" content="width=device-width, initial-scale=1">
// <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
//
// <!-- Bootstrap CSS -->
// <link rel="stylesheet" href="res/bootstrap.min.css">
// <link rel="stylesheet" href="res/font-awesome.min.css">
// <link rel="preconnect" href="https://fonts.gstatic.com">
// <link href="https://fonts.googleapis.com/css2?family=Lato:wght@300&display=swap" rel="stylesheet">
// <link rel="stylesheet" href="https://bootswatch.com/4/sketchy/bootstrap.min.css">
// <link rel="stylesheet" href="res/style.css">
// <style>
//
// .item_desc {
// height: 600px;
// width: 620px;
// position: relative;
// left: 0;
// top: 0;
//
// /* background: black url(/img/items/bg.png) center top no-repeat;*/
//
// text-align: center;
// padding: 10px;
// text-transform: uppercase;
//
// }
// .green {
// color: #00FF00; /*Set items*/
// }
// .gold{
// color: #A59263; /*Set items*/
// }
// .orange{
// color: #FFA500; /*Set items*/
// }
// .yellow {
// color: #FFFF00; /*Set items*/
// }
//
// .blue {
// color: #4169E1;
// }
//
// </style>
// <script src="res/jquery-3.6.0.min.js"></script>
// <script src="res/bootstrap.bundle.min.js"></script>
// <script src="res/app.js"></script>
//
//</script>
//<title>D2Modder</title>
//</head>
//
//<body>
// <div class="container container-top">
//<h1>{$_SESSION['modname']} Unique Items</h1>
//<p>Auto generated with D2Modder by Hash Casper</p>
//
//EOT;
//
// $htmlbottom = <<<EOT
// </div>
//</body>
//</html>
//EOT;
$htmltop = <<<EOT
<!doctype html>
<html lang="en">
<head>
<!-- Required meta tags -->
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
// $htmlFinal = $htmltop;
//
// //echo $htmltop;
//
// $dir = getcwd()."/docs/{$_SESSION['modname']}";
//
// mkdir($dir, 0777, true);
<!-- Bootstrap CSS -->
<link rel="stylesheet" href="res/bootstrap.min.css">
<link rel="stylesheet" href="res/font-awesome.min.css">
<link rel="preconnect" href="https://fonts.gstatic.com">
<link href="https://fonts.googleapis.com/css2?family=Lato:wght@300&display=swap" rel="stylesheet">
<link rel="stylesheet" href="https://bootswatch.com/4/sketchy/bootstrap.min.css">
<link rel="stylesheet" href="res/style.css">
<style>
// for each unique item index, now grab the whole row
foreach ($uIndex as $u) {
.item_desc {
height: 600px;
width: 620px;
position: relative;
left: 0;
top: 0;
/* background: black url(/img/items/bg.png) center top no-repeat;*/
//$items[] = $idata->uniqueItems($u['index'], true);
//var_dump($u['index']);
$item = $idata->uniqueItems($u['index'], true);
//
//
//
echo ($item['index']) . "\n";
ob_flush();
//
// //index
// $props = "<li class='gold'>{$item['index']}</li>";
//
// //type
// $props .= "<li class='gold'>{$item["*type"]}</li>";
//
// //level
// $props .= "<li style='color: white;' class=''>Level: {$item["lvl"]}</li>";
//
// //lvlreq
// $props .= "<li style='color: white;' class=''>Level Required: {$item["lvl req"]}</li>";
//
// //code
// $props .= "<li style='color: #aaa;' class=''>Item Code: {$item["code"]}</li>";
//
// //reqstr
// if ($item["reqstr"]) {
// $props .= "<li style='color: white;' class=''>{$item["reqstr"]}</li>";
// }
// //reqdex
// if ($item["reqdex"]) {
// $props .= "<li style='color: white;' class=''>{$item["reqdex"]}</li>";
// }
// //sock
// if ($item["gemsockets"] && $item["gemsockets"] > 6) {
// $item["gemsockets"] = 6;
// $props .= "<li style='color: white;' class=''>{$item["gemsockets"]}</li>";
// }
//
//
// foreach ($item['props'] as $prop) {
// if ($prop['string'][0]) {
// $props .= "<li class='blue'>{$prop['string'][0]}</li>";
// }
// }
//
// $itemBoxTop = <<<EOT
//<div class="center item_desc" style="">
//
// <div style="height: 116px;background: url(img/items/bg.png) center top no-repeat;">
// <a href="" target="_blank" class="item_debug_link">
// <img style="" class="item img-fluid" src="img/items/{$item["invfile"]}.png">
// </a>
//
// </div>
// <div class="item_stats" style="">
// <div class="">
// <p>
//EOT;
//
// $itemBoxBottom = <<<EOT
// </p>
// </div>
// </div>
//</div>
//
//EOT;
// $itemFull .= $itemBoxTop . $props . $itemBoxBottom;
//// echo $itemFull;
//// ob_flush();
//
// $htmlFinal .= $itemFull;
}// end loop
// $htmlFinal .= $htmlbottom;
//file_put_contents("$dir/uniqueitems.html", $htmlFinal);
//header("Location: /docs/{$_SESSION['modname']}/uniqueitems.html");
text-align: center;
padding: 10px;
text-transform: uppercase;
}
.green {
color: #00FF00; /*Set items*/
}
.gold{
color: #A59263; /*Set items*/
}
.orange{
color: #FFA500; /*Set items*/
}
.yellow {
color: #FFFF00; /*Set items*/
}
.blue {
color: #4169E1;
}
</style>
<script src="res/jquery-3.6.0.min.js"></script>
<script src="res/bootstrap.bundle.min.js"></script>
<script src="res/app.js"></script>
</script>
<title>D2Modder</title>
</head>
<body>
<div class="container container-top">
<h1>{$_SESSION['modname']} Unique Items</h1>
<p>Auto generated with D2Modder by Hash Casper</p>
EOT;
$htmlbottom = <<<EOT
</div>
</body>
</html>
EOT;
$htmlFinal = '';
$htmlFinal .= $htmltop;
echo $htmltop;
ob_flush();
$dir = getcwd() . "/docs/{$_SESSION['modname']}";
mkdir($dir, 0777, true);
/*
START MAIN LOOP HERE
*
* For each unique item index, now grab item data
*
*/
foreach ($uIndex as $u) {
//$items[] = $idata->uniqueItems($u['index'], true);
//var_dump($u['index']);
$item = $idata->uniqueItems($u['index'], true);
$itemBoxTop = <<<EOT
<div class="center item_desc" style="">
<div style="height: 116px;background: url(img/items/bg.png) center top no-repeat;">
<a href="" target="_blank" class="item_debug_link">
<img style="" class="item img-fluid" src="img/items/{$item["invfile"]}.png">
</a>
</div>
<div class="item_stats" style="">
<div class="">
<p>
EOT;
$itemBoxBottom = <<<EOT
</p>
</div>
</div>
</div>
EOT;
echo $itemBoxTop;
ob_flush();
$htmlFinal .= $itemBoxTop;
//index
$props = "<ul><li class='gold'>{$item['index']}</li>";
//type
$props .= "<li class='gold'>{$item["*type"]}</li>";
//level
$props .= "<li style='color: white;' class=''>Level: {$item["lvl"]}</li>";
//lvlreq
$props .= "<li style='color: white;' class=''>Level Required: {$item["lvl req"]}</li>";
//code
$props .= "<li style='color: #aaa;' class=''>Item Code: {$item["code"]}</li>";
//reqstr
if ($item["reqstr"]) {
$props .= "<li style='color: white;' class=''>{$item["reqstr"]}</li>";
}
//reqdex
if ($item["reqdex"]) {
$props .= "<li style='color: white;' class=''>{$item["reqdex"]}</li>";
}
//sock
if ($item["gemsockets"] > 6) {
$item["gemsockets"] = 6;
$props .= "<li style='color: white;' class=''>{$item["gemsockets"]}</li>";
}
foreach ($item['props'] as $prop) {
if ($prop['string'][0]) {
$props .= "<li class='blue'>{$prop['string'][0]}</li>";
}
}
$props .= "</ul>";
// $itemFull .= $itemBoxTop . $props . $itemBoxBottom;
// echo $itemFull;
echo $props;
echo $itemBoxBottom;
ob_flush();
$htmlFinal .= $props.$itemBoxBottom;
}// end loop
echo $htmlbottom;
$htmlFinal .= $htmlbottom;
file_put_contents("$dir/uniqueitems.html", $htmlFinal);
header("Location: /docs/{$_SESSION['modname']}/uniqueitems.html");
}

View File

@ -201,7 +201,7 @@ $(document).ready(function () {
// update preview
$('.item_stats div').hide().html("<p></p>");
invImg = "/img/items/" + data.invfile + ".png";
$(".item").hide().attr("src", invImg).fadeIn(500);
$(".item").hide().attr("src", invImg);
type = data["*type"];
@ -223,9 +223,12 @@ $(document).ready(function () {
if (base.reqdex) {
$('.item_stats p').append(`<li class="statlvlreq">Required Dexterity: ${base.reqdex}</li>`);
}
if(base['gemsockets'] && base['gemsockets'] > 6){
if (base['gemsockets']) {
if (base['gemsockets'] > 6) {
base['gemsockets'] = 6;
}
$('.item_stats p').append(`<li class="statlvlreq">Maximum Sockets: <span color="#aaa">(${base.gemsockets})</span></li>`);
}
$.each(props, function (i, v) {
@ -236,7 +239,7 @@ $(document).ready(function () {
$('.item_stats div').fadeIn(500);
$('.item_stats div').show();
$.each(data, function (i, v) {
$('*[name="' + i.replace(/\s/g, '') + '"]').val(v);