main.tpl 15 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237
  1. <div class="mg-wrapper body" data-target=".body" data-spy="scroll" data-twttr-rendered="true">
  2. <link href="https://fonts.googleapis.com/css?family=Open+Sans:400,300,600&subset=all" rel="stylesheet" type="text/css"/>
  3. <link rel="stylesheet" type="text/css" href="{$assetsURL}/css/font-awesome.css" />
  4. <link rel="stylesheet" type="text/css" href="{$assetsURL}/css/simple-line-icons.css" rel="stylesheet">
  5. <link rel="stylesheet" type="text/css" href="{$assetsURL}/css/bootstrap.css" rel="stylesheet">
  6. <link rel="stylesheet" type="text/css" href="{$assetsURL}/css/uniform.default.css" rel="stylesheet">
  7. <link rel="stylesheet" type="text/css" href="{$assetsURL}/css/components-rounded.css" rel="stylesheet">
  8. <link rel="stylesheet" type="text/css" href="{$assetsURL}/css/jquery.dataTables.css" />
  9. <link rel="stylesheet" type="text/css" href="{$assetsURL}/css/select2.css" />
  10. <link rel="stylesheet" type="text/css" href="{$assetsURL}/css/onoffswitch.css" />
  11. <link rel="stylesheet" type="text/css" href="{$assetsURL}/css/jquery-ui.min.css" />
  12. <link rel="stylesheet" type="text/css" href="{$assetsURL}/css/icheck/all.css">
  13. <link rel="stylesheet" type="text/css" href="{$assetsURL}/css/mg-style.css">
  14. {literal}
  15. <script data-cfasync="false" type="text/javascript">
  16. var bootstrap_src = "{/literal}{$assetsURL}{literal}/js/bootstrap.js";
  17. if (!window.jQuery) {
  18. document.write('<script data-cfasync="false" src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js" type="text/javascript"><\/script>');
  19. document.write('<script data-cfasync="false" src="' + bootstrap_src +'" type="text/javascript"><\/script>');
  20. } else {
  21. var sp = jQuery.fn.jquery.split(" ")[0].split(".");
  22. if(sp[0]<2 && sp[1]<9 || 1==sp[0] && 9==sp[1] && sp[2]<1)
  23. document.write('<script data-cfasync="false" src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js" type="text/javascript"><\/script>');
  24. jQuery(window).load(function () {
  25. if(!jQuery.fn.modal)
  26. jQuery('.mg-wrapper').prepend('<script data-cfasync="false" src="' + bootstrap_src +'" type="text/javascript"><\/script>');
  27. });
  28. }
  29. </script>
  30. {/literal}
  31. <script data-cfasync="false" type="text/javascript" src="{$assetsURL}/js/bootsrap.tooltip.js"></script>
  32. <script data-cfasync="false" type="text/javascript" src="{$assetsURL}/js/mgLibs.js"></script>
  33. <script data-cfasync="false" type="text/javascript" src="{$assetsURL}/js/validator.js"></script>
  34. {*<script data-cfasync="false" type="text/javascript" src="{$assetsURL}/js/bootstrap.js"></script>*}
  35. <script data-cfasync="false" type="text/javascript" src="{$assetsURL}/js/jquery.dataTables.js"></script>
  36. <script data-cfasync="false" type="text/javascript" src="{$assetsURL}/js/dataTables.bootstrap.js"></script>
  37. <script data-cfasync="false" type="text/javascript" src="{$assetsURL}/js/select2.min.js"></script>
  38. <script data-cfasync="false" type="text/javascript" src="{$assetsURL}/js/bootstrap-hover-dropdown.min.js"></script>
  39. <script data-cfasync="false" type="text/javascript" src="{$assetsURL}/js/jquery-ui.min.js"></script>
  40. <script data-cfasync="false" type="text/javascript" src="{$assetsURL}/js/icheck.min.js"></script>
  41. <script data-cfasync="false" type="text/javascript" src="{$assetsURL}/js/customDatatablePagination.js"></script>
  42. <script data-cfasync="false" type="text/javascript">
  43. JSONParser.create('{$JSONCurrentUrl}');
  44. {literal}
  45. jQuery(document).ready(function(){
  46. $( "input[data-datepicker]" ).datepicker({
  47. dateFormat: 'yy-mm-dd'
  48. });
  49. $(".mg-wrapper [title]").bstooltip();
  50. //used to change positioning inside of module navbar
  51. var navbar_in_two_lines = false;
  52. var navbar_width_hide_names = 0;
  53. var resized_logo = false;
  54. var mg_logo = jQuery('.logo-default').attr( "src" );
  55. var mg_logo_cog = mg_logo.replace("mg-logo.png","mg-logo-cog.png");
  56. function NavigationSet() {
  57. var navbar_height = jQuery('.page-header').height();
  58. if(jQuery('.page-header').width()<=(jQuery('.nav-menu').width()+jQuery('.modulename-logo').width()+jQuery('.modulename > a').width()+40) && !navbar_in_two_lines) {
  59. jQuery('.page-container').addClass('centered');
  60. navbar_in_two_lines = true;
  61. }
  62. else if (jQuery('.page-header').width()>(jQuery('.nav-menu').width()+jQuery('.modulename-logo').width()+jQuery('.modulename > a').width()+40) && navbar_in_two_lines && !navbar_width_hide_names && !resized_logo) {
  63. jQuery('.page-container').removeClass('centered');
  64. navbar_in_two_lines=false;
  65. }
  66. //check if short logo should be shown
  67. if(jQuery('.line-separator').width()<=(jQuery('.nav-menu').width()+jQuery('.modulename-logo').width())&&!resized_logo && !navbar_width_hide_names ){
  68. jQuery('.logo-default').attr( "src", mg_logo_cog );
  69. resized_logo=true;
  70. //switch back logo to its full form
  71. }else if(jQuery('.line-separator').width()>(jQuery('.nav-menu').width()+159)&&resized_logo && !navbar_width_hide_names ){
  72. jQuery('.logo-default').attr( "src", mg_logo ) ;
  73. resized_logo=false;
  74. }
  75. // hide page names from navigation bar
  76. if(jQuery('.line-separator').width()<=(jQuery('.nav-menu').width()+jQuery('.modulename-logo').width())&&resized_logo ){
  77. navbar_width_hide_names = jQuery('.page-header').width();
  78. jQuery('.navbar-nav').addClass('short');
  79. // show page names from navigation bar
  80. } else if(navbar_width_hide_names < jQuery('.page-header').width() && navbar_width_hide_names!=0){
  81. jQuery('.navbar-nav').removeClass('short');
  82. navbar_width_hide_names = 0;
  83. }
  84. }
  85. $(document).ready(NavigationSet);
  86. $(window).resize(NavigationSet);
  87. });
  88. {/literal}
  89. </script>
  90. <div class="full-screen-module-container">
  91. <div class="page-header">
  92. <div class="top-menu">
  93. <div class="page-container">
  94. <div class="modulename">
  95. <a href="{$mainURL}">{$mainName}</a>
  96. </div>
  97. <div class="line-separator"></div>
  98. <div class="nav-menu">
  99. <ul class="nav navbar-nav">
  100. {foreach from=$menu key=catName item=category}
  101. {if $category.submenu}
  102. <li class="menu-dropdown {if $currentPageName eq $catName}active{/if}">
  103. <a {*href="{$category.url}"*} href="#" class="dropdown-toggle" data-hover="dropdown" data-toggle="dropdown" data-close-others="true">
  104. {if $category.icon}<i class="{$category.icon}"></i>{/if}
  105. {if $category.label}
  106. <span>{$subpage.label}</span>
  107. {else}
  108. <span>{$MGLANG->T('pagesLabels',$catName,'label')}</span>
  109. {/if}
  110. <i class="fa fa-angle-down dropdown-angle"></i>
  111. </a>
  112. <ul class="dropdown-menu pull-left">
  113. {foreach from=$category.submenu key=subCatName item=subCategory}
  114. <li>
  115. <a {*href="{$subCategory.url}"*} href="#" data-act="{$subCatName}" data-seturlto="{$subCategory.url}">
  116. {if $subCategory.icon}<i class="{$subCategory.icon}"></i>{/if}
  117. {if $subCategory.label}
  118. {$subCategory.label}
  119. {else}
  120. {$MGLANG->T('pagesLabels',$catName,$subCatName)}
  121. {/if}
  122. </a>
  123. </li>
  124. {/foreach}
  125. </ul>
  126. </li>
  127. {else}
  128. <li class="{if $currentPageName eq $catName}active{/if}">
  129. <a {*href="{$category.url}"*} href="#" data-act="index{*{$catName}*}" data-seturlto="{$category.url}">
  130. {if $category.icon}<i class="{$category.icon}"></i>{/if}
  131. {if $category.label}
  132. <span>{$subpage.label}</span>
  133. {else}
  134. <span>{$MGLANG->T('pagesLabels',$catName,'label')}</span>
  135. {/if}
  136. </a>
  137. </li>
  138. {/if}
  139. {/foreach}
  140. <li>
  141. <a href="http://www.docs.modulesgarden.com/DNS_Manager_For_WHMCS" target="_blank">
  142. <i class="glyphicon glyphicon-book"></i>
  143. <span>{$MGLANG->T('pagesLabels','documentation','label')}</span>
  144. </a>
  145. </li>
  146. <li class="droddown dropdown-separator">
  147. <span class="separator"></span>
  148. </li>
  149. </ul>
  150. </div>
  151. <div class="modulename-logo">
  152. <a href="https://www.modulesgarden.com" target="_blank"><img src="{$assetsURL}/img/mg-logo.png" alt="logo" class="logo-default"></a>
  153. </div>
  154. </div>
  155. </div>
  156. </div>
  157. <div class="clearfix"></div>
  158. <div class="page-container">
  159. <div class="row-fluid" id="MGAlerts">
  160. {if $error}
  161. <div class="note note-danger">
  162. <button type="button" class="close" data-dismiss="alert"><span aria-hidden="true">&times;</span><span class="sr-only"></span></button>
  163. <p><strong >{$error}</strong></p>
  164. </div>
  165. {/if}
  166. {if $success}
  167. <div class="note note-success">
  168. <button type="button" class="close" data-dismiss="alert"><span aria-hidden="true">&times;</span><span class="sr-only"></span></button>
  169. <p><strong>{$success}</strong></p>
  170. </div>
  171. {/if}
  172. <div style="display:none;" data-prototype="error">
  173. <div class="note note-danger">
  174. <button type="button" class="close" data-dismiss="alert"><span aria-hidden="true">&times;</span><span class="sr-only"></span></button>
  175. <strong></strong>
  176. <a style="display:none;" class="errorID" href=""></a>
  177. </div>
  178. </div>
  179. <div style="display:none;" data-prototype="success">
  180. <div class="note note-success">
  181. <button type="button" class="close" data-dismiss="alert"><span aria-hidden="true">&times;</span><span class="sr-only"></span></button>
  182. <strong></strong>
  183. </div>
  184. </div>
  185. <div style="display:none;" data-prototype="warning">
  186. <div class="note note-warning">
  187. <button type="button" class="close" data-dismiss="alert"><span aria-hidden="true">&times;</span><span class="sr-only"></span></button>
  188. <strong></strong>
  189. </div>
  190. </div>
  191. </div>
  192. <div id="MGModal">
  193. </div>
  194. <div id="MGConfirmationModal" class="modal" style="z-index: 1055; margin: 30vh auto;">
  195. <div class="modal-dialog">
  196. <div class="modal-content">
  197. <div class="modal-header">
  198. <button type="button" class="close" data-dismiss="modal"><span aria-hidden="true">&times;</span><span class="sr-only">{$MGLANG->T('confirmation_close')}</span></button>
  199. <h4 class="modal-title"></h4>
  200. <span style="display: none" class="default-title">{$MGLANG->T('confirmation_default_title')}</span>
  201. </div>
  202. <div class="modal-body">
  203. </div>
  204. <div class="modal-footer">
  205. <button type="button" class="btn btn-default" data-dismiss="modal">{$MGLANG->T('confirmation_close')}</button>
  206. <button type="button" class="btn btn-danger btn-inverse" data-dismiss="modal" data-confirm="">{$MGLANG->T('confirmation_confirm')}</button>
  207. </div>
  208. </div><!-- /.modal-content -->
  209. </div><!-- /.modal-dialog -->
  210. </div>
  211. <div class="page-content" id="MGPage{$currentPageName}">
  212. <div class="container-fluid" id="mg-container">
  213. {$content}
  214. </div>
  215. </div>
  216. </div>
  217. </div>
  218. <div id="MGLoader" style="display:none;" >
  219. <div>
  220. <img src="{$assetsURL}/img/ajax-loader.gif" alt="Loading ..." />
  221. </div>
  222. </div>
  223. </div>