You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							279 lines
						
					
					
						
							11 KiB
						
					
					
				
			
		
		
	
	
							279 lines
						
					
					
						
							11 KiB
						
					
					
				| [% USE date %]
 | |
| <body>
 | |
| <div id="wrapper">
 | |
|     <div id="topbar">
 | |
|         <div class="container">
 | |
| 
 | |
|             <a href="javascript:;" id="menu-trigger" class="dropdown-toggle" data-toggle="dropdown" data-target="#">
 | |
|                 <i class="icon-cog"></i>
 | |
|             </a>
 | |
| 
 | |
|             <div id="top-nav">
 | |
|                 <ul class="pull-right">
 | |
|                     <li>
 | |
|                       [% IF c.user -%]
 | |
|                         [%- IF c.user.roles == 'admin' || c.user.roles == 'reseller' || c.user.roles == 'ccareadmin' || c.user.roles == 'ccare' -%]
 | |
|                           [% login_name = c.user.login _ ' (' _ c.user.roles _ ')' %]
 | |
|                         [%- ELSE -%]
 | |
|                           [% login_name = c.user.webusername _'@'_ c.user.domain.domain %]
 | |
|                         [%- END -%]
 | |
|                         <i class="icon-user"></i> [% c.loc("Logged in as [_1]", login_name) %]
 | |
| 
 | |
|                       [%- ELSE -%]
 | |
|                         <i class="icon-user"></i> [% c.loc("Not logged in") %]
 | |
|                       [%- END -%]
 | |
|                     </li>
 | |
|                     <li>
 | |
|                         [% IF c.user && c.session.user_tz_name; '(' _ c.session.user_tz.name _ ' ' _ c.loc('time') _ ')'; END; %]
 | |
|                     </li>
 | |
| [%- IF ( c.user && ( c.user.roles == 'admin' || c.user.is_superuser ) ) && openvpn_info.allowed -%]
 | |
| [%- IF !openvpn_info.active %]
 | |
|                     <li>
 | |
|                         <a class="btn btn-small btn-secondary" href="javascript:toggleOpenvpn('confirm');void(0);"><i class="icon-off"></i>Openvpn</a>
 | |
|                     </li>
 | |
| [%ELSE-%]
 | |
|                     <li>
 | |
|                         <a class="btn btn-small btn-success" href="javascript:toggleOpenvpn('confirm');void(0);"><i class="icon-ok"></i>Openvpn</a>
 | |
|                     </li>
 | |
| [%END-%]
 | |
| [%END-%]
 | |
|                     <li class="dropdown">
 | |
|                     <a href="#" class="dropdown-toggle" data-toggle="dropdown">
 | |
|                         <i class="icon-globe"></i> [% c.loc('Language') %]
 | |
|                         <b class="caret"></b>
 | |
|                     </a>
 | |
| 
 | |
|                     <ul class="dropdown-menu pull-right">
 | |
|                         <li><a href="?lang=en"><img src="/img/lang/en.png" class="ngcp-lang-flag"/> English</a></li>
 | |
|                         <li><a href="?lang=de"><img src="/img/lang/de.png" class="ngcp-lang-flag"/> German</a></li>
 | |
|                         <li><a href="?lang=fr"><img src="/img/lang/fr.png" class="ngcp-lang-flag"/> French</a></li>
 | |
|                         <li><a href="?lang=it"><img src="/img/lang/it.png" class="ngcp-lang-flag"/> Italian</a></li>
 | |
|                         <li><a href="?lang=es"><img src="/img/lang/es.png" class="ngcp-lang-flag"/> Spanish</a></li>
 | |
|                         <li><a href="?lang=ru"><img src="/img/lang/ru.png" class="ngcp-lang-flag"/> Russian</a></li>
 | |
|                     </ul>
 | |
|                     </li>
 | |
|                     <li><a href="[% c.uri_for('/logout') %]">[% c.loc('Logout') %]</a></li>
 | |
|                 </ul>
 | |
|             </div> <!-- /#top-nav -->
 | |
|         </div> <!-- /.container -->
 | |
|     </div> <!-- /#topbar -->
 | |
| 
 | |
|     <div id="header">
 | |
|         <div class="container">
 | |
|             <a href="[% c.uri_for('/dashboard') %]" class="brand">[% c.loc("Dashboard") %]</a>
 | |
|             <a href="javascript:;" class="btn-navbar" data-toggle="collapse" data-target=".nav-collapse">
 | |
|                 <i class="icon-reorder"></i>
 | |
|             </a>
 | |
|             <div class="nav-collapse collapse">
 | |
|                 <ul id="main-nav" class="nav pull-right">
 | |
| 
 | |
|                     <li class="nav-icon">
 | |
|                         <a href="[% c.uri_for('/') %]">
 | |
|                             <i class="icon-home"></i>
 | |
|                             <span>[% c.loc("Home") %]</span>
 | |
|                         </a>
 | |
|                     </li>
 | |
|                     [% FOREACH t IN topmenu -%]
 | |
|                         [% INCLUDE $t -%]
 | |
|                     [% END -%]
 | |
