index.html 16 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413
  1. <!DOCTYPE html>
  2. <html lang="zh_CN" style="overflow: hidden;">
  3. <head>
  4. <meta http-equiv="X-UA-Compatible" content="IE=edge"/>
  5. <!-- Set render engine for 360 browser -->
  6. <meta name="renderer" content="webkit">
  7. <meta charset="utf-8">
  8. <title>{$site_info.sitename|default=''} {:lang('ADMIN_CENTER')}</title>
  9. <meta name="description" content="This is page-header (.page-header &gt; h1)">
  10. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  11. <!-- HTML5 shim for IE8 support of HTML5 elements -->
  12. <!--[if lt IE 9]>
  13. <script src="https://oss.maxcdn.com/libs/html5shiv/3.7.0/html5shiv.js"></script>
  14. <![endif]-->
  15. <link href="__TMPL__/public/assets/themes/{:cmf_get_admin_style()}/bootstrap.min.css" rel="stylesheet">
  16. <link href="__TMPL__/public/assets/simpleboot3/css/simplebootadmin.css" rel="stylesheet">
  17. <link href="__STATIC__/font-awesome/css/font-awesome.min.css?page=index" rel="stylesheet" type="text/css">
  18. <link rel="stylesheet" href="__TMPL__/public/assets/themes/{:cmf_get_admin_style()}/simplebootadminindex.min.css">
  19. <!--[if lt IE 9]>
  20. <script src="https://cdn.bootcss.com/respond.js/1.4.2/respond.min.js"></script>
  21. <![endif]-->
  22. <style>
  23. /*-----------------导航hack--------------------*/
  24. .nav-list > li.open {
  25. position: relative;
  26. }
  27. .nav-list > li.open .back {
  28. display: none;
  29. }
  30. .nav-list > li.open .normal {
  31. display: inline-block !important;
  32. }
  33. .nav-list > li.open a {
  34. padding-left: 7px;
  35. }
  36. .nav-list > li .submenu > li > a {
  37. background: #fff;
  38. }
  39. .nav-list > li .submenu > li a > [class*="fa-"]:first-child {
  40. left: 20px;
  41. }
  42. .nav-list > li ul.submenu ul.submenu > li a > [class*="fa-"]:first-child {
  43. left: 30px;
  44. }
  45. /*----------------导航hack--------------------*/
  46. </style>
  47. <script>
  48. //全局变量
  49. var GV = {
  50. HOST: "{$_SERVER['HTTP_HOST']|default=''}",
  51. ROOT: "__ROOT__/",
  52. WEB_ROOT: "__WEB_ROOT__/",
  53. JS_ROOT: "static/js/"
  54. };
  55. </script>
  56. <php>$submenus=$menus;</php>
  57. <php>
  58. if (!function_exists('getsubmenu')) {
  59. function getsubmenu($submenus){
  60. </php>
  61. <notempty name="submenus">
  62. <php>foreach($submenus as $menu){</php>
  63. <li>
  64. <php>
  65. $menu_name=lang($menu['lang']);
  66. $menu_name=$menu['lang']==$menu_name?$menu['name']:$menu_name;
  67. </php>
  68. <php>if(empty($menu['items'])){</php>
  69. <a href="javascript:openapp('{$menu.url}','{$menu.id}','{$menu_name}',true);">
  70. <i class="fa fa-{$menu.icon|default='desktop'}"></i>
  71. <span class="menu-text"> {$menu_name} </span>
  72. </a>
  73. <php>}else{</php>
  74. <a href="#" class="dropdown-toggle">
  75. <i class="fa fa-{$menu.icon|default='desktop'} normal"></i>
  76. <span class="menu-text normal"> {$menu_name} </span>
  77. <b class="arrow fa fa-angle-right normal"></b>
  78. <i class="fa fa-reply back"></i>
  79. <span class="menu-text back">返回</span>
  80. </a>
  81. <ul class="submenu">
  82. <php>getsubmenu1($menu['items'])</php>
  83. </ul>
  84. <php>}</php>
  85. </li>
  86. <php>}</php>
  87. </notempty>
  88. <php>
  89. }
  90. }
  91. </php>
  92. <php>
  93. if (!function_exists('getsubmenu1')) {
  94. function getsubmenu1($submenus){
  95. </php>
  96. <php>foreach($submenus as $menu){</php>
  97. <li>
  98. <php>
  99. $menu_name=lang($menu['lang']);
  100. $menu_name=$menu['lang']==$menu_name?$menu['name']:$menu_name;
  101. </php>
  102. <php>if(empty($menu['items'])){</php>
  103. <a href="javascript:openapp('{$menu.url}','{$menu.id}','{$menu_name}',true);">
  104. <i class="fa fa-caret-right"></i>
  105. <span class="menu-text">
  106. {$menu_name}
  107. </span>
  108. </a>
  109. <php>}else{</php>
  110. <a href="#" class="dropdown-toggle">
  111. <i class="fa fa-caret-right"></i>
  112. <span class="menu-text">
  113. {$menu_name}
  114. </span>
  115. <b class="arrow fa fa-angle-right"></b>
  116. </a>
  117. <ul class="submenu">
  118. <php>getsubmenu2($menu['items'])</php>
  119. </ul>
  120. <php>}</php>
  121. </li>
  122. <php>}</php>
  123. <php>}
  124. }
  125. </php>
  126. <php>
  127. if (!function_exists('getsubmenu2')) {
  128. function getsubmenu2($submenus){</php>
  129. <php>foreach($submenus as $menu){</php>
  130. <li>
  131. <php>
  132. $menu_name=lang($menu['lang']);
  133. $menu_name=$menu['lang']==$menu_name?$menu['name']:$menu_name;
  134. </php>
  135. <a href="javascript:openapp('{$menu.url}','{$menu.id}','{$menu_name}',true);">
  136. &nbsp;<i class="fa fa-angle-double-right"></i>
  137. <span class="menu-text">
  138. {$menu_name}
  139. </span>
  140. </a>
  141. </li>
  142. <php>}</php>
  143. <php>}
  144. }
  145. </php>
  146. <if condition="APP_DEBUG">
  147. <style>
  148. #think_page_trace_open {
  149. left: 0 !important;
  150. right: initial !important;
  151. }
  152. </style>
  153. </if>
  154. </head>
  155. <body style="min-width:900px;overflow: hidden;">
  156. <div id="loading"><i class="loadingicon"></i><span>{:lang('LOADING')}</span></div>
  157. <div id="right-tools-wrapper">
  158. <!--<span id="right_tools_clearcache" title="清除缓存" onclick="javascript:openapp('{:url('admin/Setting/clearcache')}','right_tool_clearcache','清除缓存');"><i class="fa fa-trash-o right_tool_icon"></i></span>-->
  159. <!--<span id="refresh-wrapper" title="{:lang('REFRESH_CURRENT_PAGE')}"><i-->
  160. <!--class="fa fa-refresh right_tool_icon"></i></span>-->
  161. </div>
  162. <div class="navbar navbar-default">
  163. <div class="container-fluid">
  164. <div class="navbar-header">
  165. <a href="{:url('admin/index/index')}" class="navbar-brand" style="min-width: 200px;text-align: center;">{$site_info.sitename|default=''}</a>
  166. <button class="navbar-toggle" type="button" data-toggle="collapse" data-target="#navbar-main">
  167. <span class="icon-bar"></span>
  168. <span class="icon-bar"></span>
  169. <span class="icon-bar"></span>
  170. </button>
  171. </div>
  172. <div class="navbar-collapse collapse" id="navbar-main">
  173. <div class="pull-left" style="position: relative;">
  174. <a id="task-pre" class="task-changebt"><i class="fa fa-chevron-left"></i></a>
  175. <div id="task-content">
  176. <ul class="nav navbar-nav cmf-component-tab" id="task-content-inner">
  177. <li class="cmf-component-tabitem noclose" app-id="0" app-url="{:url('main/index')}"
  178. app-name="首页">
  179. <a class="cmf-tabs-item-text">{:lang('HOME')}</a>
  180. </li>
  181. </ul>
  182. <div style="clear:both;"></div>
  183. </div>
  184. <a id="task-next" class="task-changebt"><i class="fa fa-chevron-right"></i></a>
  185. </div>
  186. <ul class="nav navbar-nav navbar-right simplewind-nav">
  187. <li class="light-blue" style="border-left:none;display: none;" id="close-all-tabs-btn">
  188. <a id="close-wrapper" href="javascript:void(0);" title="{:lang('CLOSE_TOP_MENU')}" style="color:#fff;font-size: 16px">
  189. <i class="fa fa-times right_tool_icon"></i>
  190. </a>
  191. </li>
  192. <li class="light-blue" style="border-left:none;">
  193. <a id="refresh-wrapper" href="javacript:void(0);" title="{:lang('REFRESH_CURRENT_PAGE')}" style="color:#fff;font-size: 16px">
  194. <i class="fa fa-refresh right_tool_icon"></i>
  195. </a>
  196. </li>
  197. <li class="light-blue dropdown" style="border-left:none;">
  198. <a data-toggle="dropdown" href="#" class="dropdown-toggle">
  199. <if condition="isset($admin['avatar']) && $admin['avatar']">
  200. <img class="nav-user-photo" width="30" height="30"
  201. src="{:cmf_get_user_avatar_url($admin['avatar'])}" alt="{$admin.user_login}">
  202. <else/>
  203. <img class="nav-user-photo" width="30" height="30"
  204. src="__TMPL__/public/assets/images/logo-18.png" alt="{$admin.user_login|default=''}">
  205. </if>
  206. <span class="user-info">
  207. {:lang('WELCOME_USER',array('user_nickname' => empty($admin['user_nicename'] )? $admin['user_login'] : $admin['user_nicename']))}
  208. </span>
  209. <i class="fa fa-caret-down"></i>
  210. </a>
  211. <ul class="user-menu pull-right dropdown-menu dropdown-yellow dropdown-caret dropdown-closer">
  212. <if condition="cmf_auth_check(cmf_get_current_admin_id(),'admin/Setting/site')">
  213. <li>
  214. <a href="javascript:openapp('{:url('setting/site')}','index_site','{:lang('ADMIN_SETTING_SITE')}');"><i
  215. class="fa fa-cog"></i> {:lang('ADMIN_SETTING_SITE')}</a></li>
  216. </if>
  217. <if condition="cmf_auth_check(cmf_get_current_admin_id(),'admin/user/userinfo')">
  218. <li>
  219. <a href="javascript:openapp('{:url('user/userinfo')}','index_userinfo','{:lang('ADMIN_USER_USERINFO')}');"><i
  220. class="fa fa-user"></i> {:lang('ADMIN_USER_USERINFO')}</a></li>
  221. </if>
  222. <if condition="cmf_auth_check(cmf_get_current_admin_id(),'admin/Setting/password')">
  223. <li>
  224. <a href="javascript:openapp('{:url('setting/password')}','index_password','{:lang('ADMIN_SETTING_PASSWORD')}');"><i
  225. class="fa fa-lock"></i> {:lang('ADMIN_SETTING_PASSWORD')}</a></li>
  226. </if>
  227. <li><a href="{:url('Public/logout')}"><i class="fa fa-sign-out"></i> {:lang('LOGOUT')}</a></li>
  228. </ul>
  229. </li>
  230. </ul>
  231. </div>
  232. </div>
  233. </div>
  234. <div class="main-container container-fluid">
  235. <div class="sidebar" id="sidebar">
  236. <div class="sidebar-shortcuts" id="sidebar-shortcuts">
  237. <a class="btn btn-sm btn-warning" href="__ROOT__/"
  238. title="{:lang('WEBSITE_HOME_PAGE')}"
  239. target="_blank"
  240. data-toggle="tooltip">
  241. <i class="fa fa-home"></i>
  242. </a>
  243. <!--
  244. <if condition="cmf_auth_check(cmf_get_current_admin_id(),'portal/AdminCategory/index')">
  245. <a class="btn btn-sm btn-success" href="javascript:openapp('{:url('portal/AdminCategory/index')}','index_termlist','文章分类管理');" title="文章分类管理">
  246. <i class="fa fa-th"></i>
  247. </a>
  248. </if>
  249. <if condition="cmf_auth_check(cmf_get_current_admin_id(),'portal/AdminArticle/index')">
  250. <a class="btn btn-sm btn-info" href="javascript:openapp('{:url('portal/AdminArticle/index')}','index_postlist','文章管理');" title="文章管理">
  251. <i class="fa fa-pencil"></i>
  252. </a>
  253. </if>
  254. -->
  255. <!-- <if condition="cmf_auth_check(cmf_get_current_admin_id(),'user/AdminAsset/index')">
  256. <a class="btn btn-sm btn-info"
  257. href="javascript:openapp('{:url('user/AdminAsset/index')}','userAdminAssetindex','资源管理',true);"
  258. title="资源管理"
  259. data-toggle="tooltip">
  260. <i class="fa fa-file"></i>
  261. </a>
  262. </if> -->
  263. <if condition="cmf_auth_check(cmf_get_current_admin_id(),'admin/Setting/clearcache')">
  264. <a class="btn btn-sm btn-danger"
  265. href="javascript:openapp('{:url('admin/Setting/clearcache')}','index_clearcache','{:lang('ADMIN_SETTING_CLEARCACHE')}',true);"
  266. title="{:lang('ADMIN_SETTING_CLEARCACHE')}"
  267. data-toggle="tooltip">
  268. <i class="fa fa-trash-o"></i>
  269. </a>
  270. </if>
  271. <!-- <if condition="cmf_auth_check(cmf_get_current_admin_id(),'admin/RecycleBin/index')">
  272. <a class="btn btn-sm btn-danger"
  273. href="javascript:openapp('{:url('admin/RecycleBin/index')}','index_recycle','回收站',true);"
  274. title="回收站"
  275. data-toggle="tooltip">
  276. <i class="fa fa-recycle"></i>
  277. </a>
  278. </if> -->
  279. <if condition="APP_DEBUG">
  280. <a class="btn btn-sm btn-default"
  281. href="javascript:openapp('{:url('admin/Menu/index')}','index_menu','{:lang('ADMIN_MENU_INDEX')}',true);"
  282. title="{:lang('ADMIN_MENU_INDEX')}"
  283. data-toggle="tooltip">
  284. <i class="fa fa-list"></i>
  285. </a>
  286. </if>
  287. </div>
  288. <div id="nav-wrapper">
  289. <ul class="nav nav-list">
  290. {:getsubmenu($submenus)}
  291. </ul>
  292. </div>
  293. </div>
  294. <div class="main-content">
  295. <div class="page-content" id="content">
  296. <iframe src="{:url('Main/index')}" style="width:100%;height: 100%;" frameborder="0" id="appiframe-0"
  297. class="appiframe"></iframe>
  298. </div>
  299. </div>
  300. </div>
  301. <script src="__TMPL__/public/assets/js/jquery-1.10.2.min.js"></script>
  302. <script src="__STATIC__/js/wind.js"></script>
  303. <script src="__TMPL__/public/assets/js/bootstrap.min.js"></script>
  304. <script src="__STATIC__/js/admin.js"></script>
  305. <script src="__TMPL__/public/assets/simpleboot3/js/adminindex.js"></script>
  306. <script>
  307. $(function () {
  308. $("[data-toggle='tooltip']").tooltip();
  309. $("li.dropdown").hover(function () {
  310. $(this).addClass("open");
  311. }, function () {
  312. $(this).removeClass("open");
  313. });
  314. var menus= {:$menus_js_var};
  315. //读取url参数。尝试执行菜单功能。
  316. if(typeof(menus) != "undefined"){
  317. var tw = window.top;
  318. var twa =tw.location.href.split("#");
  319. var url = twa[1];
  320. var urlTmp = url;
  321. if (url !=null ){
  322. //去掉/ 去掉_ 全部小写。
  323. urlTmp = urlTmp.replace(/[\\/|_|]/g,"");
  324. urlTmp = urlTmp.replace(".html","");
  325. var menu = menus[urlTmp];
  326. if (menu){
  327. openapp(url,menu.id+menu.app,menu.name,true);
  328. }
  329. }
  330. }
  331. });
  332. var ismenumin = $("#sidebar").hasClass("menu-min");
  333. $(".nav-list").on("click", function (event) {
  334. var closest_a = $(event.target).closest("a");
  335. if (!closest_a || closest_a.length == 0) {
  336. return
  337. }
  338. if (!closest_a.hasClass("dropdown-toggle")) {
  339. if (ismenumin && "click" == "tap" && closest_a.get(0).parentNode.parentNode == this) {
  340. var closest_a_menu_text = closest_a.find(".menu-text").get(0);
  341. if (event.target != closest_a_menu_text && !$.contains(closest_a_menu_text, event.target)) {
  342. return false
  343. }
  344. }
  345. return
  346. }
  347. var closest_a_next = closest_a.next().get(0);
  348. if (!$(closest_a_next).is(":visible")) {
  349. var closest_ul = $(closest_a_next.parentNode).closest("ul");
  350. if (ismenumin && closest_ul.hasClass("nav-list")) {
  351. return
  352. }
  353. closest_ul.find("> .open > .submenu").each(function () {
  354. if (this != closest_a_next && !$(this.parentNode).hasClass("active")) {
  355. $(this).slideUp(150).parent().removeClass("open")
  356. }
  357. });
  358. }
  359. if (ismenumin && $(closest_a_next.parentNode.parentNode).hasClass("nav-list")) {
  360. return false;
  361. }
  362. $(closest_a_next).slideToggle(150).parent().toggleClass("open");
  363. return false;
  364. });
  365. </script>
  366. </body>
  367. </html>