public function index($v240bf022e685b0ee30ad9fe9e1fb5d5b = 'a-zа-я0-9') { $v6a992d5529f459a44fee58c733255e86 = $this->run(); $result = array(); if (preg_match_all("/(([A-zА-я0-9])-([A-zА-я0-9]))/u", $v240bf022e685b0ee30ad9fe9e1fb5d5b, $vc68271a63ddbc431c307beb7d2918275)) { for ($v865c0c0b4ab0e063e5caa3387c1a8741 = 0; $v865c0c0b4ab0e063e5caa3387c1a8741 < sizeof($vc68271a63ddbc431c307beb7d2918275[2]); $v865c0c0b4ab0e063e5caa3387c1a8741++) { $vd98a07f84921b24ee30f86fd8cd85c3c = wa_strpos(self::$letters, $vc68271a63ddbc431c307beb7d2918275[2][$v865c0c0b4ab0e063e5caa3387c1a8741]); $v01b6e20344b68835c5ed1ddedf20d531 = wa_strpos(self::$letters, $vc68271a63ddbc431c307beb7d2918275[3][$v865c0c0b4ab0e063e5caa3387c1a8741]); if ($vd98a07f84921b24ee30f86fd8cd85c3c === false || $v01b6e20344b68835c5ed1ddedf20d531 === false) { continue; } for ($v363b122c528f54df4a0446b6bab05515 = $vd98a07f84921b24ee30f86fd8cd85c3c; $v363b122c528f54df4a0446b6bab05515 <= $v01b6e20344b68835c5ed1ddedf20d531; $v363b122c528f54df4a0446b6bab05515++) { $va87deb01c5f539e6bda34829c8ef2368 = wa_substr(self::$letters, $v363b122c528f54df4a0446b6bab05515, 1); $result[$va87deb01c5f539e6bda34829c8ef2368] = isset($v6a992d5529f459a44fee58c733255e86[$va87deb01c5f539e6bda34829c8ef2368]) ? $v6a992d5529f459a44fee58c733255e86[$va87deb01c5f539e6bda34829c8ef2368] : 0; } } } return $result; }
public function formatMessage($message, $b_split_long_mode = 0) { static $bb_from; static $bb_to; $oldResultTMode = $this->isXSLTResultMode(false); try { list($quote_begin, $quote_end) = $this->loadTemplates('quote/default', 'quote_begin', 'quote_end'); } catch (publicException $e) { $quote_begin = "<div class='quote'>"; $quote_end = "</div>"; } if (self::isXSLTResultMode()) { $quote_begin = "<div class='quote'>"; $quote_end = "</div>"; } if (!(is_array($bb_from) && is_array($bb_to) && count($bb_from) === count($bb_to))) { try { list($bb_from, $bb_to) = $this->loadTemplates('bb/default', 'bb_from', 'bb_to'); if (!(is_array($bb_from) && is_array($bb_to) && count($bb_from) === count($bb_to) && count($bb_to))) { $bb_from = array("[b]", "[i]", "[/b]", "[/i]", "[quote]", "[/quote]", "[u]", "[/u]", "\r\n"); $bb_to = array("<strong>", "<em>", "</strong>", "</em>", $quote_begin, $quote_end, "<u>", "</u>", "<br />"); } } catch (publicException $e) { $bb_from = array("[b]", "[i]", "[/b]", "[/i]", "[quote]", "[/quote]", "[u]", "[/u]", "\r\n"); $bb_to = array("<strong>", "<em>", "</strong>", "</em>", $quote_begin, $quote_end, "<u>", "</u>", "<br />"); } } $openQuoteCount = substr_count(wa_strtolower($message), "[quote]"); $closeQuoteCount = substr_count(wa_strtolower($message), "[/quote]"); if ($openQuoteCount > $closeQuoteCount) { $message .= str_repeat("[/quote]", $openQuoteCount - $closeQuoteCount); } if ($openQuoteCount < $closeQuoteCount) { $message = str_repeat("[quote]", $closeQuoteCount - $openQuoteCount) . $message; } $message = preg_replace("`((http)+(s)?:(//)|(www\\.))((\\w|\\.|\\-|_)+)(/)?([/|#|?|&|=|\\w|\\.|\\-|_]+)?`i", "[url]http\\3://\\5\\6\\8\\9[/url]", $message); $message = str_ireplace($bb_from, $bb_to, $message); $message = str_ireplace("</h4>", "</h4><p>", $message); $message = str_ireplace("</div>", "</p></div>", $message); $message = str_replace(".[/url]", "[/url].", $message); $message = str_replace(",[/url]", "[/url],", $message); $message = str_replace(array("[url][url]", "[/url][/url]"), array("[url]", "[/url]"), $message); // split long words if ($b_split_long_mode === 0) { // default $arr_matches = array(); $b_succ = preg_match_all("/[^\\s^<^>]{70,}/u", $message, $arr_matches); if ($b_succ && isset($arr_matches[0]) && is_array($arr_matches[0])) { foreach ($arr_matches[0] as $str) { $s = ""; if (strpos($str, "[url]") === false) { for ($i = 0; $i < wa_strlen($str); $i++) { $s .= wa_substr($str, $i, 1) . ($i % 30 === 0 ? " " : ""); } $message = str_replace($str, $s, $message); } } } } elseif ($b_split_long_mode === 1) { // TODU abcdef...asdf } if (preg_match_all("/\\[url\\]([^А-я^\r^\n^\t]*)\\[\\/url\\]/U", $message, $matches, PREG_SET_ORDER)) { for ($i = 0; $i < count($matches); $i++) { $s_url = $matches[$i][1]; $i_length = strlen($s_url); if ($i_length > 40) { $i_cutpart = ceil(($i_length - 40) / 2); $i_center = ceil($i_length / 2); $s_url = substr_replace($s_url, "...", $i_center - $i_cutpart, $i_cutpart * 2); } $message = str_replace($matches[$i][0], "<a href='/go-out.php?url=" . $matches[$i][1] . "' target='_blank' title='Ссылка откроется в новом окне'>" . $s_url . "</a>", $message); } } $message = str_replace("&", "&", $message); $message = str_ireplace("[QUOTE][QUOTE]", "", $message); if (preg_match_all("/\\[smile:([^\\]]+)\\]/im", $message, $out)) { foreach ($out[1] as $smile_path) { $s = $smile_path; $smile_path = "images/forum/smiles/" . $smile_path . ".gif"; if (file_exists($smile_path)) { $message = str_replace("[smile:" . $s . "]", "<img src='/{$smile_path}' />", $message); } } } $message = preg_replace("/<p>(<br \\/>)+/", "<p>", $message); $message = nl2br($message); $message = str_replace("<<br />br /><br />", "", $message); $message = str_replace("<p<br />>", "<p>", $message); $message = str_replace("&quot;", "\"", $message); $message = str_replace("&quote;", "\"", $message); $message = html_entity_decode($message); $message = str_replace("%", "%", $message); $message = $this->parseTPLMacroses($message); $this->isXSLTResultMode($oldResultTMode); return $message; }
function truncStr($v0b9f441f569478ce6777af257c2d5290, $vebb9639568218ed404aa24c55d7510c2 = "50", $v95dcc3576ee8f381b2683b15c126e9de = "...", $v6bd0a84f7fc8978ff8ae76426b1a9034 = false) { $vdccc8c8d061984a56d899361b4934477 = $v0b9f441f569478ce6777af257c2d5290; if ($v6bd0a84f7fc8978ff8ae76426b1a9034) { $vdccc8c8d061984a56d899361b4934477 = html_entity_decode(strip_tags($vdccc8c8d061984a56d899361b4934477), ENT_QUOTES, "UTF-8"); } if ($vebb9639568218ed404aa24c55d7510c2 <= 0) { return ''; } if (wa_strlen($v0b9f441f569478ce6777af257c2d5290) > $vebb9639568218ed404aa24c55d7510c2) { $vebb9639568218ed404aa24c55d7510c2 -= wa_strlen($v95dcc3576ee8f381b2683b15c126e9de); $vdccc8c8d061984a56d899361b4934477 = wa_substr($vdccc8c8d061984a56d899361b4934477, 0, $vebb9639568218ed404aa24c55d7510c2 + 1); $vdccc8c8d061984a56d899361b4934477 = preg_replace('/\\s+([^\\s]+)?$/i', '', $vdccc8c8d061984a56d899361b4934477) . $v95dcc3576ee8f381b2683b15c126e9de; } return $vdccc8c8d061984a56d899361b4934477; }