Skip to content

Commit 2eaed47

Browse files
committed
Items/Misc
* fixed queries erronously using ucFirst column names * fixed visible html in infobox * added forgotten string for locale 3
1 parent 888ff28 commit 2eaed47

File tree

4 files changed

+46
-29
lines changed

4 files changed

+46
-29
lines changed

includes/types/item.class.php

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -509,7 +509,7 @@ public function renderTooltip($interactive = false, $subOf = 0, $enhance = [])
509509
if ($this->enhanceR['enchantId'.$i] <= 0)
510510
continue;
511511

512-
$enchant = DB::Aowow()->selectRow('SELECT * FROM ?_itemenchantment WHERE Id = ?d', $this->enhanceR['enchantId'.$i]);
512+
$enchant = DB::Aowow()->selectRow('SELECT * FROM ?_itemenchantment WHERE id = ?d', $this->enhanceR['enchantId'.$i]);
513513
if ($this->enhanceR['allocationPct'.$i] > 0)
514514
{
515515
$amount = intVal($this->enhanceR['allocationPct'.$i] * $this->generateEnchSuffixFactor());
@@ -714,7 +714,7 @@ public function renderTooltip($interactive = false, $subOf = 0, $enhance = [])
714714
$vspfArgs = [Lang::item('gemColors', $gemCnd['color'.$i] - 1), Lang::item('gemColors', $gemCnd['cmpColor'.$i] - 1)];
715715
break;
716716
default:
717-
continue;
717+
continue 2;
718718
}
719719