|                 </ul> <!-- /.dropdown-menu -->
 | |
|             </div> <!-- /.nav-collapse -->
 | |
|         </div> <!-- /.container -->
 | |
|     </div> <!-- /#header -->
 | |
|     <div id="masthead">
 | |
|         <div class="container">
 | |
|             <div class="masthead-pad">
 | |
|                 <div class="masthead-text">
 | |
|                     <h2>[% template.title or site_config.title %]</h2>
 | |
|                 </div>
 | |
|             </div>
 | |
|         </div>
 | |
|     </div>
 | |
|     <div id="content">
 | |
|         <div class="container">
 | |
|             [% IF c.config.general.maintenance_mode -%]
 | |
|                 <div class="alert alert-error" style="font-size:150%">
 | |
|                     <strong>[% c.loc('Maintenance mode is enabled! Please do not perform any changes until maintenance mode has been switched off!') %]</strong>
 | |
|                 </div>
 | |
|             [% END -%]
 | |
|             [% content %]
 | |
|         </div>
 | |
|     </div>
 | |
| </div> <!-- /#wrapper -->
 | |
| 
 | |
| <div id="footer">
 | |
|     <div class="container">
 | |
|         <div class="row">
 | |
|             <div class="span6">
 | |
|                 [% IF c.user.roles == 'admin' || c.user.roles == 'reseller'; -%]
 | |
|                     <a href="[% c.uri_for("/statistics/versions") %]">[% c.config.ngcp_version %]</a>
 | |
|                 [% END; -%]
 | |
|                 © 2013 - [% date.format(date.now, '%Y') -%] <a href="http://www.sipwise.com">Sipwise GmbH</a>, [% c.loc('all rights reserved') %].
 | |
|             </div>
 | |
|         </div>
 | |
|     </div>
 | |
| </div>
 | |
| 
 | |
| <script src="/js/Theme.js"></script>
 | |
| 
 | |
| <script>
 | |
| var isIE = /(MSIE|Trident\/|Edge\/)/i.test(navigator.userAgent);
 | |
| if(isIE){
 | |
|     $.ajaxSetup({ cache: false });
 | |
| }
 | |
| var addConsoleNoOp =  function (window) {
 | |
|     var names = ["log", "debug", "info", "warn", "error",
 | |
|         "assert", "dir", "dirxml", "group", "groupEnd", "time",
 | |
|         "timeEnd", "count", "trace", "profile", "profileEnd"],
 | |
|         i, l = names.length,
 | |
|         noOp = function () {};
 | |
|     window.console = {};
 | |
|     for (i = 0; i < l; i = i + 1) {
 | |
|         window.console[names[i]] = noOp;
 | |
|     }
 | |
| };
 | |
| if (!window.console) {
 | |
|     this.addConsoleNoOp(window);
 | |
| }
 | |
| 
 | |
| Theme.init ();
 | |
