diff --git a/endpoints/items/items.php b/endpoints/items/items.php index 5c9f59be..569aee01 100644 --- a/endpoints/items/items.php +++ b/endpoints/items/items.php @@ -344,8 +344,17 @@ class ItemsBaseResponse extends TemplateResponse implements ICache if ($items->error) continue; + // if sold by vendor; append cost column + if ($this->filter->getSetCriteria(92) && is_array($this->sharedLV['extraCols'])) + { + $this->sharedLV['extraCols']['cost'] = '$Listview.extraCols.cost'; + $data = $items->getListviewData($infoMask | ITEMINFO_VENDOR); + } + else + $data = $items->getListviewData($infoMask); + $tabData = array_merge( - ['data' => $items->getListviewData($infoMask)], + ['data' => $data], $this->sharedLV ); $this->extendGlobalData($items->getJSGlobals(GLOBALINFO_SELF | GLOBALINFO_RELATED)); diff --git a/includes/dbtypes/item.class.php b/includes/dbtypes/item.class.php index dadbacee..69603913 100644 --- a/includes/dbtypes/item.class.php +++ b/includes/dbtypes/item.class.php @@ -1898,15 +1898,15 @@ class ItemListFilter extends Filter 64 => [parent::CR_NUMERIC, 'sellPrice', NUM_CAST_INT, true ], // sellprice 65 => [parent::CR_CALLBACK, 'cbAvgMoneyContent', null, null ], // avgmoney [op] [int] 66 => [parent::CR_ENUM, 'requiredSpell' ], // requiresprofspec - 68 => [parent::CR_CALLBACK, 'cbObtainedBy', 15, null ], // otdisenchanting [yn] - 69 => [parent::CR_CALLBACK, 'cbObtainedBy', 16, null ], // otfishing [yn] - 70 => [parent::CR_CALLBACK, 'cbObtainedBy', 17, null ], // otherbgathering [yn] + 68 => [parent::CR_CALLBACK, 'cbObtainedBy', SRC_DISENCHANTMENT, null ], // otdisenchanting [yn] + 69 => [parent::CR_CALLBACK, 'cbObtainedBy', SRC_FISHING, null ], // otfishing [yn] + 70 => [parent::CR_CALLBACK, 'cbObtainedBy', SRC_GATHERING, null ], // otherbgathering [yn] 71 => [parent::CR_FLAG, 'cuFlags', ITEM_CU_OT_ITEMLOOT ], // otitemopening [yn] - 72 => [parent::CR_CALLBACK, 'cbObtainedBy', 2, null ], // otlooting [yn] - 73 => [parent::CR_CALLBACK, 'cbObtainedBy', 19, null ], // otmining [yn] + 72 => [parent::CR_CALLBACK, 'cbObtainedBy', SRC_DROP, null ], // otlooting [yn] + 73 => [parent::CR_CALLBACK, 'cbObtainedBy', SRC_MINING, null ], // otmining [yn] 74 => [parent::CR_FLAG, 'cuFlags', ITEM_CU_OT_OBJECTLOOT ], // otobjectopening [yn] - 75 => [parent::CR_CALLBACK, 'cbObtainedBy', 21, null ], // otpickpocketing [yn] - 76 => [parent::CR_CALLBACK, 'cbObtainedBy', 23, null ], // otskinning [yn] + 75 => [parent::CR_CALLBACK, 'cbObtainedBy', SRC_PICKPOCKETING, null ], // otpickpocketing [yn] + 76 => [parent::CR_CALLBACK, 'cbObtainedBy', SRC_SKINNING, null ], // otskinning [yn] 77 => [parent::CR_NUMERIC, 'is.atkpwr', NUM_CAST_INT, true ], // atkpwr 78 => [parent::CR_NUMERIC, 'is.mlehastertng', NUM_CAST_INT, true ], // mlehastertng 79 => [parent::CR_NUMERIC, 'is.resirtng', NUM_CAST_INT, true ], // resirtng @@ -1917,12 +1917,12 @@ class ItemListFilter extends Filter 85 => [parent::CR_CALLBACK, 'cbObjectiveOfQuest', null, null ], // objectivequest [side] 86 => [parent::CR_CALLBACK, 'cbCraftedByProf', null, null ], // craftedprof [enum] 87 => [parent::CR_CALLBACK, 'cbReagentForAbility', null, null ], // reagentforability [enum] - 88 => [parent::CR_CALLBACK, 'cbObtainedBy', 20, null ], // otprospecting [yn] + 88 => [parent::CR_CALLBACK, 'cbObtainedBy', SRC_PROSPECTING, null ], // otprospecting [yn] 89 => [parent::CR_FLAG, 'flags', ITEM_FLAG_PROSPECTABLE ], // prospectable 90 => [parent::CR_CALLBACK, 'cbAvgBuyout', null, null ], // avgbuyout [op] [int] 91 => [parent::CR_ENUM, 'totemCategory', false, true ], // tool - 92 => [parent::CR_CALLBACK, 'cbObtainedBy', 5, null ], // soldbyvendor [yn] - 93 => [parent::CR_CALLBACK, 'cbObtainedBy', 3, null ], // otpvp [pvp] + 92 => [parent::CR_CALLBACK, 'cbObtainedBy', SRC_VENDOR, null ], // soldbyvendor [yn] + 93 => [parent::CR_CALLBACK, 'cbObtainedBy', SRC_PVP, null ], // otpvp [pvp] 94 => [parent::CR_NUMERIC, 'is.splpen', NUM_CAST_INT, true ], // splpen 95 => [parent::CR_NUMERIC, 'is.mlehitrtng', NUM_CAST_INT, true ], // mlehitrtng 96 => [parent::CR_NUMERIC, 'is.critstrkrtng', NUM_CAST_INT, true ], // critstrkrtng @@ -1964,7 +1964,7 @@ class ItemListFilter extends Filter 140 => [parent::CR_NUMERIC, 'is.rgddmgmax', NUM_CAST_INT, true ], // rgddmgmax 141 => [parent::CR_NUMERIC, 'is.rgdspeed', NUM_CAST_FLOAT, true ], // rgdspeed 142 => [parent::CR_STRING, 'ic.name' ], // icon - 143 => [parent::CR_CALLBACK, 'cbObtainedBy', 18, null ], // otmilling [yn] + 143 => [parent::CR_CALLBACK, 'cbObtainedBy', SRC_MILLING, null ], // otmilling [yn] 144 => [parent::CR_CALLBACK, 'cbPvpPurchasable', 'reqHonorPoints', null ], // purchasablewithhonor [yn] 145 => [parent::CR_CALLBACK, 'cbPvpPurchasable', 'reqArenaPoints', null ], // purchasablewitharena [yn] 146 => [parent::CR_FLAG, 'flags', ITEM_FLAG_HEROIC ], // heroic @@ -1989,8 +1989,8 @@ class ItemListFilter extends Filter 167 => [parent::CR_FLAG, 'cuFlags', CUSTOM_HAS_VIDEO ], // hasvideos 168 => [parent::CR_CALLBACK, 'cbFieldHasVal', 'spellId1', LEARN_SPELLS ], // teachesspell [yn] 169 => [parent::CR_ENUM, 'e.holidayId', true, true ], // requiresevent - 171 => [parent::CR_CALLBACK, 'cbObtainedBy', 8, null ], // otredemption [yn] - 172 => [parent::CR_CALLBACK, 'cbObtainedBy', 12, null ], // rewardedbyachievement [yn] + 171 => [parent::CR_CALLBACK, 'cbObtainedBy', SRC_REDEMPTION, null ], // otredemption [yn] + 172 => [parent::CR_CALLBACK, 'cbObtainedBy', SRC_ACHIEVEMENT, null ], // rewardedbyachievement [yn] 176 => [parent::CR_STAFFFLAG, 'flags' ], // flags 177 => [parent::CR_STAFFFLAG, 'flagsExtra' ], // flags2 );