diff --git a/GameEngine/Profile.php b/GameEngine/Profile.php index e0b5e3ec..97f306bc 100755 --- a/GameEngine/Profile.php +++ b/GameEngine/Profile.php @@ -269,8 +269,14 @@ class Profile { * numele se afiseaza in rapoarte de lupta, pe harta si in listele de * sate - deci codul se executa in browserul altor jucatori. * - * Aceleasi reguli ca la numele de cont: litere, cifre, punct, liniuta, - * underscore si spatii simple. Fara caractere cu inteles in HTML. + * Permise: litere, cifre, punct, liniuta, underscore, paranteze + * rotunde si drepte, plus spatii simple intre grupuri. + * + * Parantezele sunt sigure aici: nu au niciun inteles in HTML, iar + * numele satelor nu trec prin BBCode (acesta se aplica doar pe + * descrierile de profil si pe forum), deci un sat numit "[b]x[/b]" + * se afiseaza ca atare, nu ingrosat. Raman excluse < > & " ', + * adica exact caracterele care ar putea sparge HTML-ul. */ if (function_exists('mb_strlen')) { if (mb_strlen($newName, 'UTF-8') > 25) { @@ -280,7 +286,7 @@ class Profile { $newName = substr($newName, 0, 25); } - if (!preg_match('/^[\p{L}\p{N}._-]+(?: [\p{L}\p{N}._-]+)*$/u', $newName)) { + if (!preg_match('/^[\p{L}\p{N}._\-\[\]()]+(?: [\p{L}\p{N}._\-\[\]()]+)*$/u', $newName)) { continue; // nume respins, satul isi pastreaza numele vechi } diff --git a/Templates/header.tpl b/Templates/header.tpl index 11b622e8..5c40f734 100644 --- a/Templates/header.tpl +++ b/Templates/header.tpl @@ -204,18 +204,50 @@ if ($hour > 1759 || $hour < 500) { ?>
- ' . $session->gold . ' ' . GOLD . '
- ';
- } else {
- echo '
- ' . $session->gold . ' ' . GOLD;
- }
+ /**
+ * FORMAT COMPACT: iconita + valoare, fara cuvintele "Aur"/"Argint".
+ * Cuvintele au ramas in title/alt, deci se vad la mouseover.
+ *
+ * ICONITE SVG, nu gif-uri din graphic pack: gold.gif si gold_g.gif
+ * aveau alt contur si alta dimensiune decat silver.png, asa ca cele
+ * doua randuri nu se aliniau. Acum ambele sunt desenate la fel -
+ * acelasi cerc, aceeasi rama, aceeasi marime - si difera doar
+ * culoarea monedelor. Aceleasi clase ca iconita de argint din
+ * componenta Hero (css/hero_header.css), deci se potrivesc intre ele.
+ */
+ $goldLabel = defined('GOLD') ? GOLD : 'Gold';
+ $goldValue = (int) $session->gold;
/**
- * Argintul eroului, afisat langa aur (doar cu functiile T4 pornite).
+ * Un teanc de monede, desenat o singura data si refolosit.
+ * $tone alege paleta: aur, aur stins (fara aur) sau argint.
+ */
+ if (!function_exists('tzCoinIcon')) {
+ function tzCoinIcon($tone, $title)
+ {
+ $cls = 'tzCoinStack tzCoin-' . $tone;
+
+ return '';
+ }
+ }
+
+ // sub 2 monede aurul era deja afisat stins in interfata veche
+ $goldTone = ($goldValue <= 1) ? 'goldOff' : 'gold';
+
+ echo '
'
- . ' ' . (int) $GLOBALS['t4SilverValue'] . ' ' . $t4SilverLabel
+ echo '