mirror of
				https://gitlab.com/hashborgir/d2tools.git
				synced 2025-11-03 17:27:46 -06:00 
			
		
		
		
	first draft html file works. todo: optimize speed
This commit is contained in:
		
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
							
								
								
									
										331
									
								
								genDocs.php
									
									
									
									
									
								
							
							
						
						
									
										331
									
								
								genDocs.php
									
									
									
									
									
								
							@@ -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");
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -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);
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user