function fparseimg($src, $extra = '') { global $_G; $rimg_id = random(5); $html = bbcodeurl($src, '<img id="iimg_' . $rimg_id . '" src="' . $src . '" border="0" alt="" ' . $extra . ' style="cursor: pointer;" />'); return fcodedisp($html, 'image'); }
function parseimg($width, $height, $src) { $extra = ''; if ($width > IMAGEMAXWIDTH) { $height = intval(IMAGEMAXWIDTH * $height / $width); $width = IMAGEMAXWIDTH; $extra = ' onclick="zoom(this)" style="cursor:pointer"'; } return bbcodeurl($src, '<img' . ($width > 0 ? ' width="' . $width . '"' : '') . ($height > 0 ? ' height="' . $height . '"' : '') . ' src="' . $src . '"' . $extra . ' border="0" alt="" />'); }
function parseimg($width, $height, $src, $lazyload, $pid, $extra = '') { global $_G; static $styleoutput = null; if ($_G['setting']['domainwhitelist_affectimg']) { $tmp = parse_url($src); if (!empty($tmp['host']) && !iswhitelist($tmp['host'])) { return $src; } } if (strstr($src, 'file:') || substr($src, 1, 1) == ':') { return $src; } if ($width > $_G['setting']['imagemaxwidth']) { $height = intval($_G['setting']['imagemaxwidth'] * $height / $width); $width = $_G['setting']['imagemaxwidth']; if (defined('IN_MOBILE')) { $extra = ''; } else { $extra = 'onmouseover="img_onmouseoverfunc(this)" onclick="zoom(this)" style="cursor:pointer"'; } } $attrsrc = !IS_ROBOT && $lazyload ? 'file' : 'src'; $rimg_id = random(5); $GLOBALS['aimgs'][$pid][] = $rimg_id; $guestviewthumb = !empty($_G['setting']['guestviewthumb']['flag']) && empty($_G['uid']); $img = ''; if ($guestviewthumb) { if (!isset($styleoutput)) { $img .= guestviewthumbstyle(); $styleoutput = true; } $img .= '<div class="guestviewthumb"><img id="aimg_' . $rimg_id . '" class="guestviewthumb_cur" onclick="showWindow(\'login\', \'{loginurl}\'+\'&referer=\'+encodeURIComponent(location))" ' . $attrsrc . '="{url}" border="0" alt="" /> <br><a href="{loginurl}" onclick="showWindow(\'login\', this.href+\'&referer=\'+encodeURIComponent(location));">' . lang('forum/template', 'guestviewthumb') . '</a></div>'; } else { if (defined('IN_MOBILE')) { $img = '<img' . ($width > 0 ? ' width="' . $width . '"' : '') . ($height > 0 ? ' height="' . $height . '"' : '') . ' src="{url}" border="0" alt="" />'; } else { $img = '<img id="aimg_' . $rimg_id . '" onclick="zoom(this, this.src, 0, 0, ' . ($_G['setting']['showexif'] ? 1 : 0) . ')" class="zoom"' . ($width > 0 ? ' width="' . $width . '"' : '') . ($height > 0 ? ' height="' . $height . '"' : '') . ' ' . $attrsrc . '="{url}" ' . ($extra ? $extra . ' ' : '') . 'border="0" alt="" />'; } } $code = bbcodeurl($src, $img); if ($guestviewthumb) { $code = str_replace('{loginurl}', 'member.php?mod=logging&action=login', $code); } return $code; }
function parseimg($width, $height, $src, $lazyload, $pid, $extra = '') { global $_G; if (strstr($src, 'file:') || substr($src, 1, 1) == ':') { return $src; } if ($width > $_G['setting']['imagemaxwidth']) { $height = intval($_G['setting']['imagemaxwidth'] * $height / $width); $width = $_G['setting']['imagemaxwidth']; if (defined('IN_MOBILE') && !defined('TPL_DEFAULT')) { $extra = ''; } else { $extra = 'onmouseover="img_onmouseoverfunc(this)" onclick="zoom(this)" style="cursor:pointer"'; } } $attrsrc = !IS_ROBOT && $lazyload ? 'file' : 'src'; $rimg_id = random(5); $GLOBALS['aimgs'][$pid][] = $rimg_id; return bbcodeurl($src, '<img id="aimg_' . $rimg_id . '" onclick="zoom(this, this.src, 0, 0, ' . ($_G['setting']['showexif'] ? 1 : 0) . ')" class="zoom"' . ($width > 0 ? ' width="' . $width . '"' : '') . ($height > 0 ? ' height="' . $height . '"' : '') . ' ' . $attrsrc . '="' . $src . '" ' . ($extra ? $extra . ' ' : '') . 'border="0" alt="" />'); }
function parseimg($width, $height, $src) { return bbcodeurl($src, '<img'.($width > 0 ? " width=\"$width\"" : '').($height > 0 ? " height=\"$height\"" : '')." src=\"$src\" border=\"0\" alt=\"\" />"); }
function parseimg($width, $height, $src, $lazyload) { global $_G; $extra = ''; if ($width > $_G['setting']['imagemaxwidth']) { $height = intval($_G['setting']['imagemaxwidth'] * $height / $width); $width = $_G['setting']['imagemaxwidth']; if (defined('IN_MOBILE') && !defined('TPL_DEFAULT')) { $extra = ''; } else { $extra = ' onclick="zoom(this)" style="cursor:pointer"'; } } $attrsrc = !IS_ROBOT && $lazyload ? 'file' : 'src'; return bbcodeurl($src, '<img' . ($width > 0 ? ' width="' . $width . '"' : '') . ($height > 0 ? ' height="' . $height . '"' : '') . ' ' . $attrsrc . '="' . $src . '"' . $extra . ' border="0" alt="" />'); }
function mobile_discuzcode($param) { global $_G; list($message, $smileyoff, $bbcodeoff, $htmlon, $allowsmilies, $allowbbcode, $allowimgcode, $allowhtml, $jammer, $parsetype, $authorid, $allowmediacode, $pid, $lazyload, $pdateline, $first) = $param; static $authorreplyexist; $message = preg_replace(array(lang('forum/misc', 'post_edit_regexp'), lang('forum/misc', 'post_edithtml_regexp'), lang('forum/misc', 'post_editnobbcode_regexp')), '', $message); if ($pid && strpos($message, '[/password]') !== FALSE) { if ($authorid != $_G['uid'] && !$_G['forum']['ismoderator']) { $message = preg_replace_callback("/\\s?\\[password\\](.+?)\\[\\/password\\]\\s?/i", function ($matches) use($pid) { return parsepassword($matches[1], $pid); }, $message); if ($_G['forum_discuzcode']['passwordlock'][$pid]) { return ''; } } else { $message = preg_replace("/\\s?\\[password\\](.+?)\\[\\/password\\]\\s?/i", "", $message); $_G['forum_discuzcode']['passwordauthor'][$pid] = 1; } } if ($parsetype != 1 && !$bbcodeoff && $allowbbcode && (strpos($message, '[/code]') || strpos($message, '[/CODE]')) !== FALSE) { $message = preg_replace_callback("/\\s?\\[code\\](.+?)\\[\\/code\\]\\s?/is", function ($matches) { return mobile_parsecode($matches[1]); }, $message); } $msglower = strtolower($message); $htmlon = $htmlon && $allowhtml ? 1 : 0; if (!$htmlon) { $message = dhtmlspecialchars($message); } else { $message = preg_replace("/<script[^\\>]*?>(.*?)<\\/script>/i", '', $message); } if (!$smileyoff && $allowsmilies) { $message = mobile_parsesmiles($message); } if ($_G['setting']['allowattachurl'] && strpos($msglower, 'attach://') !== FALSE) { $message = preg_replace_callback("/attach:\\/\\/(\\d+)\\.?(\\w*)/i", function ($matches) { return parseattachurl($matches[1], $matches[2], 1); }, $message); } if ($allowbbcode) { if (strpos($msglower, 'ed2k://') !== FALSE) { $message = preg_replace_callback("/ed2k:\\/\\/(.+?)\\//", function ($matches) { return mobile_parseed2k($matches[1]); }, $message); } } if (!$bbcodeoff && $allowbbcode) { if (strpos($msglower, '[/url]') !== FALSE) { $message = preg_replace_callback("/\\[url(=((https?|ftp|gopher|news|telnet|rtsp|mms|callto|bctp|thunder|qqdl|synacast){1}:\\/\\/|www\\.|mailto:)?([^\r\n\\[\"']+?))?\\](.+?)\\[\\/url\\]/is", function ($matches) { return mobile_parseurl($matches[1], $matches[5], $matches[2]); }, $message); } if (strpos($msglower, '[/email]') !== FALSE) { $message = preg_replace_callback("/\\[email(=([a-z0-9\\-_.+]+)@([a-z0-9\\-_]+[.][a-z0-9\\-_.]+))?\\](.+?)\\[\\/email\\]/is", function ($matches) { return strip_tags(parseemail($matches[1], $matches[4])); }, $message); } $nest = 0; while (strpos($msglower, '[table') !== FALSE && strpos($msglower, '[/table]') !== FALSE) { $message = preg_replace_callback("/\\[table(?:=(\\d{1,4}%?)(?:,([\\(\\)%,#\\w ]+))?)?\\]\\s*(.+?)\\s*\\[\\/table\\]/is", function ($matches) { return mobile_parsetable($matches[1], $matches[2], $matches[3]); }, $message); if (++$nest > 4) { break; } } $message = str_replace(array('[/color]', '[/backcolor]', '[/size]', '[/font]', '[/align]', '[b]', '[/b]', '[s]', '[/s]', '[hr]', '[/p]', '[i=s]', '[i]', '[/i]', '[u]', '[/u]', '[list]', '[list=1]', '[list=a]', '[list=A]', "\r\n[*]", '[*]', '[/list]', '[indent]', '[/indent]', '[/float]'), array('</font>', '</font>', '', '', '', '<strong>', '</strong>', '<strike>', '</strike>', '<hr class="l" />', '</p>', '', '', '', '', '', '<ul>', '<ul type="1" class="litype_1">', '<ul type="a" class="litype_2">', '<ul type="A" class="litype_3">', '<li>', '<li>', '</ul>', '', '', ''), preg_replace(array("/\\[color=([#\\w]+?)\\]/i", "/\\[color=((rgb|rgba)\\([\\d\\s,]+?\\))\\]/i", "/\\[backcolor=([#\\w]+?)\\]/i", "/\\[backcolor=((rgb|rgba)\\([\\d\\s,]+?\\))\\]/i", "/\\[size=(\\d{1,2}?)\\]/i", "/\\[size=(\\d{1,2}(\\.\\d{1,2}+)?(px|pt)+?)\\]/i", "/\\[font=([^\\[\\<]+?)\\]/i", "/\\[align=(left|center|right)\\]/i", "/\\[p=(\\d{1,2}|null), (\\d{1,2}|null), (left|center|right)\\]/i", "/\\[float=left\\]/i", "/\\[float=right\\]/i"), array("<font color=\"\\1\">", "<font style=\"color:\\1\">", "<font style=\"background-color:\\1\">", "<font style=\"background-color:\\1\">", "", "", "", "", "<p>", "", ""), $message)); $message = preg_replace("/\\s?\\[postbg\\]\\s*([^\\[\\<\r\n;'\"\\?\\(\\)]+?)\\s*\\[\\/postbg\\]\\s?/is", "", $message); if ($parsetype != 1) { if (strpos($msglower, '[/quote]') !== FALSE) { $message = preg_replace("/\\s?\\[quote\\][\n\r]*(.+?)[\n\r]*\\[\\/quote\\]\\s?/is", mobile_quote(), $message); } if (strpos($msglower, '[/free]') !== FALSE) { $message = preg_replace("/\\s*\\[free\\][\n\r]*(.+?)[\n\r]*\\[\\/free\\]\\s*/is", mobile_free(), $message); } } if (strpos($msglower, '[/media]') !== FALSE) { $message = preg_replace_callback("/\\[media=([\\w,]+)\\]\\s*([^\\[\\<\r\n]+?)\\s*\\[\\/media\\]/is", function ($matches) { return bbcodeurl($matches[2], '<a class="media" href="{url}" target="_blank">{url}</a>'); }, $message); } if (strpos($msglower, '[/audio]') !== FALSE) { $message = preg_replace_callback("/\\[audio(=1)*\\]\\s*([^\\[\\<\r\n]+?)\\s*\\[\\/audio\\]/is", function ($matches) { return bbcodeurl($matches[2], '<a href="{url}" target="_blank">{url}</a>'); }, $message); } if (strpos($msglower, '[/flash]') !== FALSE) { $message = preg_replace_callback("/\\[flash(=(\\d+),(\\d+))?\\]\\s*([^\\[\\<\r\n]+?)\\s*\\[\\/flash\\]/is", function ($matches) { return bbcodeurl($matches[4], '<a href="{url}" target="_blank">{url}</a>'); }, $message); } if ($parsetype != 1 && $allowbbcode < 0 && isset($_G['cache']['bbcodes'][-$allowbbcode])) { $message = preg_replace($_G['cache']['bbcodes'][-$allowbbcode]['searcharray'], $_G['cache']['bbcodes'][-$allowbbcode]['replacearray'], $message); } if ($parsetype != 1 && strpos($msglower, '[/hide]') !== FALSE && $pid) { if ($_G['setting']['hideexpiration'] && $pdateline && (TIMESTAMP - $pdateline) / 86400 > $_G['setting']['hideexpiration']) { $message = preg_replace("/\\[hide[=]?(d\\d+)?[,]?(\\d+)?\\]\\s*(.*?)\\s*\\[\\/hide\\]/is", "\\3", $message); $msglower = strtolower($message); } if (strpos($msglower, '[hide=d') !== FALSE) { $message = preg_replace_callback("/\\[hide=(d\\d+)?[,]?(\\d+)?\\]\\s*(.*?)\\s*\\[\\/hide\\]/is", function ($matches) use($pdateline) { return expirehide($matches[1], $matches[2], $matches[3], $pdateline); }, $message); $msglower = strtolower($message); } if (strpos($msglower, '[hide]') !== FALSE) { if ($authorreplyexist === null) { if (!$_G['forum']['ismoderator']) { if ($_G['uid']) { $authorreplyexist = C::t('forum_post')->fetch_pid_by_tid_authorid($_G['tid'], $_G['uid']); } } else { $authorreplyexist = TRUE; } } if ($authorreplyexist) { $message = preg_replace("/\\[hide\\]\\s*(.*?)\\s*\\[\\/hide\\]/is", mobile_hide_reply(), $message); } else { $message = preg_replace("/\\[hide\\](.*?)\\[\\/hide\\]/is", mobile_hide_reply_hidden(), $message); } } if (strpos($msglower, '[hide=') !== FALSE) { $message = preg_replace_callback("/\\[hide=(\\d+)\\]\\s*(.*?)\\s*\\[\\/hide\\]/is", function ($matches) use($pid, $authorid) { return creditshide($matches[1], $matches[2], $pid, $authorid); }, $message); } } } if (strpos($message, '[/tthread]') !== FALSE) { $matches = array(); preg_match('/\\[tthread=(.+?),(.+?)\\](.*?)\\[\\/tthread\\]/', $message, $matches); $message = preg_replace('/\\[tthread=(.+?)\\](.*?)\\[\\/tthread\\]/', lang('plugin/qqconnect', 'connect_tthread_message', array('username' => $matches[1], 'nick' => $matches[2])), $message); } if (!$bbcodeoff) { if ($parsetype != 1 && strpos($msglower, '[swf]') !== FALSE) { $message = preg_replace_callback("/\\[swf\\]\\s*([^\\[\\<\r\n]+?)\\s*\\[\\/swf\\]/is", function ($matches) { return bbcodeurl($matches[1], ' <img src="' . STATICURL . 'image/filetype/flash.gif" align="absmiddle" alt="" /> <a href="{url}" target="_blank">Flash: {url}</a> '); }, $message); } $attrsrc = !IS_ROBOT && $lazyload ? 'file' : 'src'; if (strpos($msglower, '[/img]') !== FALSE) { $message = preg_replace(array("/\\[img\\]\\s*([^\\[\\<\r\n]+?)\\s*\\[\\/img\\]/ies", "/\\[img=(\\d{1,4})[x|\\,](\\d{1,4})\\]\\s*([^\\[\\<\r\n]+?)\\s*\\[\\/img\\]/ies"), $allowimgcode ? array("mobile_parseimg(0, 0, '\\1', " . intval($lazyload) . ", " . intval($pid) . ", 'onmouseover=\"img_onmouseoverfunc(this)\" " . ($lazyload ? "lazyloadthumb=\"1\"" : "onload=\"thumbImg(this)\"") . "')", "mobile_parseimg('\\1', '\\2', '\\3', " . intval($lazyload) . ", " . intval($pid) . ")") : ($allowbbcode ? array(!defined('IN_MOBILE') ? "bbcodeurl('\\1', '<a href=\"{url}\" target=\"_blank\">{url}</a>')" : "bbcodeurl('\\1', '')", !defined('IN_MOBILE') ? "bbcodeurl('\\3', '<a href=\"{url}\" target=\"_blank\">{url}</a>')" : "bbcodeurl('\\3', '')") : array("bbcodeurl('\\1', '{url}')", "bbcodeurl('\\3', '{url}')")), $message); } } for ($i = 0; $i <= $_G['forum_discuzcode']['pcodecount']; $i++) { $message = str_replace("[\tDISCUZ_CODE_{$i}\t]", $_G['forum_discuzcode']['codehtml'][$i], $message); } unset($msglower); $message = preg_replace("/(\\[groupid=\\d+\\].*\\[\\/groupid\\])/i", '', $message); $message = preg_replace("/(\r\n|\n|\r){3,}/i", "\\1\\1\\1", $message); return $message; }
function parseimg($width, $height, $src) { $img = '<img' . ($width > 0 ? ' width="' . $width . '"' : '') . ($height > 0 ? ' height="' . $height . '"' : '') . ' src="{url}" border="0" alt="" />'; $code = bbcodeurl($src, $img); return $code; }