Discuz!大师网

搜索
查看: 1598|回复: 0

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

[复制链接]
发表于 2017-4-26 23:27:00 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

x
定义文件:\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.         if($type == 'form') {
  23.                 $message = "<form method="post" action="$url"><input type="hidden" name="formhash" value="".FORMHASH."">".
  24.                         "<br />$message$extra<br />".
  25.                         "<p class="margintop"><input type="submit" class="btn" name="confirmed" value="".cplang('ok')."">   \n".
  26.                         ($cancelurl ? "<input type="button" class="btn" value="".cplang('cancel')."" onClick="location.href='$cancelurl'">" :
  27.                         "<script type="text/javascript">".
  28.                         "if(history.length > (BROWSER.ie ? 0 : 1)) document.write('<input type="button" class="btn" value="".cplang('cancel')."" onClick="history.go(-1);">');".
  29.                         "</script>").
  30.                         "</p></form><br />";
  31.         } elseif($type == 'loadingform') {
  32.                 $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 />".
  33.                         '<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>';
  34.         } else {
  35.                 $message .= $extra.($type == 'loading' ? '<img src="static/image/admincp/ajax_loader.gif" class="marginbot" />' : '');
  36.                 if($url) {
  37.                         if($type == 'button') {
  38.                                 $message = "<br />$message<br /><p class="margintop"><input type="submit" class="btn" name="submit" value="".cplang('start')."" onclick="location.href='$url'" />";
  39.                         } else {
  40.                                 $message .= '<p class="marginbot"><a href="'.$url.'" class="lightlink">'.cplang($type == 'download' ? 'message_download' : 'message_redirect').'</a></p>';
  41.                                 $timeout = $type != 'loading' ? 3000 : 1000;
  42.                                 $message .= "<script type="text/JavaScript">setTimeout("redirect('$url');", $timeout);</script>";
  43.                         }
  44.                 } elseif($type != 'succeed') {
  45.                         $message .= '<p class="marginbot">'.
  46.                         "<script type="text/javascript">".
  47.                         "if(history.length > (BROWSER.ie ? 0 : 1)) document.write('<a href="javascript:history.go(-1);" class="lightlink">".cplang('message_return')."</a>');".
  48.                         "</script>".
  49.                         '</p>';
  50.                 }
  51.         }

  52.         if($halt) {
  53.                 echo '<h3>'.cplang('discuz_message').'</h3><div class="infobox">'.$message.'</div>';
  54.                 exit();
  55.         } else {
  56.                 echo '<div class="infobox">'.$message.'</div>';
  57.         }
  58. }
复制代码
参数介绍:
$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']));
复制代码


回复 马甲回复

使用道具 举报

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

本版积分规则

QQ|网站地图|小黑屋|展会网|Discuz站长论坛 |天天打卡

GMT+8, 2024-5-6 05:35 , Processed in 0.030837 second(s), 15 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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