在进行网站开发或维护时,对某些功能模块进行优化和调整是常见的操作。以下是一篇关于如何修改 ShowMsg 函数的文章,旨在帮助开发者更好地理解其逻辑和实现方式。

首先,我们需要打开文件 \\\\include\\\\common.func.php 并找到 ShowMsg 函数的定义部分。以下是原始代码的基本结构:


function ShowMsg(
{
	中间代码省略...
}
    

接下来,我们将对这段代码进行整体替换,以增强其功能性和兼容性。以下是替换后的完整代码:


function ShowMsg($msg, $gourl, $onlymsg=0, $limittime=0)
{
    if(empty($GLOBALS['cfg_plus_dir'])) $GLOBALS['cfg_plus_dir'] = '..';

    $htmlhead  = "\\r\\n\\r\\n提示信息\\r\\n\\r\\n\\r\\n\\r\\n";
    $htmlhead .= "\\r\\n\\r\\n" . (isset($GLOBALS['ucsynlogin']) ? $GLOBALS['ucsynlogin'] : '') . "\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n\\r\\n"; $litime = ($limittime==0 ? 1000 : $limittime); $func = ''; if($gourl=='-1') { if($limittime==0) $litime = 5000; $gourl = "javascript:history.go(-1);"; } if($gourl=='' || $onlymsg==1) { $msg = ""; } else { //当网址为:close::objname 时, 关闭父框架的id=objname元素 if(preg_match('/close::/',$gourl)) { $tgobj = trim(preg_replace('/close::', '', $gourl)); $gourl = 'javascript:;'; $func .= "window.parent.document.getElementById('$tgobj').style.display='none';\\r\\n"; } $func .= " var pgo=0; function JumpUrl(){ if(pgo==0){ location='$gourl'; pgo=1; } }\\r\\n"; $rmsg = $func; $rmsg .= "document.write(\\"\\");\\r\\n;"; $rmsg .= "document.write(\\"
"; $rmsg .= "

提示信息

\\"\\);\\r\\n"; $rmsg .= "document.write(\\"
\\"\\);\\r\\n"; $rmsg .= "document.write(\\"".str_replace("\\"","“",$msg)."\\"\\);\\r\\n"; $rmsg .= "document.write(\\""; if($onlymsg==0) { if( $gourl != 'javascript:;' && $gourl != '') { $rmsg .= "点击跳转"; $rmsg .= "
\\"\\);\\r\\n"; $rmsg .= "setTimeout('JumpUrl()',$litime);"; } else { $rmsg .= "
\\"\\);\\r\\n"; } } else { $rmsg .= "

\\"\\);\\r\\n"; } $msg = $htmlhead.$rmsg.$htmlfoot; } echo $msg; }