720720
$x .= '<span class="q0">'.Lang::achievement('reqNumCrt').' '.Lang::item('gemConditions', $gemCnd['comparator'.$i], $vspfArgs).'</span><br />';
@@ -765,7 +765,7 @@ public function renderTooltip($interactive = false, $subOf = 0, $enhance = [])
765765
// Enchantment
766766
if (isset($enhance['e']))
767767
{
768-
if ($enchText = DB::Aowow()->selectRow('SELECT * FROM ?_itemenchantment WHERE Id = ?', $enhance['e']))
768+
if ($enchText = DB::Aowow()->selectRow('SELECT * FROM ?_itemenchantment WHERE id = ?', $enhance['e']))
769769
$x .= '<span class="q2"><!--e-->'.Util::localizedString($enchText, 'name').'</span><br />';
770770
else
771771
{
@@ -844,7 +844,7 @@ public function renderTooltip($interactive = false, $subOf = 0, $enhance = [])
844844

845845
if ($_ = $this->curTpl['socketBonus'])
846846
{
847-
$sbonus = DB::Aowow()->selectRow('SELECT * FROM ?_itemenchantment WHERE Id = ?d', $_);
847+
$sbonus = DB::Aowow()->selectRow('SELECT * FROM ?_itemenchantment WHERE id = ?d', $_);
848848
$x .= '<span class="q'.($hasMatch ? '2' : '0').'">'.Lang::item('socketBonus', ['<a href="?enchantment='.$_.'">'.Util::localizedString($sbonus, 'name').'</a>']).'</span><br />';
849849
}
850850

@@ -1179,7 +1179,7 @@ public function getRandEnchantForItem($randId)
11791179
// is it available for this item? .. does it even exist?!
11801180
if (empty($this->enhanceR))
11811181
if (DB::World()->selectCell('SELECT 1 FROM item_enchantment_template WHERE entry = ?d AND ench = ?d', abs($this->getField('randomEnchant')), abs($randId)))
1182-
if ($_ = DB::Aowow()->selectRow('SELECT * FROM ?_itemrandomenchant WHERE Id = ?d', $randId))
1182+
if ($_ = DB::Aowow()->selectRow('SELECT * FROM ?_itemrandomenchant WHERE id = ?d', $randId))
11831183
$this->enhanceR = $_;
11841184

11851185
return !empty($this->enhanceR);
@@ -1188,7 +1188,7 @@ public function getRandEnchantForItem($randId)
11881188
// from Trinity
11891189
public function generateEnchSuffixFactor()
11901190
{
1191-
$rpp = DB::Aowow()->selectRow('SELECT * FROM ?_itemrandomproppoints WHERE Id = ?', $this->curTpl['itemLevel']);
1191+
$rpp = DB::Aowow()->selectRow('SELECT * FROM ?_itemrandomproppoints WHERE id = ?', $this->curTpl['itemLevel']);
11921192
if (!$rpp)
11931193
return 0;
11941194

localization/lang.class.php

Lines changed: 37 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -128,21 +128,21 @@ public static function concat($args, $useAnd = true, $callback = null)
128128
return $b;
129129
}
130130

131-
public static function trimTextClean(string $text, int $length = 100) : string
131+
// truncate string after X chars. If X is inside a word truncate behind it.
132+
public static function trimTextClean(string $text, int $len = 100) : string
132133
{
133134
// remove line breaks
134135
$text = strtr($text, ["\n" => ' ', "\r" => ' ']);
135136

136137
// limit whitespaces to one at a time
137138
$text = preg_replace('/\s+/', ' ', trim($text));
138139

139-
// limit previews to 100 chars + whatever it takes to make the last word full
140-
if ($length > 0 && mb_strlen($text) > $length)
140+
if ($len > 0 && mb_strlen($text) > $len)
141141
{
142142
$n = 0;
143143
$b = [];
144144
$parts = explode(' ', $text);
145-
while ($n < $length && $parts)
145+
while ($n < $len && $parts)
146146
{
147147
$_ = array_shift($parts);
148148
$n += mb_strlen($_);
@@ -155,6 +155,39 @@ public static function trimTextClean(string $text, int $length = 100) : string
155155
return $text;
156156
}
157157

158+
// add line breaks to string after X chars. If X is inside a word break behind it.
159+
public static function breakTextClean(string $text, int $len = 30, bool $asHTML = true) : string
160+
{
161+
// remove line breaks
162+
$text = strtr($text, ["\n" => ' ', "\r" => ' ']);
163+
164+
// limit whitespaces to one at a time
165+
$text = preg_replace('/\s+/', ' ', trim($text));
166+
167+
$row = [];
168+
if ($len > 0 && mb_strlen($text) > $len)
169+
{
170+
$i = 0;
171+
$n = 0;
172+
$parts = explode(' ', $text);
173+
foreach ($parts as $p)
174+
{
175+
$row[$i][] = $p;
176+
$n += (mb_strlen($p) + 1);
177+
178+
if ($n < $len)
179+
continue;
180+
181+
$n = 0;
182+
$i++;
183+
}
184+
foreach ($row as &$r)
185+
$r = implode(' ', $r);
186+
}
187+
188+
return implode($asHTML ? '<br />' : '[br]', $row);
189+
}
190+
158191
public static function sort($prop, $group, $method = SORT_NATURAL)
159192
{
160193

localization/locale_dede.php

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -726,6 +726,7 @@
726726
'lootStateUNK' => '[span class=q10]unbekannter Plündern-Status #[b class=q1]%d[/b][/span]',
727727
'weatherStateUNK' => '[span class=q10]unbekannter Wetter-Zustand #[b class=q1]%d[/b][/span]',
728728

729+
'entityUNK' => '[b class=q10]unbekannte Entität[/b]',
729730

730731
'empty' => '[span class=q0]<leer>[/span]'
731732
),

pages/item.php

Lines changed: 2 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -252,25 +252,8 @@ protected function generateContent()
252252

253253
if ($_reqRating)
254254
{
255-
$res = [];
256-
$i = 0;
257-
$len = 0;
258-
$parts = explode(' ', str_replace('<br>', ' ', sprintf(Lang::item('reqRating', $_reqRating[1]), $_reqRating[0])));
259-
foreach ($parts as $p)
260-
{
261-
$res[$i][] = $p;
262-
$len += (mb_strlen($p) + 1);
263-
264-
if ($len < 30)
265-
continue;
266-
267-
$len = 0;
268-
$i++;
269-
}
270-
foreach ($res as &$r)
271-
$r = implode(' ', $r);
272-
273-
$infobox[] = implode('[br]', $res);
255+
$text = str_replace('<br />', ' ', Lang::item('reqRating', $_reqRating[1], [$_reqRating[0]]));
256+
$infobox[] = Lang::breakTextClean($text, 30, false);
274257
}
275258
}
276259

0 commit comments

Comments
 (0)