找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 2490|回复: 0

[分享] Discuz!开发之网站后台消息提醒函数cpmsg()介绍

[复制链接]
发表于 2017-11-14 14:05:01 | 显示全部楼层 |阅读模式 来自 中国–河南–新乡
定义文件:\source\function\function_admincp.php
函数定义:
  1. function cpmsg($message, $url = '', $type = '', $values = array(), $extra = '', $halt = TRUE, $cancelurl = '') {  
  2.     global $_G;  
  3.     $vars = explode(':', $message);  
  4.     $values['ADMINSCRIPT'] = ADMINSCRIPT;  
  5.     if(count($vars) == 2) {  
  6.         $message = lang('plugin/'.$vars[0], $vars[1], $values);  
  7.     } else {  
  8.         $message = cplang($message, $values);  
  9.     }  
  10.     switch($type) {  
  11.         case 'download':  
  12.         case 'succeed': $classname = 'infotitle2';break;  
  13.         case 'error': $classname = 'infotitle3';break;  
  14.         case 'loadingform': case 'loading': $classname = 'infotitle1';break;  
  15.         default: $classname = 'marginbot normal';break;  
  16.     }  
  17.     if($url) {  
  18.         $url = substr($url, 0, 5) == 'http:' ? $url : ADMINSCRIPT.'?'.$url;  
  19.     }  
  20.     $message = "<h4 class="$classname">$message</h4>";  
  21.     $url .= $url && !empty($_GET['scrolltop']) ? '&scrolltop='.intval($_GET['scrolltop']) : '';  
  22.   
  23.   
  24.     if($type == 'form') {  
  25.         $message = "<form method="post" action="$url"><input type="hidden" name="formhash" value="".FORMHASH."">".  
  26.             "<br />$message$extra<br />".  
  27.             "<p class="margintop"><input type="submit" class="btn" name="confirmed" value="".cplang('ok')."">   \n".  
  28.             ($cancelurl ? "<input type="button" class="btn" value="".cplang('cancel')."" onClick="location.href='$cancelurl'">" :  
  29.             "<script type="text/javascript">".  
  30.             "if(history.length > (BROWSER.ie ? 0 : 1)) document.write('<input type="button" class="btn" value="".cplang('cancel')."" onClick="history.go(-1);">');".  
  31.             "</script>").  
  32.             "</p></form><br />";  
  33.     } elseif($type == 'loadingform') {  
  34.         $message = "<form method="post" action="$url" id="loadingform"><input type="hidden" name="formhash" value="".FORMHASH.""><br />$message$extra<img src="static/image/admincp/ajax_loader.gif" class="marginbot" /><br />".  
  35.             '<p class="marginbot"><a href="###" onclick="$(\'loadingform\').submit();" class="lightlink">'.cplang('message_redirect').'</a></p></form><br /><script type="text/JavaScript">setTimeout("$(\'loadingform\').submit();", 2000);</script>';  
  36.     } else {  
  37.         $message .= $extra.($type == 'loading' ? '<img src="static/image/admincp/ajax_loader.gif" class="marginbot" />' : '');  
  38.         if($url) {  
  39.             if($type == 'button') {  
  40.                 $message = "<br />$message<br /><p class="margintop"><input type="submit" class="btn" name="submit" value="".cplang('start')."" onclick="location.href='$url'" />";  
  41.             } else {  
  42.                 $message .= '<p class="marginbot"><a href="'.$url.'" class="lightlink">'.cplang($type == 'download' ? 'message_download' : 'message_redirect').'</a></p>';  
  43.                 $timeout = $type != 'loading' ? 3000 : 1000;  
  44.                 $message .= "<script type="text/JavaScript">setTimeout("redirect('$url');", $timeout);</script>";  
  45.             }  
  46.         } elseif($type != 'succeed') {  
  47.             $message .= '<p class="marginbot">'.  
  48.             "<script type="text/javascript">".  
  49.             "if(history.length > (BROWSER.ie ? 0 : 1)) document.write('<a href="javascript:history.go(-1);" class="lightlink">".cplang('message_return')."</a>');".  
  50.             "</script>".  
  51.             '</p>';  
  52.         }  
  53.     }  
  54.   
  55.   
  56.     if($halt) {  
  57.         echo '<h3>'.cplang('discuz_message').'</h3><div class="infobox">'.$message.'</div>';  
  58.         exit();  
  59.     } else {  
  60.         echo '<div class="infobox">'.$message.'</div>';  
  61.     }  
  62. }  
复制代码

参数介绍:
$message - lang_admincp_msg.php 语言包中需要输出的key
$url - 提示信息后跳转的页面,留空则返回上一页
$type - 特殊提示信息时指定页面的提示样式,可选参数:succeed、error、download、loadingform
$values - 为语言包中的变量关键词指定值,以数组形式输入
$extra - 消息文字扩展
$halt - 是否输出“Discuz! 提示”标题
使用方法举例:
  1. //成功提示信息  
  2. cpmsg('tasks_installed', 'action=tasks&operation=type', 'succeed');  
  3. //错误提示信息,并传递变量(cachethreaddir为要传递如语言包中的变量关键词)  
  4. cpmsg('cachethread_dir_noexists', '', 'error', array('cachethreaddir' => $settingnew['cachethreaddir']));  
复制代码


发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;

如何回报帮助你解决问题的坛友,好办法就是点击帖子下方的评分按钮给对方加【金币】不会扣除自己的积分,做一个热心并受欢迎的人!

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则 需要先绑定手机号

关闭

站长推荐上一条 /1 下一条

QQ|侵权投诉|广告报价|手机版|小黑屋|西部数码代理|飘仙建站论坛 ( 豫ICP备2022021143号-1 )

GMT+8, 2024-12-23 17:02 , Processed in 0.044586 second(s), 9 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表