diff --git a/hwe/a_bestGeneral.php b/hwe/a_bestGeneral.php index 2e77b1a7..2d94039c 100644 --- a/hwe/a_bestGeneral.php +++ b/hwe/a_bestGeneral.php @@ -47,7 +47,7 @@ $templates = new \League\Plates\Engine(__DIR__.'/templates'); -
+
[$typeName, $typeValue, $typeFunc]){ } ?>
-
+
[,$itemType, $itemFunc,,,]){ - $itemCode = $general[$itemType]; - $itemClass = buildItemClass($itemCode); - if(!$itemClass->isBuyable()){ + foreach($itemTypes as $itemType=>$itemTypeName){ + $itemClassName = $general[$itemType]; + $itemClass = buildItemClass($itemClassName); + if($itemClass->isBuyable()){ + continue; + } + + if(key_exists($itemClassName, $itemOwners)){ + $itemOwners[$itemClassName][] = $general; + } + else{ + $itemOwners[$itemClassName] = [$general]; + } + + } +} + +foreach(GameConst::$allItems as $itemType=>$itemList){ + $itemNameType = $itemTypes[$itemType]; + $itemList = array_reverse($itemList, true); + + + $itemRanker = []; + foreach($itemList as $itemClassName=>$itemCnt){ + if($itemCnt==0){ + continue; + } + $itemClass = buildItemClass($itemClassName); + + if($itemClass->isBuyable()){ continue; } $info = $itemClass->getInfo(); $name = $itemClass->getName(); + if($info){ $name = $templates->render('tooltip', [ - 'text'=>$text, + 'text'=>$name, 'info'=>$info, ]); } - + foreach(Util::range($itemCnt) as $itemIdx){ + if(($itemOwners[$itemClassName][$itemIdx]??null) === null){ + $emptyCard = [ + 'rankName' => $name, + 'pictureFullPath' => GetImageURL(0)."/default.jpg", + 'value'=>$itemClassName, + 'name'=>'미발견', + 'bgColor'=>GameConst::$basecolor4, + 'fgColor'=>newColor(GameConst::$basecolor4), + ]; + $itemRanker[] = $emptyCard; + continue; + } - $general['rankName'] = $name; - $general['value'] = $itemCode; - $itemTypes[$itemIdx][5][$itemCode] = $general; - } -} + $general = $itemOwners[$itemClassName][$itemIdx]; -foreach($itemTypes as [$itemNameType, $itemType, $itemFunc, $itemMinCode, $itemMaxCode, $itemOwners]){ - $itemRanker = []; - for($itemCode = $itemMaxCode; $itemCode >= $itemMinCode; $itemCode--){ - if(!key_exists($itemCode, $itemOwners)){ - $emptyCard = [ - 'rankName' => ($itemFunc)($itemCode), - 'pictureFullPath' => GetImageURL(0)."/default.jpg", - 'value'=>$itemCode, - 'name'=>'미발견', - 'bgColor'=>GameConst::$basecolor4, - 'fgColor'=>newColor(GameConst::$basecolor4), + $card = [ + 'rankName' => $name, + 'pictureFullPath' => $general['pictureFullPath'], + 'value'=>$itemClassName, + 'nationName'=>$general['nationName'], + 'name'=>$general['name'], + 'bgColor'=>$general['bgColor'], + 'fgColor'=>$general['dfColor'], ]; - $itemRanker[$itemCode] = $emptyCard; - continue; + $itemRanker[] = $card; } - - $general = $itemOwners[$itemCode]; - $itemRanker[$itemCode] = $general; } - + echo $templates->render('hallOfFrame', [ 'typeName'=>$itemNameType, 'generals'=>$itemRanker diff --git a/hwe/sammo/BaseItem.php b/hwe/sammo/BaseItem.php index f74daef9..1b73d684 100644 --- a/hwe/sammo/BaseItem.php +++ b/hwe/sammo/BaseItem.php @@ -23,6 +23,13 @@ class BaseItem implements iAction{ function getRawName(){ return $this->rawName; } + + public function getRawClassName(bool $shortName=true):string{ + if($shortName){ + return Util::getClassNameFromObj($this); + } + return static::class; + } function getCost(){ return $this->cost; diff --git a/showErrorLog.php b/showErrorLog.php index 47f124f9..a5051852 100644 --- a/showErrorLog.php +++ b/showErrorLog.php @@ -4,6 +4,15 @@ namespace sammo; require(__DIR__.'/vendor/autoload.php'); $session = Session::requireLogin('./')->setReadOnly(); +if(key_exists('from', $_REQUEST) && is_numeric($_REQUEST['from'])){ + $from = (int)$_REQUEST['from']; + if($from < 0){ + $from = 0; + } +} +else{ + $from = 0; +} $allowUpdate = false; @@ -34,7 +43,7 @@ $err_logs = $fdb->select('err_log', [ 'webuser' ], [ 'ORDER'=>['id'=>'DESC'], - 'LIMIT'=>100 + 'LIMIT'=>[$from, 100] ]); ?> @@ -74,6 +83,7 @@ $err_logs = $fdb->select('err_log', [
++100
\ No newline at end of file