mirror of
https://github.com/Sarjuuk/aowow.git
synced 2025-11-29 15:58:16 +08:00
Items/Misc
* fixed queries erronously using ucFirst column names * fixed visible html in infobox * added forgotten string for locale 3
This commit is contained in:
@@ -509,7 +509,7 @@ class ItemList extends BaseType
|
|||||||
if ($this->enhanceR['enchantId'.$i] <= 0)
|
if ($this->enhanceR['enchantId'.$i] <= 0)
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
$enchant = DB::Aowow()->selectRow('SELECT * FROM ?_itemenchantment WHERE Id = ?d', $this->enhanceR['enchantId'.$i]);
|
$enchant = DB::Aowow()->selectRow('SELECT * FROM ?_itemenchantment WHERE id = ?d', $this->enhanceR['enchantId'.$i]);
|
||||||
if ($this->enhanceR['allocationPct'.$i] > 0)
|
if ($this->enhanceR['allocationPct'.$i] > 0)
|
||||||
{
|
{
|
||||||
$amount = intVal($this->enhanceR['allocationPct'.$i] * $this->generateEnchSuffixFactor());
|
$amount = intVal($this->enhanceR['allocationPct'.$i] * $this->generateEnchSuffixFactor());
|
||||||
@@ -714,7 +714,7 @@ class ItemList extends BaseType
|
|||||||
$vspfArgs = [Lang::item('gemColors', $gemCnd['color'.$i] - 1), Lang::item('gemColors', $gemCnd['cmpColor'.$i] - 1)];
|
$vspfArgs = [Lang::item('gemColors', $gemCnd['color'.$i] - 1), Lang::item('gemColors', $gemCnd['cmpColor'.$i] - 1)];
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
continue;
|
continue 2;
|
||||||
}
|
}
|
||||||
|
|
||||||
$x .= '<span class="q0">'.Lang::achievement('reqNumCrt').' '.Lang::item('gemConditions', $gemCnd['comparator'.$i], $vspfArgs).'</span><br />';
|
$x .= '<span class="q0">'.Lang::achievement('reqNumCrt').' '.Lang::item('gemConditions', $gemCnd['comparator'.$i], $vspfArgs).'</span><br />';
|
||||||
@@ -765,7 +765,7 @@ class ItemList extends BaseType
|
|||||||
// Enchantment
|
// Enchantment
|
||||||
if (isset($enhance['e']))
|
if (isset($enhance['e']))
|
||||||
{
|
{
|
||||||
if ($enchText = DB::Aowow()->selectRow('SELECT * FROM ?_itemenchantment WHERE Id = ?', $enhance['e']))
|
if ($enchText = DB::Aowow()->selectRow('SELECT * FROM ?_itemenchantment WHERE id = ?', $enhance['e']))
|
||||||
$x .= '<span class="q2"><!--e-->'.Util::localizedString($enchText, 'name').'</span><br />';
|
$x .= '<span class="q2"><!--e-->'.Util::localizedString($enchText, 'name').'</span><br />';
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@@ -844,7 +844,7 @@ class ItemList extends BaseType
|
|||||||
|
|
||||||
if ($_ = $this->curTpl['socketBonus'])
|
if ($_ = $this->curTpl['socketBonus'])
|
||||||
{
|
{
|
||||||
$sbonus = DB::Aowow()->selectRow('SELECT * FROM ?_itemenchantment WHERE Id = ?d', $_);
|
$sbonus = DB::Aowow()->selectRow('SELECT * FROM ?_itemenchantment WHERE id = ?d', $_);
|
||||||
$x .= '<span class="q'.($hasMatch ? '2' : '0').'">'.Lang::item('socketBonus', ['<a href="?enchantment='.$_.'">'.Util::localizedString($sbonus, 'name').'</a>']).'</span><br />';
|
$x .= '<span class="q'.($hasMatch ? '2' : '0').'">'.Lang::item('socketBonus', ['<a href="?enchantment='.$_.'">'.Util::localizedString($sbonus, 'name').'</a>']).'</span><br />';
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1179,7 +1179,7 @@ class ItemList extends BaseType
|
|||||||
// is it available for this item? .. does it even exist?!
|
// is it available for this item? .. does it even exist?!
|
||||||
if (empty($this->enhanceR))
|
if (empty($this->enhanceR))
|
||||||
if (DB::World()->selectCell('SELECT 1 FROM item_enchantment_template WHERE entry = ?d AND ench = ?d', abs($this->getField('randomEnchant')), abs($randId)))
|
if (DB::World()->selectCell('SELECT 1 FROM item_enchantment_template WHERE entry = ?d AND ench = ?d', abs($this->getField('randomEnchant')), abs($randId)))
|
||||||
if ($_ = DB::Aowow()->selectRow('SELECT * FROM ?_itemrandomenchant WHERE Id = ?d', $randId))
|
if ($_ = DB::Aowow()->selectRow('SELECT * FROM ?_itemrandomenchant WHERE id = ?d', $randId))
|
||||||
$this->enhanceR = $_;
|
$this->enhanceR = $_;
|
||||||
|
|
||||||
return !empty($this->enhanceR);
|
return !empty($this->enhanceR);
|
||||||
@@ -1188,7 +1188,7 @@ class ItemList extends BaseType
|
|||||||
// from Trinity
|
// from Trinity
|
||||||
public function generateEnchSuffixFactor()
|
public function generateEnchSuffixFactor()
|
||||||
{
|
{
|
||||||
$rpp = DB::Aowow()->selectRow('SELECT * FROM ?_itemrandomproppoints WHERE Id = ?', $this->curTpl['itemLevel']);
|
$rpp = DB::Aowow()->selectRow('SELECT * FROM ?_itemrandomproppoints WHERE id = ?', $this->curTpl['itemLevel']);
|
||||||
if (!$rpp)
|
if (!$rpp)
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
|
|||||||
@@ -128,7 +128,8 @@ class Lang
|
|||||||
return $b;
|
return $b;
|
||||||
}
|
}
|
||||||
|
|
||||||
public static function trimTextClean(string $text, int $length = 100) : string
|
// truncate string after X chars. If X is inside a word truncate behind it.
|
||||||
|
public static function trimTextClean(string $text, int $len = 100) : string
|
||||||
{
|
{
|
||||||
// remove line breaks
|
// remove line breaks
|
||||||
$text = strtr($text, ["\n" => ' ', "\r" => ' ']);
|
$text = strtr($text, ["\n" => ' ', "\r" => ' ']);
|
||||||
@@ -136,13 +137,12 @@ class Lang
|
|||||||
// limit whitespaces to one at a time
|
// limit whitespaces to one at a time
|
||||||
$text = preg_replace('/\s+/', ' ', trim($text));
|
$text = preg_replace('/\s+/', ' ', trim($text));
|
||||||
|
|
||||||
// limit previews to 100 chars + whatever it takes to make the last word full
|
if ($len > 0 && mb_strlen($text) > $len)
|
||||||
if ($length > 0 && mb_strlen($text) > $length)
|
|
||||||
{
|
{
|
||||||
$n = 0;
|
$n = 0;
|
||||||
$b = [];
|
$b = [];
|
||||||
$parts = explode(' ', $text);
|
$parts = explode(' ', $text);
|
||||||
while ($n < $length && $parts)
|
while ($n < $len && $parts)
|
||||||
{
|
{
|
||||||
$_ = array_shift($parts);
|
$_ = array_shift($parts);
|
||||||
$n += mb_strlen($_);
|
$n += mb_strlen($_);
|
||||||
@@ -155,6 +155,39 @@ class Lang
|
|||||||
return $text;
|
return $text;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// add line breaks to string after X chars. If X is inside a word break behind it.
|
||||||
|
public static function breakTextClean(string $text, int $len = 30, bool $asHTML = true) : string
|
||||||
|
{
|
||||||
|
// remove line breaks
|
||||||
|
$text = strtr($text, ["\n" => ' ', "\r" => ' ']);
|
||||||
|
|
||||||
|
// limit whitespaces to one at a time
|
||||||
|
$text = preg_replace('/\s+/', ' ', trim($text));
|
||||||
|
|
||||||
|
$row = [];
|
||||||
|
if ($len > 0 && mb_strlen($text) > $len)
|
||||||
|
{
|
||||||
|
$i = 0;
|
||||||
|
$n = 0;
|
||||||
|
$parts = explode(' ', $text);
|
||||||
|
foreach ($parts as $p)
|
||||||
|
{
|
||||||
|
$row[$i][] = $p;
|
||||||
|
$n += (mb_strlen($p) + 1);
|
||||||
|
|
||||||
|
if ($n < $len)
|
||||||
|
continue;
|
||||||
|
|
||||||
|
$n = 0;
|
||||||
|
$i++;
|
||||||
|
}
|
||||||
|
foreach ($row as &$r)
|
||||||
|
$r = implode(' ', $r);
|
||||||
|
}
|
||||||
|
|
||||||
|
return implode($asHTML ? '<br />' : '[br]', $row);
|
||||||
|
}
|
||||||
|
|
||||||
public static function sort($prop, $group, $method = SORT_NATURAL)
|
public static function sort($prop, $group, $method = SORT_NATURAL)
|
||||||
{
|
{
|
||||||
|
|
||||||
|
|||||||
@@ -726,6 +726,7 @@ $lang = array(
|
|||||||
'lootStateUNK' => '[span class=q10]unbekannter Plündern-Status #[b class=q1]%d[/b][/span]',
|
'lootStateUNK' => '[span class=q10]unbekannter Plündern-Status #[b class=q1]%d[/b][/span]',
|
||||||
'weatherStateUNK' => '[span class=q10]unbekannter Wetter-Zustand #[b class=q1]%d[/b][/span]',
|
'weatherStateUNK' => '[span class=q10]unbekannter Wetter-Zustand #[b class=q1]%d[/b][/span]',
|
||||||
|
|
||||||
|
'entityUNK' => '[b class=q10]unbekannte Entität[/b]',
|
||||||
|
|
||||||
'empty' => '[span class=q0]<leer>[/span]'
|
'empty' => '[span class=q0]<leer>[/span]'
|
||||||
),
|
),
|
||||||
|
|||||||
@@ -252,25 +252,8 @@ class ItemPage extends genericPage
|
|||||||
|
|
||||||
if ($_reqRating)
|
if ($_reqRating)
|
||||||
{
|
{
|
||||||
$res = [];
|
$text = str_replace('<br />', ' ', Lang::item('reqRating', $_reqRating[1], [$_reqRating[0]]));
|
||||||
$i = 0;
|
$infobox[] = Lang::breakTextClean($text, 30, false);
|
||||||
$len = 0;
|
|
||||||
$parts = explode(' ', str_replace('<br>', ' ', sprintf(Lang::item('reqRating', $_reqRating[1]), $_reqRating[0])));
|
|
||||||
foreach ($parts as $p)
|
|
||||||
{
|
|
||||||
$res[$i][] = $p;
|
|
||||||
$len += (mb_strlen($p) + 1);
|
|
||||||
|
|
||||||
if ($len < 30)
|
|
||||||
continue;
|
|
||||||
|
|
||||||
$len = 0;
|
|
||||||
$i++;
|
|
||||||
}
|
|
||||||
foreach ($res as &$r)
|
|
||||||
$r = implode(' ', $r);
|
|
||||||
|
|
||||||
$infobox[] = implode('[br]', $res);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user