global.func.php 3.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162
  1. <?php
  2. if(!function_exists("error"))
  3. {
  4. function error($msg="",$url="",$time=2)
  5. {
  6. $app = sys_init();
  7. //哪果没有内容
  8. if(!$msg && !$url)
  9. {
  10. exit("error: false");
  11. }
  12. //如果没有内容提示,则直接跳转
  13. if(!$msg)
  14. {
  15. sys_header($url);
  16. }
  17. //如果有内容提示跳转
  18. $app->tpl->assign("msg",$msg);
  19. $app->tpl->assign("error_url",$url);
  20. if($url)
  21. {
  22. $error_note = sys_eval($app->lang["error_note"],$time);
  23. $app->tpl->assign("error_note",$error_note);
  24. }
  25. $app->tpl->assign("time",$time);
  26. //毫秒级,在JS中应用
  27. $app->tpl->assign("micro_time",$time*1000);
  28. $app->tpl->p("error");
  29. exit();
  30. }
  31. }
  32. if(!function_exists("error_open"))
  33. {
  34. function error_open($msg="",$url="",$time=2)
  35. {
  36. $app = sys_init();
  37. //哪果没有内容
  38. if(!$msg && !$url)
  39. {
  40. exit("error: false");
  41. }
  42. //如果没有内容提示,则直接跳转
  43. if(!$msg)
  44. {
  45. sys_header($url);
  46. }
  47. //如果有内容提示跳转
  48. $app->tpl->assign("msg",$msg);
  49. $app->tpl->assign("error_url",$url);
  50. if($url)
  51. {
  52. $error_note = sys_eval($app->lang["error_note"],$time);
  53. $app->tpl->assign("error_note",$error_note);
  54. }
  55. $app->tpl->assign("time",$time);
  56. //毫秒级,在JS中应用
  57. $app->tpl->assign("micro_time",$time*1000);
  58. $app->tpl->p("open_error");
  59. exit();
  60. }
  61. }
  62. if(!function_exists("site_url"))
  63. {
  64. function site_url($value="",$extend="",$format_type="&amp;")
  65. {
  66. $app = sys_init();
  67. $url = $app->url($value,$extend,$format_type);
  68. return $url;
  69. }
  70. }
  71. //判断是否有权限操作
  72. if(!function_exists("sys_popedom"))
  73. {
  74. //string:权限字符串,格式为“模块标识串或ID:权限标识串”
  75. //rtype:返回信息,支持参数有:tpl,ajax及空值,默认为空值
  76. function sys_popedom($string,$rtype="")
  77. {
  78. $app = sys_init();
  79. $admin_id = $_SESSION["admin_id"];
  80. if(!$admin_id)
  81. {
  82. return sys_rtype($rtype);
  83. }
  84. $app->load_model("admin");
  85. $rs = $app->admin_m->get_one($admin_id);
  86. //系统管理员,返回有权限操作
  87. if($rs["if_system"])
  88. {
  89. return true;
  90. }
  91. //被锁定的管理员没有权限,返回否
  92. if(!$rs["status"])
  93. {
  94. return sys_rtype($rtype);
  95. }
  96. //未设置用户权限的返回否
  97. if(!$rs["popedom"])
  98. {
  99. return sys_rtype($rtype);
  100. }
  101. $popedom = explode(",",$rs["popedom"]);
  102. //无法取得参数的返回否
  103. if(!$string)
  104. {
  105. return sys_rtype($rtype);
  106. }
  107. //分割字符串
  108. $array = explode(":",$string);
  109. if(!$array[0] || !$array[1])
  110. {
  111. return sys_rtype($rtype);
  112. }
  113. //取得模块的内容
  114. $app->load_model("identifier");
  115. $popedom_id = $app->identifier_m->popedom_id($array[1]);
  116. if(!$popedom_id)
  117. {
  118. return sys_rtype($rtype);
  119. }
  120. $app->load_model("module");
  121. $module_id = intval($array[0]) ? $array[0] : $app->module_m->module_id($array[0]);
  122. if(!$module_id)
  123. {
  124. return sys_rtype($rtype);
  125. }
  126. $chk_popedom = $module_id.":".$popedom_id;
  127. if(in_array($chk_popedom,$popedom))
  128. {
  129. return true;
  130. }
  131. else
  132. {
  133. return sys_rtype($rtype);
  134. }
  135. }
  136. }
  137. if(!function_exists("sys_rtype"))
  138. {
  139. function sys_rtype($type="")
  140. {
  141. $app = sys_init();
  142. if($type == "tpl")
  143. {
  144. error($app->lang["no_popedom"]);
  145. }
  146. elseif($type == "ajax")
  147. {
  148. exit($app->lang["no_popedom"]);
  149. }
  150. else
  151. {
  152. return false;
  153. }
  154. }
  155. }
  156. ?>