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("&", "&amp;", $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("&amp;quot;", "\"", $message);
     $message = str_replace("&amp;quote;", "\"", $message);
     $message = html_entity_decode($message);
     $message = str_replace("%", "&#37;", $message);
     $message = $this->parseTPLMacroses($message);
     $this->isXSLTResultMode($oldResultTMode);
     return $message;
 }
Example #3
0
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;
}