| var mainWrapperInit = function () {
 | |
| 
 | |
|     $('[rel="tooltip"]').tooltip({'html': false});
 | |
| 
 | |
|     $('.sw_actions').css('visibility','hidden');
 | |
|     $('.sw_action_row').hover(
 | |
|                     function() { $(this).find('.sw_actions').css('visibility','visible'); },
 | |
|                     function() { $(this).find('.sw_actions').css('visibility','hidden'); }
 | |
|     );
 | |
| 
 | |
|     $('a[data-confirm]').live("click", function(ev) {
 | |
|         var href = $(this).attr('href');
 | |
|         //var onclick = $(this).attr('onclick');
 | |
|         if (!$('#dataConfirmModal').length) {
 | |
|             $('body').append(
 | |
|                 '<div id="dataConfirmModal" class="modal" role="dialog" aria-labelledby="dataConfirmLabel" aria-hidden="true">'+
 | |
|                 '<div class="modal-header">'+
 | |
|                   '<h3 id="dataConfirmLabel">[% c.escape_js(c.loc('Are you sure?')) %]</h3>'+
 | |
|                 '</div>'+
 | |
|                 '<div class="modal-footer">'+
 | |
|                   '<button class="btn" data-dismiss="modal" aria-hidden="true" id="dataConfirmCancel">[% c.escape_js(c.loc('Cancel')) %]</button>'+
 | |
|                   '<a class="btn btn-primary" id="dataConfirmOK">[% c.escape_js(c.loc('OK')) %]</a>'+
 | |
|                 '</div>'+
 | |
|               '</div>'
 | |
|             );
 | |
|         }
 | |
|         $('#dataConfirmOK').attr('href', href);
 | |
|         if( href.search(/^javascript:/i ) > -1 ){
 | |
|             $('#dataConfirmOK').attr('onclick', href);
 | |
|             $('#dataConfirmOK').attr('data-dismiss', 'modal');
 | |
|         }
 | |
|         $('#dataConfirmOK').text($(this).attr('data-confirm'));
 | |
|         if($('#mod_edit').length) {
 | |
|             if(!$(this).attr('cancel-hide')){
 | |
|                 $('#mod_edit').modal('hide');
 | |
|                 $('#dataConfirmCancel').live("click", function(ev) {
 | |
|                     $('#mod_edit').modal('show');
 | |
|                 });
 | |
|             }
 | |
|         }
 | |
|         $('#dataConfirmModal').modal({show:true});
 | |
|         return false;
 | |
|     });
 | |
| 
 | |
|     [%
 | |
|         backuri = c.req.uri;
 | |
|         tmp = backuri.query_param_delete('back');
 | |
|     -%]
 | |
|     $('a').each(function() {
 | |
|         var _text = $(this).text().trim();
 | |
|         var _href = $(this).attr('href');
 | |
|         var javascriptLink = 0;
 | |
|         if(_href && ( _href.search(/^javascript:/i) > -1 ) ){
 | |
|             javascriptLink = 1;
 | |
|         }
 | |
|         if(_text == "Back" ||
 | |
|            $(this).hasClass('ngcp-error-button') ||
 | |
|            $(this).hasClass('accordion-toggle') ||
 | |
|            $(this).hasClass('ngcp-noback-link') ||
 | |
|            javascriptLink ||
 | |
|            $(this).parents('#footer').length ||
 | |
|            $(this).parents('#topbar').length)  {
 | |
| 
 | |
|             return true;
 | |
|         }
 | |
|         var backuri = $(this).data('backuri') ? $(this).data('backuri') : '[%- backuri | uri -%]';
 | |
|         var _back = 'back='+backuri;
 | |
|         if(_href == null || _href.match(/[&\?]back=/)) {
 | |
|             // ignore
 | |
|         } else if(_href.match(/\?/)) {
 | |
|             $(this).attr('href', _href + '&' + _back);
 | |
|         } else {
 | |
|             $(this).attr('href', _href + '?' + _back);
 | |
|         }
 | |
|         return true;
 | |
|     });
 | |
| 
 | |
|     if($('.accordion-body').length) {
 | |
|         if(!$('#toggle-accordions').length){
 | |
|             $('#content').children('.container').prepend('<a href="#" id="toggle-accordions" class="btn btn-small btn-tertiary pull-right ngcp-accordion-closed"><i class="icon-resize-full"></i> [% c.loc('Expand Groups') %]</a>');
 | |
|         }
 | |
|         $('#toggle-accordions').click(function() {
 | |
|             if($('#toggle-accordions').hasClass('ngcp-accordion-closed')) {
 | |
|                 $('#toggle-accordions').removeClass('ngcp-accordion-closed');
 | |
|                 $('#toggle-accordions').html('<i class="icon-resize-small"></i> [% c.loc('Collapse Groups') %]');
 | |
|                 $('.accordion-body').each(function() {
 | |
|                     $(this).removeClass('collapse');
 | |
|                     $(this).addClass('in');
 | |
|                     $(this).attr('style', 'height:auto;');
 | |
|                 });
 | |
|                 $('.accordion-heading a.accordion-toggle').each(function() {
 | |
|                     $(this).removeClass('collapsed');
 | |
|                 });
 | |
|                 $('.accordion-group').each(function() {
 | |
|                     $(this).addClass('open');
 | |
|                 });
 | |
|             } else {
 | |
|                 $('#toggle-accordions').addClass('ngcp-accordion-closed');
 | |
|                 $('#toggle-accordions').html('<i class="icon-resize-full"></i> [% c.loc('Expand Groups') %]');
 | |
|                 $('.accordion-body').each(function() {
 | |
|                     $(this).removeClass('in');
 | |
|                     $(this).addClass('collapse');
 | |
|                     $(this).attr('style', 'height:0px;');
 | |
|                 });
 | |
|                 $('.accordion-heading a.accordion-toggle').each(function() {
 | |
|                     $(this).addClass('collapsed');
 | |
|                 });
 | |
|                 $('.accordion-group').each(function() {
 | |
|                     $(this).removeClass('open');
 | |
|                 });
 | |
|             }
 | |
|         });
 | |
|     }
 | |
| };
 | |
| $( document ).ready(function() {
 | |
|     Theme.init();
 | |
|     mainWrapperInit();
 | |
|     [%# open last accordion tab if possible -%]
 | |
|     $('.accordion').on('shown', function (e) {
 | |
|         localStorage.setItem('lastTab', $(".accordion .in").attr('id'));
 | |
|     });
 | |
|     var lastTab = localStorage.getItem('lastTab');
 | |
|     if (lastTab) {
 | |
|         $('#'+lastTab).removeClass('collapse');
 | |
|         $('#'+lastTab).parent().addClass("open");
 | |
| /*
 | |
|         $('#'+lastTab).addClass("in");
 | |
|         $('#'+lastTab).attr('style', 'height:auto;');
 | |
| */
 | |
|     }
 | |
| });
 | |
| //$(function(){Theme.init();mainWrapperInit();});
 | |
| </script>
 | |
| 
 | |
| 
 | |
| [%PROCESS 'administrator/openvpn_wrapper.tt' %]
 | |
| 
 | |
| </body>
 | |
| [% # vim: set tabstop=4 syntax=html expandtab: -%]
 |